Timeline



Apr 30, 2012:

11:39 PM Changeset in webkit [115712] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed, rebaselining after r115666 and test expectations update
after r115651.

  • platform/gtk/fast/js/constructor-length-expected.txt:
  • platform/gtk/test_expectations.txt:
11:11 PM FeatureFlags edited by tkent@chromium.org
Add LEGACY_WEBKIT_BLOB_BUILDER (diff)
8:51 PM Changeset in webkit [115711] by tkent@chromium.org
  • 4 edits in trunk

REGRESSION(r115600): parseLocalizedDate() should fail for invalid inputs
https://bugs.webkit.org/show_bug.cgi?id=85176

Reviewed by Kentaro Hara.

Source/WebCore:

Test: fast/forms/date/input-date-commit-valid-only.html

  • platform/text/mac/LocalizedDateMac.mm:

(WebCore::parseLocalizedDate):
We should check nil for the result of NSDateFormtter::dateFromString.

LayoutTests:

  • platform/chromium/test_expectations.txt: Remove an entry for a fixed test.
8:27 PM Changeset in webkit [115710] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Fix another leak due to misuse of createCFString.

Reviewed by Darin Adler.

  • plugins/mac/PluginPackageMac.cpp:

(WebCore::PluginPackage::fetchInfo): Adopt the result of createCFString.

8:27 PM Changeset in webkit [115709] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

<rdar://problem/11312198> Many leaks during fast/events/dropzone-002.html

Reviewed by Darin Adler.

  • platform/mac/ClipboardMac.mm:

(WebCore::utiTypeFromCocoaType): Adopt the result of createCFString.

8:26 PM Changeset in webkit [115708] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

<rdar://problem/11352575> Many CGImageRefs leaked during media layout tests

Reviewed by Brian Weinstein.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Adopt the CGImageRef.

8:24 PM Changeset in webkit [115707] by eae@chromium.org
  • 2 edits in trunk/Source/WebCore

Change RenderBoxModelObject::calculateBackgroundImageGeometry to use roundToInt
https://bugs.webkit.org/show_bug.cgi?id=85249

Reviewed by Eric Seidel.

Prepare RenderBoxModelObject for FractionalLayoutUnits by adding rounding
logic to calculateBackgroundImageGeometry. Background images, as all
images, needs to be layed out on pixel boundaries thus we need to convert
it to a integer value.

No new tests, no change in functionality.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

8:21 PM Changeset in webkit [115706] by isherman@chromium.org
  • 5 edits in trunk

Unreviewed, rolling out r113511.
http://trac.webkit.org/changeset/113511
https://bugs.webkit.org/show_bug.cgi?id=66032
https://bugs.webkit.org/show_bug.cgi?id=85150

Regression: Many autofilled form fields lack the default
autofill background even when authors don’t override the
autofill colors

Source/WebCore:

  • css/html.css:

(input:-webkit-autofill): Restore !important modifiers

LayoutTests:

  • fast/forms/input-autofilled-expected.txt:
  • fast/forms/input-autofilled.html:
8:13 PM Changeset in webkit [115705] by jchaffraix@webkit.org
  • 13 edits in trunk/Source

Move RenderTableCell's row index to RenderTableRow
https://bugs.webkit.org/show_bug.cgi?id=85229

Reviewed by Ojan Vafai.

Source/WebCore:

Covered by the existing table tests.

Row index is a RenderTableRow concept and as such this change moves
the relevant logic into the class.

While touching the code, renamed row() -> rowIndex() as now RenderTableCell
can return its parent RenderTableRow and we were returning an index, not the row
itself.

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::cellForColumnAndRow):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::titleUIElement):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::cellAbove):
(WebCore::RenderTable::cellBelow):
(WebCore::RenderTable::cellBefore):
(WebCore::RenderTable::cellAfter):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):
Updated after the renaming RenderTableCell::row() -> rowIndex().

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::computeCollapsedBeforeBorder):
(WebCore::RenderTableCell::computeCollapsedAfterBorder):
Updated after m_rowIndex removal and row() -> rowIndex() renaming.

(WebCore::RenderTableCell::styleDidChange):
Switched the rowWasSet check to an ASSERT. The new logic guarantees that
row index was set straight when we insert the row. The previous logic was
opened to some race conditions as we could wait for a recalcCells call before
setting the index on the rows which made this check necessary.

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::row):
Added this RenderTableRow getter.

(WebCore::RenderTableCell::rowIndex):
Renamed from row().

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::styleDidChange):
Updated after adding m_rowIndex / rowIndex().

  • rendering/RenderTableRow.h:

(WebCore::RenderTableRow::setRowIndex):
(WebCore::RenderTableRow::rowIndex):
Added those getter / setter. Also kept m_rowIndex's smaller size
for future optimization and for symmetry with the column index on
RenderTableCell.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::recalcCells):
Made sure that whenever we insert or update our row index
we do call setRowIndex().

(WebCore::RenderTableSection::addCell):
This logic now doesn't need to query insertionRow as the cell's
should have the index of the row in which it is inserted.

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::compareCellPositionsWithOverflowingCells):
More updates after row() -> rowIndex() renaming.

  • rendering/RenderTableSection.h:

Removed rowIndexForRenderer now that the row caches this informatin.

Source/WebKit/chromium:

  • tests/RenderTableCellTest.cpp:

Updated after the refactoring.

7:53 PM Changeset in webkit [115704] by keishi@webkit.org
  • 16 edits
    4 adds in trunk

datalist: Inconsistent behavior of HTMLInputElement::list
https://bugs.webkit.org/show_bug.cgi?id=84351

Source/WebCore:

Each platform will have a different set of input types that support the datalist UI.
This patch makes shouldRespectListAttribute ask the RenderTheme if it supports datalist UI for that input type.
Thus making it possible to do feature detection with JS.

Reviewed by Kent Tamura.

  • WebCore.gypi: Added RenderThemeChromiumCommon.{cpp,h}
  • html/ColorInputType.cpp:

(WebCore::ColorInputType::shouldRespectListAttribute):
(WebCore):

  • html/ColorInputType.h:

(ColorInputType):

  • html/InputType.cpp:

(WebCore::InputType::themeSupportsDataListUI): Static method used by TextFieldInputType, RangeInputType, and ColorInputType.
(WebCore):

  • html/InputType.h:

(InputType):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::shouldRespectListAttribute):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::shouldRespectListAttribute):

  • rendering/RenderTheme.h:

(RenderTheme):
(WebCore::RenderTheme::supportsDataListUI): Returns true if the platform can show the datalist suggestions for a given input type.

  • rendering/RenderThemeChromiumCommon.cpp: Added.

(WebCore):
(WebCore::RenderThemeChromiumCommon::supportsDataListUI):

  • rendering/RenderThemeChromiumCommon.h: Added.

(WebCore):
(RenderThemeChromiumCommon):

  • rendering/RenderThemeChromiumMac.h:

(RenderThemeChromiumMac):

  • rendering/RenderThemeChromiumMac.mm:

(WebCore::RenderThemeChromiumMac::supportsDataListUI):
(WebCore):

  • rendering/RenderThemeChromiumSkia.cpp:

(WebCore::RenderThemeChromiumMac::supportsDataListUI):
(WebCore):

  • rendering/RenderThemeChromiumSkia.h:

(RenderThemeChromiumSkia):

LayoutTests:

Reviewed by Kent Tamura.

  • fast/forms/datalist/input-list-expected.txt:
  • fast/forms/datalist/input-list.html: Added tests for all input types.
  • platform/chromium/fast/forms/datalist/input-list-expected.txt: Added.
7:51 PM Changeset in webkit [115703] by gavinp@chromium.org
  • 5 edits
    3 adds in trunk/Source

[Chromium] Add thunk headers for staging Prerendering API.
https://bugs.webkit.org/show_bug.cgi?id=84880

Reviewed by Adam Barth.

These empty headers will be replaced by the actual API when Bug 85005 is commited.

Source/Platform:

  • Platform.gypi:
  • chromium/public/WebPrerender.h: Added.

(WebKit):
(WebPrerender):
(ExtraData):
(WebKit::WebPrerender::ExtraData::~ExtraData):
(WebKit::WebPrerender::url):
(WebKit::WebPrerender::referrer):
(WebKit::WebPrerender::referrerPolicy):
(WebKit::WebPrerender::setExtraData):
(WebKit::WebPrerender::extraData):
(WebKit::WebPrerender::WebPrerender):
(WebKit::WebPrerender::~WebPrerender):

  • chromium/public/WebPrerenderingSupport.h: Added.

(WebKit):
(WebPrerenderingSupport):
(WebKit::WebPrerenderingSupport::initialize):
(WebKit::WebPrerenderingSupport::shutdown):
(WebKit::WebPrerenderingSupport::current):
(WebKit::WebPrerenderingSupport::add):
(WebKit::WebPrerenderingSupport::cancel):
(WebKit::WebPrerenderingSupport::abandon):
(WebKit::WebPrerenderingSupport::WebPrerenderingSupport):
(WebKit::WebPrerenderingSupport::~WebPrerenderingSupport):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/WebPrerendererClient.h: Added.

(WebKit):
(WebPrerendererClient):

  • public/WebView.h:

(WebKit):
(WebKit::WebView::setPrerendererClient):

7:38 PM Changeset in webkit [115702] by isherman@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Fix Autofill popup visibility behavior
Prevent users from interacting with invisible Autofill popups rendered outside the main frame's contents view.
This is a recommit of r115400, restricted to just Autofill popups.
https://bugs.webkit.org/show_bug.cgi?id=84420

Reviewed by Abhishek Arya

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::popupOpened): Hide popups rendered outside the main frame's contents view.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::applyAutofillSuggestions): Fix up order of operations to support immediately hiding a popup if it would not be visible

7:24 PM FeatureFlags edited by tkent@chromium.org
Add LINK_PRERENDER, SUBPIXEL_LAYOUT, and NATIVE_FULLSCREEN_VIDEO (diff)
7:15 PM Changeset in webkit [115701] by leviw@chromium.org
  • 3 edits in trunk/Source/WebCore

RenderObject incorrectly lists maximalOutlineSize as a LayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=85248

Reviewed by Eric Seidel.

Reverting RenderObject::maximalOutlineSize to int. This is a slop value for repaint
rects that doesn't affect layout. It also derives its value from RenderView's function
of the same name, which is already an integer.

No new tests. No change in behavior.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::maximalOutlineSize):

  • rendering/RenderObject.h:

(RenderObject):

7:09 PM Changeset in webkit [115700] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

REGRESSION: editing/inserting/insert-bg-font.html fails on Lion
https://bugs.webkit.org/show_bug.cgi?id=82079

Patch by Koji Ishii <Koji Ishii> on 2012-04-30
Reviewed by Ryosuke Niwa.

The test fails only if "Correct spelling automatically" is turned on.
AutoCorrect kicks in because the test has "backgroundblue" as a word,
so changing it to "background blue" fixes the failure.

  • editing/inserting/insert-bg-font-expected.txt: Change "backgroundblue" to "background blue".
  • editing/inserting/insert-bg-font.html: Ditto.
6:50 PM Changeset in webkit [115699] by commit-queue@webkit.org
  • 4 edits
    5 adds in trunk

Add multichannel support for input of JavaScriptAudioNode
https://bugs.webkit.org/show_bug.cgi?id=84687

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-04-30
Reviewed by Chris Rogers.

Source/WebCore:

Tests: webaudio/javascriptaudionode-downmix8-2channel-input.html

webaudio/javascriptaudionode-upmix2-8channel-input.html

  • Modules/webaudio/JavaScriptAudioNode.cpp:

(WebCore::JavaScriptAudioNode::create):
(WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
(WebCore::JavaScriptAudioNode::initialize):
(WebCore::JavaScriptAudioNode::process):

  • Modules/webaudio/JavaScriptAudioNode.h:

(JavaScriptAudioNode):

LayoutTests:

  • webaudio/javascriptaudionode-downmix8-2channel-input-expected.txt: Added.
  • webaudio/javascriptaudionode-downmix8-2channel-input.html: Added.
  • webaudio/javascriptaudionode-upmix2-8channel-input-expected.txt: Added.
  • webaudio/javascriptaudionode-upmix2-8channel-input.html: Added.
  • webaudio/resources/javascriptaudionode-testing.js: Added.

(createBuffer):
(processAudioData):
(fillData):
(checkStereoOnlyData):
(runJSNodeTest):

6:38 PM Changeset in webkit [115698] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash when opening plug-ins in background tabs
https://bugs.webkit.org/show_bug.cgi?id=85255
<rdar://problem/11344053>

Reviewed by Dan Bernstein.

  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::setLayerHostingMode):
m_layerHostingContext can be null for plug-ins that don't use the Core Animation drawing model, so check for that.

6:20 PM Changeset in webkit [115697] by barraclough@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Should be able to use YARR JIT without the JS language JIT
https://bugs.webkit.org/show_bug.cgi?id=85252

Reviewed by Geoff Garen.

Need to split canUseRegExpJIT out of canUseJIT.

  • runtime/JSGlobalData.cpp:

(JSC):
(JSC::useJIT):
(JSC::JSGlobalData::JSGlobalData):

  • replace m_canUseJIT with m_canUseAssembler
  • runtime/JSGlobalData.h:

(JSGlobalData):
(JSC::JSGlobalData::canUseRegExpJIT):

  • Added canUseRegExpJIT, distinct from canUseJIT.
  • runtime/RegExp.cpp:

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

  • Call canUseRegExpJIT instead of canUseJIT.
6:10 PM Changeset in webkit [115696] by yael.aharon@nokia.com
  • 9 edits in trunk/Source/WebKit2

[Qt][WK2] Fixed layers are shaking when zoom level is not 1.0 due to a rounding error.
https://bugs.webkit.org/show_bug.cgi?id=84306

Reviewed by Noam Rosenthal.

When zooming, we need to be careful about how to convert the visible rect from float to int.
Using toAlignedRect can produce inconsistent width and height when we are scrolling.
This patch carefully modifies each piece of the visible rect, to avoid such rounding errors.
In addition, the TransformationMatrix we use for painting, needs to be adjusted for the same rounding error.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::visibleContentsRect):
(QQuickWebViewFlickablePrivate::_q_contentViewportChanged):

  • UIProcess/DrawingAreaProxy.h:

(WebCore):
(WebKit::DrawingAreaProxy::setVisibleContentsRect):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):

  • UIProcess/DrawingAreaProxyImpl.h:

(DrawingAreaProxyImpl):

  • UIProcess/LayerTreeHostProxy.cpp:

(WebKit::LayerTreeHostProxy::setVisibleContentsRect):

  • UIProcess/LayerTreeHostProxy.h:

(LayerTreeHostProxy):

  • UIProcess/WebLayerTreeRenderer.cpp:

(WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
(WebKit::WebLayerTreeRenderer::setVisibleContentsRect):

  • UIProcess/WebLayerTreeRenderer.h:

(WebLayerTreeRenderer):

5:57 PM WebKit Team edited by leviw@chromium.org
(diff)
5:52 PM Changeset in webkit [115695] by oliver@apple.com
  • 4 edits in trunk/Source

Source/WebCore: Harden arithmetic in ImageBufferDataCG
https://bugs.webkit.org/show_bug.cgi?id=61373

Reviewed by Gavin Barraclough.

We have a checked type that allows us to automate many of the
bounds checks we want here, so let's replace the floating point
math, and just use Checked<> throughout. We use a non-recording
Checked<> as no overflows should reach this point, so we'll take
a hard early failure, over the cost of many branches when
accessing the raw values in loops.

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::getData):
(WebCore::ImageBufferData::putData):

Source/WTF: Investigate overflows in Canvas putImageData routine
https://bugs.webkit.org/show_bug.cgi?id=61373

Reviewed by Gavin Barraclough.

Allow floating point multiplies of checked types (complete with
bounds checks).

  • wtf/CheckedArithmetic.h:

(Checked):
(WTF::Checked::operator*=):

5:47 PM Changeset in webkit [115694] by fpizlo@apple.com
  • 13 edits in branches/dfgopt/Source/JavaScriptCore

Bytecode dumps should contain data about the state of get_by_id caches
https://bugs.webkit.org/show_bug.cgi?id=85246

Reviewed by Gavin Barraclough.

Changed the DFG bytecode parser (and the code that calls it) to be able
to call codeBlock->dump() on the code blocks being parsed.

Changed bytecode dumping to be able to print the state of get_by_id
caches inline with the bytecode.

Removed the old StructureStubInfo dumping code, which no longer worked
right, and was incapable of telling us information about chain and list
accesses.

This change does not add dumping for put_by_id caches. We can add that
at a later time.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printUnaryOp):
(JSC::CodeBlock::printBinaryOp):
(JSC::CodeBlock::printConditionalJump):
(JSC::CodeBlock::printGetByIdOp):
(JSC::dumpStructure):
(JSC):
(JSC::dumpChain):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::printPutByIdOp):
(JSC::printGlobalResolveInfo):
(JSC::CodeBlock::printStructure):
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::visitStructures):
(JSC::ProgramCodeBlock::jitCompileImpl):
(JSC::EvalCodeBlock::jitCompileImpl):
(JSC::FunctionCodeBlock::jitCompileImpl):

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::jitCompile):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ByteCodeParser):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::parse):

  • dfg/DFGByteCodeParser.h:

(DFG):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):
(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):

  • dfg/DFGDriver.h:

(DFG):
(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):

  • dfg/DFGOSRExitCompiler.cpp:
  • jit/JITDriver.h:

(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):

  • runtime/Executable.cpp:

(JSC::EvalExecutable::jitCompile):
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::jitCompile):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::jitCompileForCall):
(JSC::FunctionExecutable::jitCompileForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

  • runtime/Executable.h:

(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::jitCompileFor):

  • runtime/ExecutionHarness.h:

(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):

5:39 PM Changeset in webkit [115693] by zmo@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed, test expectations update.

  • platform/chromium/test_expectations.txt:
5:09 PM Changeset in webkit [115692] by leviw@chromium.org
  • 1 edit in branches/subpixellayout/Source/WebCore/rendering/RenderBoxModelObject.cpp

Change lround to roundToInt as we're dealing with LayoutUnits.

5:06 PM Changeset in webkit [115691] by leviw@chromium.org
  • 7 edits in trunk/Source/WebCore

Add absoluteValue method for LayoutUnits to allow overloading abs()
https://bugs.webkit.org/show_bug.cgi?id=85214

Reviewed by Eric Seidel.

Adding an absoluteValue free inline function that operates on LayoutUnits, which
allows us to have one function signature for ints or FractionalLayoutUnits. We
can't simply add a FractionalLayoutUnit flavor of abs because it confuses
some compilers due to the implicit FractionalLayoutUnit constructors that take
ints and floats.

No new tests. No change in behavior.

  • page/SpatialNavigation.cpp:

(WebCore::distanceDataForNode):

  • rendering/LayoutTypes.h:

(WebCore::absoluteValue):
(WebCore):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::rangeIntersectsRect):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintAfterLayoutIfNeeded):

4:58 PM Changeset in webkit [115690] by eae@chromium.org
  • 544 edits
    2 copies
    3 deletes in branches/subpixellayout

Merge trunk changes up until 115687 into subpixel branch.

4:42 PM Changeset in webkit [115689] by leviw@chromium.org
  • 3 edits in trunk/Source/WebCore

Update LayoutUnit usage in InlineFlowBox and RenderWidget
https://bugs.webkit.org/show_bug.cgi?id=85239

Reviewed by Eric Seidel.

Updating LayoutUnit usage in a pair of remaining functions to minimize the remaining work to switching
to FractionalLayoutUnits for layout instead of integers.

No new tests. No change in behavior.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::placeBoxesInBlockDirection): Though stored as a float, the top is always
set to an integer value. When we move to sub-pixel, we need to preserve this. Not preserving this
behavior affects text decorations, most notably underlines.

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::updateWidgetGeometry): Adding pixel snapping for the content box if it's
not transformed (absoluteContentBox includes pixel snapping), and properly treating the boundingBox
as an IntRect.

4:34 PM Changeset in webkit [115688] by barraclough@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Should be able to build YARR JIT without the JS language JIT
https://bugs.webkit.org/show_bug.cgi?id=85242

Reviewed by Michael Saboff.

Some build macros are wrong.

  • assembler/RepatchBuffer.h:
  • jit/ExecutableAllocator.h:

(JSC):

  • jit/JITExceptions.cpp:
  • runtime/InitializeThreading.cpp:

(JSC::initializeThreadingOnce):

4:16 PM Companies and Organizations that have contributed to WebKit edited by krit@webkit.org
(diff)
4:03 PM Changeset in webkit [115687] by leviw@chromium.org
  • 2 edits in trunk/Source/WebCore

Prepare RenderDeprecatedFlexibleBox for sub-pixel layout
https://bugs.webkit.org/show_bug.cgi?id=85217

Reviewed by Eric Seidel.

Bailing from the space distribution loop in layoutHorizontal/VerticalBox when
the remaining space falls below one pixel. This has no effect in whole-pixel
layout, but avoids unnecessary work/infinite loops in the sub-pixel case.

No new tests. No change in behavior.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

3:51 PM Changeset in webkit [115686] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

NULL ptr in WebCore::Range::getBorderAndTextQuads
https://bugs.webkit.org/show_bug.cgi?id=77218

Reviewed by Eric Seidel.

Source/WebCore:

The crash was caused by a malformed range obtained within an event handler of mutation events
(DOMNodeRemovedFromDocument). Because this range wasn't updated per node removal, range functions
end up not behaving well.

Fixed the bug by changing the order of the notifications in ContainerNode::willRemoveChild.
We now fire mutation events first before updating ranges so that any range created inside those
event handlers can also be updated prior to the actual node removal.

Test: fast/dom/Range/range-created-in-mutation-event-crash.xhtml

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChild):

LayoutTests:

Add a regression test. We use alert here instead of innerHTML, textContent, etc...
because document element is no longer well-formed at the end of the test.

  • fast/dom/Range/range-created-in-mutation-event-crash-expected.txt: Added.
  • fast/dom/Range/range-created-in-mutation-event-crash.xhtml: Added.
3:51 PM Changeset in webkit [115685] by ojan@chromium.org
  • 2 edits in trunk/Tools

Fix tests to not depend on the actual list of builders at build.chromium.org.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(testHtmlForIndividualTestOnAllBuildersWithChrome):
(testHtmlForIndividualTestOnAllBuildersWithChromeWebkitMaster):

3:49 PM Changeset in webkit [115684] by mrowe@apple.com
  • 1 edit
    3 deletes in trunk/LayoutTests

REGRESSION (r115544): platform/mac/fast/events/pointer-events-dashboard.html is failing

Remove the test since r115544 removed the special behavior in Dashboard.

Rubber-stamped by Anders Carlsson.

  • platform/mac/fast/events/pointer-events-dashboard-expected.png: Removed.
  • platform/mac/fast/events/pointer-events-dashboard-expected.txt: Removed.
  • platform/mac/fast/events/pointer-events-dashboard.html: Removed.
3:46 PM Changeset in webkit [115683] by tomz@codeaurora.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening

  • platform/qt/test_expectations.txt:
3:44 PM Changeset in webkit [115682] by commit-queue@webkit.org
  • 5 edits in trunk

Source/WebKit/chromium: [chromium] Disable battery-status API support.

The battery-status API support should not have view-dependency. So disable it until
that is fixed.
https://bugs.webkit.org/show_bug.cgi?id=84499

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-04-30
Reviewed by Adam Barth.

  • features.gypi:

LayoutTests: [chromium] Disable battery-status API support.
https://bugs.webkit.org/show_bug.cgi?id=84499

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-04-30
Reviewed by Adam Barth.

  • platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/chromium/test_expectations.txt:
3:42 PM Changeset in webkit [115681] by andersca@apple.com
  • 5 edits in trunk/Source

ScrollingCoordinator::requestScrollPositionUpdate should not update the main frame scroll position
https://bugs.webkit.org/show_bug.cgi?id=85240
<rdar://problem/11286609>

Reviewed by Sam Weinig.

Source/WebCore:

The call to updateMainFrameScrollPosition was added to make the WebKit2 find overlay work, since it relies
on scroll position updates being synchronous. Change the find code in WebKit2 to handle asynchronous scroll
position updates and remove the call to updateMainFrameScrollPosition.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):

Source/WebKit2:

The find machinery should cope with asynchronous scroll position updates.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindUIAfterPageScroll):
Split the code that handles updating the find indicator and find overlay out into a separate function.

(WebKit::FindController::findString):
Call updateFindUIAfterPageScroll once we know that the scroll position has been updated.

3:41 PM Changeset in webkit [115680] by gavinp@chromium.org
  • 2 edits
    1 delete in trunk/Source/WebKit/chromium

[Chromium] Remove Webkit/chromium/public/WebReferrerPolicy.h thunk.
https://bugs.webkit.org/show_bug.cgi?id=84552

After http://codereview.chromium.org/10139023/ lands, this thunk is no
longer needed.

Reviewed by Adam Barth.

  • WebKit.gyp:
  • public/WebReferrerPolicy.h: Removed.
3:29 PM Changeset in webkit [115679] by barraclough@apple.com
  • 5 edits in trunk

Arguments object resets attributes on redefinition of a parameter
https://bugs.webkit.org/show_bug.cgi?id=84994

Rubber stamped by Oliver Hunt.

Source/JavaScriptCore:

There is a bug that we always re-add the original property before
redefinition, doing so in a way that will reset the attributes
without checking configurability.

  • runtime/Arguments.cpp:

(JSC::Arguments::defineOwnProperty):

  • Only instantiate the property once - do not re-add if it has already been added, or if it has been deleted.

LayoutTests:

  • fast/js/arguments-expected.txt:
  • fast/js/script-tests/arguments.js:
    • Added test cases.
3:21 PM Changeset in webkit [115678] by andersca@apple.com
  • 8 edits in trunk/Source

Add a way to asynchronously call a function once the scroll position of a page has been updated
https://bugs.webkit.org/show_bug.cgi?id=85237

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in:

Export functions needed by WebKit2.

  • page/scrolling/ScrollingCoordinator.h:

Make commitTreeStateIfNeeded public.

Source/WebKit2:

Add DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition, which will call the given function object after
making sure that the scroll position has been updated correctly. This is important for TiledCoreAnimationDrawingArea,
which updates the scrolling position asynchronously.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
Since scroll position updates are synchronous by default, just call function directly.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
Commit the layer tree state and then use ScrollingThread::dispatchBarrier to make sure that the function is called when any
scroll position changes have been made. If possible, freeze the layer tree to make sure that the update is atomic.

3:14 PM Changeset in webkit [115677] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Fix ALL the build failures!

  • UIProcess/API/mac/WKView.mm:

(-[WKView WebKit::]):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
3:06 PM Changeset in webkit [115676] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • Shared/DrawingAreaInfo.h:
3:04 PM Changeset in webkit [115675] by leviw@chromium.org
  • 8 edits in branches/subpixellayout/Source

Adding absoluteValue abs clone in LayoutTypes and using it throughout WebCore. Replacing a .round() with roundToInt, and adding needed absoluteValues in DeprecatedFlexibleBox.

2:52 PM Changeset in webkit [115674] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove an erroneous assertion after r115655.

  • runtime/NumberPrototype.cpp:

(JSC::toUStringWithRadix):

2:48 PM Changeset in webkit [115673] by haraken@chromium.org
  • 4 edits
    2 adds in trunk

WebGLRenderingContext methods should throw TypeError for not enough arguments
https://bugs.webkit.org/show_bug.cgi?id=84787

Reviewed by Kenneth Russell.

Currently, WebGLRenderingcontext methods implement
"Not enough arguments" error as SyntaxError. The Web IDL
spec requires that it should be TypeError:
http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm

This patch changes SyntaxError to TypeError.

Source/WebCore:

I wanted to confirm the behavior of Firefox and Opera,
but they do not implement WebGL yet.

Test: fast/canvas/webgl/webgl-exceptions.html

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getExtension):
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContext::getParameter):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getExtensionCallback):
(WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
(WebCore::V8WebGLRenderingContext::getParameterCallback):
(WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
(WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
(WebCore::V8WebGLRenderingContext::getUniformCallback):
(WebCore::vertexAttribAndUniformHelperf):
(WebCore::uniformHelperi):
(WebCore::uniformMatrixHelper):

LayoutTests:

  • fast/canvas/webgl/webgl-exceptions-expected.txt: Added.
  • fast/canvas/webgl/webgl-exceptions.html: Added.
2:41 PM Changeset in webkit [115672] by eae@chromium.org
  • 10 edits in trunk/Source

[gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code
https://bugs.webkit.org/show_bug.cgi?id=85222

Reviewed by Eric Seidel.

Update platform code to use the pixel snapped values for painting rects
to line up with device pixels and change platform specific hit testing
code to use roundedPoint as hit testing is still mostly done on integer
bounds.

Source/WebCore:

No new tests, no change in functionality.

  • platform/qt/RenderThemeQt.cpp:

(WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • rendering/RenderThemeChromiumSkia.cpp:

(WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::mouseDidMoveOverElement):

  • webkit/webkithittestresult.cpp:

(WebKit::kit):

  • webkit/webkitwebview.cpp:

(getLocationForKeyboardGeneratedContextMenu):
(webkit_web_view_query_tooltip):

Source/WebKit2:

  • WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:

(WebKit::WebPopupMenu::setUpPlatformData):

2:38 PM Changeset in webkit [115671] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Put all of TiledCoreAnimationDrawingArea in #if ENABLE(THREADED_SCROLLING)
https://bugs.webkit.org/show_bug.cgi?id=85232

Reviewed by Sam Weinig.

Stop pretending that TiledCoreAnimationDrawingArea works without threaded scrolling.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::create):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
(WebKit::dispatchBackToMainThread):
(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):

2:37 PM Changeset in webkit [115670] by haraken@chromium.org
  • 10 edits in trunk/Source/WebCore

[V8][JSC] Remove hard-coded "Not enough arguments" errors
https://bugs.webkit.org/show_bug.cgi?id=85207

Reviewed by Sam Weinig.

In bug 85022 and bug 85097, we implemented
createNotEnoughArgumentsError() in JSC and
V8Proxy::throwNotEnoughArgumentsError() in V8 and partially
removed hard-coded "Not enough arguments" errors.
This patch removes hard-coded "Not enough arguments"
errors by using the helper methods.

No tests. No change in behavior.

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::JSAudioContextConstructor::constructJSAudioContext):

  • bindings/js/JSSVGLengthCustom.cpp:

(WebCore::JSSVGLength::convertToSpecifiedUnits):

  • bindings/js/JSWebSocketCustom.cpp:

(WebCore::JSWebSocketConstructor::constructJSWebSocket):
(WebCore::JSWebSocket::send):

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::open):

  • bindings/v8/ScriptController.cpp:

(WebCore::setValueAndClosePopupCallback):

  • bindings/v8/custom/V8AudioContextCustom.cpp:

(WebCore::V8AudioContext::constructorCallback):

  • bindings/v8/custom/V8SVGLengthCustom.cpp:

(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):

  • bindings/v8/custom/V8WebSocketCustom.cpp:

(WebCore::V8WebSocket::constructorCallback):
(WebCore::V8WebSocket::sendCallback):

  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp:

(WebCore::V8XMLHttpRequest::openCallback):

2:32 PM Changeset in webkit [115669] by benjamin@webkit.org
  • 24 edits in trunk/Source

Add String::startsWith() and endsWith() for string literals
https://bugs.webkit.org/show_bug.cgi?id=85154

Reviewed by Darin Adler.

Source/WebCore:

Update WebCore to use the simpler startsWith() and endsWith() taking
a UChar.

  • css/CSSParser.cpp:

(WebCore::CSSParser::markPropertyEnd):

  • css/WebKitCSSKeyframeRule.cpp:

(WebCore::StyleKeyframe::parseKeyString):

  • editing/markup.cpp:

(WebCore::createFragmentFromText):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::addSubresourceAttributeURLs):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setInnerTextValue):

  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):

  • loader/appcache/ManifestParser.cpp:

(WebCore::parseManifest):

  • platform/blackberry/CookieManager.cpp:

(WebCore::CookieManager::shouldRejectForSecurityReason):

  • platform/posix/FileSystemPOSIX.cpp:

(WebCore::pathByAppendingComponent):

  • plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::findPlugin):

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::parseAttribute):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseOffsetValue):
(WebCore::SVGSMILElement::parseCondition):

Source/WebKit/blackberry:

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::elementPatternMatches):

Source/WebKit2:

Update WebKit2 to use String::endsWith(UChar).

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::pathExtension):

Source/WTF:

When invoking StringImpl::startsWidth() or StringImpl::endsWith() with
a string literal, a new String was constructed implicitly, allocating
a new StringImpl and copying the characters for the operation.

This patch adds a version of those methods for single characters and
string literals.
This allows us to avoid allocating memory and use the characters in place,
and it permits some extra shortcuts in the implementation.

  • wtf/text/AtomicString.h:

(WTF::AtomicString::startsWith):
(AtomicString):
(WTF::AtomicString::endsWith):

  • wtf/text/StringImpl.cpp:

(WTF::equalInner):
(WTF):
(WTF::StringImpl::startsWith):
(WTF::StringImpl::endsWith):

  • wtf/text/StringImpl.h:

(WTF::StringImpl::startsWith):
(StringImpl):
(WTF::StringImpl::endsWith):

  • wtf/text/WTFString.h:

(WTF::String::startsWith):
(String):
(WTF::String::endsWith):

2:30 PM Changeset in webkit [115668] by inferno@chromium.org
  • 14 edits
    2 adds in trunk

Source/WebCore: Remove positioned float code.
https://bugs.webkit.org/show_bug.cgi?id=84795

Reviewed by Dan Bernstein.

Backout r92004 and some pieces from r91702.

Test: fast/block/float/positioned-float-crash.html

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFloat):

  • css/CSSValueKeywords.in:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::FloatingObjects::clear):
(WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
(WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):

  • rendering/RenderBlock.h:

(RenderBlock):
(WebCore::RenderBlock::forceLayoutInlineChildren):
(FloatingObject):
(WebCore::RenderBlock::FloatingObject::FloatingObject):
(WebCore::RenderBlock::hasOverhangingFloats):
(WebCore::RenderBlock::FloatingObjects::FloatingObjects):
(FloatingObjects):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateBoxModelInfoFromStyle):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderDeprecatedFlexibleBox.h:

(RenderDeprecatedFlexibleBox):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderFlexibleBox.h:

(RenderFlexibleBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollbarsAfterLayout):

  • rendering/style/RenderStyleConstants.h:

LayoutTests: Remove positioned float code.
https://bugs.webkit.org/show_bug.cgi?id=84795

Reviewed by Dan Bernstein.

  • fast/block/float/positioned-float-crash-expected.txt: Added.
  • fast/block/float/positioned-float-crash.html: Added.
2:15 PM Changeset in webkit [115667] by jchaffraix@webkit.org
  • 1 edit
    2 copies in branches/chromium/1084

Merge 114574 - REGRESSION(102040): Auto-table layout with percent width doesn't shrink-to-fit content a cell with colspan
https://bugs.webkit.org/show_bug.cgi?id=84260

Reviewed by Ojan Vafai.

Source/WebCore:

Tests: fast/table/td-width-fifty-percent-regression-expected.html

fast/table/td-width-fifty-percent-regression.html

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
As we are spreading the cell's min / max logical width, we should be updating them.
This prevents the following logic getting confused and allocating more than needed.

LayoutTests:

  • fast/table/td-width-fifty-percent-regression-expected.html: Added.
  • fast/table/td-width-fifty-percent-regression.html: Added.

TBR=jchaffraix@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10274014

2:11 PM Changeset in webkit [115666] by weinig@apple.com
  • 17 edits in trunk

Remove BlobBuilder
https://bugs.webkit.org/show_bug.cgi?id=84036

Reviewed by Anders Carlsson.

Source/WebCore:

  • GNUmakefile.am:
  • fileapi/WebKitBlobBuilder.idl:
  • page/DOMWindow.idl:
  • workers/WorkerContext.idl:

Make exposing the WebKitBlobBuilder JS object conditional on a new
ENABLE_LEGACY_WEBKIT_BLOB_BUILDER flag. Don't enable this for the Mac,
but do for everyone else.

Source/WebKit/chromium:

  • features.gypi:

Keep WebKitBlobBuilder enabled for Chromium, since it has shipped it.

Tools:

  • Scripts/build-webkit:
  • qmake/mkspecs/features/features.prf:

Make exposing the WebKitBlobBuilder JS object conditional on a new
ENABLE_LEGACY_WEBKIT_BLOB_BUILDER flag. Don't enable this for the Mac,
but do for everyone else.

LayoutTests:

  • fast/js/constructor-length.html:
  • platform/mac/fast/js/constructor-length-expected.txt:

Remove WebKitBlobBuilder from this test, as it is not exposed on all platforms,
and add Blob, which is.

  • platform/mac/Skipped:

Skip fast/files/blob-builder-crash.html, since we no longer support WebKitBlobBuilder.

2:10 PM Changeset in webkit [115665] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Add a barrier-style dispatch member function to ScrollingThread
https://bugs.webkit.org/show_bug.cgi?id=85228

Reviewed by Sam Weinig.

Add a ScrollingThread::dispatchBarrier function which takes a WTF::Function and dispatches it to the main thread
once all the currently scheduled scrolling thread functions have run. This is to be used for synchronization between the
scrolling thread and the main thread.

  • page/scrolling/ScrollingThread.cpp:

(WebCore::callFunctionOnMainThread):
(WebCore):
(WebCore::ScrollingThread::dispatchBarrier):

  • page/scrolling/ScrollingThread.h:

(ScrollingThread):

2:04 PM Changeset in webkit [115664] by cevans@google.com
  • 3 edits in branches/chromium/1084/Source

Merge 114513
BUG=118374
Review URL: https://chromiumcodereview.appspot.com/10264016

2:02 PM Changeset in webkit [115663] by rakuco@webkit.org
  • 2 edits in trunk

[CMake] Add a proper license to FindSqlite.cmake.
https://bugs.webkit.org/show_bug.cgi?id=84901

Reviewed by Daniel Bates.

FindSqlite.cmake referenced COPYING-CMAKE-SCRIPTS, which was
supposed to contain its license. This file, however, was not
imported with FindSqlite.cmake into the tree.

Add it from kdelibs (where the Find file came from) at git
revision [1]. Also worth mentioning is that Alexander Neundorf
added Gilles Caulier as the script author in revision [2].

[1] https://projects.kde.org/projects/kde/kdelibs/repository/revisions/c27925edf98b9952aeada677dfc74ce9c809c48a
[2] https://projects.kde.org/projects/kde/kdelibs/repository/revisions/14d0a92e04e1a200d6e58397e57a29194a0819cf

  • Source/cmake/FindSqlite.cmake:
2:02 PM Changeset in webkit [115662] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

WTF::bind should work with blocks
https://bugs.webkit.org/show_bug.cgi?id=85227

Reviewed by Sam Weinig.

Add a block type FunctionWrapper specialization.

  • wtf/Functional.h:
1:27 PM Changeset in webkit [115661] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Expose a flag so that fullscreen video on android can work with FULLSCREEN_API
https://bugs.webkit.org/show_bug.cgi?id=84414

Patch by Min Qin <qinmin@google.com> on 2012-04-30
Reviewed by Darin Fisher.

Source/WebCore:

No tests, just exposing the flag, and will be used by android later.
Sorry, there is a merge error during the previous commit, resolved now

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setControls):
(WebCore):
(WebCore::MediaPlayer::enterFullscreen):
(WebCore::MediaPlayer::exitFullscreen):

  • platform/graphics/MediaPlayer.h:

(MediaPlayer):

  • platform/graphics/MediaPlayerPrivate.h:

(MediaPlayerPrivateInterface):
(WebCore::MediaPlayerPrivateInterface::enterFullscreen):

Source/WebKit/chromium:

On android, the fullscreen video was implemented by passing a java
surfaceView to an android mediaplayer class.
The implementation of that logic should happen in WebKit::WebMediaPlayer.
This change makes it possble for WebViewImpl::enterFullScreenForElement()
to call WebMediaPlayer->enterFullscreen(), thus solving the issue.

Sorry, there is a merge error during the previous commit, resolved now

No new tests. This just exposes the flag so later it can be used by android.

  • features.gypi:
  • public/WebMediaPlayer.h:

(WebMediaPlayer):
(WebKit::WebMediaPlayer::enterFullscreen):
(WebKit::WebMediaPlayer::exitFullscreen):

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit):
(WebKit::WebMediaPlayerClientImpl::enterFullscreen):
(WebKit::WebMediaPlayerClientImpl::exitFullscreen):

  • src/WebMediaPlayerClientImpl.h:

(WebMediaPlayerClientImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::enterFullScreenForElement):
(WebKit::WebViewImpl::exitFullScreenForElement):

1:20 PM Changeset in webkit [115660] by gavinp@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
12:47 PM Changeset in webkit [115659] by amruthraj@motorola.com
  • 2 edits in trunk/Tools

[GTK] Add glib as a dependency to build glib-networking
https://bugs.webkit.org/show_bug.cgi?id=85181

Reviewed by Martin Robinson.

  • gtk/jhbuild.modules:
12:23 PM Changeset in webkit [115658] by mhahnenberg@apple.com
  • 2 edits in trunk/LayoutTests

fast/js/random-array-gc-stress times out in debug mode
https://bugs.webkit.org/show_bug.cgi?id=84821

Reviewed by Darin Adler.

  • fast/js/script-tests/random-array-gc-stress.js: Lowering the iterations even more.
12:20 PM Changeset in webkit [115657] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

End of Interpreter::tryCacheGetByID can trigger the garbage collector
https://bugs.webkit.org/show_bug.cgi?id=84927

Patch by Myles Maxfield <mmaxfield@google.com> on 2012-04-30
Reviewed by Oliver Hunt.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::tryCacheGetByID):

12:12 PM Changeset in webkit [115656] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

jsSingleCharacterString and jsSingleCharacterSubstring are not inlined
https://bugs.webkit.org/show_bug.cgi?id=85147

Reviewed by Darin Adler.

The functions jsSingleCharacterString() and jsSingleCharacterSubstring() were not inlined
by the compiler. This annihilate the gains of using SmallStrings.

On stringProtoFuncCharAt(), this patch improves the performance by 11%.

  • runtime/JSString.h:

(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):

12:02 PM Changeset in webkit [115655] by benjamin@webkit.org
  • 4 edits
    2 adds in trunk

Source/JavaScriptCore: Add fast patch for radix == 10 on numberProtoFuncToString
https://bugs.webkit.org/show_bug.cgi?id=85120

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-30
Reviewed by Darin Adler.

When radix, we use to turn the doubleValue into a JSValue just to convert
it to a String. The problem is that was using the slow path for conversion and
for the toString() operation.

This patch shortcuts the creation of a JSValue and uses NumericStrings directly.
The conversion is split between Integer and Double to ensure the fastest conversion
for the common case of integer arguments.

Converting number with radix 10 becomes 5% faster.

Due to the simpler conversion of number to string for integer, converting
integers that do not fall in the two previous optimizations get 32% faster.

  • runtime/NumberPrototype.cpp:

(JSC::extractRadixFromArgs):
(JSC::integerValueToString):
(JSC::numberProtoFuncToString):

LayoutTests: Add fast path for radix == 10 to numberProtoFuncToString
https://bugs.webkit.org/show_bug.cgi?id=85120

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-30
Reviewed by Darin Adler.

Add more test coverage for Number.proto.toString.

  • platform/chromium/test_expectations.txt: Mark the test as failing on Chromium.
  • fast/js/toString-number-expected.txt: Added.
  • fast/js/toString-number.html: Added.
11:51 AM Changeset in webkit [115654] by Nate Chapin
  • 6 edits in trunk/Source/WebCore

Move more of committing and starting to write a Document
to DocumentLoader.
https://bugs.webkit.org/show_bug.cgi?id=83908

Reviewed by Adam Barth.

No new tests, refactor only.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::commitIfReady): Ignore m_gotFirstByte here, since

it was always true here anyway.

(WebCore::DocumentLoader::finishedLoading): If we are finishing an empty

document, create the document now, so that FrameLoaderClient doesn't
have to do it later (FrameLoaderClient code will be removed in a later
patch).

(WebCore::DocumentLoader::commitData): Call receivedFirstData() directly and

do some work receivedFirstData() used to do, setEncoding() only once per
load.

(WebCore::DocumentLoader::receivedData):
(WebCore::DocumentLoader::maybeCreateArchive):

  • loader/DocumentLoader.h:
  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::setEncoding):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::receivedFirstData): Move DocumentLoader calls

to DocumentLoader.

  • loader/FrameLoader.h: Remove m_hasReceivedFirstData and willSetEncoding(),

allow hasReceivedData() to be called directly.

(FrameLoader):

11:30 AM Changeset in webkit [115653] by eae@chromium.org
  • 2383 edits
    683 copies
    533 deletes in branches/subpixellayout

Merge trunk changes up until 115647 into subpixel branch.

10:53 AM Changeset in webkit [115652] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

Unreviewed. Fix test crashes in Win/Linux debug builds.

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::V8LazyEventListener):
(WebCore::V8LazyEventListener::prepareListenerObject):

  • bindings/v8/V8LazyEventListener.h:

(V8LazyEventListener):

10:45 AM Changeset in webkit [115651] by tommyw@google.com
  • 1 edit
    2 adds in trunk/LayoutTests

MediaStream API: Adding a test for the experimental PeerConnection00
https://bugs.webkit.org/show_bug.cgi?id=82881

Reviewed by Dimitri Glazkov.

Tests construction of objects.

  • fast/mediastream/constructors-expected.txt: Added.
  • fast/mediastream/constructors.html: Added.
10:44 AM Changeset in webkit [115650] by ap@apple.com
  • 4 edits in trunk/Source/WebKit2

Validate keypress command names
https://bugs.webkit.org/show_bug.cgi?id=85204
<rdar://problem/11249368>

Reviewed by Darin Adler.

  • UIProcess/API/mac/WKView.mm: (-[WKView doCommandBySelector:]): (-[WKView insertText:replacementRange:]):
  • UIProcess/WebPageProxy.h: (WebKit::WebPageProxy::registerKeypressCommandName): (WebKit::WebPageProxy::isValidKeypressCommandName):
  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::executeSavedCommandBySelector):
10:44 AM Changeset in webkit [115649] by tommyw@google.com
  • 3 edits in trunk/Source/WebCore

MediaStream API: Change LocalMediaStream::stop to be synchronous
https://bugs.webkit.org/show_bug.cgi?id=84942

Reviewed by Dimitri Glazkov.

Since I changed LocalMediaStream to be a ActiveDOMObject recently the stop()
behaviour needs to change since it is no longer a good idea to start a timer when called.

Not possible to write a test for this.

  • Modules/mediastream/LocalMediaStream.cpp:

(WebCore::LocalMediaStream::LocalMediaStream):
(WebCore::LocalMediaStream::stop):

  • Modules/mediastream/LocalMediaStream.h:

(LocalMediaStream):

10:13 AM Changeset in webkit [115648] by alexis.menard@openbossa.org
  • 2 edits in trunk/Tools

Move myself to reviewers.

Reviewed by Andreas Kling.

  • Scripts/webkitpy/common/config/committers.py:
10:09 AM WebKit Team edited by alexis.menard@openbossa.org
alphabetical fix (diff)
10:03 AM Changeset in webkit [115647] by eae@chromium.org
  • 5 edits in trunk/Source

Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator
https://bugs.webkit.org/show_bug.cgi?id=85146

Source/WebCore:

Patch by Emil A Eklund <eae@chromium.org> and Levi Weintraub <leviw@chromium.org> on 2012-04-28
Reviewed by Eric Seidel.

Add a new flag for controlling the fixed point denominator in
FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
Until we change the LayoutUnit typedef this change will have no effect.

No new tests, no change in functionality.

  • platform/FractionalLayoutUnit.h:

(WebCore):
(WebCore::FractionalLayoutUnit::operator++):
(WebCore::operator/):
(WebCore::operator+):
Add ++, / double and and + double operators. These are needed when
ENABLE_SUBPIXEL_LAYOUT is not enabled.

  • platform/graphics/FractionalLayoutRect.cpp:

(WebCore::enclosingFractionalLayoutRect):

Source/WTF:

Reviewed by Eric Seidel.

Add a new flag for controlling the fixed point denominator in
FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
Until we change the LayoutUnit typedef this change will have no effect.

  • wtf/Platform.h:
9:59 AM Changeset in webkit [115646] by jschuh@chromium.org
  • 3 edits
    2 adds in trunk

loadOrRedirectSubframe should return the owner element's frame
https://bugs.webkit.org/show_bug.cgi?id=84780

Reviewed by Nate Chapin.

Source/WebCore:

Test: fast/loader/javascript-url-iframe-remove-on-navigate.html

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadOrRedirectSubframe):

LayoutTests:

  • fast/loader/javascript-url-iframe-remove-on-navigate-expected.txt: Added.
  • fast/loader/javascript-url-iframe-remove-on-navigate.html: Added.
9:58 AM Changeset in webkit [115645] by caio.oliveira@openbossa.org
  • 13 edits in trunk/Source/WebCore

Use Vector<Attribute> directly instead of encapsulating it in AttributeVector
https://bugs.webkit.org/show_bug.cgi?id=84413

Reviewed by Andreas Kling.

As commented in https://bugs.webkit.org/show_bug.cgi?id=79963#c16 we do not
usually subclass basic types like Vector. This patch changes code to use
Vector<Attribute> directly and move around the functionality of the former
methods to more specific helper functions or inline code at the callers.

  • dom/Element.cpp:

(WebCore::Element::parserSetAttributes):
(WebCore::Element::normalizeAttributes):

  • dom/Element.h:

(Element):

  • dom/ElementAttributeData.cpp:
  • dom/ElementAttributeData.h:

(WebCore::findAttributeInVector):
(WebCore::ElementAttributeData::getAttributeItem):
(ElementAttributeData):
(WebCore::ElementAttributeData::attributeVector):
(WebCore::ElementAttributeData::clonedAttributeVector):
(WebCore::ElementAttributeData::getAttributeItemIndex):
(WebCore):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):

  • html/parser/HTMLToken.h:

(WebCore::AtomicHTMLToken::AtomicHTMLToken):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::attributesForIsindexInput): Loop through the attributes
backwards so we can remove items without affecting the rest of the loop run.

  • html/parser/HTMLTreeBuilder.h:
  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement):

  • xml/XMLErrors.cpp:

(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock):

  • xml/parser/MarkupTokenBase.h:

(WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::getAttributeItem):
(WebCore::AtomicMarkupTokenBase::attributes):
(AtomicMarkupTokenBase):
(WebCore::::initializeAttributes):

  • xml/parser/XMLToken.h:

(WebCore::AtomicXMLToken::AtomicXMLToken):

9:44 AM WebKit Team edited by alexis.menard@openbossa.org
(diff)
9:34 AM Changeset in webkit [115644] by pilgrim@chromium.org
  • 5 edits in trunk/Source

[Chromium] Remove PlatformSupport::loadPlatformAudioResource, call loadResource directly
https://bugs.webkit.org/show_bug.cgi?id=85193

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • platform/audio/chromium/AudioBusChromium.cpp:

(WebCore::AudioBus::loadPlatformResource):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

9:28 AM Changeset in webkit [115643] by pilgrim@chromium.org
  • 5 edits in trunk/Source

[Chromium] Call defaultLocale directly
https://bugs.webkit.org/show_bug.cgi?id=85192

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • platform/chromium/LanguageChromium.cpp:

(WebCore::platformLanguage):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

9:12 AM Changeset in webkit [115642] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Update expectations for media/audio-delete-while-step-button-clicked.html
https://bugs.webkit.org/show_bug.cgi?id=85180

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-04-30

  • platform/efl/test_expectations.txt:
8:42 AM Changeset in webkit [115641] by Beth Dakin
  • 16 edits
    5 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=82922
border-image with image-set does not render correctly when viewed at
2x
-and corresponding-
<rdar://problem/11167820>

Reviewed by Dan Bernstein.

Source/WebCore:

StyleImage::computeIntrinsicDimensions() is only called from one
place: RenderBoxModelObject::calculateIntrinsicDimensions(), and that
is only used for background images and border images. In my original
image-set work, I decided that
StyleCachedImageSet::computeIntrinsicDimensions() would compute
"intrinsic" dimensions, meaning that they would compute the dimensions
that the image resource was pretending to be rather than the actual
dimensions of the resource. I chose to do this because it made
background images work great without changing the call-site. But border
images need to know the actual intrinsic dimensions, so this design
decision (which was admittedly questionable from the start) won't
stick.

This patch makes StyleImage::computeIntrinsicDimensions() return
actual intrinsic dimensions. Then the border-image and background-
image code is very lightly patched to account for the image's scale
factor.

These functions no longer need the scale factor parameter.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::computeIntrinsicDimensions):

  • loader/cache/CachedImage.h:

(CachedImage):

  • platform/graphics/GeneratedImage.h:

(GeneratedImage):

  • platform/graphics/GeneratorGeneratedImage.cpp:

(WebCore::GeneratedImage::computeIntrinsicDimensions):

  • platform/graphics/Image.cpp:

(WebCore::Image::computeIntrinsicDimensions):

  • platform/graphics/Image.h:

(Image):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::computeIntrinsicDimensions):

  • platform/graphics/cg/PDFDocumentImage.h:

(PDFDocumentImage):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::computeIntrinsicDimensions):

  • svg/graphics/SVGImage.h:

(SVGImage):

  • rendering/style/StyleCachedImageSet.cpp:

(WebCore::StyleCachedImageSet::computeIntrinsicDimensions):

New function on StyleImage returns the image's scale factor.

  • rendering/style/StyleCachedImageSet.h:

(WebCore::StyleCachedImageSet::imageScaleFactor):

  • rendering/style/StyleImage.h:

(WebCore::StyleImage::imageScaleFactor):

Scale the intrinsic size of the background image down by the scale
factor.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateFillTileSize):

Slices should be multiplied by the image's scale factor since they are
always expected to the specified in the 1x image's coordinate space.
(WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

  • fast/hidpi/image-set-border-image-comparison.html: Added.
  • fast/hidpi/resources/Breakpoint-2x.png: Added.
  • fast/hidpi/resources/Breakpoint.png: Added.
  • platform/mac/fast/hidpi/image-set-border-image-comparison-expected.png: Added.
  • platform/mac/fast/hidpi/image-set-border-image-comparison-expected.txt: Added.
8:33 AM Changeset in webkit [115640] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Use new syntax to call callOnMainThread directly
https://bugs.webkit.org/show_bug.cgi?id=85190

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/ChromiumThreading.cpp:

(WTF::ChromiumThreading::callOnMainThread):

8:26 AM Changeset in webkit [115639] by mrowe@apple.com
  • 3 edits in trunk/Source/WebCore

<rdar://problem/11313710> Leaks under WebCore::CSSImageSetValue::cachedImageSet when running tests

There was a reference cycle between CSSImageSetValue and StyleCachedImageSet via
CSSImageSetValue::m_imageSet / StyleCachedImageSet::m_imageSetValue. Break the cycle
by having StyleCachedImageSet hold a weak reference to the CSSImageSetValue rather
than a strong reference.

Reviewed by Geoff Garen.

  • rendering/style/StyleCachedImageSet.cpp:

(WebCore::StyleCachedImageSet::StyleCachedImageSet):

  • rendering/style/StyleCachedImageSet.h:

(StyleCachedImageSet):

8:14 AM Changeset in webkit [115638] by arko@motorola.com
  • 3 edits in trunk/Source/WebCore

Remove custom bindings code in JSHTMLCollectionCustom.cpp for HTMLPropertiesCollection.
https://bugs.webkit.org/show_bug.cgi?id=85172

Reviewed by Kentaro Hara.

Use [JSGenerateToJSObject] in HTMLPropertiesCollection.idl, so that it can generate toJS()
in JSHTMLPropertiesCollection.cpp automatically.

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::toJS):

  • html/HTMLPropertiesCollection.idl:
8:10 AM Changeset in webkit [115637] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-1.9.1

Tagging the WebKitGTK+ 1.9.1 release

8:05 AM Changeset in webkit [115636] by kling@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaseline svg/zoom/page/zoom-svg-through-object-with-percentage-size.svg for Mac after Length changes.

  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
7:58 AM Changeset in webkit [115635] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Use new syntax to call monotonicallyIncreasingTime directly
https://bugs.webkit.org/show_bug.cgi?id=85189

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/ChromiumCurrentTime.cpp:

(WTF::monotonicallyIncreasingTime):

7:56 AM Changeset in webkit [115634] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Use new syntax to call userAgent directly
https://bugs.webkit.org/show_bug.cgi?id=85188

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::userAgent):

7:51 AM Changeset in webkit [115633] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Use new syntax to call currentTime directly
https://bugs.webkit.org/show_bug.cgi?id=85187

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/ChromiumCurrentTime.cpp:

(WTF::currentTime):

7:48 AM Changeset in webkit [115632] by pilgrim@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Use new syntax to call currentThread directly
https://bugs.webkit.org/show_bug.cgi?id=85185

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/CCThreadImpl.cpp:

(WebKit::CCThreadImpl::CCThreadImpl):

  • src/WebCompositorImpl.cpp:

(WebKit::WebCompositorImpl::initialize):

7:43 AM Changeset in webkit [115631] by pilgrim@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Use new syntax to call createThread directly
https://bugs.webkit.org/show_bug.cgi?id=85186

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTest::runTest):

  • tests/Canvas2DLayerChromiumTest.cpp:

(Canvas2DLayerChromiumTest::fullLifecycleTest):

7:15 AM Changeset in webkit [115630] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Use new syntax to call createSocketStreamHandle directly
https://bugs.webkit.org/show_bug.cgi?id=85184

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/SocketStreamHandle.cpp:

(WebCore::SocketStreamHandleInternal::connect):

7:08 AM Changeset in webkit [115629] by noam.rosenthal@nokia.com
  • 3 edits in trunk/Source/WebCore

[Texmap] TextureMapperLayer uses intermediate surfaces too eagerly
https://bugs.webkit.org/show_bug.cgi?id=85103

Reviewed by Kenneth Rohde Christiansen.

Instead of automatically using an intermediate surface for layers with opacity and
children, we limit surface usage for layers with more than one child and for layers with
one child and contents of its own.

This prevents us from using intermediate surfaces in cases where a single layer with
opacity has a single descendant with content, in which case normal blending can be used.

Covered by existing compositing layout tests.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore):

  • platform/graphics/texmap/TextureMapperLayer.h:
6:53 AM WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
6:51 AM Changeset in webkit [115628] by yi.4.shen@nokia.com
  • 7 edits
    4 adds in trunk

Inserting a paragraph between quoted lines in editing/deleting/delete-4038408-fix.html doesn't work
https://bugs.webkit.org/show_bug.cgi?id=78193

Reviewed by Ryosuke Niwa.

When pasting a copied portion of a blockquote with a newline at the end into an unquoted area,
the newline is inserted after the blockquote since we don't want it also to be quoted. However,
this behavior has also applied when we insert a paragraph between quoted lines, which is incorrect.
To figure out the right place to insert a paragraph, we need providing more information to the
InsertParagraphSeparatorCommand by introducing a boolean parameter "pasteBlockqutoeIntoUnquotedArea".

Source/WebCore:

Tests: editing/inserting/insert-paragraph-separator-in-blockquote.html

editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertParagraphSeparator):

  • editing/CompositeEditCommand.h:

(CompositeEditCommand):

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
(WebCore::InsertParagraphSeparatorCommand::doApply):

  • editing/InsertParagraphSeparatorCommand.h:

(WebCore::InsertParagraphSeparatorCommand::create):
(InsertParagraphSeparatorCommand):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

LayoutTests:

  • editing/inserting/insert-paragraph-separator-in-blockquote-expected.txt: Added.
  • editing/inserting/insert-paragraph-separator-in-blockquote.html: Added.
  • editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote-expected.txt: Added.
  • editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote.html: Added.
6:49 AM Changeset in webkit [115627] by mario@webkit.org
  • 13 edits
    3 adds in trunk/Source/WebKit2

[GTK] Implement WebUIClient's runOpenPanel in WebKit2GTK+
https://bugs.webkit.org/show_bug.cgi?id=78491

Reviewed by Martin Robinson.

Add a new public class to the API, WebKitFileChooserRequest, to be
emitted along with a new WebKitWebView::run-file-chooser signal to
let client applications to provide their own file chooser dialog
when the use interacts with HTML Input elements of type 'file'.

  • GNUmakefile.am: Added new source files and headers.
  • UIProcess/API/gtk/WebKitFileChooserRequest.cpp: Added.

(_WebKitFileChooserRequestPrivate):
(webkit_file_chooser_request_init):
(webkitFileChooserRequestFinalize):
(webkitFileChooserRequestGetProperty):
(webkit_file_chooser_request_class_init):
(webkitFileChooserRequestCreate):
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_get_select_multiple):
(webkit_file_chooser_request_select_files):
(webkit_file_chooser_request_get_selected_files):
(webkit_file_chooser_request_cancel):

  • UIProcess/API/gtk/WebKitFileChooserRequest.h: Added.

(_WebKitFileChooserRequest):
(_WebKitFileChooserRequestClass):

  • UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h: Added,

containing the prototype of webkitFileChooserRequestCreate.

Provide private API to make a file chooser request from the
WebView, and provide a default handler for it.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(fileChooserDialogResponseCallback): Handler for the 'response'
signal for the GtkFileChooserDialog used in the default
handler. It will call to webkit_file_chooser_request_select_files
or webkit_file_chooser_request_cancel as needed.
(webkitWebViewRunFileChooser): Default handler for the new
'run-file-chooser' signal. It will create a GtkFileChooserDialog,
connect to the 'response' signal and show it.
(webkit_web_view_class_init): Connect the 'run-file-chooser'
signal to the default handler, webkitWebViewRunFileChooser.
(webkitWebViewRunFileChooserRequest):

  • UIProcess/API/gtk/WebKitWebView.h:

(_WebKitWebViewClass): Added prototype for the handler of the new
'run-file-chooser' signal.

  • UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype for

private new function webkitWebViewRunFileChooserRequest.

Provide an implementation for runOpenPanel in WebKitUIClient.

  • UIProcess/API/gtk/WebKitUIClient.cpp:

(runOpenPanel): New, implements runOpenPanel by creating an
instance of WebKitFileChooserRequest and asking the WebView to
emit the 'run-file-chooser' signal with it.
(attachUIClientToView): Reference the new runOpenPanel function.

Added the new publich header to the main header.

  • UIProcess/API/gtk/webkit2.h: Added WebKitFileChooserRequest.h.

New unit tests for the new WebKitFileChooserRequest API. Also,
extended the WebViewTest class to allow simulating mouse clicks.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(checkMimeTypeForFilter): New, checks whether a GtkFileFilter
filters a given MIME type, as specified by RFC 2046.
(testWebViewFileChooserRequest): New unit test.
(beforeAll): Add the new unit test as an UIClientTest.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::clickMouseButton): New public function to simulate a
mouse click through GdkEvents, as the combination of a 'press' and
a 'release' event. Used from the new unit test to simulate the
user pressing in the button rendered for a HTML Input element.
(WebViewTest::executeMouseButtonEvent): New private function to
simulate a mouse event through GdkEvents.

  • UIProcess/API/gtk/tests/WebViewTest.h:

Updated documentation related files with the new API.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API.
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Added get_type function.
6:42 AM Changeset in webkit [115626] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/Tools

Unreviewed, move myself to reviewers

  • Scripts/webkitpy/common/config/committers.py:
5:55 AM Changeset in webkit [115625] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Protect current element in HTMLLinkElement::setCSSStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=85166

Source/WebCore:

Reviewed by Andreas Kling.

Stylesheet loading can trigger script execution.

Test: fast/css/cached-sheet-restore-crash.html

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):

LayoutTests:

Reviewed by Andreas Kling.

  • fast/css/cached-sheet-restore-crash-expected.txt: Added.
  • fast/css/cached-sheet-restore-crash.html: Added.
4:58 AM Changeset in webkit [115624] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Update NEWS and configure.ac for 1.9.1 release
https://bugs.webkit.org/show_bug.cgi?id=85175

Reviewed by Philippe Normand.

.:

  • configure.ac: Bumped version number. Disable WebKit2 by default

for now, since we still don't use a different libtool version for
libwebkit2gtk. It will be enabled again after the release and the
library version will be reworked for the next release.

Source/WebKit/gtk:

  • NEWS: Added release notes for 1.9.1.
4:30 AM Changeset in webkit [115623] by pfeldman@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed: chromium expectations updated.

  • platform/chromium/test_expectations.txt:
4:18 AM Changeset in webkit [115622] by Carlos Garcia Campos
  • 10 edits in trunk

Unreviewed. Fix make distcheck.

.:

  • GNUmakefile.am: Add ALL_MOFILES declaration.

Source/JavaScriptCore:

  • GNUmakefile.list.am: Add missing header.

Source/ThirdParty:

  • gtest/GNUmakefile.am: Add source code files included by

gtest_all.cc to EXTRA_DIST.

Source/WebKit/gtk/po:

  • GNUmakefile.am: Use += for ALL_MOFILES variable to make sure all

.mo files are cleaned by distclean.

Tools:

  • TestWebKitAPI/GNUmakefile.am: Add missing headers to compilation

and resources to EXTRA_DIST.

4:02 AM Changeset in webkit [115621] by commit-queue@webkit.org
  • 7 edits in trunk

[GTK] DRT support for layoutTestController.removeOriginAccessWhitelistEntry
https://bugs.webkit.org/show_bug.cgi?id=85156

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-04-30
Reviewed by Martin Robinson.

Source/WebKit/gtk:

Add support for removeOriginAccessWhitelistEntry which allow
layout tests to remove origins whitelisting.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::removeWhiteListAccessFromOrigin):

  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Tools:

Add missing implementation removeOriginAccessWhitelistEntry to
GTK's LayoutTestController.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::removeOriginAccessWhitelistEntry):

LayoutTests:

Unskip http/tests/xmlhttprequest/origin-whitelisting-removal.html

  • platform/gtk/test_expectations.txt:
3:52 AM Changeset in webkit [115620] by pfeldman@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed: chromium expectations updated.

  • platform/chromium/test_expectations.txt:
2:24 AM Changeset in webkit [115619] by cevans@google.com
  • 1 edit in branches/chromium/1084/Source/WTF/wtf/ByteArray.cpp

Merge 114209
BUG=122692
Review URL: https://chromiumcodereview.appspot.com/10270008

1:57 AM Changeset in webkit [115618] by cevans@google.com
  • 2 edits in branches/chromium/1084/Source/WebCore/platform/chromium

Merge 113418
BUG=118374
Review URL: https://chromiumcodereview.appspot.com/10267006

1:45 AM Changeset in webkit [115617] by cevans@google.com
  • 13 edits
    12 copies in branches/chromium/1084

Merge 113581
BUG=120711
Review URL: https://chromiumcodereview.appspot.com/10261009

1:36 AM Changeset in webkit [115616] by cevans@google.com
  • 8 edits in branches/chromium/1084/Source/WebCore/rendering

Merge 113497
BUG=120711
Review URL: https://chromiumcodereview.appspot.com/10272008

1:25 AM Changeset in webkit [115615] by cevans@google.com
  • 15 edits in branches/chromium/1084

Merge 113252
BUG=120711
Review URL: https://chromiumcodereview.appspot.com/10264007

1:16 AM Changeset in webkit [115614] by cevans@google.com
  • 1 edit in branches/chromium/1084/Source/WebCore/workers/WorkerEventQueue.cpp

Merge 113291
BUG=122014
Review URL: https://chromiumcodereview.appspot.com/10261008

1:14 AM Changeset in webkit [115613] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 113759
BUG=122760
Review URL: https://chromiumcodereview.appspot.com/10274004

1:08 AM Changeset in webkit [115612] by cevans@google.com
  • 12 edits
    4 copies in branches/chromium/1084

Merge 113138
BUG=121223
Review URL: https://chromiumcodereview.appspot.com/10270006

12:59 AM Changeset in webkit [115611] by cevans@google.com
  • 4 edits
    4 copies in branches/chromium/1084

Merge 113887
BUG=118642
Review URL: https://chromiumcodereview.appspot.com/10265007

12:56 AM Changeset in webkit [115610] by cevans@google.com
  • 1 edit in branches/chromium/1084/Source/WebCore/platform/graphics/skia/GlyphPageTreeNodeSkia.cpp

Merge 113951
BUG=122585
Review URL: https://chromiumcodereview.appspot.com/10260009

12:46 AM Changeset in webkit [115609] by cevans@google.com
  • 2 edits
    8 copies in branches/chromium/1084

Merge 114666
BUG=123484
Review URL: https://chromiumcodereview.appspot.com/10262008

12:37 AM Changeset in webkit [115608] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 115236
BUG=122573
Review URL: https://chromiumcodereview.appspot.com/10271004

12:32 AM Changeset in webkit [115607] by cevans@google.com
  • 1 edit in branches/chromium/1084/Source/WebCore/dom/ContainerNodeAlgorithms.h

Merge 113852
BUG=121736
Review URL: https://chromiumcodereview.appspot.com/10269004

12:10 AM Changeset in webkit [115606] by kling@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Add Mac expectation for fast/dom/Window/window-lookup-precedence.html.

Mac builds without ENABLE(DATALIST).

  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
12:00 AM Changeset in webkit [115605] by kling@webkit.org
  • 2 edits in trunk/LayoutTests

Skip the fast/performance/ directory on Mac since the bots don't build with ENABLE(WEB_TIMING).

  • platform/mac/Skipped:

Apr 29, 2012:

7:51 PM Changeset in webkit [115604] by fpizlo@apple.com
  • 3 edits in branches/dfgopt/Source/JavaScriptCore

Predicted types should know about arguments
https://bugs.webkit.org/show_bug.cgi?id=85165

Reviewed by Oliver Hunt.

  • bytecode/PredictedType.cpp:

(JSC::predictionToString):
(JSC::predictionToAbbreviatedString):
(JSC::predictionFromClassInfo):

  • bytecode/PredictedType.h:

(JSC):
(JSC::isMyArgumentsPrediction):
(JSC::isArgumentsPrediction):

7:24 PM Changeset in webkit [115603] by keishi@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix for LocalizedDateMac.mm
https://bugs.webkit.org/show_bug.cgi?id=85164

Reviewed by Kent Tamura.

  • platform/text/mac/LocalizedDateMac.mm:

(WebCore::monthLabels):

6:28 PM Changeset in webkit [115602] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Initialize member variables in CSSParser's constructor.
https://bugs.webkit.org/show_bug.cgi?id=84377

Reviewed by Kentaro Hara.

It is good practice not to leave member variables uninitialized. They make debugging more difficult by reducing
repeatability, and in some cases lead to the possibility of information leakage occuring. This patch simply adds
initialization of m_numParsedPropertiesBeforeMarginBox to CSSParser's constructor to INVALID_NUM_PARSED_PROPERTIES
so that the initial state is the same as the state after the properties are cleared.

No tests added because this is a code style fix, not an actual bug so long as the bison generated code calls
startDeclarationsForMarginBox() and endDeclarationsForMarginBox() symmetrically. The lack of initialization was
originally detected by coverity.

  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):

6:22 PM Changeset in webkit [115601] by mjs@apple.com
  • 2 edits in trunk/Tools

REGRESSION: On Lion, run-webkit-tests changes the display color profile even when not running pixel tests
https://bugs.webkit.org/show_bug.cgi?id=81729

Reviewed by Dan Bernstein.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._set_up_run): Only launch LayoutTestHelper when running pixel tests.

5:25 PM Changeset in webkit [115600] by tkent@chromium.org
  • 6 edits
    1 add in trunk/Source

[Mac] Add LocalizedDateMac
https://bugs.webkit.org/show_bug.cgi?id=85039

Reviewed by Kentaro Hara.

Source/WebCore:

A date shown <input type=date> should be formatted for user's OS
settings. Chromium-Mac used LocalizedDateICU.cpp to format/parse visible
date strings and it didn't reflect user-settings.

Test: covered by fast/forms/date/date-appearance.html

  • WebCore.gyp/WebCore.gyp:

Use LocalizedDateMac.mm for OS X instead of LocalizedDateICU.cpp.

  • WebCore.gypi: Add LocalizedDateMac.mm
  • platform/text/mac/LocalizedDateMac.mm: Added.

(WebCore::createShortDateFormatter):
Creates a NSDateFormatter with desired settings.
(WebCore::parseLocalizedDate): Impelment for tyep=date.
(WebCore::formatLocalizedDate): ditto.
(WebCore::isYearSymbol): A readability helper for format string parsing.
(WebCore::isMonthSymbol): ditto.
(WebCore::isDaySymbol): ditto.
(WebCore::localizeDateFormat):
Parse a format string, and replace symbols with user-friendly labels.
(WebCore::localizedDateFormatText):
Gets a format string, and apply localizeDateFormat().
(WebCore::monthLabels): Obtain month names from the system.
(WebCore::weekDayShortLabels): Obtain week day symbols from the system.
(WebCore::firstDayOfWeek): Obtain first day of week from the system.

  • platform/text/ICULocale.cpp:

(WebCore::createFallbackMonthLabels): Uses WTF::monthFullName.

Source/WTF:

  • wtf/DateMath.h:

(WTF): Add monthFullName[]. It is useful to make fallback month
names for calendar/date related features.

1:08 PM Changeset in webkit [115599] by commit-queue@webkit.org
  • 6 edits in trunk

Add support for the Blob constructor (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=84555

Address additional feedback on Blob construction.

  • Add exception when the dictionary is not an object.
  • Ensure the proper ordering of dictionary access. Tested via throwing exceptions in toString, and ensuring correct one is fired first.
  • Changed type of exception throw for invalid enumeration to a TypeError.

Patch by Sam Weinig <sam@webkit.org> on 2012-04-29
Reviewed by Kentaro Hara.

Source/WebCore:

Updated fast/files/blob-constructor.html to be more comprehensive.

  • bindings/js/JSBlobCustom.cpp:

(WebCore::JSBlobConstructor::constructJSBlob):

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

LayoutTests:

  • fast/files/blob-constructor-expected.txt:
  • fast/files/script-tests/blob-constructor.js:
11:22 AM Changeset in webkit [115598] by tomz@codeaurora.org
  • 2 edits in trunk/PerformanceTests

PerfTestRunner.computeStatistics incorrectly calculates min, max and median
https://bugs.webkit.org/show_bug.cgi?id=85111

Reviewed by Ryosuke Niwa.

The sort of the data input was being done alphabetically.
So I provided a numeric compare function.

  • resources/runner.js:
8:25 AM Changeset in webkit [115597] by commit-queue@webkit.org
  • 7 edits in trunk

[GTK] DRT needs an implementation of layoutTestController.setDomainRelaxationForbiddenForURLScheme
https://bugs.webkit.org/show_bug.cgi?id=85131

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-04-29
Reviewed by Martin Robinson.

Source/WebKit/gtk:

Add support for setDomainRelaxationForbiddenForURLScheme which allow
disabling domain relaxation.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::setDomainRelaxationForbiddenForURLScheme):

  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Tools:

Add missing implementation setDomainRelaxationForbiddenForURLScheme to
GTK's LayoutTestController.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

LayoutTests:

Unskip http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

  • platform/gtk/test_expectations.txt:
8:20 AM Changeset in webkit [115596] by noam.rosenthal@nokia.com
  • 2 edits in trunk/Source/WebCore

[Texmap] Leaves demo: wrong geometry when opacity animation kicks in
https://bugs.webkit.org/show_bug.cgi?id=85096

Reviewed by Kenneth Rohde Christiansen.

We should use combined() instead of combinedForChildren() since we don't allow
intermediate surfaces for preserves-3d. Also, we should apply the offset before
multiplying the transforms, otherwise the transform-origin is incorrect.

Covered by existing compositing tests.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::paintRecursive):

1:58 AM Changeset in webkit [115595] by pilgrim@chromium.org
  • 8 edits in trunk/Source

[Chromium] Call highUsageDeltaMB directly
https://bugs.webkit.org/show_bug.cgi?id=84844

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • bindings/v8/V8GCController.cpp:

(WebCore::V8GCController::checkMemoryUsage):

  • platform/MemoryUsageSupport.cpp:

(WebCore):
(WebCore::MemoryUsageSupport::highUsageDeltaMB):

  • platform/MemoryUsageSupport.h:

(MemoryUsageSupport):

  • platform/chromium/MemoryUsageSupportChromium.cpp:

(WebCore::MemoryUsageSupport::highUsageDeltaMB):
(WebCore):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

1:07 AM Changeset in webkit [115594] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

REGRESSION(r113086): onresize event handler can be deleted in popup window
https://bugs.webkit.org/show_bug.cgi?id=84908

Reviewed by Ojan Vafai.

In a nutshell, an onresize event handler in the popup window
can be non-deterministically deleted. For more details, please
look at Chromium issue 123642:
http://code.google.com/p/chromium/issues/detail?id=123642

I confirmed that this bug is the regression caused by r113086.

r113086 introduced the following code:

void V8LazyEventListener::prepareListenerObject(...) {

if (hasExistingListenerObject())

return;

...;
Since we only parse once, there's no need to keep data
used for parsing around anymore.
m_functionName = String();
m_code = String();
m_eventParameterName = String();
m_sourceURL = String();

setListenerObject(wrappedFunction);

}

This is not correct. The parsing can be done more than once,
and thus we cannot clear data. This patch removes the above code.

Consider the following situation:

(1) Assume '<body onresize="f()"></body>'.
(2) prepareListenerObject() runs.
(3) Since this is the first parsing, hasExistingListenerObject()
returns false. After the parsing, the listener object is set
by setListenerObject().
(4) GC runs. Since there is no strong reference to the listener
object, weakEventListenerCallback() is called back, and the listener
object is disposed.
(5) A resize event is triggered.
(6) prepareListenerObject() is called again. Since the listener object
is already disposed, hasExistingListenerObject() returns false,
and the second parsing starts.

In my investigation, the above situation is happening in the reported
Chromium bug. Anyway, I am sure that potentially the parsing can be
done more than once, and thus we must keep m_xxxx data.

However, this is just a temporary fix. We should fix the code so that
an alive event listener object is never reclaimed.
See https://bugs.webkit.org/show_bug.cgi?id=85152 for more details.

No tests: I tried hard to create a DRT test, but could not.
The bug depends on the behavior of GC, and thus the reported bug is
non-deterministic. For example, (as explained in the Chromium issue,)
the bug does not happen if we load an HTML from network because
the network latency hides the bug. Also the bug happens in the
popup window only. If we open the reported HTML in the main window,
we cannot reproduce the bug.

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::prepareListenerObject):

12:09 AM Changeset in webkit [115593] by zandobersek@gmail.com
  • 8 edits
    2 adds in trunk/LayoutTests

Unreviewed, gardening after revisions 115573 and 115582.

  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/gtk/fast/dom/constructed-objects-prototypes-expected.txt:
  • platform/gtk/fast/forms/001-expected.txt:
  • platform/gtk/fast/html/details-position-expected.txt: Added.
  • platform/gtk/fast/replaced/width100percent-checkbox-expected.txt:
  • platform/gtk/fast/replaced/width100percent-radio-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Added.
  • platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:
Note: See TracTimeline for information about the timeline view.