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

Timeline



Apr 10, 2011:

11:57 PM Changeset in webkit [83429] by commit-queue@webkit.org
  • 2 edits
    3 moves in trunk/Source/WebCore

2011-04-10 ChangSeok Oh <ChangSeok Oh>

Reviewed by Eric Seidel.

Make correspondence of file name related with event to other port.
https://bugs.webkit.org/show_bug.cgi?id=57416

Some file names are changed to make correspondence naming rule.
Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
This has made user hard to find a specific file related with event for GTK port.

No test required. This patch just changes some file names.

  • GNUmakefile.list.am:
  • platform/gtk/KeyEventGtk.cpp: Removed.
  • platform/gtk/MouseEventGtk.cpp: Removed.
  • platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
  • platform/gtk/PlatformMouseEventGtk.cpp: Added.
  • platform/gtk/PlatformWheelEventGtk.cpp: Added.
  • platform/gtk/WheelEventGtk.cpp: Removed.
11:12 PM Changeset in webkit [83428] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

2011-04-10 Kent Tamura <tkent@chromium.org>

[Chromium] Update expectations.

  • Remove deprecated entry
  • Add ancestor-overflow-change.html for GPU.
  • platform/chromium/test_expectations.txt:
11:10 PM Changeset in webkit [83427] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

2011-04-10 Simon Fraser <Simon Fraser>

Revert the FloatRect.cpp part of r83422, since
clampToInteger() is broken for some inputs. I filed
https://bugs.webkit.org/show_bug.cgi?id=58216

  • platform/graphics/FloatRect.cpp: (WebCore::safeFloatToInt): (WebCore::enclosingIntRect):
10:51 PM Changeset in webkit [83426] by mjs@apple.com
  • 2 edits in trunk/Source/WebKit2

Not reviewed.

Remove extra inadvertantly commiteed changes from last change.

  • WebProcess/com.apple.WebProcess.sb:
10:49 PM Changeset in webkit [83425] by mjs@apple.com
  • 2 edits in trunk/Source/WebKit2

2011-04-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Dan Bernstein.

REGRESSION: WebProcess spews sandboxing violations for outbound network traffic
https://bugs.webkit.org/show_bug.cgi?id=58215
<rdar://problem/9251695>


  • WebProcess/com.apple.WebProcess.sb: Restore some previously removed rules.
10:22 PM Changeset in webkit [83424] by Simon Fraser
  • 5 edits
    4 adds in trunk

2011-04-10 Simon Fraser <Simon Fraser>

Reviewed by Maciej Stachowiak.

Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
https://bugs.webkit.org/show_bug.cgi?id=56660

When overflow on an element changes, we need to inform compositing
layers which create and position an "ancestor clipping" layer based
on that overflow. Do this by triggering a rebuild of compositing layers
when overflow changes on a layer whose stacking context has compositing
descendants. (We can't just check whether the layer itself has compositing
descendants, because overflow follows the render tree, but compositing
follows the z-order tree.)

Test: compositing/geometry/ancestor-overflow-change.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::styleChanged):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
10:08 PM Changeset in webkit [83423] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

2011-04-10 Kent Tamura <tkent@chromium.org>

[Chromium] Update test expectation.
svg/W3C-SVG-1.1/masking-intro-01-f.svg is crashing on Mac and Linux too.

  • platform/chromium/test_expectations.txt:
9:51 PM Changeset in webkit [83422] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

2011-04-10 Simon Fraser <Simon Fraser>

Reviewed by Ariya Hidayat.

Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
https://bugs.webkit.org/show_bug.cgi?id=58161

ShadowBlur already has a singleton scratch buffer that is re-used
between shadows. Enhance use of this scratch buffer to avoid drawing
and blurring the shadow if the results will match what is already
in the buffer.

Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
which ended up with little reusable code after adding the re-use logic.

  • platform/graphics/FloatRect.cpp: (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing clampToInteger() from MathExtras.h
  • platform/graphics/FloatSize.h: (WebCore::expandedIntSize): New method to safely ceil() the size.
  • platform/graphics/RoundedIntRect.h: Add operator== for Radii and RoundedIntRect.
  • platform/graphics/ShadowBlur.cpp: (WebCore::ScratchBuffer::ScratchBuffer): (WebCore::ScratchBuffer::setLastShadowValues): (WebCore::ScratchBuffer::setLastInsetShadowValues): (WebCore::ScratchBuffer::matchesLastShadow): (WebCore::ScratchBuffer::matchesLastInsetShadow): (WebCore::ScratchBuffer::clearScratchBuffer): Have the scratch buffer remember what shadow parameters were used to render the buffer contents.

(WebCore::ShadowBlur::drawShadowBuffer):
Renamed from endShadowLayer(), and only contains the drawing
logic now.

(WebCore::ShadowBlur::drawRectShadow):
Promote some code from beginShadowLayer().

(WebCore::ShadowBlur::drawInsetShadow):
Promote some code from beginShadowLayer().

(WebCore::ShadowBlur::drawRectShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):
(WebCore::ShadowBlur::drawRectShadowWithTiling):
These methods now check to see if the buffer already matches
their required parameters, and avoid work if it does.

(WebCore::ShadowBlur::blurShadowBuffer):
Factored some code into this new method.

(WebCore::ShadowBlur::blurAndColorShadowBuffer):
Minor refactoring.

  • platform/graphics/ShadowBlur.h:
9:44 PM Changeset in webkit [83421] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

2011-04-10 Kent Tamura <tkent@chromium.org>

[Chromium] Update test expectations.

  • absolute-sized-document-no-scrollbars.svg is flaky on Linux
  • font-update.html is failing on Windows GPU and Linux GPU.
  • platform/chromium/test_expectations.txt:
9:09 PM Changeset in webkit [83420] by tkent@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

2011-04-10 Kent Tamura <tkent@chromium.org>

[Chromium] Fix build errors on "Win Shared Builder (dbg)"

  • WebKit.gyp: Exclude WebFrameTest.cpp for WEBKIT_DLL.
9:00 PM Changeset in webkit [83419] by ggaren@apple.com
  • 3 edits in trunk/Source/WebCore

Build fix: Updated for file move.

  • bindings/js/GCController.cpp:
  • bindings/js/ScriptGCEvent.cpp:
8:54 PM Changeset in webkit [83418] by ggaren@apple.com
  • 9 edits
    3 moves in trunk/Source

Moved Heap.h and Heap.cpp to the heap folder, because anything less
would be uncivilized.

Rubber-stamped by Beth Dakin.

Source/JavaScriptCore:

Source/WebCore:

  • ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
  • ForwardingHeaders/runtime/Heap.h: Removed.
8:49 PM Changeset in webkit [83417] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

2011-04-10 Luke Macpherson <macpherson@chromium.org>

Reviewed by Simon Fraser.

Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
https://bugs.webkit.org/show_bug.cgi?id=58212

No new tests - function renaming only / no functionality changes.

  • css/CSSStyleApplyProperty.cpp: Rename all instances of inherit, initial and value.
  • css/CSSStyleApplyProperty.h: Rename all instances of inherit, initial and value.
  • css/CSSStyleSelector.cpp: Rename all instances of inherit, initial and value.
7:35 PM Changeset in webkit [83416] by commit-queue@webkit.org
  • 5 edits in trunk

2011-04-10 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>

Reviewed by Eric Seidel.

Require no undefined symbols during compilation.

[Qt] [WK2] WebKitTestRunner, QtWebProcess and WTRInjectBundle should fail to compile when there's undefined symbols
https://bugs.webkit.org/show_bug.cgi?id=54896

Add -Wl,--no-undefined to catch missing symbols early.

  • WebProcess.pro:

2011-04-10 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>

Reviewed by Eric Seidel.

Require no undefined symbols during compilation.

[Qt] [WK2] WebKitTestRunner, QtWebProcess and WTRInjectBundle should fail to compile when there's undefined symbols
https://bugs.webkit.org/show_bug.cgi?id=54896

Add -Wl,--no-undefined to catch missing symbols early.

  • WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
  • WebKitTestRunner/qt/WebKitTestRunner.pro:
7:31 PM Changeset in webkit [83415] by commit-queue@webkit.org
  • 6 edits
    15 adds in trunk

2011-04-10 Mike Lawther <mikelawther@chromium.org>

Reviewed by Ojan Vafai.

flex/bison tokens and grammar for CSS calc
https://bugs.webkit.org/show_bug.cgi?id=54412

Only the 'errors' and 'regression' tests pass as intended right now. As of this
patch, none of the actual calculations are expected to work, since only
the lexing/grammar stage is present.

  • css3/calc/calc-errors-expected.txt: Added.
  • css3/calc/calc-errors.html: Added.
  • css3/calc/lexer-regression-57581-2-expected.txt: Added.
  • css3/calc/lexer-regression-57581-2.html: Added.
  • css3/calc/lexer-regression-57581-3-expected.txt: Added.
  • css3/calc/lexer-regression-57581-3.html: Added.
  • css3/calc/lexer-regression-57581-expected.txt: Added.
  • css3/calc/lexer-regression-57581.html: Added.
  • css3/calc/minmax-errors-expected.txt: Added.
  • css3/calc/minmax-errors.html: Added.
  • css3/calc/simple-calcs-expected.txt: Added.
  • css3/calc/simple-calcs.html: Added.
  • css3/calc/simple-minmax-expected.txt: Added.
  • css3/calc/simple-minmax.html: Added.

2011-04-10 Mike Lawther <mikelawther@chromium.org>

Reviewed by Ojan Vafai.

flex/bison tokens and grammar for CSS calc
https://bugs.webkit.org/show_bug.cgi?id=54412

Tests: css3/calc/calc-errors.html

css3/calc/lexer-regression-57581-2.html
css3/calc/lexer-regression-57581-3.html
css3/calc/lexer-regression-57581.html
css3/calc/minmax-errors.html
css3/calc/nested-rounded-corners.html
css3/calc/simple-calcs.html
css3/calc/simple-minmax.html

  • css/CSSGrammar.y:
  • css/CSSParserValues.cpp: (WebCore::CSSParserValueList::insertValueAt): (WebCore::CSSParserValueList::extend):
  • css/CSSParserValues.h:
  • css/tokenizer.flex:
7:21 PM Changeset in webkit [83414] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

2011-04-10 Alice Boxhall <aboxhall@chromium.org>

Reviewed by Ryosuke Niwa.

Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
https://bugs.webkit.org/show_bug.cgi?id=57923

Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
rather than a Node* and an IntPoint&, as the selection may actually not
extend into the Node found by the HitTest.

No new tests. Refactoring only.

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDraggedEvent): (WebCore::EventHandler::updateSelectionForMouseDrag):
  • page/EventHandler.h:
7:10 PM Changeset in webkit [83413] by tkent@chromium.org
  • 5 edits
    1 add
    6 deletes in trunk/LayoutTests

2011-04-10 Kent Tamura <tkent@chromium.org>

[Chromium] Update expectations for r83360.

  • platform/chromium-linux/fast/box-shadow/inset-box-shadows-expected.checksum: Removed.
  • platform/chromium-linux/fast/box-shadow/inset-box-shadows-expected.png:
  • platform/chromium-linux/fast/box-shadow/inset-expected.png:
  • platform/chromium-mac-leopard/fast/box-shadow/inset-expected.png: Added.
  • platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.checksum: Removed.
  • platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png: Removed.
  • platform/chromium-mac/fast/box-shadow/inset-expected.checksum: Removed.
  • platform/chromium-mac/fast/box-shadow/inset-expected.png: Removed.
  • platform/chromium-win/fast/box-shadow/inset-box-shadows-expected.checksum: Removed.
  • platform/chromium-win/fast/box-shadow/inset-box-shadows-expected.png:
  • platform/chromium-win/fast/box-shadow/inset-expected.png:
6:49 PM Changeset in webkit [83412] by tkent@chromium.org
  • 12 edits
    2 deletes in trunk

2011-04-10 Kent Tamura <tkent@chromium.org>

Unreviewed, rolling out r83353.
http://trac.webkit.org/changeset/83353
https://bugs.webkit.org/show_bug.cgi?id=58106

The new test doesn't pass on all Chromium platforms.

  • editing/pasteboard/data-transfer-items-image-png-expected.html: Removed.
  • editing/pasteboard/data-transfer-items-image-png.html: Removed.

2011-04-10 Kent Tamura <tkent@chromium.org>

Unreviewed, rolling out r83353.
http://trac.webkit.org/changeset/83353
https://bugs.webkit.org/show_bug.cgi?id=58106

The new test doesn't pass on all Chromium platforms.

  • dom/DataTransferItem.h:
  • dom/DataTransferItem.idl:
  • platform/chromium/ClipboardMimeTypes.cpp:
  • platform/chromium/ClipboardMimeTypes.h:
  • platform/chromium/DataTransferItemChromium.cpp: (WebCore::DataTransferItemChromium::getAsString):
  • platform/chromium/DataTransferItemChromium.h:
  • platform/chromium/PlatformBridge.h:

2011-04-10 Kent Tamura <tkent@chromium.org>

Unreviewed, rolling out r83353.
http://trac.webkit.org/changeset/83353
https://bugs.webkit.org/show_bug.cgi?id=58106

The new test doesn't pass on all Chromium platforms.

  • DEPS:
  • src/PlatformBridge.cpp:
6:45 PM Changeset in webkit [83411] by commit-queue@webkit.org
  • 3 edits
    1 add
    2 deletes in trunk/LayoutTests

2011-04-10 Daniel Bates <dbates@rim.com>

Reviewed by Eric Seidel.

Add layout test to ensure that window.name returns {"_blank", "_parent", "_self", "_top"}
for a frame of the same name
https://bugs.webkit.org/show_bug.cgi?id=58189

Extracted common code from files LayoutTests/fast/frames/resources/frame-element-name-{left, right}.html
into LayoutTests/fast/frames/resources/frame-element-name.html so that we can use this logic
to test frames with arbitrary names.

  • fast/frames/frame-element-name-expected.txt:
  • fast/frames/frame-element-name.html: Modified to use resources/frame-element-name.html; Added test cases for "_blank", "_parent", "_self", and "_top".
  • fast/frames/resources/frame-element-name-left.html: Removed; Instead, pass expectedName to resources/frame-element-name.html
  • fast/frames/resources/frame-element-name-right.html: Ditto.
  • fast/frames/resources/frame-element-name.html: Added.
6:35 PM Changeset in webkit [83410] by gyuyoung.kim@samsung.com
  • 5 edits
    6 adds in trunk/Source

2011-04-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>

Reviewed by Eric Carlson.

[EFL] Add seek forward / backward buttons to MediaControl UI.
https://bugs.webkit.org/show_bug.cgi?id=56810

Add seek forward / backward buttons to media control. And, change formType name
for media control.

  • platform/efl/RenderThemeEfl.cpp: (WebCore::RenderThemeEfl::edjeGroupFromFormType): (WebCore::RenderThemeEfl::emitMediaButtonSignal): (WebCore::RenderThemeEfl::paintMediaMuteButton): (WebCore::RenderThemeEfl::paintMediaPlayButton): (WebCore::RenderThemeEfl::paintMediaSeekBackButton): (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
  • platform/efl/RenderThemeEfl.h:

2011-04-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>

Reviewed by Eric Carlson.

[EFL] Add seek forward / backward buttons to MediaControl UI.
https://bugs.webkit.org/show_bug.cgi?id=56810

Add seek forward / backward buttons to media control.

  • DefaultTheme/default.edc:
  • DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc: Added.
  • DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackwardbutton.png: Added.
  • DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc: Added.
  • DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforwardbutton.png: Added.
6:23 PM Changeset in webkit [83409] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

2011-04-10 Chris Guillory <chris.guillory@google.com>

Reviewed by Eric Seidel.

Remove unused function declaration in PlatformContextSkia.h.
https://bugs.webkit.org/show_bug.cgi?id=55983

  • platform/graphics/skia/PlatformContextSkia.h:
3:30 PM Changeset in webkit [83408] by kevino@webkit.org
  • 2 edits in trunk/Tools

[wx] Unreviewed build fix. Remove collector dirs from the list of build dirs.

3:07 PM Changeset in webkit [83407] by Patrick Gansterer
  • 7 edits in trunk/Source/JavaScriptCore

2011-04-10 Patrick Gansterer <Patrick Gansterer>

Reviewed by Darin Adler.

Remove duplicated code from AtomicString::fromUTF8()
https://bugs.webkit.org/show_bug.cgi?id=53711

  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • wtf/text/AtomicString.cpp: (WTF::AtomicString::fromUTF8Internal):
  • wtf/text/AtomicString.h: (WTF::AtomicString::fromUTF8):
  • wtf/unicode/UTF8.cpp: (WTF::Unicode::calculateStringHashAndLengthFromUTF8):
  • wtf/unicode/UTF8.h:
2:57 PM Changeset in webkit [83406] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

2011-04-10 Patrick Gansterer <Patrick Gansterer>

Unreviewed build fix for !ENABLE(XSLT) after r82562.

  • dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::doEnd):
2:38 PM Changeset in webkit [83405] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

2011-04-10 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Eric Carlson.

fast/layers/video-layer.html needs expectations update
https://bugs.webkit.org/show_bug.cgi?id=58203

  • platform/win/fast/layers/video-layer-expected.txt: Updated result after r83397.
2:26 PM Changeset in webkit [83404] by mjs@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Not reviewed.

Fix build (at least on Lion) by adding some newish header files to
PrivateHeaders.

2:00 PM Changeset in webkit [83403] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

2011-04-10 Patrick Gansterer <Patrick Gansterer>

Unreviewed build fix for !ENABLE(XSLT) after r82562.

  • xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
11:06 AM Changeset in webkit [83402] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

WebKitTestRunner needs a more-complete implementation of eventSender
https://bugs.webkit.org/show_bug.cgi?id=42194

Add another test that depends on eventSender.keyDown (fast/dom/hidden-iframe-no-focus.html
added in r83356) to the mac-wk2 skipped list to get the bots green.

  • platform/mac-wk2/Skipped:
10:37 AM Changeset in webkit [83401] by kevino@webkit.org
  • 2 edits in trunk/Tools

[wx] Unreviewed build fix. Add Source/JavaScriptCore/heap to the list of directories.

10:35 AM Changeset in webkit [83400] by Dimitri Glazkov
  • 4 edits in trunk

2011-04-10 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Anders Carlsson.

REGRESSION(r83256): Text-decoration bleeds into shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=58205

  • platform/chromium/test_expectations.txt: Removed the test that starts

passing after this change.

2011-04-10 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Anders Carlsson.

REGRESSION(r83256): Text-decoration bleeds into shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=58205

Now that the shadow root is a never-styled element, we need to walk to
parent to find out if we're inside of a shadow DOM subtree.

Test: media/controls-styling.html

  • css/CSSStyleSelector.cpp: (WebCore::isAtShadowBoundary): Added helper function. (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
9:45 AM Changeset in webkit [83399] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

2011-04-10 Dimitri Glazkov <Dimitri Glazkov>

Temporarily add a failing test, while I am fixing it.

  • platform/chromium/test_expectations.txt: Added.
9:00 AM Changeset in webkit [83398] by levin@chromium.org
  • 2 edits in trunk/Tools

REGRESSION(r83384): Change to chromium.py is resulting in failures of the test framework on linux.
https://bugs.webkit.org/show_bug.cgi?id=58201

Reviewed by Dimitri Glazkov.

  • Scripts/webkitpy/layout_tests/port/chromium.py: Commented out the assert for now,

and filed bug 58202.

7:57 AM Changeset in webkit [83397] by Dimitri Glazkov
  • 22 edits in trunk/Source/WebCore

2011-04-07 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Eric Carlson.

[Meta] Convert HTMLMediaElement to use the new shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=53020

This conversion is non-trivial, for several reasons:

1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
and showing controls does not result in destroying and re-creating the
shadow DOM tree. Instead, the tree is created as needed and shown/hidden
using inline styles.

2) Instead of detaching/attaching on each style change, the control parts
are now using a set of higher fidelity callbacks that notify MediaControls
about changes to which it should react. Each reaction results in hiding,
showing, or changing the state of the control parts using inline styles
and DOM APIs.

3) Hiding and showing controls is accomplished using inline styles, rather
than wiring rendererIsNeeded, because renderers are now re-created less
frequently.

4) Instead of constantly querying RenderTheme about visibility of a particular
control part, we let the theme determine which parts are supported and
which parts are visible in certain conditions.

5) Custom hit-testing, event forwarding, and style updates are completely
removed, since they are now unnecessary.

6) Fading controls in/out is now done as CSS animation, since shadow DOM
supports it.

Test: manual-tests/media-controls.html

Apr 9, 2011:

11:29 PM Changeset in webkit [83396] by mitz@apple.com
  • 9 edits
    4 adds in trunk

<rdar://problem/9215280> Detached canvas draws with incorrect font

Reviewed by Beth Dakin.

Source/WebCore:

Test: fast/canvas/font-update.html

The existing mechanism for updating the font in a canvas 2D context was lacking in at least
two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
was not attached.

This change takes the responsibility for font updates away from the canvas element and gives it
to the canvas context and its graphics state.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
font selector clients.
(WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
registered font selector clients.
(WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
clients and forces a style recalc on the document.
(WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
(WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.

  • css/CSSFontSelector.h:
  • html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
  • html/HTMLCanvasElement.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
(WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
when its fonts need to be updated. Updates the font.
(WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.

  • html/canvas/CanvasRenderingContext2D.h:
  • platform/graphics/FontSelector.h:

(WebCore::FontSelectorClient::~FontSelectorClient):

LayoutTests:

  • fast/canvas/font-update-expected.checksum: Added.
  • fast/canvas/font-update-expected.png: Added.
  • fast/canvas/font-update-expected.txt: Added.
  • fast/canvas/font-update.html: Added.
11:17 PM Changeset in webkit [83395] by levin@chromium.org
  • 2 edits in trunk/Tools

2011-04-09 David Levin <levin@chromium.org>

Unreviewed, rolling out r83394.
http://trac.webkit.org/changeset/83394
https://bugs.webkit.org/show_bug.cgi?id=53625

Patch was incorrect as noted in the bug.

  • Scripts/svn-apply:
10:57 PM Changeset in webkit [83394] by levin@chromium.org
  • 2 edits in trunk/Tools

svn-apply and/or patch(1) has trouble applying patches that makes changes to files with Windows line endings
https://bugs.webkit.org/show_bug.cgi?id=53625

Reviewed by Adam Barth.

  • Scripts/svn-apply: Ensure that the portions of patches

which are for vcproj/vsprops files has DOS line endings.

9:18 PM Changeset in webkit [83393] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

2011-04-09 Dirk Pranke <dpranke@chromium.org>

Unreviewed, expectations change.
https://bugs.webkit.org/show_bug.cgi?id=58193

Suppress a whole bunch of Win Vista failures until they can be
triaged and/or rebaselined.

  • platform/chromium/test_expectations.txt:
8:55 PM Changeset in webkit [83392] by ggaren@apple.com
  • 2 edits in trunk/Source/WebCore

Not reviewed.

Try recommitting some things svn left out of my last commit.

  • bridge/qt/qt_runtime.h:
8:53 PM Changeset in webkit [83391] by ggaren@apple.com
  • 2 edits in trunk/Source/WebKit2

Not reviewed.

Try recommitting some things svn left out of my last commit.

  • WebProcess/Plugins/Netscape/NPJSObject.h:
8:50 PM Changeset in webkit [83390] by ggaren@apple.com
  • 2 edits in trunk/Source/WebKit2

Not reviewed.

Try recommitting some things svn left out of my last commit.

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::evaluate):

8:47 PM Changeset in webkit [83389] by ggaren@apple.com
  • 1 edit
    1 delete in trunk/Source/WebCore

Not reviewed.

Try recommitting some things svn left out of my last commit.

  • ForwardingHeaders/collector: Removed.
  • ForwardingHeaders/collector/handles: Removed.
  • ForwardingHeaders/collector/handles/Global.h: Removed.
8:41 PM Changeset in webkit [83388] by ggaren@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Not reviewed.

Try recommitting some things svn left out of its last commit.

  • heap/Handle.h:

(JSC::HandleBase::operator!):
(JSC::HandleBase::HandleBase):
(JSC::HandleBase::slot):
(JSC::HandleBase::setSlot):
(JSC::Handle::Handle):

  • heap/HandleHeap.cpp:

(JSC::HandleHeap::markWeakHandles):
(JSC::HandleHeap::finalizeWeakHandles):
(JSC::HandleHeap::isValidWeakNode):

  • heap/HandleHeap.h:

(JSC::HandleHeap::globalData):

8:01 PM Changeset in webkit [83387] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

2011-04-09 Dirk Pranke <dpranke@chromium.org>

Unreviewed, expectations change.
https://bugs.webkit.org/show_bug.cgi?id=58193

Suppress a whole bunch of Win 7 failures until they can be
triaged and/or rebaselined.

  • platform/chromium/test_expectations.txt:
7:33 PM Changeset in webkit [83386] by Dimitri Glazkov
  • 7 edits in trunk

2011-04-02 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Ojan Vafai.

Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
https://bugs.webkit.org/show_bug.cgi?id=55515

  • fast/events/shadow-boundary-crossing-expected.txt: Updated expectations.
  • fast/events/shadow-boundary-crossing.html: Added new test for mouseover/mouseout handling.

2011-04-08 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Ojan Vafai.

Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
https://bugs.webkit.org/show_bug.cgi?id=55515

This implements XBL 2.0's specified handling of mouseover/mouseout events:
http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events

To do this, we:
1) calculate lowest common ancestor between relatedTarget and target, and

the nearest boundaries around them: the outer (common) boundary, and the
inner (specific to relatedTarget) boundary. Then, we

2) ensure that events only propagate up to the common boundary (or

all the way if boundary is not found), while

3) updating relatedTarget be the inner boundary.

We also detect the most common case when no common boundary could exist
and provide a fast path to short-circuit most of the boundary detection
logic.

Test: fast/events/shadow-boundary-crossing.html

  • dom/EventDispatcher.cpp: (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest

common ancestor, the boundaries around it, and compute adjustments
to relatedTarget and event target ancestor chain.

(WebCore::ancestorsCrossShadowBoundaries): Added.
(WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate

inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.

(WebCore::EventDispatcher::EventDispatcher): Added flag initializer
(WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,

converted to use initialization flag, rather than testing for empty.

  • dom/EventDispatcher.h: Adjusted decls.
  • dom/MouseEvent.cpp: (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event

to adjustRelatedTarget.

7:32 PM Changeset in webkit [83385] by ggaren@apple.com
  • 55 edits
    10 copies
    3 moves
    2 deletes in trunk/Source

2011-04-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

A few heap-related renames and file moves.


WeakGCPtr<T> => Weak<T>
Global<T> => Strong<T>
collector/ => heap/
collector/* => heap/*
runtime/WeakGCPtr.h => heap/Weak.h


(Eventually, even more files should move into the heap directory. Like
Heap.h and Heap.cpp, for example.)

  • API/JSClassRef.h:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • JavaScriptCore.gypi:
  • JavaScriptCore.pri:
  • JavaScriptCore.pro:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
  • JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
  • JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/SamplingTool.h:
  • bytecompiler/BytecodeGenerator.h:
  • collector: Removed.
  • collector/handles: Removed.
  • collector/handles/Global.h: Removed.
  • collector/handles/Handle.h: Removed.
  • collector/handles/HandleHeap.cpp: Removed.
  • collector/handles/HandleHeap.h: Removed.
  • collector/handles/HandleStack.cpp: Removed.
  • collector/handles/HandleStack.h: Removed.
  • collector/handles/Local.h: Removed.
  • collector/handles/LocalScope.h: Removed.
  • heap: Copied from collector.
  • heap/Handle.h: Copied from collector/handles/Handle.h.
  • heap/HandleHeap.cpp: Copied from collector/handles/HandleHeap.cpp.
  • heap/HandleHeap.h: Copied from collector/handles/HandleHeap.h.
  • heap/HandleStack.cpp: Copied from collector/handles/HandleStack.cpp.
  • heap/HandleStack.h: Copied from collector/handles/HandleStack.h.
  • heap/Local.h: Copied from collector/handles/Local.h.
  • heap/LocalScope.h: Copied from collector/handles/LocalScope.h.
  • heap/Strong.h: Copied from collector/handles/Global.h. (JSC::Strong::Strong): (JSC::Strong::~Strong): (JSC::Strong::operator=):
  • heap/Weak.h: Copied from runtime/WeakGCPtr.h. (JSC::Weak::Weak): (JSC::Weak::~Weak):
  • heap/handles: Removed.
  • interpreter/RegisterFile.h:
  • jit/JITStubs.cpp: (JSC::JITThunks::hostFunctionStub):
  • jit/JITStubs.h:
  • runtime/Structure.h:
  • runtime/WeakGCPtr.h: Removed.

2011-04-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

A few heap-related renames and file moves.


WeakGCPtr<T> => Weak<T>
Global<T> => Strong<T>
collector/ => heap/
collector/* => heap/*
runtime/WeakGCPtr.h => heap/Weak.h


(Eventually, even more files should move into the heap directory. Like
Heap.h and Heap.cpp, for example.)

  • JSRun.h:
  • JSValueWrapper.h:

2011-04-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

A few heap-related renames and file moves.


WeakGCPtr<T> => Weak<T>
Global<T> => Strong<T>
collector/ => heap/
collector/* => heap/*
runtime/WeakGCPtr.h => heap/Weak.h


(Eventually, even more files should move into the heap directory. Like
Heap.h and Heap.cpp, for example.)

  • CMakeLists.txt:

2011-04-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

A few heap-related renames and file moves.


WeakGCPtr<T> => Weak<T>
Global<T> => Strong<T>
collector/ => heap/
collector/* => heap/*
runtime/WeakGCPtr.h => heap/Weak.h


(Eventually, even more files should move into the heap directory. Like
Heap.h and Heap.cpp, for example.)

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): (WebKit::NetscapePluginInstanceProxy::evaluate):
  • WebView/WebScriptDebugger.h:

2011-04-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

A few heap-related renames and file moves.


WeakGCPtr<T> => Weak<T>
Global<T> => Strong<T>
collector/ => heap/
collector/* => heap/*
runtime/WeakGCPtr.h => heap/Weak.h


(Eventually, even more files should move into the heap directory. Like
Heap.h and Heap.cpp, for example.)

  • CMakeLists.txt:
  • ForwardingHeaders/collector: Removed.
  • ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
  • ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
  • ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
  • ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/copyForwardingHeaders.cmd:
  • bindings/js/JSCallbackData.h:
  • bindings/js/JSCustomVoidCallback.h:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::setWindow):
  • bindings/js/JSDataGridDataSource.h:
  • bindings/js/JSEventListener.h:
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::ScheduledAction):
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptCachedFrameData.cpp: (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
  • bindings/js/ScriptCachedFrameData.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::createWindowShell):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h:
  • bindings/js/ScriptState.h:
  • bindings/js/ScriptValue.cpp:
  • bindings/js/ScriptValue.h:
  • bindings/js/ScriptWrappable.h:
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::initScript):
  • bindings/js/WorkerScriptController.h:
  • bridge/jsc/BridgeJSC.h:
  • bridge/qt/qt_runtime.h:
  • bridge/runtime_root.h:
  • xml/XMLHttpRequest.cpp:
5:30 PM Changeset in webkit [83384] by dpranke@chromium.org
  • 3 edits in trunk/Tools

2011-04-09 Dirk Pranke <dpranke@chromium.org>

Reviewed by Tony Chang.

It looks like NRWT has not been stopping DRT/TestShell
instances properly on windows, probably for a long time.
This would go a long way to explaining why we often have
processes lying around :)

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

  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
4:07 PM Changeset in webkit [83383] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

2011-04-09 Dirk Pranke <dpranke@chromium.org>

Unreviewed, expectations change.

new-run-webkit-tests: Mac SL tests failing on the bot
https://bugs.webkit.org/show_bug.cgi?id=58192

Mark tests as needing triage/investigation for failing
on NRWT bot.

  • platform/mac/test_expectations.txt:
3:24 PM Changeset in webkit [83382] by Dimitri Glazkov
  • 1 edit
    1 add in trunk/Websites/webkit.org

2011-04-09 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by James Robinson.

Add a diagram, explaning how an event's relatedTarget interact with shadow DOM boundaries.
https://bugs.webkit.org/show_bug.cgi?id=58190

  • misc/related-target-and-shadow-dom.svg: Added.
11:30 AM Changeset in webkit [83381] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] One more attempt to make Qt-WK2 bot happy.

  • platform/qt-wk2/Skipped:
10:58 AM Changeset in webkit [83380] by kbalazs@webkit.org
  • 9 edits in trunk

2011-04-09 Keith Kyzivat <keith.kyzivat@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Don't link against fontconfig or X11 if embedded
https://bugs.webkit.org/show_bug.cgi?id=58104

  • Source/WebKit.pri: Add qpa=>embedded as it should be across all builds.

2011-04-09 Keith Kyzivat <keith.kyzivat@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Don't link against fontconfig or X11 if embedded
https://bugs.webkit.org/show_bug.cgi?id=58104

No functional change so no new tests.

  • WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.

2011-04-09 Keith Kyzivat <keith.kyzivat@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Don't link against fontconfig or X11 if embedded
https://bugs.webkit.org/show_bug.cgi?id=58104

  • DumpRenderTree/qt/DumpRenderTree.pro: fontconfig !included in embedded
  • QtTestBrowser/QtTestBrowser.pro: ditto
  • WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: ditto
  • WebKitTestRunner/qt/WebKitTestRunner.pro: ditto
10:24 AM Changeset in webkit [83379] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

[Qt] Make Qt bots happier. :)

  • platform/qt-wk2/Skipped: Remove non-existent tests.
  • platform/qt/Skipped: Add new tests without Qt specific expected files.
10:14 AM Changeset in webkit [83378] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[Qt] Unreviewed trivial fix after r83344.

  • WebCore.pro: Update HEADERS list.
10:04 AM Changeset in webkit [83377] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] Make Qt-WK2 buildbot green on http://webkit.sed.hu

  • platform/qt-wk2/Skipped: Add failing tests.
1:31 AM Changeset in webkit [83376] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

2011-04-09 Jon Lee <jonlee@apple.com>

Reviewed by Beth Dakin.

Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
https://bugs.webkit.org/show_bug.cgi?id=58180
<rdar://problem/9047984>

  • platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
1:01 AM Changeset in webkit [83375] by commit-queue@webkit.org
  • 8 edits in trunk/Source

2011-04-09 Sreeram Ramachandran <sreeram@google.com>

Reviewed by Ryosuke Niwa.

Gather data on modal dialogs shown during unload events
https://bugs.webkit.org/show_bug.cgi?id=58115

Add a new method to the ChromeClient API to allow clients to receive
notifications of modal dialogs dispatched during page dismissal events.
The new method has a default empty definition; only chromium overrides
it to keep track of histograms.

No tests because this is a no-op for all ports except chromium (and it's
not clear how to test chromium histograms from webkit).

  • page/Chrome.cpp: (WebCore::isDuringPageDismissal): (WebCore::willRunModalDialog): (WebCore::Chrome::runJavaScriptAlert): (WebCore::Chrome::runJavaScriptConfirm): (WebCore::Chrome::runJavaScriptPrompt): (WebCore::Chrome::willRunModalHTMLDialog):
  • page/Chrome.h:
  • page/ChromeClient.h: (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::showModalDialog):

2011-04-09 Sreeram Ramachandran <sreeram@google.com>

Reviewed by Ryosuke Niwa.

Gather data on modal dialogs shown during unload events
https://bugs.webkit.org/show_bug.cgi?id=58115

Implementation of the new API to receive notifications of modal dialogs
dispatched during unload events. Count the notifications through a histogram.

No tests because it's not clear how to test chromium histograms from webkit.

  • src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::willRunModalDialogDuringPageDismissal):
  • src/ChromeClientImpl.h:
Note: See TracTimeline for information about the timeline view.