haikuwebkit/Source/WebCore/ChangeLog-2010-12-06

135225 lines
5.6 MiB
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2010-12-06 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Andreas Kling.
[Qt] Support focus ring outline color for links.
https://bugs.webkit.org/show_bug.cgi?id=50428
Take width and offset into account when drawing focus ring.
Tests: fast/css/focus-ring-outline-color.html
fast/css/focus-ring-outline-offset.html
fast/css/focus-ring-outline-width.html
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawFocusRing):
2010-12-06 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Andreas Kling.
[Qt] Fix focus ring outline color support
https://bugs.webkit.org/show_bug.cgi?id=50325
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawFocusRing):
Take the outline width into account when drawing the focus ring of image map.
Change the outline-style from dotted to solid. The default outline-width is
5 pixels, and dotted lines just don't make sense anymore.
Give the focus ring alpha of 50%, following what other ports do.
Save and restore the pen when drawing a focus ring.
2010-12-06 Andras Becsi <abecsi@webkit.org>
Reviewed by Csaba Osztrogonác.
[Qt][V8] Build fix after r73283.
No new tests needed.
* WebCore.pri: Add missing webaudio directory
to IDL generator includes.
2010-12-06 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[soup] implement ResourceHandle::platformSetDefersLoading
https://bugs.webkit.org/show_bug.cgi?id=44158
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::platformSetDefersLoading): Implemented
using the soup_session_{,un}pause_message APIs.
2010-12-06 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
[GTK] Leak in webkit_soup_cache_load if file contents load fails
https://bugs.webkit.org/show_bug.cgi?id=50558
g_file_get_contents() could return an error after allocating a
buffer for file contents. We must free that memory before
returning.
* platform/network/soup/cache/webkit/soup-cache.c:
(webkit_soup_cache_load): Added a missing g_free().
2010-12-06 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73351.
http://trac.webkit.org/changeset/73351
https://bugs.webkit.org/show_bug.cgi?id=50560
"The change broke plugin tests in Chromium" (Requested by
yurys on #webkit).
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::ScriptCallStack::stackTrace):
* bindings/js/ScriptCallStackFactory.h:
* bindings/v8/ScriptCallStackFactory.cpp:
(WebCore::toScriptCallFrame):
(WebCore::toScriptCallFramesVector):
(WebCore::createScriptCallStack):
(WebCore::ScriptCallStack::stackTrace):
* bindings/v8/ScriptCallStackFactory.h:
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
(WebCore::ScriptCallFrame::isEqual):
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
(WebCore::ScriptCallFrame::sourceURL):
* inspector/ScriptCallStack.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2010-12-06 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Report zero width for zero size fonts
Report zero width when font size is zero.
Fixes fast/text/font-size-zero.html
https://bugs.webkit.org/show_bug.cgi?id=50539
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::floatWidthForSimpleText):
(WebCore::Font::floatWidthForComplexText):
2010-12-03 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: remove duplicate code for capturing stack trace
https://bugs.webkit.org/show_bug.cgi?id=50461
No new tests. Covered with existing inspector tests.
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):
* bindings/js/ScriptCallStackFactory.h:
* bindings/v8/ScriptCallStackFactory.cpp:
(WebCore::toScriptCallFrame):
(WebCore::toScriptCallFramesVector):
(WebCore::createScriptCallStack):
* bindings/v8/ScriptCallStackFactory.h:
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
(WebCore::ScriptCallFrame::isEqual):
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
(WebCore::ScriptCallFrame::sourceURL):
* inspector/ScriptCallStack.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2010-12-06 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
[GTK] webkit_soup_cache_clear() does not delete all entries in the cache
https://bugs.webkit.org/show_bug.cgi?id=50462
Do not use g_hash_table_foreach to remove entries from the cache
entries hashtable. Iterate over a list of entries to remove them
from the hash table.
* platform/network/soup/ResourceHandleSoup.cpp:
* platform/network/soup/cache/webkit/soup-cache.c:
(remove_cache_item):
(webkit_soup_cache_finalize):
(clear_cache_item):
(webkit_soup_cache_clear):
2010-12-05 Kent Tamura <tkent@chromium.org>
Unreviewed. Run sort-Xcode-project-file.
* WebCore.xcodeproj/project.pbxproj:
2010-11-30 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Adler.
HTML5 <details> and <summary> initial implementation
https://bugs.webkit.org/show_bug.cgi?id=50309
HTML5 <details> and <summary> elements initial implementation. The main objective is
to add the files for html element and renderers, and to get rid of build system issues
in future patches.
See: http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
http://www.w3.org/TR/html5/interactive-elements.html#the-summary-element
build systems
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/GNUmakefile.am:
Some css properties to the new html elements.
* css/html.css:
(details):
(summary):
New html element associated with the corresponding tag.
* html/HTMLAttributeNames.in:
* html/HTMLTagNames.in:
1 html element and 3 renderers were added.
* html/HTMLDetailsElement.cpp: Added.
* html/HTMLDetailsElement.h: Added.
* html/HTMLDetailsElement.idl: Added.
* html/HTMLElementsAllInOne.cpp:
* rendering/RenderDetails.cpp: Added.
* rendering/RenderDetails.h: Added.
* rendering/RenderDetailsMarker.cpp: Added.
* rendering/RenderDetailsMarker.h: Added.
* rendering/RenderSummary.cpp: Added.
* rendering/RenderSummary.h: Added.
* rendering/RenderingAllInOne.cpp:
New renderer type checkers.
* rendering/RenderObject.h:
(WebCore::RenderObject::isDetails):
(WebCore::RenderObject::isDetailsMarker):
(WebCore::RenderObject::isSummary):
2010-12-05 Rob Buis <rwlbuis@gmail.com>
Reviewed by Nikolas Zimmermann.
createSVGTransformFromMatrix(undefined) => NULL ptr
https://bugs.webkit.org/show_bug.cgi?id=49564
Throw TYPE_MISMATCH_ERR when using undefined or null as value for matrix parameter.
* svg/SVGTransformList.idl:
* svg/properties/SVGTransformListPropertyTearOff.h:
(WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
2010-12-05 Alejandro G. Castro <alex@igalia.com>
Reviewed by Xan Lopez.
[GTK] Fix compilation warnings reported by clang
https://bugs.webkit.org/show_bug.cgi?id=50252
* platform/graphics/Path.h: CairoPath is now a class, not a
struct.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback): Cast the status_code to int.
2010-12-05 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[GTK] Remove setColor functions it was replicated in
CairoUtilities: setSourceRGBAFromColor.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::setPlatformFill):
(WebCore::setPlatformStroke):
(WebCore::fillRectSourceOver):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawFocusRing):
(WebCore::GraphicsContext::fillRoundedRect):
2010-12-05 Adam Roben <aroben@apple.com>
Windows production build fix
Put spaces after trailing backslashes when setting
%WebKitVSPropsRedirectionDir%. According to MSDN
<http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:
A backslash ( \ ) followed by a newline character is interpreted as
a space in the command; use a backslash at the end of a line to
continue a command onto the next line. NMAKE interprets the
backslash literally if any other character, including a space or
tab, follows the backslash.
* WebCore.vcproj/WebCore.make:
2010-12-05 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
[Qt] Zero-sized font does not yet work
Fix fast/text/font-size-zero.html
Copy other ports by setting minimumFontSize to 0 for DRT runs,
copy a fix to SimpleFontData from chromium/safari, and set font
size in FontPlatformData to zero if size zero is requested
and QFont::pixelSize otherwise. (Note that QFont doesn't accept
a pixel size of zero).
Also fix QFont::setPixelSize in FontPlatformData to use
description.computedPixelSize rather than computedSize and
pixelSize() rather than pointSizeF - since the latter gets
set to -1 if pixelSize is set at all.
https://bugs.webkit.org/show_bug.cgi?id=49759
* platform/graphics/qt/FontPlatformData.h:
(WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
(WebCore::FontPlatformData::pixelSize):
* platform/graphics/qt/FontPlatformDataQt.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon):
* platform/graphics/qt/SimpleFontDataQt.cpp:
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::platformGlyphInit):
(WebCore::SimpleFontData::platformCharWidthInit):
2010-12-04 Daniel Bates <dbates@rim.com>
Reviewed by Darin Adler.
Add support for lower-armenian and upper-armenian
https://bugs.webkit.org/show_bug.cgi?id=49641
Implement support for list-style-types lower-armenian and upper-armenian
for lowercase Armenian and uppercase Armenian numerals, respectively.
Tests: fast/lists/w3-css3-lower-armenian.html
fast/lists/w3-css3-upper-armenian.html
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added enum values LowerArmenian
and UpperArmenian.
* css/CSSValueKeywords.in: Added "upper-armenian" and "lower-armenian".
* inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
* rendering/RenderListMarker.cpp:
(WebCore::effectiveListMarkerType): Added enum values LowerArmenian
and UpperArmenian.
(WebCore::listMarkerSuffix): Ditto.
(WebCore::listMarkerText): Ditto.
(WebCore::RenderListMarker::paint): Ditto.
(WebCore::RenderListMarker::computePreferredLogicalWidths): Ditto.
(WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
* rendering/style/RenderStyleConstants.h: Ditto.
2010-12-04 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
WebCore part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
https://bugs.webkit.org/show_bug.cgi?id=50530
* WebCore.exp.in: Export Range version of countMatchesForText().
* editing/Editor.cpp:
(WebCore::isFrameInRange): Added this helper method.
(WebCore::Editor::countMatchesForText): Added a Range parameter and restricted the result to
matches that occur in the range.
* editing/Editor.h:
2010-12-04 Gavin Peters <gavinp@chromium.org>
Reviewed by Adam Barth.
Implement onload events for <link rel=prefetch>
https://bugs.webkit.org/show_bug.cgi?id=50187
Tests: fast/dom/HTMLLinkElement/link-and-subresource-test.html
fast/dom/HTMLLinkElement/prefetch-onload.html
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::~HTMLLinkElement):
(WebCore::HTMLLinkElement::parseMappedAttribute):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::onloadTimerFired):
(WebCore::HTMLLinkElement::notifyFinished):
* html/HTMLLinkElement.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::data):
2010-12-04 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Drop GdkDrawable usage, it's deprecated in GTK+3.x and we can use GdkWindow
https://bugs.webkit.org/show_bug.cgi?id=50451
GdkDrawable has been removed in GTK+3.x. To cope with this we can
actually stop using it altogether, since GdkWindow is just a
typedef for it and that seems to be good enough for us.
* platform/graphics/GraphicsContext.h: s/GdkDrawable/GdkWindow/.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::gdkWindow): ditto.
* platform/gtk/GtkVersioning.h: declare GDK_WINDOW_XWINDOW for GTK 3.x builds.
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenAvailableRect): s/GdkDrawable/GdkWindow/.
* platform/gtk/WidgetGtk.cpp:
(WebCore::gdkWindow): ditto.
(WebCore::Widget::setCursor): ditto.
* platform/gtk/WidgetRenderingContextGtk2.cpp: ditto.
2010-12-03 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
REGRESSION(r71934): input event fires twice when editing text inside a text input.
https://bugs.webkit.org/show_bug.cgi?id=50477
Now that events escape the shadow DOM boundary, the input event is fired twice
for each input, once triggered by editing, once triggered by value change.
Test: fast/forms/text-input-event.html
* dom/InputElement.cpp:
(WebCore::InputElement::setValueFromRenderer): Added a check to ensure editable fields
don't fire an extra input event.
2010-12-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73302.
http://trac.webkit.org/changeset/73302
https://bugs.webkit.org/show_bug.cgi?id=50499
Causes crashes in debug LayoutTests (Requested by xan_ on
#webkit).
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderParentObject):
(WebCore::AccessibilityRenderObject::addChildren):
* accessibility/AccessibilityRenderObject.h:
* accessibility/chromium/AccessibilityObjectChromium.cpp:
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2010-12-01 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Inspector protocol cleanup task.
The patch has just small renames and adjustments for the protocol things.
'handler' keyword in idl file was replaced with 'domain'.
'domain' property was assigned for the each backend to frontend messages.
At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.
https://bugs.webkit.org/show_bug.cgi?id=50337
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/front-end/inspector.js:
(WebInspector_syncDispatch):
2010-12-03 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Duplicate "!important" for !important properties displayed in the Styles pane
https://bugs.webkit.org/show_bug.cgi?id=50460
* inspector/front-end/StylesSidebarPane.js:
* inspector/front-end/inspector.css:
2010-12-03 Xan Lopez <xlopez@igalia.com>
Unreviewed build fix.
The JS code generator includes headers unconditionally, so we need
to generate them unconditionally and disable the feature. The
WebAudio files hadn't been added to our sources list.
* GNUmakefile.am:
2010-12-03 Patrick Gansterer <paroga@webkit.org>
Unreviewed build fix.
Try to fix EFL build after r73273.
* CMakeLists.txt:
2010-12-03 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Include the FrameView widget of a RenderWidget in the accessibility tree.
https://bugs.webkit.org/show_bug.cgi?id=49106
Include render widget children in the accessibility tree for not mac webkit ports.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderParentObject):
(WebCore::AccessibilityRenderObject::addChildren):
(WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
* accessibility/AccessibilityRenderObject.h:
* accessibility/chromium/AccessibilityObjectChromium.cpp:
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2010-11-30 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Don't clone an anonymous block, instead create a new one in splitBlocks. Also,
when beforeChild is not in one of our children, then do the processing first
to get its anonymous container before calling splitBlocks.
https://bugs.webkit.org/show_bug.cgi?id=49928
Tests: fast/multicol/span/anonymous-before-child-parent-crash.html
fast/multicol/span/anonymous-split-block-crash.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::splitBlocks):
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
2010-12-03 Mark Rowe <mrowe@apple.com>
Reviewed by Eric Seidel.
Animated GIF animates much more slowly in Safari than Firefox
<rdar://problem/7689300> / <http://webkit.org/b/26455>
Adopt Firefox's behavior for frame duration clamping. Images that specify a frame duration
of <= 10ms are treated as having a frame duration of 100ms, while all other images use the
frame duration that they specify.
ImageIO currently implements its own clamping of frame durations (<rdar://problem/7689297>)
which will result in this change having no observable effect on platforms where it is used
until an updated version of ImageIO becomes available.
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::frameDurationAtIndex): Update the formatting of the comment and style
of the code to match that in ImageSourceCG.
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::frameDurationAtIndex):
2010-12-03 Chris Rogers <crogers@google.com>
Unreviewed build fix.
Fix M_E compile error on Chromium Win
https://bugs.webkit.org/show_bug.cgi?id=50479
* platform/audio/AudioUtilities.cpp:
(WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
2010-12-03 Chris Rogers <crogers@google.com>
Unreviewed build fix.
Try to fix GTK build due to recent web audio makefile changes (disable ENABLE_WEB_AUDIO explicitly)
https://bugs.webkit.org/show_bug.cgi?id=50478
* GNUmakefile.am:
2010-12-03 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dirk Schulze.
Clean up some text-related code on GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=50464
Save 8 bytes in GraphicsContextState by rearranging the
data members to reduce padding.
* platform/graphics/GraphicsContextPrivate.h:
(WebCore::GraphicsContextState::GraphicsContextState):
2010-12-03 Simon Fraser <simon.fraser@apple.com>
Another Chromium build fix.
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
2010-12-03 Simon Fraser <simon.fraser@apple.com>
Fix Chromium build.
* platform/graphics/skia/PlatformContextSkia.h:
2010-12-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
[CMake] Remove WebCore_IDL_PURE_FILES
https://bugs.webkit.org/show_bug.cgi?id=50445
* CMakeLists.txt:
2010-12-03 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Need to move all code that applies correction into correction panel callback.
https://bugs.webkit.org/show_bug.cgi?id=50426
<rdar://problem/8720832>
No new test, since there's no behavioral change.
This patch is to prepare WebKit to work with upcoming AppKit changes. The main changes are:
1. Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
2. Added more user dictionary learning code.
3. Removed m_ prefix in all member variables of CorrectionPanelInfo.
* editing/CorrectionPanelInfo.h: Remove m_ prefix on member variables. Added ReasonForDismissingCorrectionPanel enum type.
* editing/Editor.cpp: Moved all calls to applyCorrectionPanelInfo() into handleCorrectionPanelResult().
Adopted new member variable naming in class CorrectionPanelInfo.
(WebCore::Editor::respondToChangedSelection):
(WebCore::Editor::~Editor):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::Editor::correctionPanelTimerFired):
(WebCore::Editor::handleCorrectionPanelResult):
(WebCore::Editor::startCorrectionPanelTimer):
(WebCore::Editor::stopCorrectionPanelTimer):
(WebCore::Editor::handleCancelOperation):
(WebCore::Editor::dismissCorrectionPanel):
(WebCore::Editor::applyCorrectionPanelInfo):
* editing/Editor.h: Changed signature of dismissCorrectionPanel to use ReasonForDismissingCorrectionPanel.
* loader/EmptyClients.h: Ditto.
(WebCore::EmptyEditorClient::dismissCorrectionPanel):
* page/EditorClient.h: Ditto.
2010-12-03 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: reveal in elements panel does not switch the panel itself.
https://bugs.webkit.org/show_bug.cgi?id=50408
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
2010-12-03 Simon Fraser <simon.fraser@apple.com>
Reviewed by Nikolas Zimmermann.
Clean up some text-related code on GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=50464
Use defined types for textDrawingMode and it's associated flags.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::textDrawingMode):
(WebCore::GraphicsContext::setTextDrawingMode):
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContextPrivate.h:
(WebCore::GraphicsContextState::GraphicsContextState):
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::drawGlyphsShadow):
(WebCore::Font::drawGlyphs):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::drawGlyphsShadow):
(WebCore::Font::drawComplexText):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/openvg/PainterOpenVG.cpp:
(WebCore::PlatformPainterState::PlatformPainterState):
(WebCore::PainterOpenVG::textDrawingMode):
(WebCore::PainterOpenVG::setTextDrawingMode):
(WebCore::PainterOpenVG::drawText):
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::getTextDrawingMode):
(WebCore::PlatformContextSkia::setTextDrawingMode):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::windowsCanHandleTextDrawing):
(WebCore::paintSkiaText):
* platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::setTextDrawingMode):
(WebCore::TextureMapper::textDrawingMode):
(WebCore::TextureMapper::TextureMapper):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::drawGDIGlyphs):
(WebCore::Font::drawGlyphs):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::drawText):
* rendering/InlineTextBox.cpp:
(WebCore::updateGraphicsContext):
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
* rendering/RenderSVGResourceSolidColor.cpp:
(WebCore::RenderSVGResourceSolidColor::applyResource):
* svg/SVGFont.cpp:
(WebCore::Font::drawTextUsingSVGFont):
2010-12-03 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
First steps to adding web audio files to build systems
https://bugs.webkit.org/show_bug.cgi?id=49952
No new tests since audio API is not yet implemented.
* CMakeLists.txt:
* DerivedSources.make:
* ForwardingHeaders/wtf/Complex.h: Added.
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::audioContext):
* features.pri:
* page/DOMWindow.idl:
* platform/audio/HRTFElevation.cpp:
2010-12-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by David Levin.
Use String::adopt in TextCodecWinCE::decode
https://bugs.webkit.org/show_bug.cgi?id=50319
* platform/text/wince/TextCodecWinCE.cpp:
(WebCore::TextCodecWinCE::decode):
2010-12-03 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
WebKit2 Authentication Support
* WebCore.exp.in:
Expose the AuthenticationClient for WK2 platforms (Windows already does this):
* platform/network/mac/AuthenticationChallenge.h:
* platform/network/mac/AuthenticationMac.mm:
(-[WebCoreAuthenticationClientAsChallengeSender client]):
(WebCore::AuthenticationChallenge::authenticationClient):
* platform/network/qt/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::authenticationClient):
2010-12-03 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
REGRESSION: Crash when deleting text after textarea's value is modified on input event
https://bugs.webkit.org/show_bug.cgi?id=49962
The crash was caused by TypingCommand::deleteKeyPressed's reusing a typing command for
textarea's shadow DOM after its input event handler rewrote the value set by the typing command.
Because the reused typing command's ending selection was pointing at a shadow node
that has been detached from the document when the event handler set the new value,
rootEditableElement of the ending selection was null and caused the crash.
Fixed the bug by updating the ending selection of the last typing command when it differsfrom
that of the current selection held by the SelectionController in TypingCommand::deleteKeyPressed.
Also fixed similar bugs in forwardDeleteKeyPressed and insertText, and insertTextRunWithoutNewlines.
Tests: editing/input/set-value-on-input-and-delete.html
editing/input/set-value-on-input-and-forward-delete.html
editing/input/set-value-on-input-and-type-input.html
editing/input/set-value-on-input-and-type-textarea.html
* editing/InsertTextCommand.h: Added TypingCommand as a friend because it needs to update selection.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteKeyPressed): Updates the last typing command's selection as needed.
(WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
(WebCore::TypingCommand::insertText): Ditto.
(WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection): Added.
(WebCore::TypingCommand::insertTextRunWithoutNewlines): Updates InsertTextCommand's selection as needed.
* editing/TypingCommand.h:
2010-12-03 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
Dragging and dropping into an empty document crashes WebKit.
https://bugs.webkit.org/show_bug.cgi?id=48793
Remove the assert and update callers to check for a null return value.
Test: manual-tests/drop-in-empty-doc.html
* manual-tests/drop-in-empty-doc.html: Added.
* manual-tests/resources/drop-in-empty-doc.xhtml: Added.
* page/DragController.cpp:
(WebCore::elementUnderMouse):
(WebCore::DragController::tryDocumentDrag):
(WebCore::DragController::concludeEditDrag):
2010-12-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Move Inspector generator logic into main CMakeLists.txt file
https://bugs.webkit.org/show_bug.cgi?id=50445
* CMakeLists.txt:
2010-12-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Move StringWx.cpp into wtf directory
https://bugs.webkit.org/show_bug.cgi?id=50060
* WebCore.gypi:
* platform/text/wx/StringWx.cpp: Removed.
2010-12-03 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
REGRESSION(r72783): DOMActivate fires multiple times from input type=file
https://bugs.webkit.org/show_bug.cgi?id=50396
Test: fast/events/shadow-boundary-crossing-2.html
* dom/EventContext.cpp: Reverted changes made in r72783.
* dom/EventContext.h: Ditto.
* dom/Node.cpp:
(WebCore::Node::containsIncludingShadowDOM): Added.
(WebCore::Node::dispatchGenericEvent): Reverted changes made in r72783.
* dom/Node.h: Added decl.
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::defaultEventHandler): Reverted changes made in r72783.
2010-12-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Move StringBrew.cpp into wtf directory
https://bugs.webkit.org/show_bug.cgi?id=50058
* platform/text/brew/StringBrew.cpp: Removed.
2010-12-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Move StringHaiku.cpp into wtf directory
https://bugs.webkit.org/show_bug.cgi?id=50057
* platform/text/haiku/StringHaiku.cpp: Removed.
2010-12-03 Jessie Berlin <jberlin@apple.com>
Reviewed by Sam Weinig.
Need a WebKit2 Equivalent of WebSecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=50170
* WebCore.exp.in:
Export the symbol for SecurityOrigin::createFromDatabaseIdentifier.
2010-12-03 Andras Becsi <abecsi@inf.u-szeged.hu>
Unreviewed build fix after r73254.
[Qt][V8] Add missing headers to $headerIncludes rather than $implIncludes
because headers are needed by the generated .h files.
No new tests needed.
* bindings/scripts/CodeGeneratorV8.pm:
2010-12-03 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
1336 files in WebCore rebuild when you touch SVGNames
https://bugs.webkit.org/show_bug.cgi?id=42025
Remove global SVGNames.h dependency, as SVGAnimatedPropertyMacros.h included it.
This requires to add the SVGNames.h include to lots of cpp files.
No functional changes, thus no new tests.
* css/CSSCursorImageValue.cpp:
* css/CSSFontFaceSource.cpp:
* dom/Node.cpp:
* loader/cache/CachedFont.cpp:
* rendering/RenderSVGResourceClipper.cpp:
* rendering/RenderSVGResourceFilter.cpp:
* rendering/RenderSVGTransformableContainer.cpp:
* rendering/RenderSVGViewportContainer.cpp:
* rendering/SVGRenderTreeAsText.cpp:
* rendering/SVGResources.cpp:
* rendering/svg/RenderSVGTextPath.cpp:
* rendering/svg/SVGRootInlineBox.cpp:
* svg/SVGAnimateElement.cpp:
* svg/SVGAnimateMotionElement.cpp:
* svg/SVGAnimateTransformElement.cpp:
* svg/SVGDefsElement.cpp:
* svg/SVGFEBlendElement.cpp:
* svg/SVGFEDisplacementMapElement.cpp:
* svg/SVGFEMergeElement.cpp:
* svg/SVGFEMergeNodeElement.cpp:
* svg/SVGFEOffsetElement.cpp:
* svg/SVGFETileElement.cpp:
* svg/SVGFETurbulenceElement.cpp:
* svg/SVGFont.cpp:
* svg/SVGGElement.cpp:
* svg/SVGImageElement.cpp:
* svg/SVGLength.cpp:
* svg/SVGMPathElement.cpp:
* svg/SVGPathElement.cpp:
* svg/SVGPathSegList.cpp:
* svg/SVGStyledTransformableElement.cpp:
* svg/SVGSymbolElement.cpp:
* svg/SVGTextContentElement.cpp:
* svg/SVGTextElement.cpp:
* svg/SVGTextPathElement.cpp:
* svg/SVGUseElement.cpp:
* svg/SVGViewSpec.cpp:
* svg/animation/SMILTimeContainer.cpp:
* svg/properties/SVGAnimatedPropertyMacros.h:
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
2010-12-02 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GStreamer] hasVideo/Audio return false until the pipeline reaches PAUSED
https://bugs.webkit.org/show_bug.cgi?id=50382
Go to PAUSED even if preload is deactivated. In that case don't
process the GStreamer state changes until commitLoad() has been
called. This patch also fixes hasVideo and hasAudio methods,
making them reactive to the playbin2 audio/video tags-changed
signals.
Test: media/controls-without-preload.html
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mediaPlayerPrivateMessageCallback):
(WebCore::mediaPlayerPrivateVideoTagsChangedCallback):
(WebCore::mediaPlayerPrivateAudioTagsChangedCallback):
(WebCore::mediaPlayerPrivateAudioTagsChangeTimeoutCallback):
(WebCore::mediaPlayerPrivateVideoTagsChangeTimeoutCallback):
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::commitLoad):
(WebCore::MediaPlayerPrivateGStreamer::videoTagsChanged):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoTags):
(WebCore::MediaPlayerPrivateGStreamer::audioTagsChanged):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudioTags):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerPrivateGStreamer::hasVideo):
(WebCore::MediaPlayerPrivateGStreamer::hasAudio):
(WebCore::MediaPlayerPrivateGStreamer::loadDelayed):
2010-12-03 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Finish splitting DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for the remaining SVGAnimated* types
https://bugs.webkit.org/show_bug.cgi?id=50440
Continuing the work on bug 42025: Introduce (DECLARE|DEFINE)_ANIMATED_(ANGLE|BOOLEAN|INTEGER|PRESERVEASPECTRATIO|RECT).
The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
No functional changes, thus no new tests.
* svg/SVGAElement.cpp:
* svg/SVGAElement.h:
* svg/SVGAnimatedAngle.h:
* svg/SVGAnimatedBoolean.h:
* svg/SVGAnimatedInteger.h:
* svg/SVGAnimatedPreserveAspectRatio.h:
* svg/SVGAnimatedRect.h:
* svg/SVGAnimationElement.cpp:
* svg/SVGAnimationElement.h:
(WebCore::SVGAnimationElement::calculateDistance):
(WebCore::SVGAnimationElement::animationPath):
* svg/SVGCircleElement.cpp:
* svg/SVGCircleElement.h:
* svg/SVGClipPathElement.cpp:
* svg/SVGClipPathElement.h:
* svg/SVGCursorElement.cpp:
* svg/SVGCursorElement.h:
* svg/SVGDefsElement.cpp:
* svg/SVGDefsElement.h:
* svg/SVGEllipseElement.cpp:
* svg/SVGEllipseElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEImageElement.cpp:
* svg/SVGFEImageElement.h:
* svg/SVGFETurbulenceElement.cpp:
* svg/SVGFETurbulenceElement.h:
* svg/SVGFilterElement.cpp:
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::firstMissingGlyphElement):
(WebCore::SVGFontElement::ensureGlyphCache):
* svg/SVGFontElement.h:
* svg/SVGForeignObjectElement.cpp:
* svg/SVGForeignObjectElement.h:
* svg/SVGGElement.cpp:
* svg/SVGGElement.h:
(WebCore::SVGGElement::isShadowTreeContainerElement):
(WebCore::SVGGElement::isValid):
* svg/SVGGradientElement.cpp:
* svg/SVGGradientElement.h:
* svg/SVGImageElement.cpp:
* svg/SVGImageElement.h:
* svg/SVGLineElement.cpp:
* svg/SVGLineElement.h:
* svg/SVGLinearGradientElement.h:
* svg/SVGMPathElement.cpp:
* svg/SVGMPathElement.h:
* svg/SVGMarkerElement.cpp:
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.cpp:
* svg/SVGMaskElement.h:
* svg/SVGPathElement.cpp:
* svg/SVGPathElement.h:
* svg/SVGPatternElement.cpp:
* svg/SVGPatternElement.h:
* svg/SVGPolyElement.cpp:
* svg/SVGPolyElement.h:
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.cpp:
* svg/SVGRectElement.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::contentScriptType):
(WebCore::SVGSVGElement::contentStyleType):
(WebCore::SVGSVGElement::parseMappedAttribute):
* svg/SVGSVGElement.h:
* svg/SVGScriptElement.cpp:
* svg/SVGScriptElement.h:
* svg/SVGSwitchElement.cpp:
* svg/SVGSwitchElement.h:
(WebCore::SVGSwitchElement::isValid):
* svg/SVGSymbolElement.cpp:
* svg/SVGSymbolElement.h:
(WebCore::SVGSymbolElement::rendererIsNeeded):
* svg/SVGTextContentElement.cpp:
* svg/SVGTextContentElement.h:
* svg/SVGUseElement.cpp:
* svg/SVGUseElement.h:
* svg/SVGViewElement.cpp:
* svg/SVGViewElement.h:
(WebCore::SVGViewElement::viewTarget):
(WebCore::SVGViewElement::rendererIsNeeded):
* svg/SVGViewSpec.cpp:
* svg/SVGViewSpec.h:
(WebCore::SVGViewSpec::transform):
(WebCore::SVGViewSpec::viewTargetString):
(WebCore::SVGViewSpec::contextElement):
* svg/properties/SVGAnimatedPropertyMacros.h:
2010-12-03 Noel Gordon <noel.gordon@gmail.com>
Reviewed by Darin Fisher.
[chromium] PNG encoder leaks memory on png_write_row errors.
https://bugs.webkit.org/show_bug.cgi?id=50439
Move the creation of needed C++ objects before the setjmp() point so
those objects have their destructors called if libpng errors invoke
the setjmp() return path.
Other minor cleanup: use the skia bitmap locker class, and remove the
PNGDestroyer class - instead directly call png_destroy_write_struct()
at each of the encodeImpl() return points.
No change in behaviour, so no new tests.
* platform/image-encoders/skia/PNGImageEncoder.cpp:
(WebCore::encodeImpl):
(WebCore::PNGImageEncoder::encode):
2010-12-02 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
Theme not updated when MediaPlayer m_private engine changes
https://bugs.webkit.org/show_bug.cgi?id=50228
Trigger a new rendering of the media element when the private
media-player backend is updated.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::load):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerEngineUpdated):
2010-12-03 Yonathan Randolph <yonathan@gmail.com>
Reviewed by Alexey Proskuryakov.
XPath lexer misinterprets expression starting with "div".
https://bugs.webkit.org/show_bug.cgi?id=50366
* xml/XPathParser.cpp:
* xml/XPathParser.h:
(WebCore::XPath::Parser::isOperatorContext): removed (renamed)
(WebCore::XPath::Parser::isBinaryOperatorContext): added
2010-12-02 Rob Buis <rwlbuis@gmail.com>
Reviewed by Alexey Proskuryakov.
CSS 2.1 failure: at-import-*
https://bugs.webkit.org/show_bug.cgi?id=47153
Fix at-import-010.htm by only setting m_allowImportRules
to false when creating valid style or page rules.
Test: css2.1/t040105-import-10-b.html
* css/CSSParser.cpp:
(WebCore::CSSParser::createStyleRule):
2010-12-02 Aaron Boodman <aa@chromium.org>
Reviewed by David Hyatt.
Reduce the number of cases where we end up with a stale value for
minimumPreferredLogicalWidth(). This isn't a complete fix, but fixes a
large number of cases.
RenderObject::minimumPreferredLogicalWidth() sometimes reports wrong value.
https://bugs.webkit.org/show_bug.cgi?id=50119
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
2010-12-02 Gregg Tavares <gman@google.com>
Reviewed by David Levin.
Need to initialize destination variables before calling GL
https://bugs.webkit.org/show_bug.cgi?id=50048
No new tests because no change in functionality.
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::initializeRenderbuffers):
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::cacheActiveAttribLocations):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getAttachedShaders):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getBooleanParameter):
(WebCore::WebGLRenderingContext::getFloatParameter):
(WebCore::WebGLRenderingContext::getLongParameter):
(WebCore::WebGLRenderingContext::getUnsignedLongParameter):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::loadShader):
(WebCore::LayerChromium::createShaderProgram):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initializeSharedObjects):
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::reset):
* platform/graphics/gpu/Shader.cpp:
(WebCore::Shader::loadProgram):
2010-12-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Andreas Kling.
[Qt] Enable Web Timing for Qt
https://bugs.webkit.org/show_bug.cgi?id=42433
* features.pri: Enable Web Timing for trunk (but not yet for
production)
2010-12-02 Andy Estes <aestes@apple.com>
Rubber-stamped by Mark Rowe.
Update bindings test results with new GObject results.
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
(WebKit::kit):
* bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
(WebKit::kit):
* bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
(WebKit::kit):
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(WebKit::kit):
(webkit_dom_test_obj_obj_method):
(webkit_dom_test_obj_obj_method_with_args):
(webkit_dom_test_obj_method_that_requires_all_args):
(webkit_dom_test_obj_method_that_requires_all_args_and_throws):
(webkit_dom_test_obj_with_script_state_obj):
(webkit_dom_test_obj_with_script_state_obj_exception):
(webkit_dom_test_obj_get_read_only_test_obj_attr):
(webkit_dom_test_obj_get_test_obj_attr):
(webkit_dom_test_obj_get_xml_obj_attr):
* bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
2010-12-02 Simon Fraser <simon.fraser@apple.com>
Revert r73217 and r73227 because of continued bustage.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::nativeLayer):
* platform/graphics/ca/PlatformCAAnimation.h: Removed.
* platform/graphics/ca/PlatformCALayer.h: Removed.
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Removed.
* platform/graphics/ca/mac/PlatformCALayerMac.mm: Removed.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::nativeLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/mac/GraphicsLayerMac.h: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
(WebCore::GraphicsLayerMac::hasContentsLayer):
(WebCore::GraphicsLayerMac::primaryLayer):
(WebCore::GraphicsLayerMac::isReplicatedRootClone):
(WebCore::GraphicsLayerMac::primaryLayerClones):
(WebCore::GraphicsLayerMac::animationIsRunning):
(WebCore::GraphicsLayerMac::contentsLayer):
(WebCore::GraphicsLayerMac::ReplicaState::ReplicaState):
(WebCore::GraphicsLayerMac::ReplicaState::push):
(WebCore::GraphicsLayerMac::ReplicaState::setBranchType):
(WebCore::GraphicsLayerMac::ReplicaState::pop):
(WebCore::GraphicsLayerMac::ReplicaState::depth):
(WebCore::GraphicsLayerMac::ReplicaState::replicaDepth):
(WebCore::GraphicsLayerMac::hasCloneLayers):
(WebCore::GraphicsLayerMac::LayerPropertyAnimation::LayerPropertyAnimation):
(WebCore::GraphicsLayerMac::AnimationProcessingAction::AnimationProcessingAction):
* platform/graphics/mac/GraphicsLayerMac.mm: Renamed from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
(WebCore::currentTimeToMediaTime):
(WebCore::mediaTimeToCurrentTime):
(-[WebAnimationDelegate animationDidStart:]):
(-[WebAnimationDelegate WebCore::]):
(-[WebAnimationDelegate setLayer:WebCore::]):
(WebCore::copyTransform):
(WebCore::getTransformFunctionValue):
(WebCore::getValueFunctionNameForTransformOperation):
(WebCore::propertyIdToString):
(WebCore::animationIdentifier):
(WebCore::getCAMediaTimingFunction):
(WebCore::setLayerBorderColor):
(WebCore::clearBorderColor):
(WebCore::setLayerBackgroundColor):
(WebCore::clearLayerBackgroundColor):
(WebCore::safeSetSublayers):
(WebCore::caValueFunctionSupported):
(WebCore::forceSoftwareAnimation):
(WebCore::nullActionsDictionary):
(WebCore::animationHasStepsTimingFunction):
(WebCore::GraphicsLayer::create):
(WebCore::GraphicsLayerMac::GraphicsLayerMac):
(WebCore::GraphicsLayerMac::~GraphicsLayerMac):
(WebCore::GraphicsLayerMac::setName):
(WebCore::GraphicsLayerMac::nativeLayer):
(WebCore::GraphicsLayerMac::setChildren):
(WebCore::GraphicsLayerMac::addChild):
(WebCore::GraphicsLayerMac::addChildAtIndex):
(WebCore::GraphicsLayerMac::addChildBelow):
(WebCore::GraphicsLayerMac::addChildAbove):
(WebCore::GraphicsLayerMac::replaceChild):
(WebCore::GraphicsLayerMac::removeFromParent):
(WebCore::GraphicsLayerMac::setMaskLayer):
(WebCore::GraphicsLayerMac::setReplicatedLayer):
(WebCore::GraphicsLayerMac::setReplicatedByLayer):
(WebCore::GraphicsLayerMac::setPosition):
(WebCore::GraphicsLayerMac::setAnchorPoint):
(WebCore::GraphicsLayerMac::setSize):
(WebCore::GraphicsLayerMac::setTransform):
(WebCore::GraphicsLayerMac::setChildrenTransform):
(WebCore::GraphicsLayerMac::moveOrCopyLayerAnimation):
(WebCore::GraphicsLayerMac::moveOrCopyAnimationsForProperty):
(WebCore::GraphicsLayerMac::setPreserves3D):
(WebCore::GraphicsLayerMac::setMasksToBounds):
(WebCore::GraphicsLayerMac::setDrawsContent):
(WebCore::GraphicsLayerMac::setBackgroundColor):
(WebCore::GraphicsLayerMac::clearBackgroundColor):
(WebCore::GraphicsLayerMac::setContentsOpaque):
(WebCore::GraphicsLayerMac::setBackfaceVisibility):
(WebCore::GraphicsLayerMac::setOpacity):
(WebCore::GraphicsLayerMac::setNeedsDisplay):
(WebCore::GraphicsLayerMac::setNeedsDisplayInRect):
(WebCore::GraphicsLayerMac::setContentsNeedsDisplay):
(WebCore::GraphicsLayerMac::setContentsRect):
(WebCore::GraphicsLayerMac::addAnimation):
(WebCore::GraphicsLayerMac::pauseAnimation):
(WebCore::GraphicsLayerMac::removeAnimation):
(WebCore::GraphicsLayerMac::animationDidStart):
(WebCore::GraphicsLayerMac::setContentsToImage):
(WebCore::GraphicsLayerMac::setContentsToMedia):
(WebCore::GraphicsLayerMac::didDisplay):
(WebCore::GraphicsLayerMac::syncCompositingState):
(WebCore::GraphicsLayerMac::syncCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerMac::recursiveCommitChanges):
(WebCore::GraphicsLayerMac::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerMac::commitLayerChangesAfterSublayers):
(WebCore::GraphicsLayerMac::updateLayerNames):
(WebCore::GraphicsLayerMac::updateSublayerList):
(WebCore::GraphicsLayerMac::updateLayerPosition):
(WebCore::GraphicsLayerMac::updateLayerSize):
(WebCore::GraphicsLayerMac::updateAnchorPoint):
(WebCore::GraphicsLayerMac::updateTransform):
(WebCore::GraphicsLayerMac::updateChildrenTransform):
(WebCore::GraphicsLayerMac::updateMasksToBounds):
(WebCore::GraphicsLayerMac::updateContentsOpaque):
(WebCore::GraphicsLayerMac::updateBackfaceVisibility):
(WebCore::GraphicsLayerMac::updateStructuralLayer):
(WebCore::GraphicsLayerMac::ensureStructuralLayer):
(WebCore::GraphicsLayerMac::structuralLayerPurpose):
(WebCore::GraphicsLayerMac::updateLayerDrawsContent):
(WebCore::GraphicsLayerMac::updateLayerBackgroundColor):
(WebCore::GraphicsLayerMac::updateContentsImage):
(WebCore::GraphicsLayerMac::updateContentsMediaLayer):
(WebCore::GraphicsLayerMac::updateContentsCanvasLayer):
(WebCore::GraphicsLayerMac::updateContentsRect):
(WebCore::GraphicsLayerMac::updateMaskLayer):
(WebCore::GraphicsLayerMac::updateReplicatedLayers):
(WebCore::GraphicsLayerMac::ReplicaState::cloneID):
(WebCore::GraphicsLayerMac::replicatedLayerRoot):
(WebCore::GraphicsLayerMac::updateLayerAnimations):
(WebCore::GraphicsLayerMac::setCAAnimationOnLayer):
(WebCore::bug7311367Workaround):
(WebCore::GraphicsLayerMac::removeCAAnimationFromLayer):
(WebCore::copyAnimationProperties):
(WebCore::GraphicsLayerMac::pauseCAAnimationOnLayer):
(WebCore::GraphicsLayerMac::setContentsToCanvas):
(WebCore::GraphicsLayerMac::repaintLayerDirtyRects):
(WebCore::GraphicsLayerMac::updateContentsNeedsDisplay):
(WebCore::GraphicsLayerMac::createAnimationFromKeyframes):
(WebCore::GraphicsLayerMac::createTransformAnimationsFromKeyframes):
(WebCore::GraphicsLayerMac::createBasicAnimation):
(WebCore::GraphicsLayerMac::createKeyframeAnimation):
(WebCore::GraphicsLayerMac::setupAnimation):
(WebCore::GraphicsLayerMac::timingFunctionForAnimationValue):
(WebCore::GraphicsLayerMac::setAnimationEndpoints):
(WebCore::GraphicsLayerMac::setAnimationKeyframes):
(WebCore::GraphicsLayerMac::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerMac::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerMac::suspendAnimations):
(WebCore::GraphicsLayerMac::resumeAnimations):
(WebCore::GraphicsLayerMac::hostLayerForSublayers):
(WebCore::GraphicsLayerMac::layerForSuperlayer):
(WebCore::GraphicsLayerMac::animatedLayer):
(WebCore::GraphicsLayerMac::animatedLayerClones):
(WebCore::GraphicsLayerMac::platformLayer):
(WebCore::GraphicsLayerMac::setDebugBackgroundColor):
(WebCore::GraphicsLayerMac::setDebugBorder):
(WebCore::GraphicsLayerMac::constrainedSize):
(WebCore::GraphicsLayerMac::requiresTiledLayer):
(WebCore::GraphicsLayerMac::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerMac::defaultContentsOrientation):
(WebCore::GraphicsLayerMac::updateContentsTransform):
(WebCore::GraphicsLayerMac::setupContentsLayer):
(WebCore::GraphicsLayerMac::findOrMakeClone):
(WebCore::GraphicsLayerMac::ensureCloneLayers):
(WebCore::GraphicsLayerMac::removeCloneLayers):
(WebCore::GraphicsLayerMac::positionForCloneRootLayer):
(WebCore::GraphicsLayerMac::propagateLayerChangeToReplicas):
(WebCore::GraphicsLayerMac::fetchCloneLayers):
(WebCore::GraphicsLayerMac::cloneLayer):
(WebCore::GraphicsLayerMac::setOpacityInternal):
(WebCore::GraphicsLayerMac::updateOpacityOnLayer):
(WebCore::GraphicsLayerMac::noteSublayersChanged):
(WebCore::GraphicsLayerMac::noteLayerPropertyChanged):
* platform/graphics/mac/WebLayer.h:
* platform/graphics/mac/WebLayer.mm:
(-[WebLayer initWithLayer:]):
(-[WebLayer setNeedsDisplay]):
(-[WebLayer setNeedsDisplayInRect:]):
(-[WebLayer display]):
(-[WebLayer drawInContext:]):
(-[WebLayer setLayerOwner:]):
(-[WebLayer layerOwner]):
* platform/graphics/mac/WebTiledLayer.h:
* platform/graphics/mac/WebTiledLayer.mm:
(-[WebTiledLayer initWithLayer:]):
(-[WebTiledLayer setNeedsDisplay]):
(-[WebTiledLayer setNeedsDisplayInRect:]):
(-[WebTiledLayer display]):
(-[WebTiledLayer drawInContext:]):
(-[WebTiledLayer setLayerOwner:]):
(-[WebTiledLayer layerOwner]):
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::flushChanges):
(WebCore::GraphicsLayerQt::nativeLayer):
* platform/graphics/qt/GraphicsLayerQt.h:
* platform/graphics/win/GraphicsLayerCACF.cpp:
(WebCore::GraphicsLayerCACF::nativeLayer):
* platform/graphics/win/GraphicsLayerCACF.h:
2010-12-02 Noel Gordon <noel.gordon@gmail.com>
Reviewed by David Levin.
[chromium] Remove dead code from PNG encoder
https://bugs.webkit.org/show_bug.cgi?id=50377
Also webkit style the PNG encoder files.
No change in behaviour, so no new tests.
* platform/image-encoders/skia/PNGImageEncoder.cpp:
(WebCore::encodeImpl):
(WebCore::PNGImageEncoder::encode):
* platform/image-encoders/skia/PNGImageEncoder.h:
2010-12-02 Yuta Kitamura <yutak@chromium.org>
Reviewed by Alexey Proskuryakov.
An attempt to fix Chromium's clang build.
Implement (non-EventListener) marquee IDL attributes from HTML5.
https://bugs.webkit.org/show_bug.cgi?id=49786
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::initialMarqueeSpeed):
2010-12-02 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Fix heap snapshots loading. Loading is now
conducted by the Profiles panel which prevents accidental
simultaneous attempts to load the same profile several times in
parallel.
https://bugs.webkit.org/show_bug.cgi?id=50427
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotView.prototype._loadProfile):
(WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
(WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
(WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
2010-12-02 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Fix Leopard build broken by http://trac.webkit.org/changeset/73217
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::getTransformFunctionValue):
(WebCore::GraphicsLayerCA::updateContentsTransform):
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(PlatformCAAnimation::valueFunction):
(PlatformCAAnimation::setValueFunction):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::anchorPoint):
(PlatformCALayer::setAnchorPoint):
(PlatformCALayer::contentsTransform):
(PlatformCALayer::setContentsTransform):
(PlatformCALayer::isGeometryFlipped):
(PlatformCALayer::setGeometryFlipped):
(PlatformCALayer::setMinificationFilter):
(PlatformCALayer::setMagnificationFilter):
2010-12-02 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
CSS support for the text-emphasis properties
Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
https://bugs.webkit.org/show_bug.cgi?id=48539
Test: fast/css/parsing-text-emphasis.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added text-emphasis-color,
text-emphasis-position and text-emphasis-style. Left the text-emphasis shorthand unsupported.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Parse the properties.
(WebCore::CSSParser::parseTextEmphasisStyle): Added.
* css/CSSParser.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added TextEmphasisPosition, TextEmphasisFill
and TextEmphasisMark mappings.
(WebCore::CSSPrimitiveValue::operator TextEmphasisPosition): Added.
(WebCore::CSSPrimitiveValue::operator TextEmphasisFill): Added.
(WebCore::CSSPrimitiveValue::operator TextEmphasisMark): Added.
* css/CSSPropertyLonghand.cpp:
(WebCore::initShorthandMap): Added the text-emphasis shorthand.
* css/CSSPropertyNames.in: Added -webkit-text-emphasis, -webkit-text-emphasis-color,
-webkit-text-emphasis-position, and -webkit-text-emphasis-style.
* css/CSSStyleSelector.cpp:
(WebCore::isValidVisitedLinkProperty): Added text-emphasis-color.
(WebCore::CSSStyleSelector::applyProperty): Handle the properties.
* css/CSSValueKeywords.in: Added 'over' and 'under' for text-emphasis-position. Added 'dot',
'double-circle', 'triangle', 'sesame', 'filled' and 'open' for text-emphasis-style.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::colorIncludingFallback): Handle text-emphasis-color.
(WebCore::RenderStyle::textEmphasisMark): Added. Maps the fake 'auto' value to 'dot' or
'sesame' based on writing direction.
* rendering/style/RenderStyle.h: Added accessors.
(WebCore::InheritedFlags::textEmphasisFill):
(WebCore::InheritedFlags::textEmphasisCustomMark):
(WebCore::InheritedFlags::textEmphasisPosition):
(WebCore::InheritedFlags::setTextEmphasisColor):
(WebCore::InheritedFlags::setTextEmphasisFill):
(WebCore::InheritedFlags::setTextEmphasisMark):
(WebCore::InheritedFlags::setTextEmphasisCustomMark):
(WebCore::InheritedFlags::setTextEmphasisPosition):
(WebCore::InheritedFlags::initialTextEmphasisColor):
(WebCore::InheritedFlags::initialTextEmphasisFill):
(WebCore::InheritedFlags::initialTextEmphasisMark):
(WebCore::InheritedFlags::initialTextEmphasisCustomMark):
(WebCore::InheritedFlags::initialTextEmphasisPosition):
(WebCore::InheritedFlags::textEmphasisColor):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
2010-12-02 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
https://bugs.webkit.org/show_bug.cgi?id=49388
Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially
identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls
with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA
platform neutral as long as implementations of those two classes are available.
Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got
rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer()
to avoid confusion since both names were used to refer to the same thing.
This patch is only for Mac. Windows implementation has not changed.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/ca: Added.
* platform/graphics/ca/GraphicsLayerCA.cpp: Added.
* platform/graphics/ca/GraphicsLayerCA.h: Added.
* platform/graphics/ca/PlatformCAAnimation.h: Added.
* platform/graphics/ca/PlatformCALayer.h: Added.
* platform/graphics/ca/mac: Added.
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Added.
* platform/graphics/ca/mac/PlatformCALayerMac.mm: Added.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/mac/GraphicsLayerMac.h: Removed.
* platform/graphics/mac/GraphicsLayerMac.mm: Removed.
* platform/graphics/mac/WebLayer.h:
* platform/graphics/mac/WebLayer.mm:
* platform/graphics/mac/WebTiledLayer.h:
* platform/graphics/mac/WebTiledLayer.mm:
* platform/graphics/qt/GraphicsLayerQt.cpp:
* platform/graphics/qt/GraphicsLayerQt.h:
* platform/graphics/win/GraphicsLayerCACF.cpp:
* platform/graphics/win/GraphicsLayerCACF.h:
2010-12-02 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Darin Adler.
Update ResourceLoaderSet Enumeration
https://bugs.webkit.org/show_bug.cgi?id=50405
Use size_t when working with Vectors and when comparing between size_t types.
* loader/DocumentLoader.cpp:
(WebCore::cancelAll):
(WebCore::setAllDefersLoading):
2010-12-02 Jian Li <jianli@chromium.org>
Reviewed by Kenneth Russell.
Integer calculation issues in DataView constructor
https://bugs.webkit.org/show_bug.cgi?id=50354
Test: fast/canvas/webgl/data-view-crash.html
* html/canvas/DataView.cpp:
(WebCore::DataView::create):
2010-12-02 Patrick Gansterer <paroga@webkit.org>
Reviewed by Darin Adler.
Add AtomicString::fromUTF8
https://bugs.webkit.org/show_bug.cgi?id=45594
Use AtomicString::fromUTF8 directly in the libxml2 parser.
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::toAtomicString):
2010-12-02 Andy Estes <aestes@apple.com>
Fix the Qt Linux Release minimal build.
* html/HTMLMarqueeElement.cpp: Include ExceptionCode.h
2010-12-02 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Darin Adler.
Update ResourceLoaderSet Enumeration
https://bugs.webkit.org/show_bug.cgi?id=50405
* loader/DocumentLoader.cpp:
(WebCore::cancelAll): instead of copying the HashSet, use copyToVector.
(WebCore::setAllDefersLoading): instead of copying the HashSet, use copyToVector.
2010-12-02 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
Implement (non-EventListener) marquee IDL attributes from HTML5.
https://bugs.webkit.org/show_bug.cgi?id=49786
Test: fast/html/marquee-element.html
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::scrollAmount): If the content attribute
can be converted to a signed integer and is >= 0, return it.
Otherwise, return the default scrollAmount value.
(WebCore::HTMLMarqueeElement::setScrollAmount): Update the content
attribute if it is >= 0. Otherwise, raise INDEX_SIZE_ERR.
(WebCore::HTMLMarqueeElement::scrollDelay): Same as scrollAmount.
(WebCore::HTMLMarqueeElement::setScrollDelay): Same as setScrollAmount.
(WebCore::HTMLMarqueeElement::loop): If the content attribute can be
converted to a signed integer and is greater than 0 or equal to -1,
return it. Otherwise, return the default loop value.
(WebCore::HTMLMarqueeElement::setLoop): Update the content attribute if
it is greater than 0 or equal to -1. Otherwise, raise INDEX_SIZE_ERR.
* html/HTMLMarqueeElement.h:
* html/HTMLMarqueeElement.idl: Update the IDL to match what is in HTML5.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::initialMarqueeSpeed):
2010-12-02 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
[OpenVG] Remove "current path" of GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=50294
* platform/graphics/GraphicsContext.h:
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::clipPath):
* platform/graphics/openvg/PainterOpenVG.cpp:
(WebCore::PainterOpenVG::PainterOpenVG):
(WebCore::PainterOpenVG::~PainterOpenVG):
(WebCore::PainterOpenVG::drawPath):
* platform/graphics/openvg/PainterOpenVG.h:
2010-12-02 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
[WINCE] Remove "current path" of GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=50284
* platform/graphics/GraphicsContext.h:
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
2010-12-02 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
Set the right gesture status for URL redirections.
https://bugs.webkit.org/show_bug.cgi?id=47817
Tests: fast/frames/location-redirect-user-gesture.html
fast/frames/meta-refresh-user-gesture.html
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledNavigation::clearUserGesture):
(WebCore::ScheduledRedirect::ScheduledRedirect):
2010-12-02 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
AudioContext needs createBuffer() method from ArrayBuffer
https://bugs.webkit.org/show_bug.cgi?id=50343
No new tests since audio API is not yet implemented.
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::createBuffer):
* webaudio/AudioContext.h:
* webaudio/AudioContext.idl:
2010-12-02 Noel Gordon <noel.gordon@gmail.com>
Reviewed by David Levin.
[chromium] Add canvas.toDataURL("image/jpeg", quality) support
https://bugs.webkit.org/show_bug.cgi?id=49365
Adds a libjpeg-based image encoder for Skia bitmaps. Default encoding quality
is 92 to match Mozilla, also Safari, though the actual value used by Safari is
undocumented, and it appears to pre-blur images prior to compression.
The preMultipliedBGRAtoRGB() routine restores the un-premultiplied RGB colors
where there is non-zero alpha. Again, this matches Firefox and Safari, but no
browser conforms to the HTML5 canvas standard here, I believe, considering the
result of canvas/philip/tests/toDataURL.jpeg.alpha.html; that test ignores the
alpha channel when extracting an "image/jpeg".toDataURL(). The correct answer
needs more investigation, bug http://webkit.org/b/40147.
Canvas toDataURL is covered by existing tests canvas/philip/tests/toDataURL.*,
and fast/canvas/*toDataURL* tests.
* WebCore.gypi:
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::toDataURLCallback): don't set encoding quality
here, just pass the toDataURL parameters through to the canvas layer.
* platform/chromium/MIMETypeRegistryChromium.cpp:
(WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): implement
the supported mimeTypes for encoding in-place.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::toDataURL): add jpeg encoding and quality support.
* platform/image-encoders/skia/JPEGImageEncoder.cpp: Added.
(WebCore::prepareOutput):
(WebCore::writeOutput):
(WebCore::finishOutput):
(WebCore::handleError):
(WebCore::preMultipliedBGRAtoRGB): FIXME: bug 40147.
(WebCore::JPEGImageEncoder::encode):
* platform/image-encoders/skia/JPEGImageEncoder.h: Added.
2010-12-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73152.
http://trac.webkit.org/changeset/73152
https://bugs.webkit.org/show_bug.cgi?id=50401
the patch has broken chromium win layout tests (Requested by
loislo on #webkit).
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/front-end/Callback.js:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode):
* inspector/front-end/inspector.js:
(WebInspector.loaded.WebInspector.socket.onmessage):
(WebInspector.dispatch):
(WebInspector_syncDispatch):
(WebInspector.reportProtocolError):
2010-12-02 W. James MacLean <wjmaclean@chromium.org>
Reviewed by James Robinson.
Scaled Resized images are blurred when sent to Skia
https://bugs.webkit.org/show_bug.cgi?id=42370
This patch modifies ImageSkia.cpp to fix the calculation of resampled
bitmap sizes so as to include the transform matrix of the canvas.
Includes new tests to catch a scrolling regression and a clipping regression.
Tests: svg/custom/image-rescale-clip.html
svg/custom/image-rescale-scroll.html
svg/custom/image-rescale.svg
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode):
(WebCore::drawResampledBitmap):
2010-12-02 Erik Arvidsson <arv@chromium.org>
Reviewed by Darin Adler.
Missing DOM property for incremental input attribute
https://bugs.webkit.org/show_bug.cgi?id=50335
Test: fast/forms/incremental-dom-property.html
* html/HTMLInputElement.idl: Added attribute
2010-12-02 John Knottenbelt <jknotten@chromium.org>
Reviewed by Steve Block.
Move requestGeolocationPermissionForFrame to GeolocationClient
https://bugs.webkit.org/show_bug.cgi?id=50061
This change facilitates client-based geolocation implementation by
bringing together permission control into the geolocation client
interface.
* page/Chrome.h:
* page/ChromeClient.h:
* page/Geolocation.cpp:
(WebCore::Geolocation::disconnectFrame):
(WebCore::Geolocation::requestPermission):
* page/GeolocationClient.h:
* page/GeolocationController.cpp:
(WebCore::GeolocationController::requestPermission):
(WebCore::GeolocationController::cancelPermissionRequest):
* page/GeolocationController.h:
* platform/mock/GeolocationClientMock.cpp:
(WebCore::GeolocationClientMock::GeolocationClientMock):
(WebCore::GeolocationClientMock::setPermission):
(WebCore::GeolocationClientMock::requestPermission):
(WebCore::GeolocationClientMock::cancelPermissionRequest):
(WebCore::GeolocationClientMock::asyncUpdatePermission):
(WebCore::GeolocationClientMock::permissionTimerFired):
(WebCore::GeolocationClientMock::reset):
(WebCore::GeolocationClientMock::stopUpdating):
(WebCore::GeolocationClientMock::asyncUpdateController):
(WebCore::GeolocationClientMock::controllerTimerFired):
* platform/mock/GeolocationClientMock.h:
2010-12-01 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Inspector protocol cleanup task.
The patch has just small renames and adjustments for the protocol things.
'handler' keyword in idl file was replaced with 'domain'.
'domain' property was assigned for the each backend to frontend messages.
At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.
https://bugs.webkit.org/show_bug.cgi?id=50337
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/front-end/inspector.js:
(WebInspector_syncDispatch):
2010-12-01 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
Re-implementing HAR export functionality that used to be in Resources
tab in Network tab.
https://bugs.webkit.org/show_bug.cgi?id=45663
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._createTable):
(WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
(WebInspector.NetworkPanel.prototype._contextMenu):
(WebInspector.NetworkPanel.prototype._exportAll):
(WebInspector.NetworkPanel.prototype._exportResource):
(WebInspector.NetworkDataGridNode.prototype.refreshResource):
* inspector/front-end/networkPanel.css:
(.data-grid table.data tr.revealed.network-item):
(.data-grid.filter-other table.data tr.revealed.network-category-other):
2010-12-02 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
Reject named colors, accept only #rrggbb in <input type=color />
https://bugs.webkit.org/show_bug.cgi?id=50308
* html/ColorInputType.cpp: Modified to accept only simple colors like #xxxxxx.
(WebCore::isValidColorString):
2010-12-02 Vincent Scheib <scheib@chromium.org>
Reviewed by Darin Fisher.
[chromium] histograms api updated in WebKitClient and added to ChromiumBridge
https://bugs.webkit.org/show_bug.cgi?id=50285
Test by loading "about:histograms" after navigating to accelerated pages.
* platform/chromium/ChromiumBridge.h: api update.
2010-12-02 Andras Becsi <abecsi@webkit.org>
Unreviewed build fix.
[Qt][V8] Fix linking of generated sources.
No new tests needed.
* WebCore.pro: add missing V8ImageDataCustom.cpp.
2010-12-02 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Adam Roben.
Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedString/SVGAnimatedEnumeration
https://bugs.webkit.org/show_bug.cgi?id=50383
Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(STRING|ENUMERATION) / DEFINE_ANIMATED_(STRING|ENUMERATION).
The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
No functional changes, thus no new tests.
* svg/SVGAElement.cpp:
* svg/SVGAElement.h:
(WebCore::SVGAElement::isValid):
(WebCore::SVGAElement::target):
* svg/SVGAltGlyphElement.cpp:
* svg/SVGAltGlyphElement.h:
* svg/SVGAnimatedEnumeration.h:
* svg/SVGAnimatedString.h:
* svg/SVGClipPathElement.cpp:
* svg/SVGClipPathElement.h:
* svg/SVGComponentTransferFunctionElement.cpp:
* svg/SVGComponentTransferFunctionElement.h:
* svg/SVGCursorElement.cpp:
* svg/SVGCursorElement.h:
* svg/SVGFEBlendElement.cpp:
* svg/SVGFEBlendElement.h:
* svg/SVGFEColorMatrixElement.cpp:
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFEComponentTransferElement.cpp:
* svg/SVGFEComponentTransferElement.h:
* svg/SVGFECompositeElement.cpp:
* svg/SVGFECompositeElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDiffuseLightingElement.cpp:
* svg/SVGFEDiffuseLightingElement.h:
* svg/SVGFEDisplacementMapElement.cpp:
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEImageElement.cpp:
* svg/SVGFEImageElement.h:
* svg/SVGFELightElement.cpp:
* svg/SVGFEMergeNodeElement.cpp:
* svg/SVGFEMergeNodeElement.h:
* svg/SVGFEMorphologyElement.cpp:
* svg/SVGFEMorphologyElement.h:
* svg/SVGFEOffsetElement.cpp:
* svg/SVGFEOffsetElement.h:
* svg/SVGFESpecularLightingElement.cpp:
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFETileElement.cpp:
* svg/SVGFETileElement.h:
* svg/SVGFETurbulenceElement.cpp:
* svg/SVGFETurbulenceElement.h:
* svg/SVGFilterElement.cpp:
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/SVGForeignObjectElement.cpp:
* svg/SVGForeignObjectElement.h:
* svg/SVGGradientElement.cpp:
* svg/SVGGradientElement.h:
* svg/SVGImageElement.cpp:
* svg/SVGImageElement.h:
* svg/SVGMPathElement.cpp:
* svg/SVGMPathElement.h:
* svg/SVGMarkerElement.cpp:
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.cpp:
* svg/SVGMaskElement.h:
* svg/SVGPatternElement.cpp:
* svg/SVGPatternElement.h:
* svg/SVGScriptElement.cpp:
* svg/SVGScriptElement.h:
* svg/SVGStyledElement.cpp:
* svg/SVGStyledElement.h:
(WebCore::SVGStyledElement::hasRelativeLengths):
(WebCore::SVGStyledElement::supportsMarkers):
(WebCore::SVGStyledElement::style):
(WebCore::SVGStyledElement::updateRelativeLengthsInformation):
(WebCore::SVGStyledElement::selfHasRelativeLengths):
(WebCore::SVGStyledElement::isStyled):
* svg/SVGTRefElement.cpp:
* svg/SVGTRefElement.h:
* svg/SVGTextContentElement.cpp:
* svg/SVGTextContentElement.h:
* svg/SVGTextPathElement.cpp:
* svg/SVGTextPathElement.h:
* svg/SVGUseElement.cpp:
* svg/SVGUseElement.h:
2010-12-02 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
[WX] Remove "current path" of GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=50286
* platform/graphics/GraphicsContext.h:
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
2010-10-26 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Text input controls do not react properly to CSS styling
https://bugs.webkit.org/show_bug.cgi?id=40855
Improve text input control rendering. Instead of using the GTK+ border
attributes of the control modify the padding, they modify the border.
Make this same choice for search inputs and text area inputs.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::setTextInputBorders): Added this helper which sets text input control
borders based on GTK+ theme settings.
(WebCore::RenderThemeGtk::adjustTextFieldStyle): Use the setTextInputBorders helper.
(WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
(WebCore::RenderThemeGtk::adjustSearchFieldStyle): Ditto.
* platform/gtk/RenderThemeGtk.h:
2010-12-02 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] GraphicsContext::strokeRect() taints the context's lineWidth
https://bugs.webkit.org/show_bug.cgi?id=50269
Test: fast/canvas/canvas-lineWidth-intact-after-strokeRect.html
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::strokeRect): Restore the context's
original stroke thickness after painting.
2010-12-02 Renata Hodovan <reni@webkit.org>
Reviewed by Andreas Kling.
[Qt] GraphicsContext::clip(path) should clip using winding fill
https://bugs.webkit.org/show_bug.cgi?id=49912
GraphicsContext::clip(path) now uses winding fill and this function is called by
GraphicsContext::canvasClip(path).
No new test is needed.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
2010-12-01 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Remove obsolete CSS backend API from InspectorDOMAgent
https://bugs.webkit.org/show_bug.cgi?id=50318
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.order:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/Inspector.idl:
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCSSStore.cpp: Removed.
* inspector/InspectorCSSStore.h: Removed.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::didCommitLoad):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::unbind):
* inspector/InspectorDOMAgent.h:
(WebCore::InspectorDOMAgent::create):
2010-12-02 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed trivial buildfix after r73117.
* page/FrameView.cpp:
(WebCore::FrameView::calculateScrollbarModesForLayout):
2010-12-02 Yuqiang Xian <yuqiang.xian@intel.com>
Reviewed by Pavel Feldman.
[V8] Speed up data property access for ImageData.
https://bugs.webkit.org/show_bug.cgi?id=49999
We create a normal V8 object which has a PixelArray as the backing storage,
and set the "data" property of the ImageData object to it.
This way "data" becomes a pure JS property and we don't need to call through
the C++ bindings for ImageData "data" access.
This eliminates big overhead in switching between JavaScript and native
contexts and performing object bindings.
No new tests. Relying on existing Canvas tests.
* WebCore.gypi:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ImageDataCustom.cpp: Added.
(WebCore::toV8):
* html/ImageData.idl:
* html/canvas/CanvasPixelArray.idl:
2010-12-02 Kent Tamura <tkent@chromium.org>
Unreviewed. Run sort-Xcode-project-file.
* WebCore.xcodeproj/project.pbxproj:
2010-12-02 Mike Lawther <mikelawther@chromium.org>
Reviewed by David Hyatt.
Clean up of iframe scrollbar mode code
https://bugs.webkit.org/show_bug.cgi?id=47797
Pull setChildNeedsLayout/setNeedsLayout calls out of scrollbar mode
calculation method and put back into main layout function.
Early exit from the scrollbar calc when scrollbars are turned off.
* page/FrameView.cpp:
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::layout):
2010-12-02 Hironori Bono <hbono@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Fix possible crashes in FontFallbackFont::determinePitch().
https://bugs.webkit.org/show_bug.cgi?id=25770
When all of "Arial", "Courier New", and "Times New Roman" fonts are corrupted,
FontCache::getLastResortFallbackFont() returns 0 and it causes this crash. To
avoid this crash, this change falls back to system fonts (Windows ensures they
are sane) as Win Safari does. Unfortunately, I don't have any ideas how I can
write a layout test for this issue because this crash happens on a PC some of
its system fonts are corrupted.
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::fontDataFromDescriptionAndLogFont):
(WebCore::FontCache::getLastResortFallbackFont):
2010-12-02 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Kent Tamura.
Provide means to store shadow DOM nodes on Element
https://bugs.webkit.org/show_bug.cgi?id=48697
Adds shadow DOM awareness to the standard Node attach/detach,
document and tree insertion and removal cycle.
No new tests, because the code is not yet used.
* dom/Element.cpp:
(WebCore::Element::insertedIntoDocument): Added logic to cascade down to shadow DOM, if present.
(WebCore::Element::removedFromDocument): Ditto.
(WebCore::Element::insertedIntoTree): Ditto.
(WebCore::Element::removedFromTree): Ditto.
(WebCore::Element::attach): Ditto.
(WebCore::Element::detach): Ditto.
(WebCore::Element::recalcStyle):
(WebCore::Element::shadowRoot): Added.
(WebCore::Element::setShadowRoot): Added.
(WebCore::Element::clearShadowRoot): Added.
* dom/Element.h: Added decls.
* dom/ElementRareData.h: Added a member to hold a RefPtr to the shadow DOM root for the element.
2010-12-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Gray-scale JPEG images with a color profile are stretched horizonally
https://bugs.webkit.org/show_bug.cgi?id=49950
Turns out gray-scale JPEGs with color profiles have the same issue as
PNGs. As with PNGs, we suppress now suppress the color profile for
gray-scale JPEGs. Most importantly, this patch adds a test.
Test: fast/images/gray-scale-jpeg-with-color-profile.html
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
2010-12-01 Geoffrey Garen <ggaren@apple.com>
Build fix: Added a forwarding header.
* ForwardingHeaders/wtf/OSAllocator.h: Added.
2010-12-01 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Support multiple correction candidates panel for misspelled word on Mac OS X.
https://bugs.webkit.org/show_bug.cgi?id=50137
<rdar://problem/8568059>
Test: platform/mac/editing/spelling/delete-autocorrected-word-1.html
Manual test: WebCore/manual-tests/autocorrection/dismiss-multiple-guesses.html
WebCore/manual-tests/autocorrection/select-from-multiple-guesses.html
This patch is for supporting multiple correction suggestion panel on Mac OS X.
The behavior and implementation is similar to that of reversion candiate panel.
* WebCore.exp.in: Added and removed symbols.
* editing/CorrectionPanelInfo.h: Added new correction panel type, PanelTypeSpellingSuggestions.
* editing/Editor.cpp:
(WebCore::markerTypesForAutocorrection): Convenient function for getting marker types to
be added to autocorrected word.
(WebCore::boundingBoxForRange): Convenient function for calculating the bounding box of a range.
(WebCore::markerTypesForReplacement): Convenient function for getting marker types to
be added to word that has been replaced by various correction panel.
(WebCore::Editor::respondToChangedSelection): Added code to trigger timer for multiple
suggestion panel.
(WebCore::Editor::guessesForMisspelledSelection): Adopted new signature of EditorClient::getGuessesForWord().
(WebCore::Editor::markMisspellingsAfterTypingToWord): Adopted new signature of applyCorrectionPanelInfo().
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
(WebCore::Editor::correctionPanelTimerFired): Added code to handle new multiple suggestion panel.
(WebCore::Editor::handleCorrectionPanelResult): Replaced handleRejectedCorrection(), since
with new AppKit correction panel API, not only rejection, but also confirmation can be
handled in callback.
(WebCore::Editor::stopCorrectionPanelTimer): Moved the code that clears correction panel info
from dismissCorrectionPanel() to this function to fix a bug that would occur when deleting
autocorrected word.
(WebCore::Editor::dismissCorrectionPanel): Ditto.
(WebCore::Editor::applyCorrectionPanelInfo): Added code to handle new multiple suggestion panel.
* editing/Editor.h: Replaced handleRejectedCorrection() with handleCorrectionPanelResult().
Changed the signature of applyCorrectionPanelInfo() to hanlde new correction panel type.
* editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Adopted new EditorClient::getGuessesForWord().
* editing/TextCheckingHelper.h: Made paragraphRange() public.
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature defined in base class.
(WebCore::EmptyEditorClient::getGuessesForWord): Ditto.
* manual-tests/autocorrection/dismiss-multiple-guesses.html: Added.
* manual-tests/autocorrection/select-from-multiple-guesses.html: Added.
* page/EditorClient.h: Changed showCorrectionPanel() to allow passing multiple correction
candidates. Changed getGuessesForWord() to allow passing in contextual text for better
correction suggestions (for those spellcheckers that utilizes such contextual information).
2010-12-01 David Hyatt <hyatt@apple.com>
Reviewed by James Robinson.
https://bugs.webkit.org/show_bug.cgi?id=50360
Make sure to include the origin adjustment code that I added on Mac to keep truncation-rtl.html passing.
* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):
2010-12-01 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46645
Generalize overflow section scrollOriginX code to be a point and to work in both horizontal
and vertical modes.
Not testable yet, since the rightmost/leftmost/topmost/lowestPosition functions are returning
horrendously wrong values in the vertical text case for overflow:auto objects.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::scrollToOffset):
(WebCore::RenderLayer::computeScrollDimensions):
(WebCore::RenderLayer::updateOverflowStatus):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::scrolledContentOffset):
(WebCore::RenderLayer::scrollXOffset):
(WebCore::RenderLayer::scrollYOffset):
(WebCore::RenderLayer::scrollToXOffset):
(WebCore::RenderLayer::scrollToYOffset):
2010-12-01 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
WinCairo build should not use link-time code generation (LTCG)
https://bugs.webkit.org/show_bug.cgi?id=50353
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCore.vcproj:
2010-12-01 David Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46645
Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
recently added for horizontal RTL documents and applies it to writing modes as well. Now the
scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
makes them behave the same as the cross-platform code (allowing for cross-platform results to be
landed).
* page/FrameView.cpp:
(WebCore::FrameView::adjustViewSize):
* page/mac/WebCoreFrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::ScrollView):
(WebCore::ScrollView::maximumScrollPosition):
(WebCore::ScrollView::minimumScrollPosition):
(WebCore::ScrollView::valueChanged):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
(WebCore::ScrollView::scrollOrigin):
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::platformSetScrollPosition):
(WebCore::ScrollView::platformSetScrollOrigin):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxDecorations):
* rendering/RenderView.cpp:
(WebCore::RenderView::layout):
(WebCore::RenderView::docTop):
(WebCore::RenderView::docHeight):
(WebCore::RenderView::docLeft):
(WebCore::RenderView::docWidth):
* rendering/RenderView.h:
2010-11-30 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Upstream recent changes to WebCore/platform/network/android
https://bugs.webkit.org/show_bug.cgi?id=50224
Android implementation changes only, no new tests.
* platform/network/NetworkingContext.h:
* platform/network/android/CookieJarAndroid.cpp:
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
* platform/network/android/ProxyServerAndroid.cpp: Added.
(WebCore::proxyServersForURL):
* platform/network/android/ResourceHandleAndroid.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/android/ResourceRequestAndroid.cpp:
(WebCore::initializeMaximumHTTPConnectionCountPerHost):
2010-12-01 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
vcproj changes can't be applied cleanly by the Windows EWS bot
https://bugs.webkit.org/show_bug.cgi?id=50328
* WebCore.vcproj/QTMovieWin.vcproj: Modified property svn:eol-style.
* WebCore.vcproj/QTMovieWinCommon.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
* WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
* WebCore.vcproj/WebCore.vcproj: Modified property svn:eol-style.
* WebCore.vcproj/WebCoreCFNetwork.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCoreCG.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCoreCURL.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCoreCairo.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCoreCommon.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCoreGenerated.vcproj: Modified property svn:eol-style.
* WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCoreMediaQT.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCorePthreads.vsprops: Added property svn:eol-style.
* WebCore.vcproj/WebCoreQuartzCore.vsprops: Added property svn:eol-style.
2010-11-30 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
Adds accelerated compositing trigger flags to Settings to allow
ports to set them via command line flags, etc.
https://bugs.webkit.org/show_bug.cgi?id=50301
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setAcceleratedCompositingFor3DTransformsEnabled):
(WebCore::Settings::setAcceleratedCompositingForVideoEnabled):
(WebCore::Settings::setAcceleratedCompositingForPluginsEnabled):
(WebCore::Settings::setAcceleratedCompositingForCanvasEnabled):
(WebCore::Settings::setAcceleratedCompositingForAnimationEnabled):
* page/Settings.h:
(WebCore::Settings::acceleratedCompositingFor3DTransformsEnabled):
(WebCore::Settings::acceleratedCompositingForVideoEnabled):
(WebCore::Settings::acceleratedCompositingForPluginsEnabled):
(WebCore::Settings::acceleratedCompositingForCanvasEnabled):
(WebCore::Settings::acceleratedCompositingForAnimationEnabled):
2010-12-01 Darin Adler <darin@apple.com>
Fixed warning seen on buildbot.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::SharedValues::SharedValues): Added #if.
2010-12-01 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.
chrome.dll!WebCore::RangeBoundaryPoint::toPosition ReadAV@NULL (cf0d0f28bc56f2591cc74f71b46036ea)
https://bugs.webkit.org/show_bug.cgi?id=47808
The crash was caused by moveParagraphWithClones' not copying the entire paragraph
when called by doApplyForSingleParagraph, which was induced by a bug in
cloneParagraphUnderNewElement which ended the cloning process early when the start node
and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
by calling traverseNextSibling(outerNode) instead of nextSibling().
Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.
Tests: editing/execCommand/switch-multiple-list-items-crash.html
editing/execCommand/switch-multiple-list-items.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply):
2010-12-01 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fixes after recent trunk changes.
* platform/graphics/wx/ImageBufferWx.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/wx/LocalizedStringsWx.cpp:
(WebCore::platformDefaultLanguage):
2010-12-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r73047.
http://trac.webkit.org/changeset/73047
https://bugs.webkit.org/show_bug.cgi?id=50339
missing bug number (Requested by rniwa on #webkit).
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply):
2010-12-01 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler, Tony Chang, and unofficially by Enrica Casucci.
The crash was caused by moveParagraphWithClones' not copying the entire paragraph
when called by doApplyForSingleParagraph, which was induced by a bug in
cloneParagraphUnderNewElement which ended the cloning process early when the start node
and the end node didn't share the same parent node. Fixed the bug in cloneParagraphUnderNewElement
by calling traverseNextSibling(outerNode) instead of nextSibling().
Also added an early exit to InsertListCommand::doApply when lastSelectionRange is null.
Tests: editing/execCommand/switch-multiple-list-items-crash.html
editing/execCommand/switch-multiple-list-items.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply):
2010-12-01 Grace Kloba <klobag@chromium.org>
Reviewed by Kenneth Russell.
[chromium] ContentLayerChromium shader should honor the platform Sk_x_SHIFT value instead of assuming BGRA color
https://bugs.webkit.org/show_bug.cgi?id=50189
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::SharedValues::SharedValues):Use SK_B32_SHIFT to decide whether to use RGBA or BGRA shader for Skia port.
2010-12-01 Nico Weber <thakis@chromium.org>
Reviewed by Dimitri Glazkov.
Fix clang warnings caused by -Wlogical-op-parentheses
https://bugs.webkit.org/show_bug.cgi?id=50324
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2010-12-01 Martin Robinson <mrobinson@igalia.com>
Build fix for GTK+.
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::typeAheadFind): Uncomment mistakenly commented line.
2010-12-01 Apelete Seketeli <apelete@seketeli.org> and Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[Gtk] Open menulists should support typeahead find
https://bugs.webkit.org/show_bug.cgi?id=27443
Added typeahead find support for open GTK+ menulists.
Test: platform/gtk/fast/forms/menulist-typeahead-find.html
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::PopupMenuGtk): Initialize new members.
(WebCore::PopupMenuGtk::show): Track currently selected menu item
via a signal handler.
(WebCore::PopupMenuGtk::typeAheadFind): Added.
(WebCore::PopupMenuGtk::menuUnmapped): Reset typeahead find state
when menu is unmapped.
(WebCore::PopupMenuGtk::resetTypeAheadFindState): Added.
(WebCore::PopupMenuGtk::selectItemCallback): Added.
(WebCore::PopupMenuGtk::keyPressEventCallback): Added.
* platform/gtk/PopupMenuGtk.h: Added new members to track typeahead
find state.
2010-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Xan Lopez.
Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGAnimatedNumber
https://bugs.webkit.org/show_bug.cgi?id=50323
Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_NUMBER / DEFINE_ANIMATED_NUMBER.
The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
No functional changes, thus no new tests.
* svg/SVGAnimatedNumber.h:
* svg/SVGComponentTransferFunctionElement.cpp:
* svg/SVGComponentTransferFunctionElement.h:
* svg/SVGFECompositeElement.cpp:
* svg/SVGFECompositeElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDiffuseLightingElement.cpp:
* svg/SVGFEDiffuseLightingElement.h:
* svg/SVGFEDisplacementMapElement.cpp:
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFELightElement.cpp:
* svg/SVGFELightElement.h:
* svg/SVGFEMorphologyElement.cpp:
* svg/SVGFEMorphologyElement.h:
* svg/SVGFEOffsetElement.cpp:
* svg/SVGFEOffsetElement.h:
* svg/SVGFESpecularLightingElement.cpp:
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFETurbulenceElement.cpp:
* svg/SVGFETurbulenceElement.h:
* svg/SVGPathElement.cpp:
* svg/SVGPathElement.h:
* svg/SVGStopElement.cpp:
* svg/SVGStopElement.h:
(WebCore::SVGStopElement::isGradientStop):
2010-12-01 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
Sliders are not transformed after r50188
https://bugs.webkit.org/show_bug.cgi?id=50317
Need to call updateLayerTransform during slider layout, as sliders
may be transformed.
No new tests. This patch should make fast/forms/slider-transformed.html
pass on the GTK+ bots.
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::layout): Call updateLayerTransform here.
2010-11-30 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: do not make helpScreen.css lazily loaded.
https://bugs.webkit.org/show_bug.cgi?id=50304
* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreen):
(WebInspector.HelpScreen.prototype._onBlur):
* inspector/front-end/inspector.html:
2010-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Xan Lopez.
Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLengthList/SVGNumberList/SVGTransformList
https://bugs.webkit.org/show_bug.cgi?id=50322
Continuing the work on bug 42025: Introduce DECLARE_ANIMATED_(LENGTH|NUMBER|TRANSFORM)_LIST / DEFINE_ANIMATED_(LENGTH|NUMBER|TRANSFORM).
The animated property declaration lives in the header, the definition in the cpp file, to avoid the dependency on SVGNames.h in all headers.
No functional changes, thus no new tests.
* svg/SVGAnimatedLengthList.h:
* svg/SVGAnimatedNumberList.h:
* svg/SVGAnimatedTransformList.h:
* svg/SVGComponentTransferFunctionElement.cpp:
* svg/SVGComponentTransferFunctionElement.h:
* svg/SVGFEColorMatrixElement.cpp:
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGGradientElement.cpp:
* svg/SVGGradientElement.h:
(WebCore::SVGGradientElement::needsPendingResourceHandling):
* svg/SVGPatternElement.cpp:
* svg/SVGPatternElement.h:
* svg/SVGPolygonElement.cpp:
* svg/SVGPolylineElement.cpp:
* svg/SVGStyledTransformableElement.cpp:
* svg/SVGStyledTransformableElement.h:
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::SVGTextElement):
* svg/SVGTextElement.h:
(WebCore::SVGTextElement::localCoordinateSpaceTransform):
* svg/SVGTextPositioningElement.cpp:
* svg/SVGTextPositioningElement.h:
* svg/properties/SVGAnimatedPropertyMacros.h:
2010-12-01 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: name-only property appears in style declaration but not in the Styles pane
https://bugs.webkit.org/show_bug.cgi?id=49663
Check that at least one property has been parsed from the user input.
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::setPropertyText):
2010-12-01 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: disable cookies tab in network resource view by default, enable for chromium
https://bugs.webkit.org/show_bug.cgi?id=50249
* inspector/front-end/NetworkItemView.js:
(WebInspector.NetworkItemView):
(WebInspector.NetworkItemView.prototype.resize):
* inspector/front-end/Settings.js:
2010-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Xan Lopez.
Split DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for SVGLength
https://bugs.webkit.org/show_bug.cgi?id=50316
Introduce DECLARE_ANIMATED_LENGTH / DEFINE_ANIMATED_LENGTH, splitting up the original DECLARE_ANIMATED_PROPERTY_NEW macro
in a part that goes in the .cpp file and another that remains in the header. This avoids having to include SVGNames.h
in all SVG*Element files.
No functional changes, thus no new tests.
* svg/SVGAnimatedLength.h:
* svg/SVGCircleElement.cpp:
* svg/SVGCircleElement.h:
(WebCore::SVGCircleElement::isValid):
* svg/SVGCursorElement.cpp:
* svg/SVGCursorElement.h:
(WebCore::SVGCursorElement::isValid):
* svg/SVGEllipseElement.cpp:
* svg/SVGEllipseElement.h:
(WebCore::SVGEllipseElement::isValid):
* svg/SVGFilterElement.cpp:
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
* svg/SVGForeignObjectElement.h:
(WebCore::SVGForeignObjectElement::isValid):
* svg/SVGImageElement.cpp:
* svg/SVGImageElement.h:
(WebCore::SVGImageElement::isValid):
* svg/SVGLineElement.cpp:
* svg/SVGLineElement.h:
(WebCore::SVGLineElement::isValid):
(WebCore::SVGLineElement::supportsMarkers):
* svg/SVGLinearGradientElement.cpp:
* svg/SVGLinearGradientElement.h:
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::SVGMarkerElement):
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.cpp:
* svg/SVGMaskElement.h:
(WebCore::SVGMaskElement::isValid):
(WebCore::SVGMaskElement::needsPendingResourceHandling):
* svg/SVGPatternElement.cpp:
* svg/SVGPatternElement.h:
(WebCore::SVGPatternElement::isValid):
(WebCore::SVGPatternElement::needsPendingResourceHandling):
* svg/SVGRadialGradientElement.cpp:
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.cpp:
* svg/SVGRectElement.h:
(WebCore::SVGRectElement::isValid):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::isValid):
(WebCore::SVGSVGElement::setContainerSize):
(WebCore::SVGSVGElement::containerSize):
(WebCore::SVGSVGElement::hasSetContainerSize):
(WebCore::SVGSVGElement::currentTranslate):
(WebCore::SVGSVGElement::timeContainer):
(WebCore::SVGSVGElement::isSVG):
(WebCore::SVGSVGElement::rendererIsNeeded):
* svg/SVGTextContentElement.cpp:
* svg/SVGTextContentElement.h:
(WebCore::SVGTextContentElement::isValid):
(WebCore::SVGTextContentElement::isTextContent):
* svg/SVGTextPathElement.cpp:
* svg/SVGTextPathElement.h:
* svg/SVGTextPositioningElement.h:
* svg/SVGUseElement.cpp:
* svg/SVGUseElement.h:
(WebCore::SVGUseElement::isValid):
(WebCore::SVGUseElement::setUpdatesBlocked):
(WebCore::SVGUseElement::isPendingResource):
* svg/properties/SVGAnimatedPropertyMacros.h:
2010-12-01 Anton D'Auria <adauria@apple.com>
Reviewed by Kevin Decker.
Deny access to local and session storage in private browsing mode.
https://bugs.webkit.org/show_bug.cgi?id=49329
* storage/Storage.cpp:
(WebCore::Storage::length):
(WebCore::Storage::key):
(WebCore::Storage::getItem):
(WebCore::Storage::contains):
2010-12-01 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
Volume control not correctly initialized
https://bugs.webkit.org/show_bug.cgi?id=36299
Replaced the mute/volume Timers with g_timeouts which are (for
now, at least) more reliable than Timers for one-shot-fire-now
actions.
Test: media/video-volume.html
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::~MediaPlayer): Reset the raw pointers to 0
when destructing the player.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mediaPlayerPrivateVolumeChangeTimeoutCallback):
(WebCore::mediaPlayerPrivateMuteChangeTimeoutCallback):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVolumeChange):
(WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfMute):
(WebCore::MediaPlayerPrivateGStreamer::muteChanged):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Set
playbin2 volume/mute base on MediaPlayer related values.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2010-12-01 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Cleanup main CMakeLists.txt after r72664, r72672 and r72667
https://bugs.webkit.org/show_bug.cgi?id=50232
* CMakeLists.txt: Removed obsolete dependencies.
2010-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Cleanup SVGPropertyTraits
https://bugs.webkit.org/show_bug.cgi?id=50229
Move all template specializations for non-POD types (eg. SVGLength, SVGLengthList, etc.) from SVGPropertyTraits
into the right SVG* classes, to avoid having to include a dozen SVG*.h files in SVGPropertyTraits.h, which is
included by all DOM/JS/V8 binding files and SVGElement.h.
No new functionality, thus no new tests.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* svg/SVGAngle.h:
* svg/SVGLength.h:
* svg/SVGLengthList.h:
* svg/SVGMarkerElement.h:
* svg/SVGNumberList.h:
* svg/SVGPatternElement.h:
* svg/SVGPointList.h:
* svg/SVGPreserveAspectRatio.h:
* svg/SVGRect.h: Added.
* svg/SVGSVGElement.h:
* svg/SVGStringList.h:
* svg/SVGSymbolElement.h:
* svg/SVGTransformList.h:
* svg/SVGViewElement.h:
* svg/SVGViewSpec.h:
* svg/properties/SVGListProperty.h:
* svg/properties/SVGPropertyTraits.h:
* svg/properties/SVGTransformListPropertyTearOff.h:
2010-11-30 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Refactor HTMLInputElement: Move a part of HTMLInputElement::
defaultEventHandler() to InputTypes
https://bugs.webkit.org/show_bug.cgi?id=50097
Move all of keyboard-related event handling to InputType.
No new tests because this should not change any behavior.
* html/BaseButtonInputType.cpp:
(WebCore::BaseButtonInputType::handleKeydownEvent):
(WebCore::BaseButtonInputType::handleKeypressEvent):
(WebCore::BaseButtonInputType::handleKeyupEvent):
* html/BaseButtonInputType.h:
* html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::handleKeydownEvent):
(WebCore::BaseCheckableInputType::handleKeypressEvent):
* html/BaseCheckableInputType.h:
* html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::handleKeyupEvent):
* html/CheckboxInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
We remove !implicitSubmission check for callBaseClassEarly because
implicitSubmission can not be true for keydown event and keypress
event at this point.
* html/InputType.cpp:
(WebCore::InputType::shouldSubmitImplicitly):
Returns true for a keypress event with "\r". Note that we don't overload
this function for BUTTON, FILE, IMAGE, RESET, and SUBMIT because a
keypress event with "\r" for these types returns from HTMLInputElement::defaultEventHandler()
before implicit submission checking.
(WebCore::InputType::handleKeypressEvent):
(WebCore::InputType::handleKeyupEvent):
* html/InputType.h:
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
* html/RadioInputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
* html/TextFieldInputType.h:
2010-11-30 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Move CSS generator logic into main CMakeLists.txt file
https://bugs.webkit.org/show_bug.cgi?id=50230
* CMakeLists.txt:
2010-11-30 Ojan Vafai <ojan@chromium.org>
Revert r72876. It caused a ~30% perf regression in chromium's bloat-http test
https://bugs.webkit.org/show_bug.cgi?id=50288
2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
Reviewed by Darin Adler.
Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
https://bugs.webkit.org/show_bug.cgi?id=50182
A display-isolated URL can only be displayed (e.g., put in an iframe,
hyperlinked to) by documents from that scheme. In a sense, this is a
generalization of some of the protections we give file URLs, but
instead of lumping them all together into one "local" bucket, this
patch creates a separate bucket for each scheme.
For a while, I tried using a separate bucket for each origin. That
would have played nicely with what Blob URLs are trying to do, but some
"chrome" URL pages rely on being able to display other chrome URL
pages, even in different origins. For example, the New Tab Page shows
thumbnails from the "thumbnail" host.
This patch also removes a bunch of unused code. I've also propagated
the "deprecated" status of deprecatedCanDisplay to
deprecatedShouldTreatURLAsLocal because that method has no other
callers and is really asking for uppercase/lowercase bugs. I dream of
someday removing these functions.
page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::deprecatedCanDisplay):
platform/SchemeRegistry.cpp:
(WebCore::displayIsolatedURLSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsLocal):
(WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
platform/SchemeRegistry.h:
2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
Reviewed by Darin Adler.
Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
https://bugs.webkit.org/show_bug.cgi?id=50182
This patch adds a Chromium API for registering schemes as
display-isolated. In a subsequent patch, I'll change the "chrome"
scheme in Chrome to be display isolated instead of local. That will
prevent file URLs from linking to chrome URLs.
public/WebSecurityPolicy.h:
src/WebSecurityPolicy.cpp:
(WebKit::WebSecurityPolicy::registerURLSchemeAsDisplayIsolated):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::deprecatedCanDisplay):
* platform/SchemeRegistry.cpp:
(WebCore::SchemeRegistry::registerURLSchemeAsLocal):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::SchemeRegistry::localURLSchemes):
(WebCore::SchemeRegistry::shouldTreatURLAsLocal):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
* platform/SchemeRegistry.h:
2010-11-30 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
WebKit duplicates AXValue and AXDescription on abbr
https://bugs.webkit.org/show_bug.cgi?id=50260
stringValue() and accessibilityDescription() were returning the same value for static text with
an aria-label. Static text elements should not have an accessibility description, they
should only have a stringValue.
Test: platform/mac/accessibility/static-text-with-aria-label.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
(WebCore::AccessibilityRenderObject::accessibilityDescription):
(WebCore::AccessibilityRenderObject::text):
* accessibility/AccessibilityRenderObject.h:
2010-11-30 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
[HTML5] Rename member variables of HTMLScriptElement
https://bugs.webkit.org/show_bug.cgi?id=49705
Renamed m_wasCreatedByParser to m_wasInsertedByParser, m_requested to m_isExternalScript,
m_isEvaluated to m_wasAlreadyStarted, and m_firedLoad to m_haveFiredLoad.
Also made ScriptElement's haveFiredLoadEvent and removed HTMLScriptElement's haveFiredLoadEvent.
This effectively adds the same function to SVGScriptElement, which isn't currently used anywhere.
No new tests are added since this is a refactoring.
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::insertedIntoDocument):
(WebCore::ScriptElement::childrenChanged):
(WebCore::ScriptElement::finishParsingChildren):
(WebCore::ScriptElement::requestScript):
(WebCore::ScriptElement::evaluateScript):
(WebCore::ScriptElement::executeScript):
(WebCore::ScriptElement::ignoresLoadRequest):
* dom/ScriptElement.h:
(WebCore::ScriptElement::haveFiredLoadEvent):
(WebCore::ScriptElement::setHaveFiredLoadEvent):
(WebCore::ScriptElement::wasInsertedByParser):
(WebCore::ScriptElement::wasAlreadyStarted):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::HTMLScriptElement):
(WebCore::HTMLScriptElement::create):
(WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
* html/HTMLScriptElement.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::SVGScriptElement):
(WebCore::SVGScriptElement::create):
(WebCore::SVGScriptElement::svgAttributeChanged):
(WebCore::SVGScriptElement::insertedIntoDocument):
(WebCore::SVGScriptElement::dispatchLoadEvent):
(WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
* svg/SVGScriptElement.h:
2010-11-30 Darin Adler <darin@apple.com>
Rolled back most of the FileReaderLoader changes to fix 32-bit builds.
* fileapi/FileReaderLoader.cpp: Changed types back to unsigned from unsigned long long
* fileapi/FileReaderLoader.h: Ditto.
2010-11-30 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Text search should treat all matches as word-start matches when the target begins with a separator character
https://bugs.webkit.org/show_bug.cgi?id=50302
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::SearchBuffer): Disable the AtWordStarts option if it was specified and
the target string begins with one of the "separator" characters.
2010-11-30 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Dave Hyatt.
Web Inspector: [CRASH] on "Revert to this revision" of style with import.
https://bugs.webkit.org/show_bug.cgi?id=50256
Rolled back one line from http://trac.webkit.org/changeset/36904 as agreed with
David.
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::insertedIntoParent):
2010-11-30 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
https://bugs.webkit.org/show_bug.cgi?id=50283
Adjust the mask rectangle for Cairo shadows, so that the origin
is not affected by the scale of the transformation matrix.
* platform/graphics/ContextShadow.h: Make this Qt-only member global.
* platform/graphics/cairo/ContextShadowCairo.cpp:
(WebCore::ContextShadow::beginShadowLayer): Save the original layer area.
(WebCore::ContextShadow::endShadowLayer): If the target context has a scale
transform, make sure not to scale the blur distance when blitting the shadow.
2010-11-30 Darin Adler <darin@apple.com>
Reviewed by Alexey Proskuryakov.
Make ProgressEvent 64-bit instead of 32-bit
https://bugs.webkit.org/show_bug.cgi?id=50289
* dom/ProgressEvent.cpp:
(WebCore::ProgressEvent::ProgressEvent): Changed arguments to unsigned long long.
(WebCore::ProgressEvent::initProgressEvent): Ditto.
* dom/ProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
Made isProgressEvent override private.
* dom/ProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.
* fileapi/FileReader.cpp: Removed unneeded includes.
Used static on const so we'd get an error if the same constant was in a header.
(WebCore::FileReader::didReceiveData): Removed unneeded WTF prefix.
(WebCore::FileReader::fireEvent): Got rid of local variables that would narrow
bytes loaded and total bytes to 32-bit.
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::didReceiveResponse): Restructured code a bit and
added comments. Also added handling for when ArrayBuffer::create returns 0.
(WebCore::FileReaderLoader::didReceiveData): Fixed handling of case where more
data arrives than is expected so it won't overrun the buffer. Also broke an
assertion into two and improved a comment.
* fileapi/FileReaderLoader.h: Changed bytesLoaded and totalBytes to unsigned long long.
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::fireEvent): Removed narrowing casts in call to
ProgressEvent::create.
* html/canvas/ArrayBuffer.cpp:
(WebCore::ArrayBuffer::tryAllocate): Added a comment because the code here seems wrong.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didSendData): Removed narrowing casts in call to
XMLHttpRequestProgressEvent::create.
(WebCore::XMLHttpRequest::didReceiveData): Removed narrowing casts in call to
dispatchProgressEvent.
* xml/XMLHttpRequestProgressEvent.h: Fixed formatting. Changed types to unsigned long long.
Made isXMLHttpRequestProgressEvent override private.
* xml/XMLHttpRequestProgressEvent.idl: Tweaked formatting and changed types to unsigned long long.
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Changed types to
unsigned long long.
* xml/XMLHttpRequestProgressEventThrottle.h: Changed types to unsigned long long.
2010-11-30 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Darin Adler.
Progress and meter elements should take a form in their constructor like any other form control.
https://bugs.webkit.org/show_bug.cgi?id=50195
Tests: fast/dom/HTMLMeterElement/meter-element-form.html
fast/dom/HTMLProgressElement/progress-element-form.html
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::HTMLMeterElement):
(WebCore::HTMLMeterElement::create):
* html/HTMLMeterElement.h:
* html/HTMLProgressElement.h:
* html/HTMLTagNames.in:
2010-11-30 Tony Chang <tony@chromium.org>
Reviewed by Adam Barth.
[chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
https://bugs.webkit.org/show_bug.cgi?id=49036
No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
In http://codereview.chromium.org/11574, the forked chromium test
plugin changed how it testGetIntIdentifier to work around a change
caused by a silverlight specific plugin fix:
http://codereview.chromium.org/11569/diff/1/2
It's not clear to me that this change is needed anymore since
silverlight has had multiple releases, testing without this patch
works on a test windows build, and safari win seems to run silverlight
without this either. Since there's no test for this behavior, I'm
rolling it out so we can match the upstream test.
* bindings/v8/V8NPUtils.cpp:
(WebCore::convertV8ObjectToNPVariant):
2010-11-30 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Computing style on a stale node while sending pending accessibility notification.
https://bugs.webkit.org/show_bug.cgi?id=50162
Retain node pointer members of AccessibilityImageMapLink.
Test: accessibility/image-map-title-causes-crash.html
* accessibility/AccessibilityImageMapLink.cpp:
(WebCore::AccessibilityImageMapLink::parentObject):
(WebCore::AccessibilityImageMapLink::anchorElement):
(WebCore::AccessibilityImageMapLink::url):
(WebCore::AccessibilityImageMapLink::elementRect):
* accessibility/AccessibilityImageMapLink.h:
(WebCore::AccessibilityImageMapLink::areaElement):
(WebCore::AccessibilityImageMapLink::mapElement):
(WebCore::AccessibilityImageMapLink::node):
* dom/Document.cpp:
(WebCore::Document::clearAXObjectCache):
2010-11-30 James Robinson <jamesr@chromium.org>
Reviewed by Tony Chang.
Build fix - add parens in foo || bar && baz to make gcc happy
https://bugs.webkit.org/show_bug.cgi?id=50276
gcc 4.4 warns that statements of the form "foo || bar && baz". It wants
parens around the "bar && baz" part to make it clear which way the logical
operators bind.
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::search):
2010-11-30 Daniel Bates <dbates@rim.com>
Reviewed by David Hyatt.
Focused <area> should use CSS properties of <area> instead of associated <img>
https://bugs.webkit.org/show_bug.cgi?id=49888
Fixes an issue where the CSS properties of an <area> were not used when
the <area> was focused.
Currently, when focusing an <area> (say by pressing option + tab in Mac
Safari) we use the CSS style information for the <img> associated with
the <area>. Instead, we should use the CSS style information for the
focused <area>. In particular, this will make the us honor the outline-
color property of a focused <area> when drawing its focus ring.
Tests: fast/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map.html
fast/images/imagemap-focus-ring-outline-color-not-inherited-from-map.html
fast/images/imagemap-focus-ring-outline-color.html
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintFocusRing): Use the style information of
the focused <area> when drawing the focus ring for it.
2010-11-30 Tony Chang <tony@chromium.org>
Reviewed by James Robinson.
[chromium] enable WebCore compiler warnings on Linux take 3
https://bugs.webkit.org/show_bug.cgi?id=50258
* WebCore.gyp/WebCore.gyp:
2010-11-30 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
[GTK] Implement ROLE_COMBO_BOX
https://bugs.webkit.org/show_bug.cgi?id=25678
Implement the remaining bits for combo boxes.
This patch finishes the implementation, from the point of view of
the Atk library, of those objects exposed to ATK as combo boxes,
and their related elements (menus and menu items). It therefore
implements the proper interfaces for each type of object related
to combo boxes (AtkSelection for the combo box, AtkText for every
menu item and AtkAction for the combo box, the menu and the menu
items), takes care of emitting the proper signals when focus or a
given a selection changes and adds a new unit test to check all
this new stuff.
Make possible to ask an AccessibleMenuListOption for a sensible
string representation, so far only available through the private
and MSAA related method nameForMSAA. Just moved the implementation
of that method to an overriden version of stringValue(), which is
platform independent, and called that from nameForMSAA().
* accessibility/AccessibilityMenuListOption.h:
* accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
stringValue(), which holds from now on that used to be here.
(WebCore::AccessibilityMenuListOption::stringValue): New, override
of AccessibilityObject::stringValue() to return a proper string.
Emit the missing signals when a selection is made.
* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Emit the usual
'focus' signals when a selection is made over the combo box.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
Atk states are added to the state set when needed.
(listObjectForSelection): New, returns the proper list object (the
one holding the list of available options as its children) for an
specific AtkObject implementing AtkSelection. This is needed
because sometimes the selectable options are not directly children
of the AtkSelection object (i.e. a combo box has a 'menu' object
as its only child of it, holding the list of options as children).
(optionFromList): Use listObjectForSelection() to get the actual
object holding the list of children as the available options.
(optionFromSelection): Add support for combo boxes.
(webkit_accessible_selection_add_selection): Ditto.
(webkit_accessible_selection_clear_selection): Ditto.
(webkit_accessible_selection_get_selection_count): Ditto.
(webkit_accessible_selection_is_child_selected): Ditto.
(webkit_accessible_selection_remove_selection): Ditto.
(webkit_accessible_text_get_text): Makes sure stringValue() is
considered to get the result substring when it was already
considered when checking the maximum text length for the object.
(getInterfaceMaskFromObject): Make sure the AtkSelection interface
is implemented for the combo boxes, that the AtkText is
implemented for the menu items and that the AtkAction interface is
now implemented for every object (WebCore will decide what to do).
Avoid a segfault crash when using this from unit tests.
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
before calling gdk_window_get_origin() over it.
2010-11-30 Andreas Kling <kling@webkit.org>
Reviewed by Tor Arne Vestbø.
[Qt] GraphicsContext: Avoid unnecessarily copying the painter's QTransform
Stash the transform in a const reference (QPainter::transform() returns one)
instead of making a copy in the shadow drawing parts of fillPath, strokePath and fillRect.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
2010-11-30 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Simon Fraser.
Provide more fine grained control to ports over when to turn on
accelerated compositing.
https://bugs.webkit.org/show_bug.cgi?id=49998
The RenderLayerCompositor now checks with the chrome client whether
3d transforms, video, plugins, canvas and animation require
switching over to the composited path. Layers that overlap composited
content will still turn into composited layers regardless of the
setting.
* css/MediaQueryEvaluator.cpp:
(WebCore::transform_3dMediaFeatureEval):
* page/ChromeClient.h:
(WebCore::ChromeClient::allowedCompositingTriggers):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::canRender3DTransforms):
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateLayerTransform):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::canRender3DTransforms):
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::requiresCompositingForTransform):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo):
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
* rendering/RenderLayerCompositor.h:
2010-11-30 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Plug leak in SoupCache
https://bugs.webkit.org/show_bug.cgi?id=50142
Free the cache file contents when we don't need them anymore.
* platform/network/soup/cache/webkit/soup-cache.c:
(webkit_soup_cache_load):
2010-11-30 Andras Becsi <abecsi@webkit.org>
Reviewed by Csaba Osztrogonác.
[Qt][V8] Make QtWebKit with V8 build on Linux.
https://bugs.webkit.org/show_bug.cgi?id=50244
No new tests needed.
* WebCore.pri: add missing idl file
* WebCore.pro: enable Linux build
* bindings/scripts/CodeGeneratorV8.pm: add missing headers
* bindings/v8/ScriptControllerQt.cpp: fix instantiation
(WebCore::ScriptController::qtScriptEngine):
* bindings/v8/V8GCController.cpp: fix guard
(WebCore::V8GCController::checkMemoryUsage):
* inspector/CodeGeneratorInspector.pm: add missing header
* loader/ResourceLoadScheduler.cpp: ditto
* loader/cache/MemoryCache.cpp: ditto
* loader/loader.cpp: ditto
2010-11-30 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=50183
Code got commented out by accident during render tree refactoring last year. Put the code back in, since
it hurts performance to have that line commented out.
In order to put this code back in, I had to fix some bugs with preferred width computations and
overflow: scroll. Make the pref widths computation create the scrollbar if it doesn't exist yet.
Make sure the scrollbar size is included prior to checking for defined width/min-width/max-width values. Otherwise
the scrollbar inflates the width beyond the fixed size that was specified.
For table cells, there is an additional wrinkle. Make sure not to include the scrollbar size as part of the minimum
intrinsic width so that we don't incorrectly grow.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::computePreferredLogicalWidths):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
2010-11-30 Vitaly Repeshko <vitalyr@chromium.org>
Unreviewed.
Attempt to fix windows debug chromium build.
* html/TimeInputType.cpp: Added include providing isfinite.
2010-11-30 Darin Adler <darin@apple.com>
Reviewed by Jon Honeycutt.
DOM binding code generator scripts import unused File::stat Perl module
https://bugs.webkit.org/show_bug.cgi?id=50250
* bindings/scripts/CodeGeneratorCPP.pm: Removed "using File::stat".
* bindings/scripts/CodeGeneratorJS.pm: Ditto.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
2010-11-30 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: implement "Revert to this revision" in resources panel.
https://bugs.webkit.org/show_bug.cgi?id=50107
* inspector/Inspector.idl:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::setStyleSheetText2):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::reparseStyleSheet):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged):
(WebInspector.CSSStyleModel.prototype._onRevert):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.get contentTimestamp):
(WebInspector.Resource.prototype.setInitialContent):
(WebInspector.Resource.prototype.isLocallyModified):
(WebInspector.Resource.prototype.setContent.else.finished):
(WebInspector.Resource.prototype.setContent):
(WebInspector.Resource.prototype.revertToThis.callback):
(WebInspector.Resource.prototype.revertToThis):
(WebInspector.Resource.prototype.get baseRevision):
(WebInspector.Resource.prototype._innerRequestContent):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._showResourceView):
(WebInspector.FrameResourceTreeElement.prototype._contentChanged):
(WebInspector.ResourceRevisionTreeElement):
(WebInspector.ResourceRevisionTreeElement.prototype.onattach):
(WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
(WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
(WebInspector.ScriptsPanel.prototype.editScriptSource):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._editLine):
(WebInspector.SourceView.prototype._editLineComplete):
(WebInspector.SourceView.prototype._revertEditLine):
2010-11-30 Adam Roben <aroben@apple.com>
Clean up WebCore.vcproj's bindings filter
I added files that we compile (via an all-in-one file) but weren't in
the .vcproj, removed files that no longer exist, and added the scripts
we use.
Fixes <http://webkit.org/b/50248> WebCore.vcproj's bindings filter is
out-of-date
Reviewed by Darin Adler.
* WebCore.vcproj/WebCore.vcproj:
2010-11-30 Adam Roben <aroben@apple.com>
Move JSIDB* files to the DerivedSources filter
This correctly reflects their location on disk. (They were formerly
listed under bindings/js.)
* WebCore.vcproj/WebCore.vcproj:
2010-11-30 Xiaomei Ji <xji@chromium.org>
Reviewed by David Hyatt.
Remove clampNegativeToZero in adjustScrollPositionWithinRange.
https://bugs.webkit.org/show_bug.cgi?id=50203
* platform/ScrollView.cpp:
(WebCore::ScrollView::adjustScrollPositionWithinRange):
2010-11-30 Adam Roben <aroben@apple.com>
Remove duplicate files from WebCore.vcproj
Rubber-stamped by Steve Falkenburg.
* WebCore.vcproj/WebCore.vcproj:
2010-11-30 Adam Roben <aroben@apple.com>
Let VS do its thang with WebCore.vcproj
I just removed and readded AnimationBase.cpp.
Rubber-stamped by Steve Falkenburg.
* WebCore.vcproj/WebCore.vcproj:
2010-11-30 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
ASSERT failing for combo boxes when selection changes
https://bugs.webkit.org/show_bug.cgi?id=50062
Don't call listBoxOnChange for elements using menu lists.
Test: fast/forms/select-option-accesskey-crash.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
to decide whether to call menuListOnChange() or listBoxOnChange()
instead of always calling listBoxOnChange().
2010-11-30 Andreas Kling <kling@webkit.org>
Reviewed by Dirk Schulze.
GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument.
https://bugs.webkit.org/show_bug.cgi?id=48516
No new tests, this is refactoring only.
fillPath() -> fillPath(const Path&)
strokePath() -> strokePath(const Path&)
clipPath(WindRule) -> clipPath(const Path&, WindRule)
drawPath() was only used by CG, so made it PLATFORM(CG) specific.
The Qt, CG and Cairo implementations are best-effort.
For the rest, I've put beginPath/addPath and FIXMEs in the three affected methods.
* WebCore.exp.in:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
* inspector/InspectorController.cpp:
(WebCore::drawOutlinedQuad):
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
* mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::paint):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContextPrivate.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::clipPath):
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawEllipse):
(WebCore::addConvexPolygonToPath):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::clipConvexPolygon):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::clipPath):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillPath):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::clipPath):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::concatCTM):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::clipPath):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::paintBoxShadow):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawBoxSideFromPath):
* rendering/RenderSVGResource.h:
(WebCore::RenderSVGResource::postApplyResource):
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
* rendering/RenderSVGResourceFilter.h:
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourceGradient.h:
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::postApplyResource):
* rendering/RenderSVGResourcePattern.h:
* rendering/RenderSVGResourceSolidColor.cpp:
(WebCore::RenderSVGResourceSolidColor::postApplyResource):
* rendering/RenderSVGResourceSolidColor.h:
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::finishRenderSVGContent):
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::fillAndStrokePath):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::releasePaintingResource):
(WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
* rendering/svg/SVGInlineTextBox.h:
* svg/SVGFont.cpp:
(WebCore::Font::drawTextUsingSVGFont):
2010-11-30 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler and Geoff Garen.
https://bugs.webkit.org/show_bug.cgi?id=44152
<rdar://problem/8324423> CSSOM should match DOM in discarding wrapper-less parents.
We have existing behaviors where parent objects in detached subtrees are not preserved:
- if a root of a node tree doesn't have a wrapper, it's immediately destroyed, making
its children parentNode attribute null;
- relationship between a <style> or <link> node and its stylesheet is immediately broken
when the node is removed from document (in this case, regardless of wrapper existence).
Both match Firefox. For consistency, CSSOM should do the same. In fact, it already partially
does - CSSRule.parentRule gets zeroed out when the parent rule is destroyed.
Tests: fast/dom/StyleSheet/detached-parent-rule-without-wrapper.html
fast/dom/StyleSheet/detached-stylesheet-without-wrapper.html
* css/StyleSheet.cpp: (WebCore::StyleSheet::~StyleSheet): Clear out child rule parent.
* svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::insertedIntoDocument): Keep
the new assertion from firing. This function was adding a rule to style sheet, without
telling the rule about it.
2010-11-30 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
All projects on Windows should use cmd files for build events
https://bugs.webkit.org/show_bug.cgi?id=50213
* WebCore.vcproj/QTMovieWinCommon.vsprops:
* WebCore.vcproj/QTMovieWinPostBuild.cmd: Added.
* WebCore.vcproj/QTMovieWinPreBuild.cmd: Added.
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/WebCorePostBuild.cmd: Added.
* WebCore.vcproj/WebCorePreBuild.cmd: Added.
2010-11-30 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72914.
http://trac.webkit.org/changeset/72914
https://bugs.webkit.org/show_bug.cgi?id=50241
"pfeldman has a revision management patch both for CSS and JS"
(Requested by apavlov on #webkit).
* English.lproj/localizedStrings.js:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::reparseStyleSheet):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged):
(WebInspector.CSSStyleSheet.prototype.getText):
(WebInspector.CSSStyleSheet.prototype.setText):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourceRevisionTreeElement.prototype.onattach):
(WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
2010-11-25 Satish Sampath <satish@chromium.org>
Reviewed by Kent Tamura.
Fix rendering of speech button when setting the attribute dynamically.
https://bugs.webkit.org/show_bug.cgi?id=50077
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::speechAttributeChanged):
* rendering/RenderTextControlSingleLine.h:
2010-11-30 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Enable switching between revisions of stylesheets
https://bugs.webkit.org/show_bug.cgi?id=50227
Drive-by fix: styleSheetChanged() call needed after a stylesheet reparsing on setStyleSheetText2().
* English.lproj/localizedStrings.js:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::reparseStyleSheet):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.setStyleSheetText):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged):
(WebInspector.CSSStyleSheet.prototype.getText):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourceRevisionTreeElement.prototype.onattach):
(WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
(WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
2010-11-30 John Knottenbelt <jknotten@chromium.org>
Reviewed by David Levin.
V8 binding for DOMTimeStamp should be Number, not Date
https://bugs.webkit.org/show_bug.cgi?id=49963
Test: fast/dom/domtimestamp-is-number.html
* bindings/scripts/CodeGeneratorV8.pm:
2010-11-30 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Andreas Kling.
[Qt] Leak with GraphicsContext::takeOwnershipOfPlatformContext()
https://bugs.webkit.org/show_bug.cgi?id=49916
Change the order of calling QPainter::device() and QPainter::end(), so device() will return with a valid device.
No new test is needed.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2010-11-30 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Move generator logic into main CMakeLists.txt file
https://bugs.webkit.org/show_bug.cgi?id=49885
Also make the generator calls more portable.
* CMakeLists.txt:
2010-11-30 Mario Sanchez Prada <msanchez@igalia.com>
Unreviewed, rolling out r72902.
http://trac.webkit.org/changeset/72902
https://bugs.webkit.org/show_bug.cgi?id=50062
This change is causing layout test failures on the Tests bots
for the mac platform.
* dom/SelectElement.cpp:
(WebCore::SelectElement::accessKeySetSelectedIndex):
2010-11-30 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72764.
http://trac.webkit.org/changeset/72764
https://bugs.webkit.org/show_bug.cgi?id=50215
This change is causing assertion failures on the debug bots.
(Requested by mrobinson on #webkit).
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_get_name):
(webkit_accessible_detach):
2010-11-30 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: make copy(node) work in console.
https://bugs.webkit.org/show_bug.cgi?id=50180
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.):
2010-11-30 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Darin Adler.
ASSERT failing for combo boxes when selection changes
https://bugs.webkit.org/show_bug.cgi?id=50062
Don't call listBoxOnChange for elements using menu lists.
Test: accessibility/select-menulist-crash.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::accessKeySetSelectedIndex): Extra check
to decide whether to call menuListOnChange() or listBoxOnChange()
instead of always calling listBoxOnChange().
2010-11-30 Helder Correia <helder@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Path stroke shadow has incorrect behavior when using ctx.scale(x,y)
https://bugs.webkit.org/show_bug.cgi?id=50198
Handle the special case when scaling is used and translate the shadow
offset accordingly. The correct behavior is ensured in ContextShadow
already, the issue only happens when using a non-blur shadow.
Test: fast/canvas/canvas-scale-strokePath-shadow.html
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::strokePath):
2010-11-30 Helder Correia <helder@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Path filling should keep shadow offset after context scaling
https://bugs.webkit.org/show_bug.cgi?id=50194
Handle the special case when scaling is used and translate the shadow
offset accordingly. The correct behavior is ensured in ContextShadow
already, the issue only happens when using a non-blur shadow.
Test: fast/canvas/canvas-scale-fillPath-shadow.html
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillPath):
2010-11-30 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: make ScriptCallStack and ScriptArguments reference counted
https://bugs.webkit.org/show_bug.cgi?id=50156
No new tests. This refactoring is covered with existing inspector tests.
* bindings/js/JSConsoleCustom.cpp:
(WebCore::JSConsole::profile):
(WebCore::JSConsole::profileEnd):
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
* bindings/js/ScriptCallStackFactory.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::customArgsAndExceptionCallback):
* bindings/v8/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
* bindings/v8/ScriptCallStackFactory.h:
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
(WebCore::V8ConsoleMessage::dispatchNow):
* bindings/v8/V8ConsoleMessage.h:
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::startGroup):
* inspector/InspectorController.h:
* inspector/ScriptArguments.cpp:
(WebCore::ScriptArguments::create):
* inspector/ScriptArguments.h:
* inspector/ScriptCallFrame.h:
* inspector/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::create):
(WebCore::ScriptCallStack::at):
(WebCore::ScriptCallStack::size):
* inspector/ScriptCallStack.h:
* page/Console.cpp:
(WebCore::Console::addMessage):
(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::count):
(WebCore::Console::markTimeline):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::warn):
* page/Console.h:
2010-11-29 Dan Bernstein <mitz@apple.com>
Build fix for non-ICU platforms after r72887.
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::prependContext):
2010-11-29 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
WebCore part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
https://bugs.webkit.org/show_bug.cgi?id=50038
Test: editing/text-iterator/findString.html
* GNUmakefile.am: Added FindOptions.h.
* WebCore.exp.in: Export the new methods that take FindOptions.
* WebCore.gypi: Added FindOptions.h.
* WebCore.pro: Added FindOptions.h and TextBoundaries.{cpp,h}.
* WebCore.vcproj/WebCore.vcproj: Added FindOptions.h.
* WebCore.xcodeproj/project.pbxproj: Added FindOptions.h and TextBoundaries.cpp.
* editing/Editor.cpp:
(WebCore::Editor::firstVisibleRange): Changed to use FindOptions.
(WebCore::Editor::lastVisibleRange): Ditto.
(WebCore::Editor::nextVisibleRange): Ditto.
(WebCore::Editor::findString): Ditto.
(WebCore::Editor::countMatchesForText): Ditto.
* editing/Editor.h: Added a version of findString() that takes FindOptions. Changed
countMatchesForText() to take FindOptions. Made nextVisibleRange() private and changed it
and firstVisibleRange() and lastVisibleRange() to take FindOptions.
* editing/FindOptions.h: Added.
* editing/TextIterator.cpp:
Augmented SearchBuffer with an optional prefix, which is not searched, but provides context
for determining word boundaries.
(WebCore::isSeparator): Added. Identifies a class of characters used to determine where
“words” are embedded in a word.
(WebCore::SearchBuffer::SearchBuffer): Changed to take FindOptions. Added initialization of
m_options, m_prefixLength and m_needsMoreContext.
(WebCore::SearchBuffer::append): Adjust m_prefixLength as part of the prefix gets pushed out
of the buffer.
(WebCore::SearchBuffer::needsMoreContext): Added.
(WebCore::SearchBuffer::prependContext): Added.
(WebCore::SearchBuffer::isWordStartMatch): Added.
(WebCore::SearchBuffer::search): Changed to account for the context prefix. When searching
only for word prefix matches, maintains enough context before a tentative match when moving
it to the beginning of the buffer. Reject matches that are not at word starts if requested.
Adjust m_prefixLength when pushing characters out of the buffer.
(WebCore::findPlainText): Changed to work with FindOptions. Feed the search buffer with context
if and as long as it requires more of it.
* editing/TextIterator.h: Added a version of findPlainText() that takes FindOptions.
* editing/visible_units.cpp: Moved {end,start}Of{First,Last}WordBoundary to TextBoundaries.cpp.
* page/Page.cpp:
(WebCore::Page::findString): Changed to work with FindOptions.
(WebCore::Page::markAllMatchesForText): Ditto.
* page/Page.h: Added FindOptions-based findString() and markAllMatchesForText().
* platform/text/TextBoundaries.cpp:
(WebCore::endOfFirstWordBoundaryContext): Moved here from visible_units.cpp.
(WebCore::startOfLastWordBoundaryContext): Ditto.
* platform/text/TextBoundaries.h:
2010-11-29 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
when empty, clicking "down" on outer-spin-button returns "max value"
https://bugs.webkit.org/show_bug.cgi?id=45491
Modified stepping-up/down from renderer
- to clamp steps,
- to handle empty values (described below), and
- to apply them for range type inputs.
Stepping-up/down for empty values are handled "the empty as 0."
For example :
* If 0 is in-range, and matches to step value
"down" -> -step
"up" -> +step
If -step or +step is out of range, new value should be 0.
* If 0 is smaller than the minimum value
"down" -> the minimum value
"up" -> the minimum value
* If 0 is larger than the maximum value
"down" -> the maximum value
"up" -> the maximum value
* If 0 is in-range, but not matched to step value
"down" -> smaler matched value nearest to 0.
e.g. <input type=number min=-100 step=3> -> -1
"up" -> larger matched value nearest to 0.
e.g. <input type=number min=-100 step=3> -> 2
As for date/datetime-local/month/time/week types, the empty is assumed as "current local date/time".
As for datetime type, the empty is assumed as "current date/time in UTC".
As for range input types, changed stepping from renderer to use stepUpFromRenderer().
It was calculated with stepUp() from RangeInputType::handleKeydownEvent().
Test: fast/forms/input-stepup-stepdown-from-renderer.html
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
* html/BaseDateAndTimeInputType.h:
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current UTC time
* html/DateTimeInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::stepUpFromRenderer): Modified it to clamp steps, support empty values and support range type inputs
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isRangeControl):
* html/InputType.cpp:
(WebCore::InputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns 0
* html/InputType.h:
* html/MonthInputType.cpp:
(WebCore::MonthInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local month
* html/MonthInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent): Added comments and modified it to use stepUpFromRenderer()
* html/TimeInputType.cpp:
(WebCore::TimeInputType::defaultValueForStepUp): Added defaultValueForStepUp() which returns the current local time
* html/TimeInputType.h:
* manual-tests/input-type-datetime-default-value.html: Added manual tests for default values of date/time inputs since they are "the current local/UTC time", which cannot be tested automatically.
2010-11-29 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
https://bugs.webkit.org/show_bug.cgi?id=50182
A display-isolated URL can only be displayed (e.g., put in an iframe,
hyperlinked to) by documents from that scheme. In a sense, this is a
generalization of some of the protections we give file URLs, but
instead of lumping them all together into one "local" bucket, this
patch creates a separate bucket for each scheme.
For a while, I tried using a separate bucket for each origin. That
would have played nicely with what Blob URLs are trying to do, but some
"chrome" URL pages rely on being able to display other chrome URL
pages, even in different origins. For example, the New Tab Page shows
thumbnails from the "thumbnail" host.
This patch also removes a bunch of unused code. I've also propagated
the "deprecated" status of deprecatedCanDisplay to
deprecatedShouldTreatURLAsLocal because that method has no other
callers and is really asking for uppercase/lowercase bugs. I dream of
someday removing these functions.
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::deprecatedCanDisplay):
* platform/SchemeRegistry.cpp:
(WebCore::displayIsolatedURLSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsLocal):
(WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
* platform/SchemeRegistry.h:
2010-11-29 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
[GTK] Leaks in SoupCache code
https://bugs.webkit.org/show_bug.cgi?id=50161
Fixes some memory leaks in SoupCache code.
* platform/network/soup/cache/soup-http-input-stream.c:
(send_async_finished): Added a missing g_object_unref.
* platform/network/soup/cache/webkit/soup-cache.c:
(get_cacheability): Added soup_header_free_param_list.
(webkit_soup_cache_entry_set_freshness): Ditto.
(webkit_soup_cache_send_response): Ditto.
(webkit_soup_cache_has_response): Ditto.
2010-11-29 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Add send(ArrayBuffer) to XMLHttpRequest per XMLHttpRequest Level 2 spec
https://bugs.webkit.org/show_bug.cgi?id=50199
Test: http/tests/xmlhttprequest/send-array-buffer.html
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::sendCallback):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
* xml/XMLHttpRequest.h:
2010-11-29 James Robinson <jamesr@chromium.org>
[chromium] REGRESSION(72470): Crash in skia on some images
https://bugs.webkit.org/show_bug.cgi?id=50201
Reverts r72470
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode):
(WebCore::drawResampledBitmap):
2010-11-29 Dmitry Titov <dimich@chromium.org>
Reviewed by David Levin.
Crash when iframe transfers from one page to another and has child frames.
https://bugs.webkit.org/show_bug.cgi?id=50200
* page/Frame.cpp:
(WebCore::Frame::transferChildFrameToNewDocument):
avoid overriding 'didTransfer' which has the result of previous check.
2010-11-19 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by David Hyatt.
up arrow doesn't work with RTL text with word wrapping
https://bugs.webkit.org/show_bug.cgi?id=41987
The bug was caused by positionForPoint's not returning the correct affinity when the x coordiate
is to the left of the first line, and startOfLine's incorrectly moving position to the previous candidate.
Fixed the bug by returning upstream VisiblePosition in positionForPoint if the first inline text box's offset
is greater than 0. Also removed the code added by http://trac.webkit.org/changeset/23608 since this changeset
does not add any test, and the problem described in the changelog reproduces regardless of the code's presence.
Tests: editing/selection/click-left-of-rtl-wrapping-text.html
editing/selection/modify-up-on-rtl-wrapping-text.html
* editing/visible_units.cpp:
(WebCore::startOfLine):
* rendering/RenderText.cpp:
(WebCore::RenderText::positionForPoint):
2010-11-29 Ilya Sherman <isherman@chromium.org>
Reviewed by Kent Tamura.
Ensure that option elements are rendered with normal font weight on Windows/Linux
https://bugs.webkit.org/show_bug.cgi?id=50055
* WebCore.gyp/WebCore.gyp: include themeChromiumSkia.css
* css/themeChromiumSkia.css: Added.
(option): font-weight: normal !important;
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): include themeChromiumSkia.css
2010-11-29 Brent Fulgham <bfulgham@webkit.org>
Unreviewed build fix.
* WebCore.vcproj/WebCoreCairo.vsprops: Provide missing WIN_CAIRO
definition so that proper targets are build.
* platform/graphics/win/cairo/FontPlatformData.h:
(WebCore::FontPlatformData::orientation): Add missing implementation.
2010-11-29 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Switch web audio code to use FloatPoint3D instead of Vector3
https://bugs.webkit.org/show_bug.cgi?id=50186
No new tests since audio API is not yet implemented.
* platform/audio/Cone.cpp:
(WebCore::ConeEffect::gain):
* platform/audio/Cone.h:
* platform/graphics/FloatPoint3D.h:
(WebCore::FloatPoint3D::isZero):
(WebCore::operator*):
(WebCore::FloatPoint3D::distanceTo):
* webaudio/AudioListener.h:
(WebCore::AudioListener::setPosition):
(WebCore::AudioListener::position):
(WebCore::AudioListener::setOrientation):
(WebCore::AudioListener::orientation):
(WebCore::AudioListener::setUpVector):
(WebCore::AudioListener::upVector):
(WebCore::AudioListener::setVelocity):
(WebCore::AudioListener::velocity):
* webaudio/AudioPannerNode.cpp:
(WebCore::AudioPannerNode::AudioPannerNode):
(WebCore::AudioPannerNode::getAzimuthElevation):
(WebCore::AudioPannerNode::dopplerRate):
(WebCore::AudioPannerNode::distanceConeGain):
* webaudio/AudioPannerNode.h:
(WebCore::AudioPannerNode::position):
(WebCore::AudioPannerNode::setPosition):
(WebCore::AudioPannerNode::orientation):
(WebCore::AudioPannerNode::setOrientation):
(WebCore::AudioPannerNode::velocity):
(WebCore::AudioPannerNode::setVelocity):
2010-11-29 Xiaomei Ji <xji@chromium.org>
Reviewed by David Hyatt.
Right-to-left pages should be scrollable to reveal left overflow.
https://bugs.webkit.org/show_bug.cgi?id=23556
For RTL page, save left layout overflow and include it into the document
size during layout. Use the left layout overflow when scroll and paint
the page. Behavior on LTR page should be untouched since left layout
overflow is set as 0 for LTR page.
Tests: fast/dom/horizontal-scrollbar-in-rtl-doesnt-fire-onscroll.html
fast/dom/horizontal-scrollbar-in-rtl.html
fast/dom/horizontal-scrollbar-when-dir-change.html
fast/dom/left-overflow-in-ltr.html
fast/dom/right-overflow-in-rtl.html
* page/FrameView.cpp:
(WebCore::FrameView::adjustViewSize): Save negative of left layout overflow as scroll X origin. And includes left layout overflow into document size.
* page/mac/WebCoreFrameView.h: Add methods for setting and getting scroll X origin.
* platform/ScrollView.cpp:
(WebCore::ScrollView::ScrollView):
(WebCore::ScrollView::maximumScrollPosition): Minus scroll X origin from maximum horizontal scroll position.
(WebCore::ScrollView::minimumScrollPosition):
(WebCore::ScrollView::adjustScrollPositionWithinRange):
(WebCore::ScrollView::valueChanged):
(WebCore::ScrollView::setScrollPosition):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::platformSetContentsSize):
(WebCore::ScrollView::platformSetScrollPosition):
(WebCore::ScrollView::platformSetScrollOriginX):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::paintRootBoxDecorations): Include left layout overflow into canvas size.
* rendering/RenderView.cpp:
(WebCore::RenderView::layout): Save left layout overflow.
(WebCore::RenderView::docLeft):
(WebCore::RenderView::docWidth): Include left layout overflow into doc width for RTL page.
* rendering/RenderView.h:
2010-11-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Ojan Vafai.
bunch of pixel failures after http://trac.webkit.org/changeset/72839/
https://bugs.webkit.org/show_bug.cgi?id=50188
We need to call updateLayerTransform() for reflections, and
table rows as well.
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
2010-11-29 Xiaomei Ji <xji@chromium.org>
Reviewed by David Hyatt.
Fix tab overflow problem when alignment is not left.
https://bugs.webkit.org/show_bug.cgi?id=25459
I checked WordPad in Windows, TextEdit in Mac, OpenOffice, and Google doc.
In all of them, (when the writing mode is horizontal) when the alignment is not
left alignment, the length of tab is computed based on the tab's position
relative to the left start of line, not based on the tab's position relative
to the left edge of the document.
WebKit should follow the same.
The m_xPos in each TextRun should be relative to the left start of the line,
not left start of its containing block (in right alignment and center alignment,
left start of the line is not the same as left start of the containing block).
So, when the text is drawn, the width of tab is consistent with the width
computed in RenderBlock::computeInlineDirectionPositionsForLine().
I did not test vertical writing mode, but I think the same rule should apply.
Test: fast/dom/tab-in-right-alignment.html
* platform/graphics/TextRun.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::textPos):
* rendering/InlineTextBox.h:
2010-11-29 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Request JSON-serialized heap snapshot from JS engine.
This simplifies heap snapshots interaction and API. Instead of
having objects representing snapshot entities, the whole snapshot
is transferred to WebInspector and parsed there.
https://bugs.webkit.org/show_bug.cgi?id=49974
* bindings/js/ScriptHeapSnapshot.h:
(WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
(WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
(WebCore::ScriptHeapSnapshot::writeJSON):
(WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
* bindings/v8/ScriptHeapSnapshot.cpp:
(WebCore::ScriptHeapSnapshot::writeJSON):
* bindings/v8/ScriptHeapSnapshot.h:
(WebCore::ScriptHeapSnapshot::OutputStream::~OutputStream):
* inspector/Inspector.idl:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::getProfile):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotEdgesIterator):
(WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
(WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
(WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
(WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
(WebInspector.HeapSnapshotEdgesIterator.prototype.next):
(WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
(WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
(WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
(WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
(WebInspector.HeapSnapshotNodeWrapper):
(WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
(WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
(WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
(WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
(WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
(WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
(WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
(WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
(WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
(WebInspector.HeapSnapshot):
(WebInspector.HeapSnapshot.prototype._init):
(WebInspector.HeapSnapshot.prototype.get rootEdges):
(WebInspector.HeapSnapshotView.prototype.snapshotLoaded):
(WebInspector.HeapSnapshotView.prototype._loadProfile.processLoadedSnapshot):
(WebInspector.HeapSnapshotView.prototype._loadProfile):
(WebInspector.HeapSnapshotView.prototype._convertSnapshot):
(WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
(WebInspector.HeapSnapshotView.prototype._prepareProfile):
(WebInspector.HeapSnapshotView.prototype._sortData):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype.addHeapSnapshotChunk):
(WebInspector.ProfilesPanel.prototype.finishHeapSnapshot):
* inspector/front-end/inspector.js:
(WebInspector.addHeapSnapshotChunk):
(WebInspector.finishHeapSnapshot):
2010-11-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
layer()->currentTransform() is stale when layout changes the box size
https://bugs.webkit.org/show_bug.cgi?id=50175
RenderLayer::updateTransform() is fairly expensive, so we
have to avoid calling it from RenderBox::applyLayerTransformToRect()
every time. This requires that we update the layer's transform
during layout, instead of from updateLayerPositions() which is too late.
So call updateLayerTransform() from the various layout methods
on renderers that can be transformed, and remove it from
updateLayerPositions().
Test: fast/overflow/overflow-update-transform.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutOnlyPositionedObjects):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::applyLayerTransformToRect):
(WebCore::RenderBox::updateLayerTransform):
* rendering/RenderBox.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::layout):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
2010-11-29 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add remaining custom JSC web audio bindings
https://bugs.webkit.org/show_bug.cgi?id=50172
No new tests since audio API is not yet implemented.
* bindings/js/JSAudioBufferSourceNodeCustom.cpp: Added.
(WebCore::JSAudioBufferSourceNode::setBuffer):
* bindings/js/JSConvolverNodeCustom.cpp: Added.
(WebCore::JSConvolverNode::setBuffer):
* bindings/js/JSJavaScriptAudioNodeCustom.cpp: Added.
(WebCore::JSJavaScriptAudioNode::markChildren):
* webaudio/AudioBufferSourceNode.idl:
* webaudio/ConvolverNode.idl:
2010-11-29 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Darin Adler.
HTMLFormElement.elements doesn't include fieldsets
https://bugs.webkit.org/show_bug.cgi?id=48193
Add fieldset and keygen to the list of form collection elements, by making them enumeratable.
This patch does not add object element to the list. A separate bug will do that.
Test: fast/forms/form-collection-elements.html
* html/HTMLFieldSetElement.h:
(WebCore::HTMLFieldSetElement::isEnumeratable):
* html/HTMLKeygenElement.h:
(WebCore::HTMLKeygenElement::isEnumeratable):
2010-11-29 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
Get distcheck going.
* GNUmakefile.am:
2010-11-29 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=50181
CSS style declarations don't GC protect parents
Test: fast/dom/StyleSheet/gc-declaration-parent-rule.html
* bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::markChildren):
Protect the parent rule.
2010-11-29 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: UI fix. In Timeline, Paint events "Location" value is displayed
in a confusing manner. The format string should be changed from %d x %d
pattern to (%d, %d).
https://bugs.webkit.org/show_bug.cgi?id=50178
* English.lproj/localizedStrings.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2010-11-29 Darin Adler <darin@apple.com>
Reviewed by Andreas Kling.
Remove a couple unneeded overflow checks
https://bugs.webkit.org/show_bug.cgi?id=49816
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::encode): Use an ASSERT instead of
an overflow check with CRASH.
2010-11-29 Tony Chang <tony@chromium.org>
Unreviewed, disable warnings again on chromium linux
* WebCore.gyp/WebCore.gyp:
2010-11-29 Cosmin Truta <ctruta@chromium.org>
Reviewed by Nikolas Zimmermann.
getBoundingClientRect: Do not truncate the coordinates to integers
https://bugs.webkit.org/show_bug.cgi?id=48110
Remove the float-to-int coordinate conversions inside getBoundingClientRect,
to comply with the CSSOM View Module API.
Tests: fast/dom/Element/getBoundingClientRect.html
fast/dom/Range/getBoundingClientRect.html
svg/zoom/page/zoom-getBoundingClientRect.xhtml
svg/zoom/page/zoom-zoom-coords.xhtml
* dom/ClientRect.cpp:
(WebCore::ClientRect::ClientRect): Added overload to allow a FloatRect argument.
* dom/ClientRect.h:
(WebCore::ClientRect::create): Ditto.
* dom/Element.cpp:
(Element::getBoundingClientRect): Removed conversion from FloatRect to IntRect.
* dom/Range.cpp:
(WebCore::Range::getBoundingClientRect): Ditto.
* rendering/RenderObject.h:
(adjustIntRectForAbsoluteZoom): Removed.
(adjustFloatRectForAbsoluteZoom): Added.
* rendering/style/RenderStyle.h:
(adjustFloatForAbsoluteZoom): Added.
2010-11-29 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Converge means of querying a parent node into one way, which is Node::parentNode.
https://bugs.webkit.org/show_bug.cgi?id=49686
A follow-up to r72259, which explicitly forbids further use of Node::parent by
making it private.
No change in behavior, so no new tests.
* dom/Document.cpp:
(WebCore::Document::styleForElementIgnoringPendingStylesheets): Changed to use parentNode.
(WebCore::Document::hoveredNodeDetached): Ditto.
(WebCore::Document::activeChainNodeDetached): Ditto.
* dom/Node.h: Made Node::parent private.
* page/SpatialNavigation.cpp:
(WebCore::canBeScrolledIntoView): Changed to use parentNode.
* xml/XSLTProcessorQt.cpp:
(WebCore::XSLTProcessor::transformToString): Ditto.
2010-11-29 Tony Chang <tony@chromium.org>
Reviewed by James Robinson.
[chromium] try to enable WebCore compiler warnings on linux
https://bugs.webkit.org/show_bug.cgi?id=50168
* WebCore.gyp/WebCore.gyp:
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::setPadding):
(WebCore::TextRunWalker::setGlyphXPositions):
(WebCore::glyphIndexForXPositionInScriptRun):
2010-11-29 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=50165
CSS style rules don't GC protect parents
Tests: fast/dom/StyleSheet/gc-parent-rule.html
fast/dom/StyleSheet/gc-parent-stylesheet.html
* bindings/js/JSCSSRuleCustom.cpp: (WebCore::JSCSSRule::markChildren): Mark parents. The code
is super naive compared to what we have for nodes - but CSSOM has shallow hierarchies, so
it should be OK.
* css/CSSRule.idl: Added CustomMarkFunction.
2010-11-29 Gavin Peters <gavinp@chromium.org>
Reviewed by Adam Barth.
Web page can prevent WebKit from loading subresources on other
pages (cache poisoning)
https://bugs.webkit.org/show_bug.cgi?id=35404
Tests: http/tests/misc/unloadable-script.html
loader/reload-subresource-when-type-changes.html
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::requestResource):
2010-11-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Crash in WebCore::CSSStyleSelector::loadPendingImages
https://bugs.webkit.org/show_bug.cgi?id=50149
Null-check style->boxReflect() when loading pending style images.
Test: fast/reflections/pending-reflection-mask-crash.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::loadPendingImages):
2010-11-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: crash upon inspecting user style sheet.
https://bugs.webkit.org/show_bug.cgi?id=50109
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
2010-11-29 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Implement WebCore::directoryName
https://bugs.webkit.org/show_bug.cgi?id=50031
Also fix handling of paths without path separator.
* platform/wince/FileSystemWinCE.cpp:
(WebCore::reverseFindPathSeparator):
(WebCore::makeAllDirectories):
(WebCore::pathGetFileName):
(WebCore::directoryName):
2010-11-29 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Simplify directoryName in FileSystemWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=50028
* platform/win/FileSystemWin.cpp:
(WebCore::directoryName):
2010-11-24 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
REGRESSION (r71934): Main search field at Apple tech specs does not accept typing
https://bugs.webkit.org/show_bug.cgi?id=49868
The problem here was that the inner text element of search input was first laid out as
disabled and thus with a 0-height. This would prevent a hit test to ever reach it, even
if it's enabled.
Test: fast/forms/disabled-search-input.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::hasLineIfEmpty): Removed a check for textarea that is no longer necessary.
* rendering/TextControlInnerElements.cpp:
(WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): Added an override to ensure that
an empty inner text element is always one-line high.
2010-11-29 W. James MacLean <wjmaclean@chromium.org>
Reviewed by Dirk Schulze.
Large input numbers cause overflow during SVG parsing, leading to crash
https://bugs.webkit.org/show_bug.cgi?id=49546
Values outside the range supported by float lead to Infinity() or NaN()
during parsing, leading to subsequent crashes. Modified
parser to verify number is in the supported range, and return false if not.
Tests: svg/custom/svg-parse-overflow-1.html
svg/custom/svg-parse-overflow-2.html
svg/custom/svg-parse-overflow-3.html
svg/custom/svg-parse-overflow-4.html
svg/custom/svg-parse-overflow-5.html
* svg/SVGParserUtilities.cpp:
(WebCore::isValidRange):
(WebCore::genericParseNumber):
2010-11-29 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: display name of an object constructor as the object's type
https://bugs.webkit.org/show_bug.cgi?id=50063
Name of the function that has created given object is used as the object's
type when it's displayed in the inspector front-end(in case of V8). Before
this change, it was always a value of the object's constructor.name property
which is confusing in some cases(see the test).
Removed check for jsEngine from the InjectedScript.js, all VM-specific code
is now encapsulated on the bindings layer.
Test: inspector/console-object-constructor-name.html
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::createInjectedScript):
(WebCore::JSInjectedScriptHost::constructorName):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::createInjectedScript):
(WebCore::V8InjectedScriptHost::constructorNameCallback):
* inspector/InjectedScriptHost.idl:
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.):
2010-11-29 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=24346
Remove temporary workaround to load Gears plugin.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::rendererIsNeeded):
2010-11-29 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
Spatial Navigation: Store more information in FocusCandidate
https://bugs.webkit.org/show_bug.cgi?id=50153
More information should be stored in FocusCandidate, to avoid
recalculating it when running the spatial navigation algorithm.
No new tests, since this is code refactoring only.
* page/FocusController.cpp:
(WebCore::updateFocusCandidateIfNeeded):
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
(WebCore::canBeScrolledIntoView):
* page/SpatialNavigation.h:
(WebCore::FocusCandidate::FocusCandidate):
2010-11-29 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Use the right focusable check to avoid multiple focus/blur events being fired from inside of the shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=49977
* editing/SelectionController.cpp:
(WebCore::SelectionController::setFocusedNodeIfNeeded): Added a FIXME to remove redundant code.
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent): Changed to use isMouseFocusable, which is what shadow DOM elements
override, and added a FIXME to convert to use shadow DOM-aware traversal instead of render tree traversal.
Test: fast/events/shadow-boundary-crossing-2.html
2010-11-29 Adam Roben <aroben@apple.com>
Windows build fix after r72715
* WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag to fix an
XML syntax error.
2010-11-29 Bernhard Bauer <bauerb@chromium.org>
Reviewed by Jeremy Orlow.
Remove databaseFileName from IDBFactoryBackendImpl
https://bugs.webkit.org/show_bug.cgi?id=50150
No new tests, since functionality is unchanged.
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::openSQLiteDatabase):
* storage/IDBFactoryBackendImpl.h:
2010-11-29 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GStreamer] take video sink ownership with gst_object API
https://bugs.webkit.org/show_bug.cgi?id=49011
Use gst_object_ref_sink instead of g_object_ref_sink to avoid
possible leaks.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2010-11-29 Jan Erik Hanssen <jhanssen@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
QtWebKit asserts when selecting elided text.
https://bugs.webkit.org/show_bug.cgi?id=45391
Ensure that the length passed to fromRawDataWithoutRef() does
not exceed the length of the string.
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::selectionRectForSimpleText):
2010-11-26 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Styles Gear Menu Choice to Display Colors "As Authored"
https://bugs.webkit.org/show_bug.cgi?id=31614
* English.lproj/localizedStrings.js:
* inspector/front-end/Color.js:
(WebInspector.Color.prototype.toString):
(WebInspector.Color.prototype._parse.this.rgba.set 0):
(WebInspector.Color.prototype._parse.set WebInspector):
(WebInspector.Color.prototype._parse):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.nextFormat):
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
2010-11-29 Helder Correia <helder@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] fillRect shadow has incorrect behavior when using ctx.scale(x,y)
https://bugs.webkit.org/show_bug.cgi?id=50141
Don't apply scaling transformation to shadow offsets.
Test: fast/canvas/canvas-scale-fillRect-shadow.html
* platform/graphics/ContextShadow.h:
* platform/graphics/qt/ContextShadowQt.cpp:
(WebCore::ContextShadow::beginShadowLayer):
(WebCore::ContextShadow::endShadowLayer):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRect):
2010-11-28 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Default event handlers should also be using event retargeting.
https://bugs.webkit.org/show_bug.cgi?id=49986
Test: fast/events/shadow-boundary-crossing-2.html
* dom/EventContext.cpp:
(WebCore::EventContext::defaultEventHandler): Added.
* dom/EventContext.h: Added decl.
* dom/Node.cpp:
(WebCore::Node::dispatchGenericEvent): Changed to use event retargeting for
default event handlers.
2010-11-23 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
REGRESSION: Text on <input type="search"> is not spellchecked.
https://bugs.webkit.org/show_bug.cgi?id=49651
TextControlInnerElement::isSpellCheckingEnabled() didn't consider
non-root shadow elelements and always went false for <input type="search>.
This change unifies shadow and host handling into Element::isSpellCheckingEnabled().
Test: editing/spelling/spellcheck-attribute.html
* dom/Element.cpp:
(WebCore::Element::isSpellCheckingEnabled):
* rendering/TextControlInnerElements.cpp:
* rendering/TextControlInnerElements.h:
2010-11-28 Antonio Gomes <agomes@rim.com>
Reviewed by Kenneth Rohde Christiansen.
Spatial Navigation: use isSpatialNaviagtionEnabled from SpatialNavigation.h in HTMLInputElement::defaultEventHandler
https://bugs.webkit.org/show_bug.cgi?id=50131
For all isSpatialNavigationEnabled calls throughout WebCore, we decided to use the static method in
SpatialNavigation.h instead of directly checking from the one in Settings.h. Reason: in a soon future,
there will be a isCaretBrowsing check incorporated into this method (and probably renaming it accordingly)
to avoid feature conflicts (spatial navigation x caret browsing).
No new tests needed.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
2010-11-27 Benjamin Kalman <kalman@chromium.org>
Reviewed by Darin Adler.
Move Position::EditingBoundaryCrossingRule to a new header file
https://bugs.webkit.org/show_bug.cgi?id=49630
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Position.cpp:
(WebCore::downstreamIgnoringEditingBoundaries):
(WebCore::upstreamIgnoringEditingBoundaries):
* dom/Position.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::doApply):
* editing/EditingBoundary.h: Added.
* editing/visible_units.cpp:
(WebCore::startOfParagraph):
(WebCore::endOfParagraph):
(WebCore::isStartOfParagraph):
(WebCore::isEndOfParagraph):
* editing/visible_units.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createVisiblePosition):
2010-11-26 Rob Buis <rwlbuis@gmail.com>
Reviewed by Simon Fraser.
Percentage z offset in transform-origin should make the property invalid
https://bugs.webkit.org/show_bug.cgi?id=48704
Discard transform-origin property when parsing invalid Z value.
Test: fast/css/transform-origin-parsing.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTransformOriginShorthand):
(WebCore::CSSParser::parseTransformOrigin):
* css/CSSParser.h:
2010-11-26 Dan Bernstein <mitz@apple.com>
Reviewed by Antti Koivisto.
<rdar://problem/8681368> Avoid unnecessary calls to CTFontGetPlatformFont()
https://bugs.webkit.org/show_bug.cgi?id=50096
No new test, since functionality is unchanged.
* platform/graphics/chromium/CrossProcessFontLoading.mm:
(WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
* platform/graphics/cocoa/FontPlatformData.h:
(WebCore::FontPlatformData::FontPlatformData): Ditto.
(WebCore::FontPlatformData::operator==): Removed comparison of font IDs.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::loadFont): Removed the ATSUFontID argument.
(WebCore::FontPlatformData::FontPlatformData): Updated.
(WebCore::FontPlatformData::operator=): Removed copying of font ID.
(WebCore::FontPlatformData::setFont): Removed setting of font ID.
* platform/graphics/mac/ComplexTextControllerATSUI.cpp:
(WebCore::initializeATSUStyle): Call CTFontGetPlatformFont() here if necessary.
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): Updated for FontPlatformData change.
(WebCore::createFontCustomPlatformData): Updated for FontCustomPlatformData change.
* platform/graphics/mac/FontCustomPlatformData.h:
(WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed ATSUFontID argument and
data member.
* platform/graphics/mac/SimpleFontDataATSUI.mm:
(WebCore::SimpleFontData::checkShapesArabic): Call CTFontGetPlatformFont() here if necessary.
2010-11-26 François Sausset <sausset@gmail.com>
Reviewed by Daniel Bates.
MathML: code cleaning needed in MathMLInlineContainerElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=50069
Unnecessary namespace was removed and style was adjusted.
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::createRenderer):
2010-11-26 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBDatabase and IDBObjectStore remove* methods should be renamed to delete*
https://bugs.webkit.org/show_bug.cgi?id=50113
Modified exisiting layout tests to cover this change.
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::deleteObjectStore):
* storage/IDBDatabase.h:
* storage/IDBDatabase.idl:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::deleteIndex):
* storage/IDBObjectStore.h:
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteIndex):
(WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
* storage/IDBObjectStoreBackendImpl.h:
* storage/IDBObjectStoreBackendInterface.h:
2010-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72701.
http://trac.webkit.org/changeset/72701
https://bugs.webkit.org/show_bug.cgi?id=50114
REGRESSION: bad transform matrix on content layer (Requested
by backer on #webkit).
* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateContents):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::cleanupResources):
(WebCore::ContentLayerChromium::updateContents):
(WebCore::ContentLayerChromium::updateTextureRect):
(WebCore::ContentLayerChromium::draw):
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContents):
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::contentsDirty):
(WebCore::LayerChromium::updateContents):
(WebCore::LayerChromium::draw):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::updateLayersRecursive):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/LayerTexture.cpp: Removed.
* platform/graphics/chromium/LayerTexture.h: Removed.
* platform/graphics/chromium/PluginLayerChromium.cpp:
(WebCore::PluginLayerChromium::updateContents):
* platform/graphics/chromium/PluginLayerChromium.h:
* platform/graphics/chromium/RenderSurfaceChromium.cpp:
(WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
(WebCore::RenderSurfaceChromium::cleanupResources):
(WebCore::RenderSurfaceChromium::prepareContentsTexture):
* platform/graphics/chromium/RenderSurfaceChromium.h:
* platform/graphics/chromium/TextureManager.cpp: Removed.
* platform/graphics/chromium/TextureManager.h: Removed.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateContents):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateContents):
* platform/graphics/chromium/WebGLLayerChromium.h:
2010-11-26 Jeremy Orlow <jorlow@chromium.org>
Unreviewed build fix.
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::openCursor):
2010-11-26 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Xan Lopez.
[GTK] SoupCache should not ignore loader's conditional requests
https://bugs.webkit.org/show_bug.cgi?id=50101
SoupCache must not handle WebKit loader conditional requests and
thus should never return its own cached response if any. This was
causing frequent resource load failures as WebCore was trying to
revalidate its own resources and was not getting any expected
result.
* platform/network/soup/cache/webkit/soup-cache.c:
(webkit_soup_cache_has_response): check the presence of
conditional request headers when deciding whether the cache has a
valid response for a given request.
2010-11-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Make IDBKeyRange match the spec
https://bugs.webkit.org/show_bug.cgi?id=50105
Remove flags and instead add two booleans for being open.
Change left to lower and right to upper everywhere.
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursorInternal):
* storage/IDBKey.cpp:
(WebCore::IDBKey::lowerCursorWhereFragment):
(WebCore::IDBKey::upperCursorWhereFragment):
* storage/IDBKey.h:
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::IDBKeyRange):
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
(WebCore::IDBKeyRange::lowerWhereClauseComparisonOperator):
(WebCore::IDBKeyRange::upperWhereClauseComparisonOperator):
* storage/IDBKeyRange.h:
(WebCore::IDBKeyRange::create):
(WebCore::IDBKeyRange::lower):
(WebCore::IDBKeyRange::upper):
(WebCore::IDBKeyRange::lowerOpen):
(WebCore::IDBKeyRange::upperOpen):
* storage/IDBKeyRange.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
2010-11-25 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Convert open*Cursor and createIndex over to using OptionsObject
https://bugs.webkit.org/show_bug.cgi?id=50093
Add IDBKeyRange to OptionsObject's parsing abilities. Switch
more APIs over to using it.
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::getKeyDOMStringList):
(WebCore::OptionsObject::getKeyKeyRange):
* bindings/v8/OptionsObject.h:
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* storage/IDBIndex.h:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* storage/IDBIndex.idl:
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::openCursor):
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::openCursor):
* storage/IDBObjectStore.idl:
2010-11-25 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Clean up IDBDatabase.transaction and add checks to IDBTransaction.objectStore
https://bugs.webkit.org/show_bug.cgi?id=50081
IDBDatabase.transaction should use the new optional OptionsObject way
of taking optional paramters. Modify that object to get numbers and
domStringLists from it. Verify that any requested resources exist and
return an exception if not.
When IDBTransaction.objectStore is called, verify that it's one of the
requested resources. Also verify that it still exists. Plumb the
exception code to make this work.
Tests: storage/indexeddb/create-and-remove-object-store.html
storage/indexeddb/transaction-and-objectstore-calls.html
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::getKeyInteger):
(WebCore::OptionsObject::getKeyString):
(WebCore::OptionsObject::getKeyDOMStringList):
* bindings/v8/OptionsObject.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.idl:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::transaction):
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStore):
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
* storage/IDBTransactionBackendImpl.h:
* storage/IDBTransactionBackendInterface.h:
2010-11-26 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Xan Lopez.
[GTK] events missing when a document is (re)loaded
https://bugs.webkit.org/show_bug.cgi?id=25831
Make sure webArea returns a proper name and that a signal
'state-change::defunct' is emitted when detaching the wrapper.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_get_name): Returns the current document's title
as fallback mechanism for webArea objects.
(webkit_accessible_detach): Emit 'state-change::defunct' function
as soon as the wrapper is detached from the related core object.
2010-11-26 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Xan Lopez.
[Gtk] ASSERT(d->m_response.isNull()) in contentSniffedCallback
https://bugs.webkit.org/show_bug.cgi?id=50083
ResourceHandleSoup should not listen to content-sniffed signal
when content sniffing is not enabled. This will prevent us
reaching an assertion on content-sniffed callback
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startHttp):
* platform/network/soup/cache/soup-request-http.c:
(conditional_get_ready_cb): added a comment with the
possible fix for a pure libsoup HTTP cache.
(send_async_cb): prevent an early object finalization adding a
reference.
(webkit_soup_request_http_send_async): Ditto.
2010-11-26 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Antonio Gomes.
[Qt] Remove empty ScrollView::platformInit/platformDestroy
https://bugs.webkit.org/show_bug.cgi?id=50079
No new test is needed.
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
* platform/qt/ScrollViewQt.cpp:
2010-11-26 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Fixing inspector tests.
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set timing):
2010-11-25 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: UI polish for Network and Resources panels.
https://bugs.webkit.org/show_bug.cgi?id=50100
- Fixed timing inconsistencies
- Made grid user-selectable
- Selection in network panel is made on name column only
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype._toggleGridMode):
(WebInspector.NetworkDataGridNode.prototype.createCells):
(WebInspector.NetworkDataGridNode.prototype.select):
(WebInspector.NetworkDataGridNode.prototype.get selectable):
(WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
(WebInspector.NetworkDataGridNode.prototype.refreshGraph):
(WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
* inspector/front-end/Popover.js:
(WebInspector.PopoverHelper):
(WebInspector.PopoverHelper.prototype.setTimeout):
(WebInspector.PopoverHelper.prototype._mouseMove):
(WebInspector.PopoverHelper.prototype._handleMouseAction):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.get responseReceivedTime):
(WebInspector.Resource.prototype.set endTime):
(WebInspector.Resource.prototype.set timing):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.didReceiveResponse):
(WebInspector.ResourceManager.prototype.didFinishLoading):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameResourceTreeElement.prototype._ondragstart):
* inspector/front-end/networkPanel.css:
(.network-sidebar .data-grid td:not(.network-summary)):
(.network-sidebar .data-grid td.name-column):
(.network.panel:not(.viewing-resource) .network-sidebar td.name-column:hover):
(.network-timing-row):
(.network-timing-bar):
(.network-timing-bar-title):
(.resource-timing-view):
2010-11-26 Helder Correia <helder@sencha.com>
Reviewed by Ariya Hidayat.
[Qt] Blur shadow for rectangle fill
https://bugs.webkit.org/show_bug.cgi?id=44488
Shadow color opacity needs to be set when blurring shadow with
ContextShadow.
Test: fast/canvas/canvas-fillRect-shadow.html
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRect):
2010-11-26 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
IndexedDB: Rename IDBDatabase.objectStores to objectStoreNames
https://bugs.webkit.org/show_bug.cgi?id=50102
Rename as per the spec: http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
* manual-tests/indexeddb-persists.html:
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::objectStoreNames):
* storage/IDBDatabase.idl:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::objectStoreNames):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::transaction):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
2010-11-26 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBFactory::open should not have a description argument.
https://bugs.webkit.org/show_bug.cgi?id=50087
Modified exisiting tests to cover this change.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::setMetaData):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
* storage/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::create):
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* storage/IDBFactory.h:
* storage/IDBFactory.idl:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
2010-11-25 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
Assertion failure by resetting <output> twice
https://bugs.webkit.org/show_bug.cgi?id=50095
Don't call setTextContentInternal() when the value wouldn't
be changed.
Test: fast/forms/output-reset-assertion-failed.html
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::HTMLOutputElement): Calls
setTextContentInternal() if and only if needed.
(WebCore::HTMLOutputElement::reset): Ditto.
(WebCore::HTMLOutputElement::setValue): Ditto.
(WebCore::HTMLOutputElement::setDefaultValue): Ditto.
2010-11-24 Ryosuke Niwa <rniwa@webkit.org>
Crash when moving caret around a word with a first-letter rule and whitespace is not collapsible.
https://bugs.webkit.org/show_bug.cgi?id=49652
Fixed the crash by giving the correct end offset to emitText in handleTextNode.
This patch does not fix a bug in TextIterator that incorrectly calculates
the end offset of a word with a first-letter rule as demonstrated in the layout test
because fixing the bug requires an overhaul of TextIterator and new behavior is consistent
with the case when whitespace is collapsible.
Test: editing/text-iterator/first-letter-word-boundary.html
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode):
2010-11-25 Mike Lawther <mikelawther@chromium.org>
Reviewed by Kent Tamura.
Fix typos in CSS grammar (HERZ -> HERTZ)
https://bugs.webkit.org/show_bug.cgi?id=50094
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::lex):
* css/tokenizer.flex:
2010-11-25 Antti Koivisto <antti@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=50078
Simplify CachedResource error handling code by getting rid of the m_httpStatusCodeErrorOccurred boolean.
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
* loader/cache/CachedImage.h:
(WebCore::CachedImage::shouldIgnoreHTTPStatusCodeErrors):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::shouldIgnoreHTTPStatusCodeErrors):
(WebCore::CachedResource::httpStatusCodeErrorOccurred):
* loader/loader.cpp:
(WebCore::Loader::didReceiveData):
2010-11-25 Andreas Kling <kling@webkit.org>
Reviewed by Tor Arne Vestbø.
[Qt] Remove unnecessary save/restore in GraphicsContext::drawConvexPolygon()
https://bugs.webkit.org/show_bug.cgi?id=50085
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawConvexPolygon):
Remember the previous antialiasing mode and reset it after we're done.
2010-11-25 Ben Murdoch <benm@google.com>
Reviewed by Steve Block.
Potential crash in JavaClassV8.cpp
https://bugs.webkit.org/show_bug.cgi?id=50016
It is possible that we attempt to free uninitialised
memory in the JavaClass destrctor when using V8 in the
case that the JVM could not find the class in the constructor.
It turns out that the troublesome m_name is not acutally
used anywhere, so we remove it in this patch.
No new tests, just removing dead code.
* bridge/jni/v8/JavaClassV8.cpp: Remove unused m_name.
* bridge/jni/v8/JavaClassV8.h: Ditto.
2010-11-25 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
IndexedDB: Better errors for not yet implemented features
https://bugs.webkit.org/show_bug.cgi?id=50075
Raise an exception if createObjectStore is called with autoIncrement
set to true.
Be a little bit more explicit in IDBBindingUtilities that we don't
allow using Date objects as keys yet.
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::putInternal):
2010-11-25 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: highlight diffs of revisions against base version.
https://bugs.webkit.org/show_bug.cgi?id=50088
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.show):
(WebInspector.ResourcesPanel.prototype._showResourceView.callback):
(WebInspector.ResourcesPanel.prototype._showResourceView):
(WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
(WebInspector.FrameResourceTreeElement.prototype._contentChanged):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.markDiff):
(WebInspector.SourceFrame.prototype._createViewerIfNeeded):
(WebInspector.SourceFrame.prototype._updateDiffDecorations.addDecorations):
(WebInspector.SourceFrame.prototype._updateDiffDecorations):
(WebInspector.SourceFrame.prototype._removeDiffDecorations):
* inspector/front-end/SourceView.js:
* inspector/front-end/textViewer.css:
(.webkit-line-number):
(.diff-container .webkit-added-line .webkit-line-content):
(.diff-container .webkit-removed-line .webkit-line-content):
(.diff-container .webkit-changed-line .webkit-line-content):
* inspector/front-end/utilities.js:
2010-11-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72732.
http://trac.webkit.org/changeset/72732
https://bugs.webkit.org/show_bug.cgi?id=50089
Made Qt bot sad and crashy (Requested by Ossy on #webkit).
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
* platform/network/qt/QNetworkReplyHandler.h:
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::ResourceHandle::loadResourceSynchronously):
2010-11-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72734.
http://trac.webkit.org/changeset/72734
https://bugs.webkit.org/show_bug.cgi?id=50086
Backing out 72732 which made Qt sad and crashy (Requested by
kling on #webkit).
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously):
2010-11-25 Andreas Kling <kling@webkit.org>
Unreviewed crash fix for Qt 4.6.x.
Check that QNetworkReplyHandler::reply() doesn't return null before
using it (this code needs to work for Qt 4.6 as well.)
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously):
2010-11-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72727.
http://trac.webkit.org/changeset/72727
https://bugs.webkit.org/show_bug.cgi?id=50084
Broke dom-breakpoints test on chromium win (Requested by
podivilov on #webkit).
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setNativeBreakpoint):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::discardBindings):
(WebCore::InspectorDOMAgent::setDOMBreakpoint):
(WebCore::InspectorDOMAgent::removeDOMBreakpoint):
(WebCore::InspectorDOMAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMAgent::removeBreakpointsForNode):
(WebCore::InspectorDOMAgent::createBreakpointId):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.reset):
(WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
(WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
(WebInspector.BreakpointManager.prototype.restoreBreakpoints):
(WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
(WebInspector.DOMBreakpoint):
(WebInspector.DOMBreakpoint.prototype.populateLabelElement):
(WebInspector.EventListenerBreakpoint):
(WebInspector.XHRBreakpoint):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane):
(WebInspector.BreakpointsSidebarPane.prototype.reset):
(WebInspector.EventListenerBreakpointsSidebarPane):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype._setDocument):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.reset):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/inspector.js:
(WebInspector.reset):
(WebInspector.didCommitLoad):
2010-11-25 Peter Hartmann <peter.hartmann@nokia.com>
Reviewed by Andreas Kling.
[Qt] enable usage of synchronous HTTP feature in Qt
https://bugs.webkit.org/show_bug.cgi?id=37191
Currently, we spin an event loop when doing synchronous calls to
wait for completion. This patch uses synchronous requests in Qt,
if available, and spins the event loop as a fallback solution.
Patch by Simon Hausmann and Peter Hartmann.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
* platform/network/qt/QNetworkReplyHandler.h:
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::WebCoreSynchronousLoader::setReplyFinished):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::waitForCompletion):
(WebCore::ResourceHandle::loadResourceSynchronously):
2010-11-25 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
V8 Bindings: remove faulty include in OptionsObject.h
https://bugs.webkit.org/show_bug.cgi?id=50073
There is no <wtf/NonCopyable.h>, and the code doesn't try to use it
either.
No new functionality, no new tests.
* bindings/v8/OptionsObject.h:
2010-11-25 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Hausmann.
Actually handle targetDensityDpi in computeViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=50068
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
2010-11-25 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add an OptionsObject class for IndexedDB (and later Geolocation)
https://bugs.webkit.org/show_bug.cgi?id=50030
Geolocation and IndexedDB both have the concept of an optional
parameter that has various options supplied with it. In
Geolocation this was done with custom bindings, but I'm trying to
avoid that for IndexedDB.
This first patch implements it in V8 and makes createObjectStore use it.
The next patch will cover Geolocation and JSC.
Test: storage/indexeddb/create-object-store-options.html
* WebCore.gypi:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::optionsObject):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_options_object):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj optionsObject:ooo:]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::optionsObjectCallback):
* bindings/v8/OptionsObject.cpp: Added.
(WebCore::OptionsObject::OptionsObject):
(WebCore::OptionsObject::~OptionsObject):
(WebCore::OptionsObject::operator=):
(WebCore::OptionsObject::undefinedOrNull):
(WebCore::OptionsObject::getKeyBool):
(WebCore::OptionsObject::getKeyString):
(WebCore::OptionsObject::getKey):
* bindings/v8/OptionsObject.h:
* bindings/js/OptionsObject.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::createObjectStore):
* storage/IDBDatabase.idl:
2010-11-24 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: set DOM breakpoints by path.
https://bugs.webkit.org/show_bug.cgi?id=50017
This change is needed to be able to push DOM breakpoints for all URL's to backend
at frontend load.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setNativeBreakpoint):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::discardBindings):
(WebCore::InspectorDOMAgent::setDOMBreakpoint):
(WebCore::InspectorDOMAgent::removeDOMBreakpoint):
(WebCore::InspectorDOMAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMAgent::removeBreakpointsForNode):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.reset):
(WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
(WebInspector.BreakpointManager.prototype._updateNativeBreakpointsInSettings):
(WebInspector.BreakpointManager.prototype.restoreBreakpoints):
(WebInspector.DOMBreakpoint):
(WebInspector.DOMBreakpoint.prototype._setNodeId):
(WebInspector.DOMBreakpoint.prototype.populateLabelElement):
(WebInspector.EventListenerBreakpoint):
(WebInspector.XHRBreakpoint):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane):
(WebInspector.BreakpointsSidebarPane.prototype._reset):
(WebInspector.EventListenerBreakpointsSidebarPane):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._reset):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype._setDocument):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.reset):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/inspector.js:
(WebInspector.reset):
(WebInspector.didCommitLoad):
2010-11-25 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: reuse code for recreating resource views.
https://bugs.webkit.org/show_bug.cgi?id=50066
* inspector/front-end/NetworkItemView.js:
(WebInspector.NetworkItemView):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype.refreshResource):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.resourceViewTypeMatchesResource):
(WebInspector.ResourceManager.resourceViewForResource):
(WebInspector.ResourceManager.recreateResourceView):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameResourceTreeElement.prototype._contentChanged):
2010-11-25 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
IndexedDB: Disallow inserting records with NULL keys
https://bugs.webkit.org/show_bug.cgi?id=50033
Disallow inserting records with null keys into the object store.
* storage/IDBKey.h:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::putInternal):
2010-11-25 Philippe Normand <pnormand@igalia.com>
Rubber-stamped by Xan Lopez.
g_signal_accumulator_first_wins was introduced in glib 2.27.1 so
no need to use our version if that version of glib is used during
the build.
* platform/gtk/GtkVersioning.c:
* platform/gtk/GtkVersioning.h:
2010-11-24 Jian Li <jianli@chromium.org>
Reviewed by Kenneth Russell.
Implement DataView interface from Typed Array specification
https://bugs.webkit.org/show_bug.cgi?id=46541
Test: fast/canvas/webgl/data-view-test.html
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::dataViewEnabled):
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::constructArrayBufferViewWithArrayBufferArgument):
(WebCore::constructArrayBufferView):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::dataView):
* bindings/js/JSDataViewCustom.cpp: Added.
* bindings/js/JSFloat32ArrayCustom.cpp:
(WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
* bindings/js/JSInt16ArrayCustom.cpp:
(WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
* bindings/js/JSInt32ArrayCustom.cpp:
(WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
* bindings/js/JSInt8ArrayCustom.cpp:
(WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
* bindings/js/JSUint16ArrayCustom.cpp:
(WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
* bindings/js/JSUint32ArrayCustom.cpp:
(WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
* bindings/js/JSUint8ArrayCustom.cpp:
(WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore::constructWebGLArrayWithArrayBufferArgument):
(WebCore::constructWebGLArray):
* bindings/v8/custom/V8DataViewCustom.cpp: Added.
* html/canvas/ArrayBufferView.h:
(WebCore::ArrayBufferView::isDataView):
* html/canvas/DataView.cpp: Added.
* html/canvas/DataView.h: Added.
* html/canvas/DataView.idl: Added.
* page/DOMWindow.idl:
2010-11-24 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Reviewed by Martin Robinson.
[GTK] Windowless plugins gets broken key input
https://bugs.webkit.org/show_bug.cgi?id=49927
When converting the GdkEvent to XEvent we need to send the
hardware_keycode as XEvent::keycode. Instead we where sending
the GdkEvent::keyval. This is already tested by
plugins/keyboard-events.html, but a bug in the test plugin was
resulting in false positive.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::handleKeyboardEvent):
2010-11-24 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Implement FileWriterSync
https://bugs.webkit.org/show_bug.cgi?id=49939
Tests to follow in a separate CL, once the test framework in 47680 goes in.
Build file changes to add FileWriterBase and FileWriterBaseCallback.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
FileWriterSync doesn't turn out to need to be an ActiveDOMObject.
* bindings/scripts/CodeGeneratorV8.pm:
Added new AsyncFileWriter::waitForOperationToComplete to enable
synchronous calls.
* fileapi/AsyncFileWriter.h:
Added a way to get a FileSystemSync.
* fileapi/DOMFileSystemSync.cpp:
* fileapi/FileEntrySync.cpp:
* fileapi/FileEntrySync.h:
* fileapi/FileEntrySync.idl:
Added an error code for OK, rather than just having 0 everywhere.
* fileapi/FileError.h:
Turned FileWriterCallback into FileWriterBaseCallback.
* fileapi/FileSystemCallbacks.cpp:
* fileapi/FileSystemCallbacks.h:
Refactored out a common base class, FileWriterBase, for FileWriter and
FileWriterSync.
* fileapi/FileWriter.cpp:
* fileapi/FileWriter.h:
* fileapi/FileWriterBase.cpp: Added.
* fileapi/FileWriterBase.h: Added.
* fileapi/FileWriterBaseCallback.h: Added.
* fileapi/FileWriterSync.cpp:
* fileapi/FileWriterSync.h:
Small tweaks to deal with the base class refactoring.
* fileapi/DOMFileSystem.cpp:
* fileapi/DOMFileSystemSync.h:
Removed "CallWith=ScriptExecutionContext", as FileWriterSync doesn't actually need it.
* fileapi/FileWriterSync.idl:
2010-11-24 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
Build fix for GTK+. There were some typos in my last build fix
and the empty command (semicolon) seems to be necessary for wildcard
rule chains.
* GNUmakefile.am: Small build fixes.
2010-11-24 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Compositor needs to manage its VRAM use
https://bugs.webkit.org/show_bug.cgi?id=49629
This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
RenderSurfaceChromium to use managed LayerTexture. The other *LayerChromium classes (Canvas,
Video, and WebGL) and the root layer are still unmanaged.
The TextureManager works by providing tokens to callers that want to use a managed texture.
The token can be used to request a texture, see if the previously requested texture is still
available, and to protect/unprotect textures when they cannot be collected. Whenever a
texture is created the manager attempts to free up the least recently used textures until the
total memory use is below the provided threshhold. If the manager cannot satisfy the memory
limit it will not return any new textures until some old textures are released.
A LayerTexture wraps a TextureManager token, size, and format. A LayerChromium can check if a
previously requested texture is still available for use and reserve the LayerTexture's underlying
storage between the updateContentsIfDirty() and the draw() call.
Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
updateContentsIfDirty().
Tests: compositing/lots-of-img-layers-with-opacity.html
compositing/lots-of-img-layers.html
* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::cleanupResources):
(WebCore::ContentLayerChromium::updateContentsIfDirty):
(WebCore::ContentLayerChromium::updateTextureRect):
(WebCore::ContentLayerChromium::draw):
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateContentsIfDirty):
(WebCore::LayerChromium::draw):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::updateLayersRecursive):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::renderSurfaceSharedValues):
(WebCore::LayerRendererChromium::textureManager):
* platform/graphics/chromium/LayerTexture.cpp: Added.
(WebCore::LayerTexture::LayerTexture):
(WebCore::LayerTexture::~LayerTexture):
(WebCore::LayerTexture::isValid):
(WebCore::LayerTexture::reserve):
(WebCore::LayerTexture::unreserve):
(WebCore::LayerTexture::bindTexture):
(WebCore::LayerTexture::framebufferTexture2D):
* platform/graphics/chromium/LayerTexture.h: Added.
(WebCore::LayerTexture::create):
* platform/graphics/chromium/PluginLayerChromium.cpp:
(WebCore::PluginLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/PluginLayerChromium.h:
* platform/graphics/chromium/RenderSurfaceChromium.cpp:
(WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
(WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
(WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
(WebCore::RenderSurfaceChromium::cleanupResources):
(WebCore::RenderSurfaceChromium::prepareContentsTexture):
(WebCore::RenderSurfaceChromium::draw):
* platform/graphics/chromium/RenderSurfaceChromium.h:
(WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
(WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
(WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
(WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
(WebCore::RenderSurfaceChromium::SharedValues::initialized):
* platform/graphics/chromium/TextureManager.cpp: Added.
(WebCore::memoryUseBytes):
(WebCore::TextureManager::TextureManager):
(WebCore::TextureManager::getToken):
(WebCore::TextureManager::releaseToken):
(WebCore::TextureManager::hasTexture):
(WebCore::TextureManager::protectTexture):
(WebCore::TextureManager::unprotectTexture):
(WebCore::TextureManager::reduceMemoryToLimit):
(WebCore::TextureManager::addTexture):
(WebCore::TextureManager::removeTexture):
(WebCore::TextureManager::requestTexture):
* platform/graphics/chromium/TextureManager.h: Added.
(WebCore::TextureManager::create):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateContentsIfDirty):
* platform/graphics/chromium/WebGLLayerChromium.h:
2010-11-24 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Reviewed by Martin Robinson.
[GTK] response.isNull() assert when using directory file URI
https://bugs.webkit.org/show_bug.cgi?id=49018
Do ensure that didReceiveResponse happens before any call to
didReceiveData. That was not true for file:// URIs pointing to
directories and thus was triggering an assertion.
Test: platform/gtk/fast/loader/crash-display-local-directory.html
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::gotHeadersCallback):
(WebCore::contentSniffedCallback):
(WebCore::parseDataUrl):
(WebCore::sendRequestCallback):
(WebCore::readCallback):
2010-11-24 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
* bindings/gobject/WebKitDOMBinding.h: fix stlye nit.
2010-11-24 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Make kit() methods return the proper type instead of gpointer
https://bugs.webkit.org/show_bug.cgi?id=50034
Change kit() methods to return proper type pointer.
* bindings/gobject/WebKitDOMBinding.cpp: change implementions of
kit methods.
* bindings/gobject/WebKitDOMBinding.h: change their declarations.
* bindings/scripts/CodeGeneratorGObject.pm: change the generated
kit() methods.
2010-11-24 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] DerivedSources/WebCore/DocTypeStrings.cpp is generated for every build
https://bugs.webkit.org/show_bug.cgi?id=50032
Instead of listing two targets for rules that have two outputs, make
a dependency chain. This fixes the issue where some files are generated
unconditionally. Also remove all unnecessary semicolons from the file.
No new tests as this is just a build fix.
* GNUmakefile.am: Fix GNUmake dependency issue.
2010-11-24 Nico Weber <nicolasweber@gmx.de>
Reviewed by Adam Barth.
Chromium/Mac: Make scaled images un-ugly when using the webkit image decoders
https://bugs.webkit.org/show_bug.cgi?id=49965
Probably covered by existing tests whose expectations were overwritten
in http://trac.webkit.org/changeset/70858
* platform/image-decoders/cg/ImageDecoderCG.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
2010-11-24 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Crash when inspecting http://alphaarnhem.nl/beta/
https://bugs.webkit.org/show_bug.cgi?id=50025
@font-face rules were improperly handled by source data extractor.
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::markRuleBodyStart):
(WebCore::CSSParser::markPropertyStart):
(WebCore::CSSParser::markPropertyEnd):
* css/CSSParser.h:
2010-11-24 Cris Neckar <cdn@chromium.org>
Reviewed by Adam Barth.
Added check when parsing local fonts to ensure that a value's unit type is either string or ident.
https://bugs.webkit.org/show_bug.cgi?id=49883
Test: fast/css/local_font_invalid.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceSrc):
2010-11-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: place local modifications to under original
resource nodes in the resource panel.
https://bugs.webkit.org/show_bug.cgi?id=50029
* English.lproj/localizedStrings.js:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setInitialContent):
* inspector/InspectorResourceAgent.h:
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.setRuleSelector):
(WebInspector.CSSStyleModel.prototype.addRule):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged):
(WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
(WebInspector.CSSProperty.prototype.setText):
(WebInspector.CSSProperty.prototype.setDisabled.callback):
(WebInspector.CSSProperty.prototype.setDisabled):
(WebInspector.CSSStyleSheet.prototype.setText):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype.refreshResource):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set content):
(WebInspector.Resource.prototype.get contentTimestamp):
(WebInspector.Resource.prototype.setInitialContent):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager):
(WebInspector.ResourceManager.prototype.setInitialContent):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype._innerShowView):
(WebInspector.FrameResourceTreeElement):
(WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
(WebInspector.FrameResourceTreeElement.prototype._contentChanged.else.finished):
(WebInspector.FrameResourceTreeElement.prototype._contentChanged):
(WebInspector.ResourceRevisionTreeElement):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.get scrollTop):
(WebInspector.SourceFrame.prototype.set scrollTop):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.get scrollTop):
(WebInspector.SourceView.prototype.set scrollTop):
(WebInspector.SourceView.prototype._editLine):
(WebInspector.SourceView.prototype._editLineComplete):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
2010-11-24 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: extension API cleanup
https://bugs.webkit.org/show_bug.cgi?id=50019
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
(WebInspector.ElementsPanel):
* inspector/front-end/ExtensionAPI.js: See bug for summary of extension API changes.
(WebInspector.injectedExtensionAPI.Resources.resourceDispatch):
(WebInspector.injectedExtensionAPI):
(WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
(WebInspector.injectedExtensionAPI.ResourceImpl.prototype.getContent):
(WebInspector.injectedExtensionAPI.Panels.prototype.create):
(WebInspector.injectedExtensionAPI.PanelImpl):
(WebInspector.injectedExtensionAPI.PanelWithSidebarImpl):
(WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
(WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createWatchExpressionSidebarPane):
(WebInspector.injectedExtensionAPI.ElementsPanel):
(WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
(WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
(WebInspector.injectedExtensionAPI.AuditCategoryImpl.auditResultDispatch):
(WebInspector.injectedExtensionAPI.AuditCategoryImpl):
(WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
(WebInspector.injectedExtensionAPI.InspectedWindow):
(WebInspector.injectedExtensionAPI.InspectedWindow.prototype.eval):
* inspector/front-end/ExtensionCommon.js:
(WebInspector.commonExtensionSymbols):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype.notifyObjectSelected):
(WebInspector.ExtensionServer.prototype.notifyResourceFinished):
(WebInspector.ExtensionServer.prototype.notifyPageLoaded):
(WebInspector.ExtensionServer.prototype.notifyPageDOMContentLoaded):
(WebInspector.ExtensionServer.prototype._onCreatePanel):
(WebInspector.ExtensionServer.prototype._onReload):
(WebInspector.ExtensionServer.prototype._onGetHAR):
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
(WebInspector.ExtensionServer.prototype._onAddAuditCategory):
(WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
* inspector/front-end/HAREntry.js:
(WebInspector.HARLog):
(WebInspector.HARLog.prototype.build):
(WebInspector.HARLog.prototype._convertResource):
* inspector/front-end/inspector.js:
(WebInspector.domContentEventFired):
(WebInspector.loadEventFired):
(WebInspector.didCommitLoad):
2010-11-23 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Fix minor errors in IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=49970
* Remove SNAPSHOT_READ per spec.
* Assert that the transaction that changes the db is a setVersion
transaction.
* When an objectStore already exists, throw a CONSTRAINT_ERR.
* When not in a setVersion transaction, throw a NOT_ALLOWED_ERR.
Test: storage/indexeddb/createAndRemoveObjectStore.html
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
* storage/IDBTransaction.h:
* storage/IDBTransaction.idl:
2010-11-24 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GStreamer] pause webkitvideosink during fullscreen video playback
https://bugs.webkit.org/show_bug.cgi?id=48824
Added an identity element before the webkitvideosink so that when
fullscreen video is active the element can drop the incoming
buffers so that webkitvideosink appears paused.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2010-11-24 Avi Drissman <avi@google.com>
Reviewed by Antonio Gomes.
Add preference to not select when right-clicked
https://bugs.webkit.org/show_bug.cgi?id=23351
Test: editing/selection/context-menu-text-selection.html
* editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEvent):
2010-11-24 Andras Becsi <abecsi@inf.u-szeged.hu>
Reviewed by Csaba Osztrogonác.
Make build-webkit --minimal build with ENABLE_INSPECTOR=0.
https://bugs.webkit.org/show_bug.cgi?id=49975
No new tests needed.
* features.pri: Make the Qt buildsystem aware
that the inspector is enabled by default.
2010-11-24 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient
https://bugs.webkit.org/show_bug.cgi?id=49143
* platform/gtk/GtkVersioning.c:
(g_signal_accumulator_first_wins): Add g_signal_accumulator_first_wins for versions of
GLib before 2.28.
* platform/gtk/GtkVersioning.h:
2010-11-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72499.
http://trac.webkit.org/changeset/72499
https://bugs.webkit.org/show_bug.cgi?id=50022
This change is causing crashes on the bots. (Requested by
mrobinson on #webkit).
* accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::nameForMSAA):
* accessibility/AccessibilityMenuListOption.h:
* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(setAtkStateSetFromCoreObject):
(optionFromList):
(optionFromSelection):
(webkit_accessible_selection_add_selection):
(webkit_accessible_selection_clear_selection):
(webkit_accessible_selection_get_selection_count):
(webkit_accessible_selection_is_child_selected):
(webkit_accessible_selection_remove_selection):
(webkit_accessible_text_get_text):
(getInterfaceMaskFromObject):
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::show):
2010-11-24 Patrick Gansterer <paroga@webkit.org>
Reviewed by Csaba Osztrogonác.
Simplify makeprop.pl
https://bugs.webkit.org/show_bug.cgi?id=49925
Don't generate CSSPropertyNamesHash.h.
Instead generate CSSPropertyNames directly.
* GNUmakefile.am: Removed rule for CSSPropertyNamesHash.h.
* css/makeprop.pl:
2010-11-24 Patrick Gansterer <paroga@webkit.org>
Reviewed by Csaba Osztrogonác.
Remove Bakefile build system files
https://bugs.webkit.org/show_bug.cgi?id=49983
r53757 only removed the content, but not the files.
This patch removes that empty files.
* WebCoreSources.bkl: Removed.
* webcore-base.bkl: Removed.
* webcore-wx.bkl: Removed.
2010-11-24 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Andreas Kling.
[Qt] GraphicsContext: Clean up Qt/WebCore type conversion functions
https://bugs.webkit.org/show_bug.cgi?id=49919
Add ASSERT_NOT_REACHED() if the given WebCore type doesn't have an equivalent type in Qt.
Also change the return value of toQtLineJoin() from Qt::MiterJoin to the default Qt::SvgMiterJoin,
because the previous one doesn't work currently.
No new test is needed.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::toQtCompositionMode):
(WebCore::toQtLineCap):
(WebCore::toQtLineJoin):
(WebCore::toQPenStyle):
(WebCore::toQtFillRule):
2010-11-24 Patrick Gansterer <paroga@webkit.org>
Reviewed by Csaba Osztrogonác.
Simplify makevalues.pl
https://bugs.webkit.org/show_bug.cgi?id=49926
Don't generate CSSValueKeywordsHash.h.
Instead generate CSSValueKeywords.cpp directly.
* GNUmakefile.am: Removed rule for CSSValueKeywordsHash.h.
* css/makevalues.pl:
2010-11-24 Andras Becsi <abecsi@inf.u-szeged.hu>
Reviewed by Kenneth Rohde Christiansen.
Make WebKit2 compile with !ENABLE(INSPECTOR).
https://bugs.webkit.org/show_bug.cgi?id=49973
No new tests needed.
* bindings/js/ScriptHeapSnapshot.h:
* bindings/js/ScriptProfile.cpp:
* bindings/js/ScriptProfile.h:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorProfilerAgent.cpp:
* inspector/InspectorProfilerAgent.h:
* inspector/ScriptBreakpoint.h:
2010-11-24 Patrick Gansterer <paroga@webkit.org>
Reviewed by Csaba Osztrogonác.
Simplify make-hash-tools.pl
https://bugs.webkit.org/show_bug.cgi?id=49922
HashTools.h does not need to be generated, because it only contains static code.
* html/DocTypeStrings.gperf: Include findDoctypeEntry function.
* make-hash-tools.pl: Do not generate HashTools.h.
* platform/ColorData.gperf: Include findColor function.
* platform/HashTools.h: Added.
2010-11-24 Andreas Kling <kling@webkit.org>
Reviewed by Simon Hausmann.
[Qt] Pass Qt::TextBypassShaping flag when calculating shadow layer rects
Without this, we could end up with a slightly too small shadow layer
for some string/font combinations.
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon):
2010-11-22 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add timing tab to the network item view.
https://bugs.webkit.org/show_bug.cgi?id=49920
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/NetworkItemView.js:
(WebInspector.NetworkItemView):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._showPopover):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set timing):
* inspector/front-end/ResourceTimingView.js: Added.
(WebInspector.ResourceTimingView):
(WebInspector.ResourceTimingView.prototype.show):
(WebInspector.ResourceTimingView.prototype._refresh):
(WebInspector.ResourceTimingView.createTimingTable):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/networkPanel.css:
(#network-views .network-item-view .tabbed-pane-header):
(.resource-timing-view):
(.resource-timing-view table):
(.resource-timing-view .network-timing-bar):
(.resource-timing-view .network-timing-bar.proxy):
(.resource-timing-view .network-timing-bar.dns):
(.resource-timing-view .network-timing-bar.connecting):
(.resource-timing-view .network-timing-bar.ssl):
(.resource-timing-view .network-timing-bar.sending):
(.resource-timing-view .network-timing-bar.waiting):
(.resource-timing-view .network-timing-bar.receiving):
(.resource-timing-view.visible):
2010-11-24 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Follow up to r72652 (style id change in inspector).
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
2010-11-22 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: refactor ResourceView hierarchy.
https://bugs.webkit.org/show_bug.cgi?id=49864
This refactoring splits ResourceView.js into:
NetworkItemView.js (tabbed pane)
ResourceHeadersView.js (header tab)
ResourceCookiesView.js (cookies tab)
ResourceView.js (base class for content tab).
CookiesTable was extracted from CookieItemsView and
brushed up. headersVisible flag has been removed.
* English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView):
(WebInspector.CookieItemsView.prototype.get statusBarItems):
(WebInspector.CookieItemsView.prototype.hide):
(WebInspector.CookieItemsView.prototype.resize):
(WebInspector.CookieItemsView.prototype._updateWithCookies):
(WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
(WebInspector.CookieItemsView.prototype._deleteCookie):
(WebInspector.CookieItemsView.prototype._deleteButtonClicked):
(WebInspector.CookieItemsView.prototype._refreshButtonClicked):
(WebInspector.SimpleCookiesTable):
(WebInspector.SimpleCookiesTable.prototype.setCookies):
(WebInspector.SimpleCookiesTable.prototype.resize):
* inspector/front-end/CookiesTable.js: Added.
(WebInspector.CookiesTable):
(WebInspector.CookiesTable.prototype.updateWidths):
(WebInspector.CookiesTable.prototype.setCookies):
(WebInspector.CookiesTable.prototype.addCookiesFolder):
(WebInspector.CookiesTable.prototype.get selectedCookie):
(WebInspector.CookiesTable.prototype._rebuildTable):
(WebInspector.CookiesTable.prototype.reset):
(WebInspector.CookiesTable.prototype._populateNode):
(WebInspector.CookiesTable.prototype._totalSize):
(WebInspector.CookiesTable.prototype._sortCookies.localeCompare):
(WebInspector.CookiesTable.prototype._sortCookies.numberCompare):
(WebInspector.CookiesTable.prototype._sortCookies.expiresCompare):
(WebInspector.CookiesTable.prototype._sortCookies):
(WebInspector.CookiesTable.prototype._createGridNode):
(WebInspector.CookiesTable.prototype._onDeleteFromGrid):
* inspector/front-end/FileSystemView.js:
(WebInspector.FileSystemView.prototype._selectFileSystemTab):
(WebInspector.FileSystemView.prototype.selectTemporaryFileSystemTab):
* inspector/front-end/FontView.js:
(WebInspector.FontView.prototype.hasContent):
(WebInspector.FontView.prototype._createContentIfNeeded):
(WebInspector.FontView.prototype.show):
(WebInspector.FontView.prototype.updateFontPreviewSize):
* inspector/front-end/ImageView.js:
(WebInspector.ImageView.prototype.hasContent):
(WebInspector.ImageView.prototype.show):
* inspector/front-end/NetworkItemView.js: Added.
(WebInspector.NetworkItemView):
(WebInspector.NetworkItemView.prototype.show):
(WebInspector.NetworkItemView.prototype._selectTab):
(WebInspector.NetworkItemView.prototype._tabSelected):
(WebInspector.NetworkItemView.prototype.resize):
(WebInspector.NetworkItemView.prototype.selectContentTab):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype.show):
(WebInspector.NetworkPanel.prototype.refreshResource):
(WebInspector.NetworkPanel.prototype._showResource):
(WebInspector.NetworkPanel.prototype._closeVisibleResource):
* inspector/front-end/ResourceCookiesView.js: Added.
(WebInspector.ResourceCookiesView):
(WebInspector.ResourceCookiesView.prototype.show):
* inspector/front-end/ResourceHeadersView.js: Added.
(WebInspector.ResourceHeadersView):
(WebInspector.ResourceHeadersView.prototype._refreshURL):
(WebInspector.ResourceHeadersView.prototype._refreshQueryString):
(WebInspector.ResourceHeadersView.prototype._refreshFormData):
(WebInspector.ResourceHeadersView.prototype._refreshRequestPayload):
(WebInspector.ResourceHeadersView.prototype._refreshParms):
(WebInspector.ResourceHeadersView.prototype._toggleURLdecoding):
(WebInspector.ResourceHeadersView.prototype._getHeaderValue):
(WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
(WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
(WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
(WebInspector.ResourceHeadersView.prototype._refreshHeaders):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
(WebInspector.ResourceView.prototype.hasContent):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.show):
(WebInspector.ResourcesPanel.prototype.showResource):
(WebInspector.ResourcesPanel.prototype._showResourceView):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.show):
(WebInspector.ScriptsPanel.prototype._showScriptOrResource):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView):
(WebInspector.SourceView.prototype.show):
(WebInspector.SourceView.prototype.hide):
(WebInspector.SourceView.prototype.resize):
(WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
(WebInspector.SourceView.prototype.hasContent):
(WebInspector.SourceView.prototype.updateLocalContent):
(WebInspector.SourceView.prototype.selectLocalContentTab):
* inspector/front-end/StylesSidebarPane.js:
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane):
(WebInspector.TabbedPane.prototype.appendTab):
(WebInspector.TabbedPane.prototype.selectTab):
(WebInspector.TabbedPane.prototype._showTab):
(WebInspector.TabbedPane.prototype._hideTab):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.webkit-line-gutter-backdrop):
(.resource-view):
(.resource-view.visible):
(.resource-view.font):
(.resource-view.image > .image):
(.resource-view.image > .info):
(.storage-view):
(.storage-view .data-grid):
(.storage-empty-view, .storage-view .storage-table-error):
(.storage-view .storage-table-error):
* inspector/front-end/inspector.html:
* inspector/front-end/networkPanel.css:
(.network-cell-subtitle):
(.network-header-subtitle):
(#network-views .network-item-view .tabbed-pane-header):
(#network-views.small .network-item-view .tabbed-pane-header):
(.network-item-view):
(.network-item-view.visible):
(.network-item-view .tabbed-pane-header):
(.network-item-view .scope-bar li):
(.resource-headers-view):
(.resource-headers-view.visible):
(.resource-headers-view .outline-disclosure .parent):
(.resource-headers-view .outline-disclosure .children li):
(.resource-headers-view .outline-disclosure li.expanded .header-count):
(.resource-headers-view .outline-disclosure .header-name):
(.resource-headers-view .outline-disclosure .header-value):
(.resource-headers-view .outline-disclosure .raw-form-data):
(.resource-cookies-view):
(.resource-cookies-view.visible):
(.resource-cookies-view .data-grid):
(.resource-cookies-view .data-grid .row-group):
2010-11-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add "Locally modified" group into the resource panel.
https://bugs.webkit.org/show_bug.cgi?id=50005
* English.lproj/localizedStrings.js:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype.addLocallyModifiedRevision):
(WebInspector.ResourcesPanel.prototype._innerShowView):
(WebInspector.BaseStorageTreeElement.prototype.set titleText):
(WebInspector.LocallyModifiedResourceTreeElement):
(WebInspector.LocallyModifiedResourceTreeElement.prototype.onselect):
(WebInspector.LocallyModifiedResourceTreeElement.prototype.gcRevisions):
(WebInspector.LocallyModifiedRevisionTreeElement):
(WebInspector.LocallyModifiedRevisionTreeElement.prototype.onattach):
(WebInspector.LocallyModifiedRevisionTreeElement.prototype.onselect):
(WebInspector.LocallyModifiedRevisionTreeElement.prototype._ondragstart):
2010-11-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: pass style id to front-end as Object, not string.
https://bugs.webkit.org/show_bug.cgi?id=49971
* inspector/Inspector.idl:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getStylesForNode2):
(WebCore::InspectorCSSAgent::getStyleSheetText2):
(WebCore::InspectorCSSAgent::setPropertyText2):
(WebCore::InspectorCSSAgent::toggleProperty2):
(WebCore::InspectorCSSAgent::setRuleSelector2):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyleSheet::finalURL):
(WebCore::InspectorStyleSheet::ruleForId):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::text):
(WebCore::InspectorStyleSheet::ruleOrStyleId):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::text):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorCSSId::isEmpty):
(WebCore::InspectorCSSId::styleSheetId):
(WebCore::InspectorCSSId::ordinal):
(WebCore::InspectorCSSId::asInspectorValue):
(WebCore::InspectorStyleSheet::id):
(WebCore::InspectorStyleSheetForInlineStyle::styleForId):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.setRuleSelector):
(WebInspector.CSSStyleModel.prototype.addRule):
(WebInspector.CSSStyleModel.prototype._styleSheetChanged):
(WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
(WebInspector.CSSProperty.prototype.setText):
(WebInspector.CSSProperty.prototype.setDisabled.callback):
(WebInspector.CSSProperty.prototype.setDisabled):
(WebInspector.CSSStyleSheet.createForId):
(WebInspector.CSSStyleSheet.prototype.setText):
2010-11-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72647.
http://trac.webkit.org/changeset/72647
https://bugs.webkit.org/show_bug.cgi?id=50009
breaks the http layout tests (Requested by philn-tp on
#webkit).
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
(WebCore::startHttp):
(WebCore::ResourceHandle::platformSetDefersLoading):
2010-11-23 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[soup] implement ResourceHandle::platformSetDefersLoading
https://bugs.webkit.org/show_bug.cgi?id=44158
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::platformSetDefersLoading): Implemented
using the soup_session_{,un}pause_message APIs.
2010-11-22 Abhishek Arya <inferno@chromium.org>
Reviewed by Adam Barth.
r71925 broke the chrome new tab page. r71925 blocked drag and drop
of same security origin objects onto themselves if their origin is
marked unique. We need to allow drag and drop in that scenario.
https://bugs.webkit.org/show_bug.cgi?id=49098
Test: http/tests/security/drag-drop-same-unique-origin.html
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canReceiveDragData):
2010-11-23 Cris Neckar <cdn@chromium.org>
Reviewed by Dimitri Glazkov.
Removed unneeded conversions to RenderBlock.
https://bugs.webkit.org/show_bug.cgi?id=49896
Test: fast/css/input-search-table-column-crash.html
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
2010-11-23 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Adam Barth.
XMLDocumentParser::notifyFinished calls ScriptController's executeScript without updating isEvaluated flag
https://bugs.webkit.org/show_bug.cgi?id=49701
Fixed the bug by calling ScriptElement's executeScript, which sets isEvaluated flag to true.
Test: fast/dom/script-clone-rerun-src.xhtml
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::notifyFinished):
2010-11-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72628.
http://trac.webkit.org/changeset/72628
https://bugs.webkit.org/show_bug.cgi?id=49994
This patch is causing layout-test failtures on GTK Linux
64-bit Debug (Requested by ctguil on #webkit).
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderParentObject):
(WebCore::AccessibilityRenderObject::addChildren):
* accessibility/AccessibilityRenderObject.h:
* accessibility/chromium/AccessibilityObjectChromium.cpp:
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2010-11-23 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Fix IFrame DOM bindings API
https://bugs.webkit.org/show_bug.cgi?id=49980
Fix IFrame API naming. It needs special casing because of the two
consecutive capital letters.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-11-23 Shimeng (Simon) Wang <swang@google.com>
Reviewed by Steve Block.
Use platform bridge to set scroll position.
https://bugs.webkit.org/show_bug.cgi?id=49550
Refactoring only. Existing tests shall suffice.
* platform/android/PlatformBridge.h:
* platform/android/ScrollViewAndroid.cpp:
(WebCore::ScrollView::platformSetScrollPosition):
2010-11-23 Andreas Kling <kling@webkit.org>
Reviewed by Tor Arne Vestbø.
[Qt] Selecting shadowed text causes rendering artifacts
https://bugs.webkit.org/show_bug.cgi?id=49990
When selecting text starting from the end of a word, we need to use
the X coordinate of the start of the substring when calculating the
bounding rect for a ContextShadow.
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon):
2010-11-23 Chris Guillory <chris.guillory@google.com>
Reviewed by Dimitri Glazkov.
Include the FrameView widget of a RenderWidget in the accessibility tree.
https://bugs.webkit.org/show_bug.cgi?id=49106
Include render widget children in the accessibility tree for not mac webkit ports.
Test: accessibility/iframe-has-document.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderParentObject):
(WebCore::AccessibilityRenderObject::addChildren):
(WebCore::AccessibilityRenderObject::addRenderWidgetChildren):
* accessibility/AccessibilityRenderObject.h:
* accessibility/chromium/AccessibilityObjectChromium.cpp:
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2010-11-23 Chris Rogers <crogers@google.com>
Reviewed by Alexey Proskuryakov.
Add .responseType and .response to XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=49633
Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-abort.html
fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer.html
fast/xmlhttprequest/xmlhttprequest-responsetype-document.html
fast/xmlhttprequest/xmlhttprequest-responsetype-text.html
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::markChildren):
(WebCore::JSXMLHttpRequest::open):
(WebCore::JSXMLHttpRequest::response):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::responseAccessorGetter):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::responseText):
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::responseBlob):
(WebCore::XMLHttpRequest::responseArrayBuffer):
(WebCore::XMLHttpRequest::setResponseType):
(WebCore::XMLHttpRequest::responseType):
(WebCore::XMLHttpRequest::setAsBlob):
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::clearResponse):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReceiveData):
* xml/XMLHttpRequest.h:
(WebCore::XMLHttpRequest::asBlob):
(WebCore::XMLHttpRequest::optionalResponseXML):
(WebCore::XMLHttpRequest::optionalResponseBlob):
(WebCore::XMLHttpRequest::responseTypeCode):
(WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
* xml/XMLHttpRequest.idl:
2010-11-23 Abhishek Arya <inferno@chromium.org>
Reviewed by Adam Barth.
dispatchEvent call in EventSource endRequest can lead to calling endRequest
again which frees up the pending activity. Make sure we have request in flight
to prevent that from happening.
https://bugs.webkit.org/show_bug.cgi?id=49448
Test: http/tests/eventsource/eventsource-status-error-iframe-crash.html
* page/EventSource.cpp:
(WebCore::EventSource::endRequest):
(WebCore::EventSource::close):
2010-11-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72618.
http://trac.webkit.org/changeset/72618
https://bugs.webkit.org/show_bug.cgi?id=49987
"Newly added test is failing on Chromium-linux, patch author
said to rollout" (Requested by jparent on #webkit).
* editing/EditingBehavior.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEvent):
2010-11-23 Avi Drissman <avi@google.com>
Reviewed by Antonio Gomes.
Add preference to not select when right-clicked
https://bugs.webkit.org/show_bug.cgi?id=23351
Test: editing/selection/context-menu-text-selection.html
* editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEvent):
2010-11-23 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [STYLES] invalid color values are not marked as such.
https://bugs.webkit.org/show_bug.cgi?id=49960
Properties having a valid structure but invalid values will also
be marked as non-parsedOk in the Styles pane.
* css/CSSGrammar.y:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::populateObjectWithStyleProperties):
2010-11-23 Adam Bergkvist <adam.bergkvist@ericsson.com>
Reviewed by Martin Robinson.
[GTK] Building with Blob support fails
https://bugs.webkit.org/show_bug.cgi?id=49724
Build fix.
* GNUmakefile.am:
* platform/gtk/FileSystemGtk.cpp:
(WebCore::seekFile): Not implemented.
2010-11-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Andreas Kling.
Make setShouldDelegateScrolling not a real setting, so that it works
similar to the related setUseFixedLayout and setPaintEntireContents
options which are all in ScrollView.
* page/FrameView.cpp:
* page/FrameView.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::ScrollView):
(WebCore::ScrollView::setDelegatesScrolling):
* platform/ScrollView.h:
(WebCore::ScrollView::delegatesScrolling):
2010-11-23 Adam Roben <aroben@apple.com>
Don't rely on DocumentLoader outliving the load/unload events
DocumentLoader::m_documentLoadTiming is used to record how long firing
the load event took. But the DocumentLoader was being destroyed while
the event was being dispatched (due to a call to document.open), which
meant that when we tried to record the time when the load event
finished, we were writing into freed memory. We now protect the
DocumentLoader using a RefPtr. (I initially made a change where we
would only access the DocumentLoader after the event has finished
firing, but it seemed possible that a different DocumentLoader could
have come into existence by then, which would cause us to record the
times on the wrong DocumentLoadTiming struct.)
I only saw a crash when firing the load event, but the code for timing
the unload event seemed like it was vulnerable to the same issue, so I
made the same fix for it.
Fixes <http://webkit.org/b/49972> REGRESSION (r72415?): Crash in
DOMWindow::dispatchTimedEvent when running fast/dom/onload-open.html
Reviewed by Darin Fisher.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent):
Protect the DocumentLoader (and thus its DocumentLoadTiming) with a
RefPtr.
2010-11-17 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
readPixels should generate INVALID_ENUM if only one of type/format mismatch UNSIGNED_BYTE/RGBA
https://bugs.webkit.org/show_bug.cgi?id=49673
Test: fast/canvas/webgl/read-pixels-test.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::readPixels):
2010-11-23 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [STYLES] Use strike through as an 'overridden' marker.
https://bugs.webkit.org/show_bug.cgi?id=49961
"line-through" is used for inactive properties overridden within the same style.
* inspector/front-end/inspector.css:
(.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled):
2010-11-23 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
Spatial Navigation: Code cleanup
https://bugs.webkit.org/show_bug.cgi?id=49442
Remove code that is not used anymore after http://trac.webkit.org/changeset/72522.
Added const to canBeScrolledIntoView.
No new tests because this is only code cleanup.
* page/FocusController.cpp:
* page/FocusController.h:
* page/SpatialNavigation.cpp:
(WebCore::canBeScrolledIntoView):
* page/SpatialNavigation.h:
2010-11-23 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Remove unimplemented (and untested) methods from IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=49911
* storage/IDBCursor.idl:
* storage/IDBDatabase.idl:
2010-11-18 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
For speech input event, send an event object containing all the recognition results and metadata.
https://bugs.webkit.org/show_bug.cgi?id=49736
Currently the speech input event 'onwebkitspeechchange' receives no parameters. WebCore already
has the full list of recognition results and populates only the top result into the input field
automatically. In this patch we pass a SpeechInputEvent object to the event handler, and the JS
code can access the full list of results via "event.results.length", "results[i].utterance" and
"results[i].confidence". Also updated mock object with appropriate methods to test multiple results.
Test: fast/speech/input-onspeechchange-event.html
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS): Added new event
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8): Added new event
* dom/Event.cpp:
(WebCore::Event::isSpeechInputEvent):
* dom/Event.h:
* html/HTMLInputElement.cpp:
* html/HTMLInputElement.h:
* page/SpeechInputEvent.h: New file implementing SpeechInputEvent.idl
(WebCore::SpeechInputEvent::~SpeechInputEvent):
(WebCore::SpeechInputEvent::create):
(WebCore::SpeechInputEvent::isSpeechInputEvent):
(WebCore::SpeechInputEvent::results):
(WebCore::SpeechInputEvent::SpeechInputEvent):
* page/SpeechInputEvent.idl: New file defining SpeechInputEvent object
* page/SpeechInputListener.h:
* page/SpeechInputResult.cpp:
(WebCore::SpeechInputResult::create):
* page/SpeechInputResult.h:
* page/SpeechInputResult.idl: New file defining a single SpeechInputResult object
* page/SpeechInputResultList.h: New file implementing SpeechInputResultList.idl
(WebCore::SpeechInputResultList::create):
(WebCore::SpeechInputResultList::length):
(WebCore::SpeechInputResultList::item):
(WebCore::SpeechInputResultList::SpeechInputResultList):
* page/SpeechInputResultList.idl: New file defining a list of SpeechInputResult objects
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::addRecognitionResult): Renamed method and added one parameter.
(WebCore::SpeechInputClientMock::clearResults):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Pass new event object to handler.
2010-11-22 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49860
CSS style rules don't GC protect objects reachable as their properties
Test: fast/dom/StyleSheet/gc-rule-children-wrappers.html
* Android.jscbindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
Added new files, sorted appropriate sections for easier adding.
* bindings/js/JSCSSFontFaceRuleCustom.cpp: Added.
(WebCore::JSCSSFontFaceRule::markChildren):
* bindings/js/JSCSSImportRuleCustom.cpp: Added.
(WebCore::JSCSSImportRule::markChildren):
* bindings/js/JSCSSMediaRuleCustom.cpp: Added.
(WebCore::JSCSSMediaRule::markChildren):
* bindings/js/JSCSSPageRuleCustom.cpp: Added.
(WebCore::JSCSSPageRule::markChildren):
* bindings/js/JSCSSStyleRuleCustom.cpp: Added.
(WebCore::JSCSSStyleRule::markChildren):
* bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: Added.
(WebCore::JSWebKitCSSKeyframeRule::markChildren):
* bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: Added.
(WebCore::JSWebKitCSSKeyframesRule::markChildren):
Mark objects reachable through these ones.
* css/CSSFontFaceRule.idl:
* css/CSSImportRule.idl:
* css/CSSMediaRule.idl:
* css/CSSPageRule.idl:
* css/CSSStyleRule.idl:
* css/WebKitCSSKeyframeRule.idl:
* css/WebKitCSSKeyframesRule.idl:
Added CustomMarkFunction IDL attribute.
2010-11-23 Helder Correia <helder@sencha.com>
Reviewed by Ariya Hidayat.
[Qt] Drawing an image on canvas with shadowBlur draws a solid shadow
https://bugs.webkit.org/show_bug.cgi?id=49878
Add support for blurry shadows when drawing images on canvas.
Test: fast/canvas/canvas-drawImage-shadow.html
* platform/graphics/qt/ContextShadowQt.cpp:
(WebCore::ContextShadow::endShadowLayer): Make composition work for solid shadow too.
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw): Remove old shadow code and introduce ContextShadow.
2010-11-22 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Port ContextMenuWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=48408
* platform/ContextMenu.h:
* platform/win/ContextMenuWin.cpp:
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::itemCount):
(WebCore::insertMenuItem):
(WebCore::ContextMenu::insertItem):
(WebCore::contextMenuItemByIdOrPosition):
(WebCore::ContextMenu::setPlatformDescription):
(WebCore::contextMenuItemVector):
(WebCore::platformMenuDescription):
2010-11-22 David Hyatt <hyatt@apple.com>
Back out r72527 since it caused multiple rendering regressions. Details in bug.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::positionListMarker):
2010-11-22 John Knottenbelt <jknotten@chromium.org>
Reviewed by Steve Block.
Implement mocks for client-based Geolocation.
https://bugs.webkit.org/show_bug.cgi?id=49258
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/mock/GeolocationClientMock.cpp: Added.
(WebCore::GeolocationClientMock::GeolocationClientMock):
(WebCore::GeolocationClientMock::~GeolocationClientMock):
(WebCore::GeolocationClientMock::setController):
(WebCore::GeolocationClientMock::setPosition):
(WebCore::GeolocationClientMock::setError):
(WebCore::GeolocationClientMock::geolocationDestroyed):
(WebCore::GeolocationClientMock::startUpdating):
(WebCore::GeolocationClientMock::stopUpdating):
(WebCore::GeolocationClientMock::setEnableHighAccuracy):
(WebCore::GeolocationClientMock::lastPosition):
(WebCore::GeolocationClientMock::timerFired):
(WebCore::GeolocationClientMock::makeGeolocationCallback):
* platform/mock/GeolocationClientMock.h: Added.
2010-11-22 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Fix bogus include guard.
* loader/NavigationScheduler.h:
2010-11-22 Andreas Kling <kling@webkit.org>
Reviewed by Ariya Hidayat.
[Qt] Canvas: strokeText() and fillText() produce same shadow
https://bugs.webkit.org/show_bug.cgi?id=48845
Test: fast/canvas/canvas-strokeText-strokes-shadow.html
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon): Stroke the shadow rather than filling it in the cTextStroke case.
2010-11-22 Patrick Gansterer <paroga@webkit.org>
Reviewed by Sam Weinig.
Use WTF::FixedArray::size()
https://bugs.webkit.org/show_bug.cgi?id=49891
* dom/Document.cpp:
(WebCore::Document::~Document):
2010-11-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
SelectionController::typingStyle() should return EditingStyle*
https://bugs.webkit.org/show_bug.cgi?id=49813
Changed the return type of SelectionController::typingStyle to EditingStyle*.
Extracted textDirection from Editor::textDirectionForSelection to hide the underlying
CSSMutableStyleDeclaration.
Also extracted the code to preserve unicode-bidi and direction CSS properties in
InsertTextCommand::input, and moved into EditingStyle::prepareToApplyAt. ShouldPreserveWritingDirection,
which is added to the argument list of EditingStyle::prepareToApplyAt, decides whether or not
these two properties are preserved.
Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of
CSSMutableStyleDeclaration.
No new tests are added since this is a refactoring.
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::textDirection): Extracted from Editor::textDirectionForSelection.
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added a missing null check.
(WebCore::EditingStyle::prepareToApplyAt): See above.
(WebCore::editingStyleIncludingTypingStyle): Calls SelectionController::typingStyle.
* editing/EditingStyle.h: Moved WritingDirection from Editor.h
* editing/Editor.cpp:
(WebCore::Editor::textDirectionForSelection): Calls EditingStyle::textDirection.
(WebCore::Editor::computeAndSetTypingStyle): Calls SelectionController::typingStyle.
(WebCore::Editor::selectionComputedStyle): Ditto.
(WebCore::Editor::styleForSelectionStart): Ditto.
* editing/Editor.h:
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply): Ditto.
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input): Calls EditingStyle::prepareToApplyAt with PreserveWritingDirection.
* editing/SelectionController.h:
(WebCore::SelectionController::typingStyle): Returns EditingStyle* rather than CSSMutableStyleDeclaration*.
(WebCore::SelectionController::copyTypingStyle): Added.
2010-11-22 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Set correct preprocessor definitions
https://bugs.webkit.org/show_bug.cgi?id=49887
* config.h:
2010-11-22 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] font-size:0 text runs should have zero width
https://bugs.webkit.org/show_bug.cgi?id=49871
Returns 0 from platformWidthForGlyph if the specified font size is 0.
Test: fast/text/font-size-zero.html
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::platformWidthForGlyph):
* platform/graphics/chromium/SimpleFontDataLinux.cpp:
(WebCore::SimpleFontData::platformWidthForGlyph):
2010-11-22 Charlie Reis <creis@chromium.org>
Reviewed by Darin Fisher.
Update correct content state during back/forward navigations
https://bugs.webkit.org/show_bug.cgi?id=48809
Ensures that history's previousItem is non-null when clients try to
update content state (e.g., Chromium's UpdateSessionHistory). We now
track load completions with a boolean field rather than by clearing
previousItem.
Test: fast/history/saves-state-after-frame-nav.html
* loader/HistoryController.cpp:
* loader/HistoryController.h:
2010-11-22 Luiz Agostini <luiz.agostini@openbossa.org>
Unreviewed, Windows build fix.
Adding JSMediaQueryList to DerivedSources.cpp.
* DerivedSources.cpp:
2010-11-22 Adam Roben <aroben@apple.com>
Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
Apple's Windows build allows placing header files and import libraries for WebKit's
dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
$WebKitLibrariesDir environment variable. This is both required for production builds and
convenient for Apple-internal developer builds. Apple's production builds also require that
WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
builds, the files are copied into that directory tree by the
WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
copying is done by
JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
This .vsprops copying is problematic in one very important case: when a developer updates
their source tree and then tries to build. Visual Studio only reads .vsprops files when a
project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
$WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build
will proceed with out-of-date .vsprops files, which will likely result in a build failure.
To fix this, we now use normal relative paths to access the .vsprops files in the source
tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
unset, so the normal relative paths are used to read the .vsprops files out of the source
tree directly. In production builds, this environment variable is set to a fake directory
that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
is resolved.
For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
"$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
FeatureDefines.vsprops becomes:
$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
which resolves to:
$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
(We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
actually exist since they are matched by an equal number of ".." path components.)
Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
updated
Reviewed by Dave Hyatt.
* WebCore.vcproj/WebCore.make: Set $WebKitVSPropsRedirectionDir so that
production builds can find the .vsprops files.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCore.vcproj:
Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
files.
2010-10-21 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Adler.
Implement CSSOM View matchMedia interface
https://bugs.webkit.org/show_bug.cgi?id=37205
New interfaces may be used to evaluate media queries and to associate listeners
to media queries. Those listeners are called whenever the associated query changes.
Specification may be found at http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
operator== added to JS version of ScriptValue.
Method isFunction added to JS and V8 versions of ScriptValue.
* bindings/js/ScriptValue.cpp:
(WebCore::ScriptValue::isFunction):
* bindings/js/ScriptValue.h:
(WebCore::ScriptValue::operator==):
* bindings/v8/ScriptValue.h:
(WebCore::ScriptValue::isFunction):
Some changes were needed to the code generators to handle type MediaQueryListListener.
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
Some changes to the bindings test results that were previously added.
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::TestMediaQueryListListenerInternal::methodCallback):
(WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
New interfaces:
* css/MediaQueryList.cpp: Added.
* css/MediaQueryList.h: Added.
* css/MediaQueryList.idl: Added.
* css/MediaQueryListListener.cpp: Added.
* css/MediaQueryListListener.h: Added.
* css/MediaQueryListListener.idl: Added.
To avoid adding code to classes DOMWindow and Document a new class MediaQueryMatcher was created.
* css/MediaQueryMatcher.cpp: Added.
* css/MediaQueryMatcher.h: Added.
Document and DOMWindow have changed to support new features. DOMWindow is the class that
publishes methods matchMedia but for page cache to work properly the reference to the
MediaQueryMatcher must be in Document.
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::mediaQueryMatcher):
(WebCore::Document::styleSelectorChanged):
* dom/Document.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::matchMedia):
* page/DOMWindow.h:
* page/DOMWindow.idl:
Build systems
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/GNUmakefile.am:
Tests: fast/media/media-query-list-01.html
fast/media/media-query-list-02.html
fast/media/media-query-list-03.html
fast/media/media-query-list-04.html
fast/media/media-query-list-05.html
fast/media/media-query-list-06.html
fast/media/media-query-list-07.html
2010-11-22 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] Contents of rules inside @media not displayed/editable
https://bugs.webkit.org/show_bug.cgi?id=49804
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::insertedIntoParent):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::setStyleSheetText2):
* inspector/InspectorStyleSheet.cpp:
(WebCore::asCSSRuleList):
(WebCore::InspectorStyleSheet::reparseStyleSheet):
(WebCore::InspectorStyleSheet::setText):
(WebCore::InspectorStyleSheet::addRule):
(WebCore::InspectorStyleSheet::ruleForId):
(WebCore::InspectorStyleSheet::ruleIndexByStyle):
(WebCore::InspectorStyleSheet::ensureText):
(WebCore::InspectorStyleSheet::ensureSourceData):
(WebCore::InspectorStyleSheet::ensureFlatRules):
(WebCore::InspectorStyleSheet::revalidateStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
(WebCore::InspectorStyleSheet::collectFlatRules):
* inspector/InspectorStyleSheet.h:
2010-11-22 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: dump inspector protocol messages into console.
Sometimes I need to dump inspector messages into console.
It'd be much simple to have this code in repository and
enable protocol dumping just by a flag.
https://bugs.webkit.org/show_bug.cgi?id=49905
* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkersSidebarPane.prototype.reset):
* inspector/front-end/inspector.js:
(WebInspector_syncDispatch):
2010-11-22 Andreas Kling <kling@webkit.org>
Reviewed by Nikolas Zimmermann.
GraphicsContext: Make drawFocusRing() take a Path instead of a Vector<Path>
https://bugs.webkit.org/show_bug.cgi?id=49840
This avoid copying a Path object when drawing focus rings.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* rendering/RenderImage.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
(WebCore::RenderImage::paintFocusRing):
Renamed from paintFocusRings since it only paints one ring.
2010-11-22 Renata Hodovan <reni@webkit.org>
Reviewed by Andreas Kling.
Outside list bullets ignore text-align style.
https://bugs.webkit.org/show-bug.cgi?id=15713
Fix the position of outside markers by setting its logicalLeft member. Embedded markers need special treatment.
First, the total width of markers should be calculated. Subtracting it from logicalLeft we get the outermost bullet's
position. As for the others, this sum should be decremented with the previous marker's width.
In case of vertical markers the padding is unneeded.
Test: fast/lists/outSideListMarkers.html
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::positionListMarker):
2010-11-22 Yael Aharon <yael.aharon@nokia.com>, Chang Shu <chang.shu@nokia.com>
Reviewed by Antonio Gomes.
Spatial Navigation: issues with the node selection algorithm.
https://bugs.webkit.org/show_bug.cgi?id=49382
Modify the Spatial Navigation algorithm, to better handle initial focus and
navigation between frames.
The new algorithm takes the rect of the focused node as the startingRect,
instead of the node itself. That allows us to construct a virtual rect if
there is no focused node, or if it is off the screen.
The virtual rect is the edge of the container in the direction of the navigation.
With this patch, scrollable containers and frames will scroll regardless of weather
they have focusable content. Users will be able to use arrow keys to view all the
content of such a container. The only exception is if the container has style overflow:hidden.
We will not scroll in that case.
With this patch, we handle z-index and positioning so that if there are 2 overlapping focusable nodes,
we do a hit test and only the node on top can get focus.
hasOffScreenRect() was modified so that it can check if a node will be off-screen even after we scrolled
its parent container. We do not add the scrolling conditions for containers that have overflow:hidden
and cannot scroll.
calculateScrollbarModesForLayout is used to decide if a frame can scroll or not. We cannot rely on
the exsistance of the scrollbar, because it could be removed via the API, while the frame is still
allowed to scroll.
* page/FocusController.cpp:
(WebCore::updateFocusCandidateIfNeeded):
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
(WebCore::FocusController::advanceFocusDirectionally):
* page/FocusController.h:
* page/FrameView.h:
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
(WebCore::distanceDataForNode):
(WebCore::alignmentForRects):
(WebCore::areRectsMoreThanFullScreenApart):
(WebCore::isRectInDirection):
(WebCore::hasOffscreenRect):
(WebCore::scrollInDirection):
(WebCore::isScrollableContainerNode):
(WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
(WebCore::canScrollInDirection):
(WebCore::rectToAbsoluteCoordinates):
(WebCore::nodeRectInAbsoluteCoordinates):
(WebCore::frameRectInAbsoluteCoordinates):
(WebCore::entryAndExitPointsForDirection):
(WebCore::canBeScrolledIntoView):
(WebCore::virtualRectForDirection):
* page/SpatialNavigation.h:
2010-11-22 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Fix various problems with the SVG*List code
https://bugs.webkit.org/show_bug.cgi?id=49880
Write tests for SVGNumberList/SVGPointList/SVGStringList/SVGTransformList and extend SVGLengthList tests.
SVG DOM <-> XML DOM synchronization is now tested for all these types, and works great. Unify the string format produced
by the various valueAsString() functions for maximum compatibility with Firefox / Opera.
* Build a real transform string for SVGTransformList, instead of dumping the elements of the concatted matrix.
* Add SVGStringList XML dom synchronization, only affects SVGTests requiredFeatures/requiredExtensions/systemLanguage.
* Make all animVal properties readonly, tested by types-dom-07-f.svg (from SVG 1.1 2nd edition).
* Enable StrictTypeChecking/RequiresAllArguments=Raise for all SVGList types.
Tests: svg/W3C-SVG-1.1-SE/types-dom-07-f.svg
svg/dom/SVGNumberList-basics.xhtml
svg/dom/SVGPointList-basics.xhtml
svg/dom/SVGStringList-basics.xhtml
svg/dom/SVGTransformList-basics.xhtml
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::setValue): Throw NO_MODIFICATION_ALLOWED_ERR when the SVGPropertyTearOffs role is AnimValRole.
(WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
* bindings/scripts/CodeGeneratorJS.pm: Ditto.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* bindings/v8/custom/V8SVGLengthCustom.cpp:
(WebCore::V8SVGLength::valueAccessorSetter): Ditto.
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): Ditto.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::synchronizeProperty): Ditto.
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::synchronizeProperty): Ditto.
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::synchronizeProperty): Ditto.
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::synchronizeProperty): Ditto.
* svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::synchronizeProperty): Ditto.
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::synchronizeProperty): Ditto.
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::synchronizeProperty): Ditto.
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::synchronizeProperty): Ditto.
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::synchronizeProperty): Ditto.
* svg/SVGLengthList.cpp:
(WebCore::SVGLengthList::valueAsString): Use ' ' instead of ',' as seperator.
* svg/SVGLengthList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::synchronizeProperty): Ditto.
* svg/SVGNumberList.cpp:
(WebCore::SVGNumberList::valueAsString): Use ' ' instead of ',' as seperator.
* svg/SVGNumberList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::synchronizeProperty): Ditto.
* svg/SVGPointList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::synchronizeProperty): Ditto.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::synchronizeProperty): Ditto.
* svg/SVGStringList.cpp:
(WebCore::SVGStringList::valueAsString): Add valueAsString() implementation, necessary for SVG DOM <-> XML DOM synchronization.
* svg/SVGStringList.h:
* svg/SVGStringList.idl: Enable StrictTypeChecking, RequiresAllArguments=Raise.
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
* svg/SVGTests.cpp: Rewrite, similar to SVGPolyElement, to synchronize the requiredFeatures/requiredExtension/systemLanguage SVGStringLists with their XML DOM attributes.
(WebCore::SVGTests::SVGTests):
(WebCore::SVGTests::isValid):
(WebCore::SVGTests::parseMappedAttribute):
(WebCore::SVGTests::isKnownAttribute):
(WebCore::SVGTests::handleAttributeChange):
(WebCore::SVGTests::synchronizeProperties): To be called by all classes inheriting from SVGTests, in their synchronizeProperty() methods.
(WebCore::SVGTests::synchronizeRequiredFeatures):
(WebCore::SVGTests::synchronizeRequiredExtensions):
(WebCore::SVGTests::synchronizeSystemLanguage):
(WebCore::SVGTests::requiredFeatures):
(WebCore::SVGTests::requiredExtensions):
(WebCore::SVGTests::systemLanguage):
* svg/SVGTests.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
* svg/SVGTransform.cpp:
(WebCore::SVGTransform::valueAsString): Added a proper way to serialize a SVGTransform into a String.
* svg/SVGTransform.h:
* svg/SVGTransformList.cpp:
(WebCore::SVGTransformList::valueAsString): Rewrite, to build a real transform list string, instead of dumping the concatted matrix.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::synchronizeProperty): Also synchronize the SVGTests SVGStringLists.
* svg/properties/SVGListProperty.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
(WebCore::SVGListProperty::initializeValuesAndWrappers):
(WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
(WebCore::SVGListProperty::replaceItemValues):
(WebCore::SVGListProperty::replaceItemValuesAndWrappers):
(WebCore::SVGListProperty::removeItemValuesAndWrappers): Handle corner case, the item passed to removeItem() was the only on in the list, list is empty now, nothing to replace.
(WebCore::SVGListProperty::appendItemValuesAndWrappers):
(WebCore::SVGListProperty::role): Expose the role of this list property.
* svg/properties/SVGPathSegListPropertyTearOff.h: s/TYPE_MISMATCH_ERR/SVGException::SVG_WRONG_TYPE_ERR/ for compatibility with Firefox.
(WebCore::SVGPathSegListPropertyTearOff::initialize):
(WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
(WebCore::SVGPathSegListPropertyTearOff::replaceItem):
(WebCore::SVGPathSegListPropertyTearOff::appendItem):
* svg/properties/SVGProperty.h: Add new virtual SVGPropertyRole role() accessor.
* svg/properties/SVGPropertyTearOff.h:
(WebCore::SVGPropertyTearOff::create): Store the passed in SVGProperyRole, instead of ignoring it.
(WebCore::SVGPropertyTearOff::role):
(WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
* svg/properties/SVGStaticPropertyTearOff.h:
(WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Pass UndefinedRole as default role to SVGPropertyTearOff.
* svg/properties/SVGStaticPropertyWithParentTearOff.h: Ditto.
(WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
2010-11-22 Yuzo Fujishima <yuzo@google.com>
Reviewed by Dan Bernstein.
Fix for Bug 49374 - Web Font specified with base64 data URI ending with EOT is not rendered.
https://bugs.webkit.org/show_bug.cgi?id=49374
Test: fast/css/font-face-data-uri.html
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::isSupportedFormat): Do not check "file
extension" for data URI. For other URI, check against ".eot" rather
than "eot".
2010-11-21 Patrick Gansterer <paroga@webkit.org>
Reviewed by Csaba Osztrogonác.
Use WTF_ARRAY_LENGTH in WebCore directory
https://bugs.webkit.org/show_bug.cgi?id=49882
* accessibility/AccessibilityObject.cpp:
(WebCore::createARIARoleMap):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::ConfigureV8TestObjTemplate):
* css/CSSComputedStyleDeclaration.cpp:
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::getPropertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
* css/CSSPropertyLonghand.cpp:
(WebCore::initShorthandMap):
* dom/ExceptionCode.cpp:
(WebCore::getExceptionCodeDescription):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
* editing/EditingStyle.cpp:
* editing/Editor.cpp:
(WebCore::triStateOfStyle):
* editing/EditorCommand.cpp:
(WebCore::createCommandMap):
* editing/MarkupAccumulator.cpp:
(WebCore::appendCharactersReplacingEntities):
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::getCachedMaxIndex):
(WebCore::WebGLBuffer::setCachedMaxIndex):
* loader/FTPDirectoryParser.cpp:
(WebCore::parseOneFTPLine):
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement):
* page/animation/AnimationBase.cpp:
(WebCore::addShorthandProperties):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hasValidAvgCharWidth):
* rendering/break_lines.cpp:
* svg/SVGTransformable.cpp:
(WebCore::parseAndSkipType):
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::parseViewSpec):
* svg/SVGZoomAndPan.cpp:
(WebCore::SVGZoomAndPan::parseZoomAndPan):
* xml/XPathFunctions.cpp:
(WebCore::XPath::createFunctionMap):
2010-11-21 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
[GTK] Implement ROLE_COMBO_BOX
https://bugs.webkit.org/show_bug.cgi?id=25678
Implement the remaining bits for combo boxes.
This patch finishes the implementation, from the point of view of
the Atk library, of those objects exposed to ATK as combo boxes,
and their related elements (menus and menu items). It therefore
implements the proper interfaces for each type of object related
to combo boxes (AtkSelection for the combo box, AtkText for every
menu item and AtkAction for the combo box, the menu and the menu
items), takes care of emitting the proper signals when focus or a
given a selection changes and adds a new unit test to check all
this new stuff.
Make possible to ask an AccessibleMenuListOption for a sensible
string representation, so far only available through the private
and MSAA related method nameForMSAA. Just moved the implementation
of that method to an overriden version of stringValue(), which is
platform independent, and called that from nameForMSAA().
* accessibility/AccessibilityMenuListOption.h:
* accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
stringValue(), which holds from now on that used to be here.
(WebCore::AccessibilityMenuListOption::stringValue): New, override
of AccessibilityObject::stringValue() to return a proper string.
Emit the missing signals when a selection is made.
* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Emit the usual
'focus' signals when a selection is made over the combo box.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
Atk states are added to the state set when needed.
(listObjectForSelection): New, returns the proper list object (the
one holding the list of available options as its children) for an
specific AtkObject implementing AtkSelection. This is needed
because sometimes the selectable options are not directly children
of the AtkSelection object (i.e. a combo box has a 'menu' object
as its only child of it, holding the list of options as children).
(optionFromList): Use listObjectForSelection() to get the actual
object holding the list of children as the available options.
(optionFromSelection): Add support for combo boxes.
(webkit_accessible_selection_add_selection): Ditto.
(webkit_accessible_selection_clear_selection): Ditto.
(webkit_accessible_selection_get_selection_count): Ditto.
(webkit_accessible_selection_is_child_selected): Ditto.
(webkit_accessible_selection_remove_selection): Ditto.
(webkit_accessible_text_get_text): Makes sure stringValue() is
considered to get the result substring when it was already
considered when checking the maximum text length for the object.
(getInterfaceMaskFromObject): Make sure the AtkSelection interface
is implemented for the combo boxes, that the AtkText is
implemented for the menu items and that the AtkAction interface is
now implemented for every object (WebCore will decide what to do).
Avoid a segfault crash when using this from unit tests.
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
before calling gdk_window_get_origin() over it.
2010-11-21 Patrick Gansterer <paroga@webkit.org>
Reviewed by Csaba Osztrogonác.
Use WTF_ARRAY_LENGTH in WebCore/platform directory
https://bugs.webkit.org/show_bug.cgi?id=49881
* platform/KURL.cpp:
(WebCore::portAllowed):
* platform/KURLGoogle.cpp:
(WebCore::portAllowed):
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedJavaScriptMIMETypes):
(WebCore::initializeSupportedNonImageMimeTypes):
* platform/UUID.cpp:
(WebCore::createCanonicalUUIDString):
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::applyEdjeStateFromForm):
* platform/graphics/GraphicsTypes.cpp:
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCodepage::if):
* platform/graphics/chromium/FontUtilsChromiumWin.cpp:
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::disableComponentsOnce):
* platform/graphics/mac/SimpleFontDataATSUI.mm:
(WebCore::SimpleFontData::checkShapesArabic):
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::SimpleFontData::getCFStringAttributes):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::disableComponentsOnce):
* platform/graphics/win/QTMovie.cpp:
(QTMovie::load):
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::createStreams):
* platform/text/TextEncodingRegistry.cpp:
(WebCore::pruneBlacklistedCodecs):
* platform/text/transcoder/FontTranscoder.cpp:
(WebCore::FontTranscoder::FontTranscoder):
2010-11-20 Andreas Kling <kling@webkit.org>
Rubber-stamped by Antonio Gomes.
[Qt] Fix spelling error (isEmtpyValue -> isEmptyValue)
* platform/graphics/qt/FontPlatformDataQt.cpp:
(WebCore::isEmptyValue):
(WebCore::FontPlatformData::FontPlatformData):
2010-11-20 Andreas Kling <kling@webkit.org>
Reviewed by Antonio Gomes.
[Qt] Limit the size of image preview "cursor" when dragging
https://bugs.webkit.org/show_bug.cgi?id=49872
Respect DragController::maxDragImageSize() (currently 400x400.)
* platform/qt/DragImageQt.cpp:
(WebCore::dragImageSize):
(WebCore::scaleDragImage):
2010-11-20 Andreas Kling <kling@webkit.org>
Reviewed by Antonio Gomes.
[Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag
https://bugs.webkit.org/show_bug.cgi?id=49870
Implement Frame::dragImageForSelection() and the necessary DragImage helpers for Qt.
* page/qt/FrameQt.cpp:
(WebCore::Frame::dragImageForSelection):
* platform/qt/DragImageQt.cpp:
(WebCore::deleteDragImage):
(WebCore::createDragImageFromImage):
2010-11-20 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Memory managament for DOM GObject wrappers
https://bugs.webkit.org/show_bug.cgi?id=40302
Initial attempt to have a kind of poor man's garbage collection
for GObject DOM objects. We tie the object's lifecycle to their
parent Frame and/or its document; that is, all objects will be
collected when their parent frame is destroyed or when that frame
transitions to a new document. Manual management (calling
g_object_unref on them) is also allowed, and is required for
objects that are not in the DOM tree (eg NodeLists).
* GNUmakefile.am:
* bindings/gobject/DOMObjectCache.cpp: Added.
* bindings/gobject/DOMObjectCache.h: Copied from WebCore/bindings/gobject/WebKitDOMBinding.h.
* bindings/gobject/WebKitDOMBinding.cpp: Remove the old cache code.
* bindings/gobject/WebKitDOMBinding.h: ditto.
* bindings/scripts/CodeGeneratorGObject.pm: include the new DOMObjectCache header.
2010-11-20 Helder Correia <helder@sencha.com>
Reviewed by Andreas Kling.
[Qt] Path stroke lacks blur shadow support
https://bugs.webkit.org/show_bug.cgi?id=49490
Add blur shadow support to strokePath().
Test: fast/canvas/canvas-strokePath-shadow.html
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::strokePath):
2010-11-20 Kwang Yul Seo <skyul@company100.net>
Reviewed by David Kilzer.
[BREWMP] Replace HTONL, HTONS, NTOHL and NTOHS with byte order conversion functions from AEEstd.h
https://bugs.webkit.org/show_bug.cgi?id=49518
HTONL, HTONS, NTOHL and NTOHS macros are prohibited in Mod1. Use byte order conversion functions provided by AEEstd.h.
* platform/graphics/WOFFFileFormat.cpp:
2010-11-20 Kwang Yul Seo <skyul@company100.net>
Reviewed by David Kilzer.
[BREWMP] Use std_wstrlen instead of WSTRLEN
https://bugs.webkit.org/show_bug.cgi?id=49516
WSTRLEN is prohibited in Mod1. Use std_wstrlen from AEEstd.h instead.
* platform/text/brew/StringBrew.cpp:
(WTF::String::String):
2010-11-20 Patrick Gansterer <paroga@webkit.org>
Reviewed by David Kilzer.
[WINCE] Implement textBreakLast and textBreakPrevious
https://bugs.webkit.org/show_bug.cgi?id=49552
This allows us to use TextBoundaries.cpp and remove TextBoundariesWinCE.cpp.
Also unify the different TextBreakIterator::first() implementations.
* platform/text/wince/TextBoundariesWinCE.cpp: Removed.
* platform/text/wince/TextBreakIteratorWinCE.cpp:
(WebCore::TextBreakIterator::first):
(WebCore::TextBreakIterator::last):
(WebCore::textBreakLast):
(WebCore::textBreakPrevious):
2010-11-20 Andreas Kling <kling@webkit.org>
Reviewed by David Kilzer.
Path: Remove unused method swap()
https://bugs.webkit.org/show_bug.cgi?id=49853
* platform/graphics/Path.h:
2010-11-20 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/49867> MediaPlayerPrivateQTKit::setPreservesPitch(bool) leaks an NSDictionary
Reviewed by Dan Bernstein.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): Use
RetainPtr<NSDictionary> for movieAttributes.
2010-11-20 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Use String::fromUTF8 instead of UTF8Encoding().decode
in the libxml XMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=45488
* dom/XMLDocumentParser.cpp:
(WebCore::toString):
2010-11-20 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Dirk Schulze.
FilterPrimitives should have a pointer to its Filter object.
https://bugs.webkit.org/show_bug.cgi?id=49863
FilterPrimitives should have a renderer, and they need a member pointer to their Filter objects for Layout() calls.
This patch adds this member to FilterEffect.
No new test is needed because these modifications are covered by all of SVG Filter tests.
* platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::FEBlend):
(WebCore::FEBlend::create):
(WebCore::FEBlend::apply):
* platform/graphics/filters/FEBlend.h:
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::FEColorMatrix):
(WebCore::FEColorMatrix::create):
(WebCore::FEColorMatrix::apply):
* platform/graphics/filters/FEColorMatrix.h:
* platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::FEComponentTransfer):
(WebCore::FEComponentTransfer::create):
(WebCore::FEComponentTransfer::apply):
* platform/graphics/filters/FEComponentTransfer.h:
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::FEComposite):
(WebCore::FEComposite::create):
(WebCore::FEComposite::determineAbsolutePaintRect):
(WebCore::FEComposite::apply):
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::FEConvolveMatrix):
(WebCore::FEConvolveMatrix::create):
(WebCore::FEConvolveMatrix::apply):
* platform/graphics/filters/FEConvolveMatrix.h:
(WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
* platform/graphics/filters/FEDiffuseLighting.cpp:
(WebCore::FEDiffuseLighting::FEDiffuseLighting):
(WebCore::FEDiffuseLighting::create):
* platform/graphics/filters/FEDiffuseLighting.h:
* platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::FEDisplacementMap):
(WebCore::FEDisplacementMap::create):
(WebCore::FEDisplacementMap::apply):
* platform/graphics/filters/FEDisplacementMap.h:
(WebCore::FEDisplacementMap::determineAbsolutePaintRect):
* platform/graphics/filters/FEFlood.cpp:
(WebCore::FEFlood::FEFlood):
(WebCore::FEFlood::create):
(WebCore::FEFlood::apply):
* platform/graphics/filters/FEFlood.h:
(WebCore::FEFlood::determineAbsolutePaintRect):
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::FEGaussianBlur):
(WebCore::FEGaussianBlur::create):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):
(WebCore::FEGaussianBlur::apply):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::FELighting):
(WebCore::FELighting::apply):
* platform/graphics/filters/FELighting.h:
(WebCore::FELighting::determineAbsolutePaintRect):
* platform/graphics/filters/FEMerge.cpp:
(WebCore::FEMerge::FEMerge):
(WebCore::FEMerge::create):
(WebCore::FEMerge::apply):
* platform/graphics/filters/FEMerge.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::FEMorphology):
(WebCore::FEMorphology::create):
(WebCore::FEMorphology::determineAbsolutePaintRect):
(WebCore::FEMorphology::apply):
* platform/graphics/filters/FEMorphology.h:
* platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::FEOffset):
(WebCore::FEOffset::create):
(WebCore::FEOffset::determineAbsolutePaintRect):
(WebCore::FEOffset::apply):
* platform/graphics/filters/FEOffset.h:
* platform/graphics/filters/FESpecularLighting.cpp:
(WebCore::FESpecularLighting::FESpecularLighting):
(WebCore::FESpecularLighting::create):
* platform/graphics/filters/FESpecularLighting.h:
* platform/graphics/filters/FETile.cpp:
(WebCore::FETile::FETile):
(WebCore::FETile::create):
(WebCore::FETile::apply):
* platform/graphics/filters/FETile.h:
(WebCore::FETile::determineAbsolutePaintRect):
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::FETurbulence):
(WebCore::FETurbulence::create):
(WebCore::FETurbulence::apply):
* platform/graphics/filters/FETurbulence.h:
(WebCore::FETurbulence::determineAbsolutePaintRect):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::FilterEffect):
(WebCore::FilterEffect::determineAbsolutePaintRect):
(WebCore::FilterEffect::effectContext):
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::filter):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::create):
(WebCore::SourceAlpha::determineAbsolutePaintRect):
(WebCore::SourceAlpha::apply):
* platform/graphics/filters/SourceAlpha.h:
(WebCore::SourceAlpha::SourceAlpha):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::create):
(WebCore::SourceGraphic::determineAbsolutePaintRect):
(WebCore::SourceGraphic::apply):
* platform/graphics/filters/SourceGraphic.h:
(WebCore::SourceGraphic::SourceGraphic):
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives):
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):
* rendering/RenderSVGResourceFilter.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer):
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::build):
* svg/SVGFEBlendElement.h:
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::build):
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFEComponentTransferElement.h:
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::build):
* svg/SVGFECompositeElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::build):
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::build):
* svg/SVGFEDiffuseLightingElement.h:
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::build):
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::build):
* svg/SVGFEFloodElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::build):
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::build):
* svg/SVGFEImageElement.h:
* svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::build):
* svg/SVGFEMergeElement.h:
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::build):
* svg/SVGFEMorphologyElement.h:
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::build):
* svg/SVGFEOffsetElement.h:
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::build):
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::build):
* svg/SVGFETileElement.h:
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::build):
* svg/SVGFETurbulenceElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::FEImage):
(WebCore::FEImage::create):
(WebCore::FEImage::determineAbsolutePaintRect):
(WebCore::FEImage::apply):
* svg/graphics/filters/SVGFEImage.h:
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::SVGFilterBuilder):
* svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::create):
2010-11-20 Helder Correia <helder@sencha.com>
Reviewed by Andreas Kling.
[Qt] GraphicsContext::strokeArc() is not necessary any more
https://bugs.webkit.org/show_bug.cgi?id=49859
Remove strokeArc() from the Qt port.
No test is needed.
* platform/graphics/qt/GraphicsContextQt.cpp:
2010-11-20 Helder Correia <helder@sencha.com>
Reviewed by Andreas Kling.
[Qt] Path fill lacks blur shadow support
https://bugs.webkit.org/show_bug.cgi?id=49491
Add blur shadow support to fillPath().
Test: fast/canvas/canvas-fillPath-shadow.html
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillPath):
2010-11-19 W. James MacLean <wjmaclean@chromium.org>
Reviewed by James Robinson.
Scaled Resized images are blurred when sent to Skia
https://bugs.webkit.org/show_bug.cgi?id=42370
This patch modifies ImageSkia.cpp to fix the calculation of resampled
bitmap sizes so as to include the transform matrix of the canvas.
Includes a new test to catch a regression that occured the first time
this patch was applied.
Tests: svg/custom/image-rescale-scroll.html
svg/custom/image-rescale.svg
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode):
(WebCore::drawResampledBitmap):
2010-11-19 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Regression: contraction is considered misspelling.
https://bugs.webkit.org/show_bug.cgi?id=49423
<rdar://problem/8654206>
Test: platform/mac/editing/spelling/autocorrection-contraction.html
manual-tests/autocorrection/autocorrection-contraction.html
* editing/Editor.cpp:
(WebCore::isAmbiguousBoundaryCharacter): Moved function to the top of the file so that it can
be used by all other functions in the file.
(WebCore::Editor::markMisspellingsAfterTypingToWord): Renamed markMisspellingsAfterTypingToPosition()
to improve readability, and to pass in additional argument. Before we apply pending
autocorrection, we check to see if currently typed character makes current word a partial
contraction, for instance "wouldn'". If that's the case, we would not apply the pending
correction.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Make sure currently typed word
is not a partial contraction, such as "wouldn'", before mark it as misspelled. Also update
the location of ambiguous boundary if other replacements have changed the length of the
paragraph.
* editing/Editor.h:
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping): Adopt renamed function.
* manual-tests/autocorrection/autocorrection-contraction.html: Added.
2010-11-19 Andreas Kling <kling@webkit.org>
Reviewed by Antonio Gomes.
ScrollView: Make delegatesScrolling() and avoidScrollbarCreation() const.
https://bugs.webkit.org/show_bug.cgi?id=49854
* page/FrameView.cpp:
(WebCore::FrameView::delegatesScrolling):
(WebCore::FrameView::avoidScrollbarCreation):
* page/FrameView.h:
* platform/ScrollView.h:
(WebCore::ScrollView::delegatesScrolling):
(WebCore::ScrollView::avoidScrollbarCreation):
2010-11-19 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: scripts panel should be shown before execution line is scrolled into view.
https://bugs.webkit.org/show_bug.cgi?id=49792
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.debuggerPaused):
2010-11-19 James Simonsen <simonjam@chromium.org>
Reviewed by Tony Chang.
[chromium] Fix whitespace character handling in complex text on linux
https://bugs.webkit.org/show_bug.cgi?id=49771
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::isZeroWidthSpaceGlyph): Added.
(WebCore::SimpleFontData::boundsForGlyph): Use isZeroWidthSpaceGlyph().
(WebCore::SimpleFontData::widthForGlyph): Use isZeroWidthSpaceGlyph().
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::nextScriptRun): Cache currently used font data.
(WebCore::TextRunWalker::setGlyphXPositions): Skip zero width spaces.
(WebCore::TextRunWalker::normalizeSpacesAndMirrorChars): Normalize zero width spaces.
(WebCore::TextRunWalker::getNormalizedTextRun):
2010-11-19 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
https://bugs.webkit.org/show_bug.cgi?id=49819
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreGenerated.vcproj:
2010-11-19 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
Add WebKit2 API relevant to customization of context menus
* WebCore.exp.in:
2010-11-19 Michael Saboff <msaboff@apple.com>
Reviewed by Sam Weinig.
Removed import of DOMSVGAnimatedPathData.h to fix build.
* bindings/objc/DOMSVG.h:
2010-11-19 Avi Drissman <avi@google.com>
Reviewed by Antonio Gomes.
Complete support for Unix editing mode
https://bugs.webkit.org/show_bug.cgi?id=49757
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
2010-11-19 Nate Chapin <japhet@chromium.org>
Reviewed by Alexey Proskuryakov.
Remove requests from ResourceLoadScheduler's queue before
actually starting them. We're holding a RefPtr anyway, and
the load might be terminated and removed from the queue synchronously.
https://bugs.webkit.org/show_bug.cgi?id=49693
Test: fast/loader/subresource-willSendRequest-null.html
* loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::servePendingRequests):
2010-11-18 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Make sure is* return false if the name is never bound
https://bugs.webkit.org/show_bug.cgi?id=49767
* html/canvas/WebGLBuffer.h: Add function to check whether the buffer has been bound before.
(WebCore::WebGLBuffer::hasEverBeenBound):
* html/canvas/WebGLFramebuffer.cpp: Ditto.
(WebCore::WebGLFramebuffer::WebGLFramebuffer):
* html/canvas/WebGLFramebuffer.h: Ditto.
(WebCore::WebGLFramebuffer::hasEverBeenBound):
(WebCore::WebGLFramebuffer::setBound):
* html/canvas/WebGLRenderbuffer.cpp: Ditto.
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
* html/canvas/WebGLRenderbuffer.h: Ditto.
(WebCore::WebGLRenderbuffer::hasEverBeenBound):
(WebCore::WebGLRenderbuffer::setBound):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bindFramebuffer): Set bound status to true.
(WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
(WebCore::WebGLRenderingContext::isBuffer): Return false if it's never bound.
(WebCore::WebGLRenderingContext::isFramebuffer): Ditto.
(WebCore::WebGLRenderingContext::isRenderbuffer): Ditto.
(WebCore::WebGLRenderingContext::isTexture): Ditto.
* html/canvas/WebGLTexture.h: Add function to check whether the texture has been bound before.
(WebCore::WebGLTexture::hasEverBeenBound):
2010-11-19 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] mask-box-image renders wrong in certain conditions
https://bugs.webkit.org/show_bug.cgi?id=43476
Qt does not follow the same convention as the other port
when rendering a pixmap with null width of height. When one
of those dimension is null, we should ignore the painting call
to behave like the other ports.
* platform/graphics/qt/ImageQt.cpp:
(WebCore::Image::drawPattern):
2010-11-18 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
GraphicsContext3D::reshape is clearing using current clear color instead of transparent
https://bugs.webkit.org/show_bug.cgi?id=44064
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::reset): Use 0 as clear values.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::reshape): Ditto.
2010-11-19 Chris Rogers <crogers@google.com>
Reviewed by Darin Adler.
AudioContext should not include "HTMLNames.h"
https://bugs.webkit.org/show_bug.cgi?id=49680
No new tests since audio API is not yet implemented.
* webaudio/AudioContext.cpp:
2010-11-19 Steve Falkenburg <sfalken@apple.com>
Reviewed by Darin Adler.
Normalize Cairo/CFLite project/solution configuration names
https://bugs.webkit.org/show_bug.cgi?id=49818
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreGenerated.vcproj:
2010-11-19 Daniel Bates <dbates@rim.com>
Reviewed by Antonio Gomes.
Replace null checks of newParent in Frame::transferChildFrameToNewDocument() with ASSERT
https://bugs.webkit.org/show_bug.cgi?id=49489
Substitute ASSERT(newParent) for null-checks for newParent in
Frame::transferChildFrameToNewDocument() since newParent is
never null.
When Frame::transferChildFrameToNewDocument() is called the child
frame's owner element has already been transferred to the new
document D and D is attached (i.e. has a frame).
* page/Frame.cpp:
(WebCore::Frame::transferChildFrameToNewDocument):
2010-11-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add SandboxExtension abstraction and use it for the injected bundle extension
https://bugs.webkit.org/show_bug.cgi?id=49817
Export fileSystemRepresentation symbol needed by WebKit2.
* WebCore.exp.in:
2010-11-19 Steve Falkenburg <sfalken@apple.com>
Windows build fix. Remove leftover Debug_Internal use.
* WebCore.vcproj/WebCore.vcproj:
2010-11-18 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
Windows vcproj configuration names should be normalized across projects
https://bugs.webkit.org/show_bug.cgi?id=49776
* WebCore.vcproj/WebCore.sln:
* WebCore.vcproj/WebCore.submit.sln:
* WebCore.vcproj/WebCoreGenerated.vcproj:
* WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Added.
* WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Added.
2010-11-19 James Simonsen <simonjam@chromium.org>
Reviewed by Darin Fisher.
[Web Timing] Add unloadEventStart
https://bugs.webkit.org/show_bug.cgi?id=49101
* loader/DocumentLoadTiming.h:
(WebCore::DocumentLoadTiming::DocumentLoadTiming):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading): Use dispatchTimedEvent().
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent): Use dispatchTimedEvent().
(WebCore::DOMWindow::dispatchTimedEvent): Added.
* page/DOMWindow.h:
* page/Timing.cpp:
(WebCore::Timing::unloadEventStart):
* page/Timing.h:
* page/Timing.idl:
2010-11-19 Martin Robinson <mrobinson@igalia.com>
Reviewed by Daniel Bates.
[GTK] fast/text/international tests are flaky on the bots
https://bugs.webkit.org/show_bug.cgi?id=49781
Beef up the == operator overload for Freetype FontPlatformData. Before
if two FontPlatformDatas had hash values which fell into the same bucket
and were similar enough, they would be evaluated as being equal, leading
to failures.
No new tests for this change. It's very hard to test, because it depends
on the memory address of new allocations. Hopefully flakiness on the bots
will go away after patch.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::operator==): Beef up the == operator overload.
2010-11-19 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] mask-box-image renders wrong in certain conditions
https://bugs.webkit.org/show_bug.cgi?id=43476
When rendering a pixmap with a dest rect having a null dimension,
Qt uses the dimension of the Pixmap. The other ports do not render
anything by convention.
This patch change BitmapImage to follow the convention of other ports and do not
paint anything.
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Don't call invalidateSVGAttributes() from the setFooBaseValue() methods
https://bugs.webkit.org/show_bug.cgi?id=49807
Covered by existing tests.
* svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Use setFooBaseValue(newList) instead of fooBaseValue() = newList;
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Ditto.
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Ditto.
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::parseMappedAttribute): Ditto.
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::parseMappedAttribute): Ditto.
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::parseMappedAttribute): Ditto.
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::parseMappedAttribute): Ditto.
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::parseMappedAttribute): Ditto.
* svg/properties/SVGAnimatedPropertyMacros.h: Don't call invalidateSVGAttributes() in setFooBaseValue().
2010-11-19 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72399.
http://trac.webkit.org/changeset/72399
https://bugs.webkit.org/show_bug.cgi?id=49805
Broke Chromium build (Requested by antonm_ on #webkit).
* page/chromium/ChromeClientChromium.h:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupContainer::showPopup):
(WebCore::PopupContainer::showExternal):
(WebCore::PopupListBox::layout):
(WebCore::PopupMenuChromium::show):
* platform/chromium/PopupMenuChromium.h:
2010-11-19 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
Focus ring in image maps does not take zooming into account
https://bugs.webkit.org/show_bug.cgi?id=49625
Take pageZoomFactor into account when calculating the path of the focus ring.
Test: fast/images/imagemap-focus-ring-zoom.html
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::getPath):
2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVGTransformList::consolidate() fails on empty lists
https://bugs.webkit.org/show_bug.cgi?id=49619
Return null in consolidate() when the list is empty, according to SVG 1.1.
Test: svg/dom/SVGTransformList-empty-list-consolidation.html
* svg/properties/SVGTransformListPropertyTearOff.h:
(WebCore::SVGTransformListPropertyTearOff::consolidate):
2010-11-19 Jay Civelli <jcivelli@chromium.org>
Reviewed by David Levin.
[chromium] Removing the now unused code to show popup externally on Mac.
https://bugs.webkit.org/show_bug.cgi?id=49747
* page/chromium/ChromeClientChromium.h:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupContainer::showPopup):
(WebCore::PopupListBox::layout):
(WebCore::PopupMenuChromium::show):
* platform/chromium/PopupMenuChromium.h:
2010-11-18 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: reduce the footprint of InspectorBackendDispatcher.
InspectorBackendDispatcher is a generated file.
Its content is not optimal and loc may be reduced by a quarter.
In each generated function we have a code for getting 'in' values from
the arguments properties object. I've extracted this code into separate getters.
The side effect is better readability of the generated code.
https://bugs.webkit.org/show_bug.cgi?id=49729
* inspector/CodeGeneratorInspector.pm:
2010-11-19 John Knottenbelt <jknotten@chromium.org>
Reviewed by Jeremy Orlow.
Reentrant Geolocation tests crash with an assertion.
https://bugs.webkit.org/show_bug.cgi?id=39908
PositionErrors should not be sent to Geolocation watches or one shots
that are due to receive a valid cached position.
Test: fast/dom/Geolocation/maximum-age.html
* page/Geolocation.cpp:
(WebCore::Geolocation::sendError):
(WebCore::Geolocation::copyCachedNotifiers):
(WebCore::Geolocation::handleError):
* page/Geolocation.h:
2010-11-19 Sam Magnuson <smagnuso@gmail.com>
Reviewed by Laszlo Gombos.
[Qt] Compile with QT_NO_CLIPBOARD
https://bugs.webkit.org/show_bug.cgi?id=49742
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::canSmartReplace):
2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Andreas Kling.
Remove more unused V8/SVG code
https://bugs.webkit.org/show_bug.cgi?id=49800
Remove DOMSVGObjectWithContextMap and all usages.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
(WebCore::DOMDataStore::getDOMWrapperMap):
* bindings/v8/DOMDataStore.h:
(WebCore::DOMDataStore::domSvgElementInstanceMap):
* bindings/v8/ScopedDOMDataStore.cpp:
(WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
(WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
* bindings/v8/StaticDOMDataStore.cpp:
(WebCore::StaticDOMDataStore::StaticDOMDataStore):
* bindings/v8/StaticDOMDataStore.h:
* bindings/v8/V8DOMMap.cpp:
(WebCore::removeAllDOMObjectsInCurrentThread):
* bindings/v8/V8DOMMap.h:
2010-11-19 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Nikolas Zimmermann.
createImageBuffer fail should be handled in the same way as other fails
https://bugs.webkit.org/show_bug.cgi?id=49799
When createImageBuffer fails (i.e the image width or height is less than
0.5, which is rounded to 0) it just returs with false. Since the m_filter
hash map is not updated in this case, the filter image is not drawn.
Test: svg/filters/filter-rounding-issues.svg
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Andreas Kling.
Remove old style SVG DOM JS bindings and DeprecatedSVGAnimated* files
https://bugs.webkit.org/show_bug.cgi?id=49796
Just remove the old style SVG DOM JS bindings, now that everything has been converted to the new concept.
* GNUmakefile.am: Remove SVGList/SVGListTraits/JSSVGPODListCustom/JSSVGPODTypeWrapper/JSSVGContextCache and V8SVGPODTypeWrapper files.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSSVGContextCache.h: Removed.
* bindings/js/JSSVGPODListCustom.h: Removed.
* bindings/js/JSSVGPODTypeWrapper.h: Removed.
* bindings/v8/V8Proxy.cpp: Remove SVG specific context cache code, which is no longer needed.
* bindings/v8/V8Proxy.h: Ditto.
* bindings/v8/V8SVGPODTypeWrapper.h: Removed.
* svg/DeprecatedSVGAnimatedProperty.h: Removed.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Removed.
* svg/DeprecatedSVGAnimatedTemplate.h: Removed.
* svg/SVGElement.h: Remove DeprecatedSVGAnimated* include, which pulled in SVGNames.h for every file.
* svg/SVGList.h: Removed.
* svg/SVGListTraits.h: Removed.
2010-11-19 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] Crash on opening WebInspector for a page with CSS containing @media with nested rules
https://bugs.webkit.org/show_bug.cgi?id=49731
Temporarily disable building of styles for nested rules.
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::ensureParsedDataReady):
(WebCore::InspectorStyleSheet::ensureSourceData):
* inspector/InspectorStyleSheet.h:
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
(WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
(WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix Qt build.
* WebCore.pro: Move SVGPathSegListPropertyTearOff.cpp from HEADERS to SOURCES list. This got lost, when reapplying the patch from the bug - I only fixed it locally before landing the first time.
2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=49580
SVGPathElement.cloneNode loses generated pathSegList
https://bugs.webkit.org/show_bug.cgi?id=43388
SVG Path elements are not correctly updated through pathSegList manipulation on relative values
https://bugs.webkit.org/show_bug.cgi?id=30219
Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
https://bugs.webkit.org/show_bug.cgi?id=19741
SVGPathElement should only build SVGPathSeg* list on demand
https://bugs.webkit.org/show_bug.cgi?id=10827
Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
svg/dom/SVGPathSegList-appendItem.xhtml
svg/dom/SVGPathSegList-clear-and-initialize.xhtml
svg/dom/SVGPathSegList-cloning.html
svg/dom/SVGPathSegList-insertItemBefore.xhtml
svg/dom/SVGPathSegList-removeItem.xhtml
svg/dom/SVGPathSegList-replaceItem.xhtml
svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
svg/dom/SVGPathSegList-segment-modification.svg
Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
* Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
* CMakeLists.txt: Ditto.
* DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
* GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
* WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
* WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
* WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
* WebCore.pro: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
* bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
(WebCore::setDOMException):
* bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
* bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
(WebCore::toJS):
* bindings/js/JSSVGPathSegListCustom.cpp: Removed.
* bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
* bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
* bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
* bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
* rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
(WebCore::operator<<):
* svg/SVGAllInOne.cpp: Remove obsolete cpp files.
* svg/SVGAnimatedPathData.cpp: Removed.
* svg/SVGAnimatedPathData.h: Removed.
* svg/SVGAnimatedPathData.idl: Removed.
* svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
(WebCore::SVGPathElement::SVGPathElement):
(WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
(WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
(WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
(WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
(WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
(WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
(WebCore::SVGPathElement::synchronizeD): Added.
(WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
(WebCore::SVGPathElement::normalizedPathSegList): Ditto.
(WebCore::SVGPathElement::animatedPathSegList): Ditto.
(WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
(WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
(WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
* svg/SVGPathElement.h: Add new accessors...
(WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
(WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
* svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
* svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
(WebCore::globalSVGPathSegListBuilder):
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
(WebCore::SVGPathParserFactory::buildPathFromByteStream):
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
(WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
(WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
(WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
* svg/SVGPathParserFactory.h:
* svg/SVGPathSeg.cpp: Removed.
* svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
(WebCore::SVGPathSeg::SVGPathSeg):
* svg/SVGPathSeg.idl: Reindented.
* svg/SVGPathSegArc.cpp: Removed.
* svg/SVGPathSegArc.h: All setters now call the commitChange() method.
* svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegArcRel.idl: Ditto.
* svg/SVGPathSegClosePath.cpp: Removed.
* svg/SVGPathSegClosePath.h:
* svg/SVGPathSegCurvetoCubic.cpp: Removed.
* svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
* svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
* svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
* svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
* svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
* svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
* svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
* svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
* svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
* svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
* svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
* svg/SVGPathSegLineto.cpp: Removed.
* svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
* svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegLinetoHorizontal.cpp: Removed.
* svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
* svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
* svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
* svg/SVGPathSegLinetoVertical.cpp: Removed.
* svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
* svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
* svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
(WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
(WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
* svg/SVGPathSegList.h:
(WebCore::SVGPathSegList::SVGPathSegList):
* svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed.
* svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
(WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
(WebCore::SVGPathSegListBuilder::moveTo):
(WebCore::SVGPathSegListBuilder::lineTo):
(WebCore::SVGPathSegListBuilder::lineToHorizontal):
(WebCore::SVGPathSegListBuilder::lineToVertical):
(WebCore::SVGPathSegListBuilder::curveToCubic):
(WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
(WebCore::SVGPathSegListBuilder::curveToQuadratic):
(WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathSegListBuilder::arcTo):
(WebCore::SVGPathSegListBuilder::closePath):
* svg/SVGPathSegListBuilder.h: Ditto.
(WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
(WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
(WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
(WebCore::SVGPathSegListBuilder::cleanup):
* svg/SVGPathSegListSource.cpp: Ditto.
(WebCore::SVGPathSegListSource::SVGPathSegListSource):
(WebCore::SVGPathSegListSource::parseSVGSegmentType):
(WebCore::SVGPathSegListSource::nextCommand):
(WebCore::SVGPathSegListSource::parseMoveToSegment):
(WebCore::SVGPathSegListSource::parseLineToSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
* svg/SVGPathSegListSource.h: Ditto.
(WebCore::SVGPathSegListSource::create):
* svg/SVGPathSegMoveto.cpp: Removed.
* svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
* svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegMovetoRel.idl: Ditto.
* svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
(WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
(WebCore::SVGPathSegWithContext::animatedProperty):
(WebCore::SVGPathSegWithContext::setContextAndRole):
(WebCore::SVGPathSegWithContext::commitChange):
(WebCore::SVGPathSegSingleCoordinate::x):
(WebCore::SVGPathSegSingleCoordinate::setX):
(WebCore::SVGPathSegSingleCoordinate::y):
(WebCore::SVGPathSegSingleCoordinate::setY):
(WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added.
(WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
* svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
(WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
(WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
(WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
(WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
(WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
* svg/properties/SVGPathSegListPropertyTearOff.h: Added.
(WebCore::SVGPathSegListPropertyTearOff::create):
(WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
(WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
(WebCore::SVGPathSegListPropertyTearOff::initialize):
(WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
(WebCore::SVGPathSegListPropertyTearOff::replaceItem):
(WebCore::SVGPathSegListPropertyTearOff::appendItem):
(WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
(WebCore::SVGPathSegListPropertyTearOff::commitChange):
(WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
2010-11-19 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: one line follow up to r72376.
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForResourceResponse):
2010-11-19 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Xan Lopez.
[Gtk] "CRITICAL **: msg_got_headers_cb: assertion `entry' failed" when using HTTP cache
https://bugs.webkit.org/show_bug.cgi?id=49666
WebKit resource load cache does validate its own resources by
issuing conditional requests to the server. The HTTP cache was
making the assumption that any possible conditional request was
always generated by itself.
* platform/network/soup/cache/webkit/soup-cache.c:
(webkit_soup_cache_entry_remove): added an assertion
(msg_got_headers_cb):
2010-11-19 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
stepUp/stepDown for values in step-mismatching state for input elements
https://bugs.webkit.org/show_bug.cgi?id=48976
Fixed stepUp/stepDown behaviors for step-mismatching values to follow the specification of
HTML5 4.10.7.3 Common input element APIs. In details, disabled any stepwise adjustment for
step-mismatching values.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::applyStep):
2010-11-19 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Rolled out build failures introduced in r72373.
* inspector/CodeGeneratorInspector.pm:
2010-11-18 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: provide response code and status text as
a part of raw headers data.
https://bugs.webkit.org/show_bug.cgi?id=49668
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForResourceResponse):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype._updateResourceWithResponse):
* platform/network/ResourceLoadInfo.h: Renamed from WebCore/platform/network/ResourceRawHeaders.h.
(WebCore::ResourceLoadInfo::ResourceLoadInfo):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::resourceLoadInfo):
(WebCore::ResourceResponseBase::setResourceLoadInfo):
* platform/network/ResourceResponseBase.h:
2010-11-19 Mike Lawther <mikelawther@chromium.org>
Reviewed by James Robinson.
[skia] assert when attempting to get (but not use) pointer to outside the canvas
https://bugs.webkit.org/show_bug.cgi?id=49698
Early return to avoid getting a pointer to outside the canvas, and
hence triggering a Skia assert.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::getImageData):
2010-11-18 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: reduce the footprint of InspectorBackendDispatcher.
InspectorBackendDispatcher is a generated file.
Its content is not optimal and loc may be reduced by a quarter.
In each generated function we have a code for getting 'in' values from
the arguments properties object. I've extracted this code into separate getters.
The side effect is better readability of the generated code.
https://bugs.webkit.org/show_bug.cgi?id=49729
* inspector/CodeGeneratorInspector.pm:
2010-11-19 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Focus ring does not show for image maps
https://bugs.webkit.org/show_bug.cgi?id=49615
Draw a focus ring for the paths surrounding the focus ring of image map area.
Provide Qt specific results for the test fast/images/imagemap-focus-ring.html.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawFocusRing):
2010-11-01 MORITA Hajime <morrita@google.com>
Reviewed by David Hyatt.
Navigating dark background websites results in blinding white flashes between pages.
https://bugs.webkit.org/show_bug.cgi?id=45640
This FOUC is caused by an early layout request before the <body> is ready,
and the page's background style given for <body>, instead of <html>.
So many sites have such stylesheets that we should care them.
- Some DOM operation such as 'element.offsetLeft' causes page layout.
- The page layout results page repaint
- The page page repaint makes a white screen. because there is nothing to paint
before <body> is available.
This change:
- extracted existing FOUC check on RenderBlock and RenderLayer to
Document::mayCauseFlashOfUnstyledContent(),
- checked non-<head> element availability on mayCauseFlashOfUnstyledContent(), and
- added FOUC guards before requesting reapint on FrameView.
Note that non-<head> document root children are typically <body>, but possibly
some other type of elements in the case of non-HTML documents.
No new tests. The data loading speed matters and it cannot be
captured by DRT.
* dom/Document.cpp:
(hasHeadSibling): Added.
(WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
* dom/Document.h:
* page/FrameView.cpp:
(WebCore::FrameView::invalidateRect): Added a guard.
(WebCore::FrameView::repaintContentRectangle): Added a guard.
(WebCore::FrameView::doDeferredRepaints): Added a guard.
(WebCore::FrameView::shouldUpdate): Added.
* page/FrameView.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
2010-11-18 Kent Tamura <tkent@chromium.org>
Reviewed by Tony Chang.
Add more validation message functions
https://bugs.webkit.org/show_bug.cgi?id=49716
Add the following message functions:
- validationMessageValueMissingForCheckbox()
- validationMessageValueMissingForFile()
- validationMessageValueMissingForMultipleFile()
- validationMessageValueMissingForRadio()
- validationMessageValueMissingForSelect()
and update ValidityState, HTMLInputElement, and InputTypes to use them.
No new tests because this doesn't change visible behavior.
* html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::valueMissingText):
* html/CheckboxInputType.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::valueMissingText):
* html/FileInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::valueMissingText):
* html/HTMLInputElement.h:
* html/InputType.cpp:
(WebCore::InputType::valueMissingText):
* html/InputType.h:
* html/RadioInputType.cpp:
(WebCore::RadioInputType::valueMissingText):
* html/RadioInputType.h:
* html/ValidityState.cpp:
(WebCore::ValidityState::validationMessage):
* platform/LocalizedStrings.cpp:
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
* platform/LocalizedStrings.h:
* platform/android/LocalizedStringsAndroid.cpp:
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
* platform/brew/LocalizedStringsBrew.cpp:
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
* platform/haiku/LocalizedStringsHaiku.cpp:
(WebCore::validationMessageValueMissingText):
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
* platform/wx/LocalizedStringsWx.cpp:
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
2010-11-18 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 49708 - Stop recompiling functions to regenerate exception info.
Instead only hold info as necessary keep divot info is the inspector
is enabled, line number info is debugging or profiling, and handler
info for functions with try/catch.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::supportsRichSourceInfo):
- report to JSC whether the inspector is enabled - in which
case we will generate better error messages on exceptions.
* bindings/js/JSDOMWindowBase.h:
2010-11-18 Jian Li <jianli@chromium.org>
Reviewed by Kenneth Russell.
Make binding code generation scripts support 'short' type
https://bugs.webkit.org/show_bug.cgi?id=49704
Updated binding tests.
* bindings/scripts/CodeGeneratorJS.pm: Also fixed a style issue.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
2010-11-18 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Adam Roben.
<rdar://problem/8602509&8602717&8602724> Enable compaction support.
* Configurations/WebCore.xcconfig:
2010-11-18 Dave Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49772
Fix nested ruby. My previous checkin (for 49717) broke it. Push the ruby text and ruby base text
together based off logicalTopOverflow and logicalBottomOverflow rather than lineTop and lineBottom.
This way the overflow from nested rubies is accounted for.
Added fast/ruby/nested-ruby.html
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
2010-11-18 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Nate Chapin.
[V8] ASSERT(WTF::isMainThread()) fails in V8Binding::int32ToWebCoreString in workers
https://bugs.webkit.org/show_bug.cgi?id=49613
No new tests. Running existing worker tests like
fast/workers/storage/execute-sql-args-worker.html in chromium
would verify it.
* bindings/v8/V8Binding.cpp:
(WebCore::int32ToWebCoreStringFast):
(WebCore::int32ToWebCoreString):
2010-11-18 Alexey Proskuryakov <ap@apple.com>
Windows build fix.
https://bugs.webkit.org/show_bug.cgi?id=49762
Stylesheet wrappers are not GC protected
* bindings/js/JSBindingsAllInOne.cpp: Added new custom binding files.
2010-11-18 Dave Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49717
Implement better behavior for the logical height and block direction spacing of ruby text and ruby
base text.
Added six new tests: ruby-auto-line-expansion.html (one version for each of the four writing modes) to
test ruby text accommodation and quirks-mode-ruby-spacing.html / quirks-mode-ruby-spacing-bt.html to test
that ruby doesn't reset line-height.
* css/html.css:
Remove the line-height:normal rule for <ruby> This behavior was incorrect, since a <ruby> on a line
by itself in quirks mode would cause the overall line-height of the enclosing block to not be honored.
* rendering/InlineBox.h:
(WebCore::InlineBox::adjustBlockDirectionPosition):
Add adjustBlockDirectionPosition as a shorthand for calling adjustPosition with the correct delta (x or y)
depending on orientation.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
placeBoxesInBlockDirection now looks for Ruby runs, and when it encounters them it sets a flag, containsRuby,
to true. This flag is stored as a bit on the RootInlineBox and lets us know whether we need to do a later
crawl of the line boxes after they are positioned to see if all the Ruby texts fit or not.
Add the notion of a lineTop and lineBottom that include margins, since flipped lines writing modes (lr and bt)
mess up the flipping otherwise. These new variables are lineTopIncludingMargins and lineBottomIncludingMargins.
This is only relevant for replaced elements, since the block direction margins of inline flows are always 0.
Because RenderRubyRun is implemented as an inline-block (this is probably not a behavior we want to keep long-term),
the line-height is propagated into the inline-block, and it ends up being counted as part of the overall lineTop
and lineBottom since it is inside the inline-block's height. To prevent this from happening, we have to fake it
as though RenderRubyRun was just a normal inline. We look at the line boxes of the ruby base and we push lineTop/Bottom
in by the leading on either side so that it isn't counted as part of lineTop and lineBottom. This enables the later
Ruby code that examines the spacing between lines to not be fooled into thinking it can't intrude into an inline-block's
interior on a previous line.
(WebCore::InlineFlowBox::computeBlockDirectionRubyAdjustment):
This function computes the amount that a line box has to be moved in order to accommodate all of the Ruby texts on the
line. With tb and rl writing modes, the Ruby is trying to fit between the current line and a previous line, and so
we're checking some highest previous position and computing the amount we have to move.
For lr and bt writing modes, the lines are flipped relative to the block direction, so we are computing how much we have
to move the *following* line based off a lowest position.
In all writing modes we will allow Ruby text to intrude into the padding of a block.
* rendering/InlineFlowBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren):
Ruby text is now considered a special child that should be excluded from normal layout, margin collapsing and height
computations. Rename the layoutLegend function to be more generalized and make it apply to both Ruby text and to
legends. This means that the RenderRubyRun computes its logical height without any regard for the ruby text.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::layoutSpecialExcludedChild):
layoutSpecialExcludedChild is the new version of layoutLegend and it is implemented by RenderFieldset and RenderRubyRun.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
When we hit the end of line layout, if we're in lr or bt writing modes, we have to potentially grow the height of the block
to accommodate ruby text along the bottom side of the line. We call computeBlockDirectionRubyAdjustment here in flipped lines
writing mode only, and then we increase the logical height of the block if necessary.
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::layoutSpecialExcludedChild):
* rendering/RenderFieldset.h:
No changes here other than the function rename.
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::staticCreateRubyRun):
Remove the hack that locked RenderRubyRun's writing mode to tb or rl, since it didn't really work anyway, and it isn't necessary
now that RenderRubyRun has its own layout method.
(WebCore::RenderRubyRun::layoutSpecialExcludedChild):
RenderRubyRun lays out the ruby text here but doesn't do anything with its placement yet. We wait until the base is positioned
and then handled positioning the RenderRubyText at the end of RenderRubyRun's layout method.
(WebCore::RenderRubyRun::layout):
* rendering/RenderRubyRun.h:
RenderRubyRun now has its own layout method that calls the base class to get the RenderRubyBase positioned and then moves the
RenderRubyText such that its bottommost line box's bottom and the RenderRubyBase's topmost line box's line top are flush with
one another. The RenderRubyText will commonly be positioned at a negative coordinate now and spill out of the RenderRubyRun
as overflow.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
Added the m_containsRuby bit for performance to avoid the extra pass to try to accommodate ruby texts when none are present.
(WebCore::RootInlineBox::adjustPosition):
Fixed a bug in adjustPosition where the lineTop, lineBottom and blockLogicalHeight values were always being augmented by dy
even in vertical writing modes (where dx needed to be used instead).
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::blockDirectionRubyAdjustment):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::containsRuby):
RootInlineBox now calls blockDirectionRubyAdjustment to determine the amount of additional spacing that has to exist between
the lines in order to accommodate all Ruby texts, and then it does adjustPosition to move the new line by the amount required.
2010-11-18 Alexey Proskuryakov <ap@apple.com>
Reviewed by Geoffrey Garen.
https://bugs.webkit.org/show_bug.cgi?id=49762
Stylesheet wrappers are not GC protected
Tests: fast/dom/StyleSheet/gc-inline-style-cssvalues.html
fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml
* Android.jscbindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
Added the new custom bindings files.
* WebCore.xcodeproj/project.pbxproj: Added the new custom bindings files. Also, added some
existing headers.
* bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): If a node has a stylesheet
with a wrapper, it may be the only thing having the stylesheet's wrapper alive, so its own
wrapper has to stay alive, too.
While at it, also fixed the same issue with inline style declarations.
Also, added a FIXME comment about one with attribute nodes. We implement a less conservative
approach for nodes, so perhaps fixing this is not as easy as removing a hasCustomProperties()
check.
* bindings/js/JSHTMLLinkElementCustom.cpp: Added.
(WebCore::JSHTMLLinkElement::markChildren):
* bindings/js/JSHTMLStyleElementCustom.cpp: Added.
(WebCore::JSHTMLStyleElement::markChildren):
* bindings/js/JSProcessingInstructionCustom.cpp: Added.
(WebCore::JSProcessingInstruction::markChildren):
Mark stylesheets owned by these nodes. As always in markChildren() functions, we do it
conservatively, without checking whether the stylesheet or any of its children have custom
properties.
* dom/ProcessingInstruction.idl:
* html/HTMLLinkElement.idl:
* html/HTMLStyleElement.idl:
These have custom mark functions now.
2010-11-18 Jian Li <jianli@chromium.org>
Reviewed by Kenneth Russell.
Move length and slice out of ArrayBufferView interface
https://bugs.webkit.org/show_bug.cgi?id=49697
No functionality change. Covered by existing ArrayBuffer tests.
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSArrayBufferViewCustom.cpp: Removed.
* bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Removed.
* html/canvas/ArrayBufferView.h:
* html/canvas/ArrayBufferView.idl:
* html/canvas/Float32Array.cpp:
(WebCore::Float32Array::slice):
* html/canvas/Float32Array.h:
* html/canvas/Float32Array.idl:
* html/canvas/Int16Array.cpp:
(WebCore::Int16Array::slice):
* html/canvas/Int16Array.h:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.cpp:
(WebCore::Int32Array::slice):
* html/canvas/Int32Array.h:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.cpp:
(WebCore::Int8Array::slice):
* html/canvas/Int8Array.h:
* html/canvas/Int8Array.idl:
* html/canvas/TypedArrayBase.h:
(WebCore::TypedArrayBase::length):
* html/canvas/Uint16Array.cpp:
(WebCore::Uint16Array::slice):
* html/canvas/Uint16Array.h:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.cpp:
(WebCore::Uint32Array::slice):
* html/canvas/Uint32Array.h:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.cpp:
(WebCore::Uint8Array::slice):
* html/canvas/Uint8Array.h:
* html/canvas/Uint8Array.idl:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::readPixels):
2010-11-17 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
https://bugs.webkit.org/show_bug.cgi?id=47196
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::ignoresGammaAndColorProfile): Add a getter function for the ignoreGammaAndColorProfile setting.
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode): Hookup ignoreGammaAndColorProfile setting with color profile processing.
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::headerAvailable): Ditto.
2010-11-18 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
Remove leftover Windows Debug_Internal configurations
https://bugs.webkit.org/show_bug.cgi?id=49758
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCore.vcproj:
2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72299.
http://trac.webkit.org/changeset/72299
https://bugs.webkit.org/show_bug.cgi?id=49761
Broke chromium ui test SessionHistoryTest.FrameBackForward.
(Requested by dave_levin on #webkit).
* loader/HistoryController.cpp:
(WebCore::HistoryController::HistoryController):
(WebCore::HistoryController::saveDocumentState):
(WebCore::HistoryController::updateForBackForwardNavigation):
(WebCore::HistoryController::updateForCommit):
(WebCore::HistoryController::updateForFrameLoadCompleted):
(WebCore::HistoryController::setCurrentItem):
(WebCore::HistoryController::createItem):
(WebCore::HistoryController::createItemTree):
(WebCore::HistoryController::recursiveGoToItem):
* loader/HistoryController.h:
2010-11-18 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
[chromium] REGRESSION(72141): Chromium fails acid3 on windows and linux
https://bugs.webkit.org/show_bug.cgi?id=49638
Avoid clamping zero text size to 12pt in FontPlatformData::setupPaint() in FontPlatformDataLinux.cpp
Set all metrics to 0 if the font size is specified as zero in SimpleFontDataChromiumWin.cpp, just
like Safari Win did in r72270.
Test: fast/text/font-size-zero.html
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::setupPaint):
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::platformInit):
2010-11-18 Rob Buis <rwlbuis@gmail.com>
Reviewed by Simon Fraser.
Only inject fullscreen.css when in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=49510
Refactor to only add fullscreen sheet rules when document is in fullscreen mode.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::loadFullDefaultStyle):
(WebCore::loadFullScreenRulesIfNeeded):
(WebCore::CSSStyleSelector::styleForElement):
2010-11-18 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
Debug_Internal Windows configuration is unnecessary, should be removed
https://bugs.webkit.org/show_bug.cgi?id=49753
* WebCorePrefix.h:
2010-11-18 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
Clean up vcproj errors
https://bugs.webkit.org/show_bug.cgi?id=49741
* WebCore.vcproj/WebCore.vcproj:
2010-11-18 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=49694
Add some comments about XSLStyleSheet owner node
No change in behavior, so no tests.
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
* xml/XSLStyleSheet.h:
(WebCore::XSLStyleSheet::create):
(WebCore::XSLStyleSheet::createEmbedded):
(WebCore::XSLStyleSheet::createForXSLTProcessor):
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::XSLStyleSheet):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::xsltStylesheetPointer):
* xml/XSLTProcessorQt.cpp:
(WebCore::XSLTProcessor::transformToString):
2010-11-18 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
REGRESSION (Safari 5.0.1): HTML5 videos on YouTube never start playing on Windows
https://bugs.webkit.org/show_bug.cgi?id=44439
<rdar://problem/8342407>
setUpCookiesForQuickTime() previously depended on having setFrameView() called first
in order to get a Frame, and when it wasn't set, the cookie-copy failed. Now,
setUpCookiesForQuickTime uses the MediaPlayerClient function mediaPlayerOwningDocument()
to retrieve the document and subsequently, the Frame.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
2010-11-18 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Darin Adler.
Allow no-store resources to be used for back navigation
https://bugs.webkit.org/show_bug.cgi?id=49672
Test: http/tests/cache/history-only-cached-subresource-loads.html
HTTP allows "Cache-Control: no-store" resources to "cached" for the
purposes of history, such as back/forward navigation. Previously
WebCore just immediately evicted these resources, now we leave them in
the cache as long as they are not "https". This allows us to use them
if they are used in a back navigation, or lazily evict and replace
them on other load types expecting non-stale resources.
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::removeClient): instead of immediately removing the resource from the cache, leave it in the cache.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::checkForReload):
(WebCore::CachedResourceLoader::requestResource): allow history only resources if the CachePolicy is CachePolicyHistoryBuffer (back/forward navigation).
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::requestResource): lazily remove history only resources if it is requested for a load type expecting non-stale resources.
* loader/cache/MemoryCache.h: default the forHistory parameter to false.
Rename cache policy CachePolicyAllowStale to CachePolicyHistoryBuffer.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::subresourceCachePolicy):
* loader/cache/CachePolicy.h:
* loader/cache/CachedResource.cpp:
2010-11-18 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49700
XSLTProcessor.importNode is only tested with document nodes, and hits an assertion
Test: fast/xsl/import-non-document-node.xhtml
* css/CSSStyleSheet.cpp:
(WebCore::isAcceptableCSSStyleSheetParent):
(WebCore::CSSStyleSheet::CSSStyleSheet):
* css/StyleSheet.cpp:
(WebCore::StyleSheet::StyleSheet):
Moved the assertion - hopefully, it's valid for CSS stylesheets.
2010-11-18 Charlie Reis <creis@chromium.org>
Reviewed by Darin Fisher.
Update correct content state during back/forward navigations
https://bugs.webkit.org/show_bug.cgi?id=48809
Ensures that history's previousItem is non-null when clients try to
update content state (e.g., Chromium's UpdateSessionHistory). We now
track load completions with a boolean field rather than by clearing
previousItem.
Behavior covered by existing tests in fast/history and fast/loader.
* loader/HistoryController.cpp:
2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72288.
http://trac.webkit.org/changeset/72288
https://bugs.webkit.org/show_bug.cgi?id=49730
'krit attempted to do that, but revert got stuck' (Requested
by antonm on #webkit).
* Android.mk:
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.order:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/js/JSDOMBinding.h:
(WebCore::createDOMObjectWrapper):
(WebCore::getDOMObjectWrapper):
* bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJS):
* bindings/js/JSSVGPathSegListCustom.cpp: Added.
(WebCore::JSSVGPathSegList::clear):
(WebCore::JSSVGPathSegList::initialize):
(WebCore::JSSVGPathSegList::getItem):
(WebCore::JSSVGPathSegList::insertItemBefore):
(WebCore::JSSVGPathSegList::replaceItem):
(WebCore::JSSVGPathSegList::removeItem):
(WebCore::JSSVGPathSegList::appendItem):
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* svg/SVGAllInOne.cpp:
* svg/SVGAnimatedPathData.cpp: Added.
* svg/SVGAnimatedPathData.h: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGAnimatedPathData::~SVGAnimatedPathData):
* svg/SVGAnimatedPathData.idl: Copied from WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl.
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::SVGPathElement):
(WebCore::SVGPathElement::getPathSegAtLength):
(WebCore::SVGPathElement::createSVGPathSegClosePath):
(WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
(WebCore::SVGPathElement::createSVGPathSegMovetoRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
(WebCore::SVGPathElement::createSVGPathSegArcAbs):
(WebCore::SVGPathElement::createSVGPathSegArcRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
(WebCore::SVGPathElement::parseMappedAttribute):
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::synchronizeProperty):
(WebCore::SVGPathElement::pathSegList):
(WebCore::SVGPathElement::normalizedPathSegList):
(WebCore::SVGPathElement::animatedPathSegList):
(WebCore::SVGPathElement::animatedNormalizedPathSegList):
(WebCore::SVGPathElement::toPathData):
* svg/SVGPathElement.h:
(WebCore::SVGPathElement::isValid):
(WebCore::SVGPathElement::supportsMarkers):
* svg/SVGPathElement.idl:
* svg/SVGPathParserFactory.cpp:
(WebCore::globalSVGPathSegListBuilder):
(WebCore::SVGPathParserFactory::buildPathFromByteStream):
(WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
(WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
(WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
(WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
* svg/SVGPathParserFactory.h:
* svg/SVGPathSeg.cpp: Copied from WebCore/svg/SVGPathSegLinetoHorizontalRel.idl.
(WebCore::SVGPathSeg::associatedAttributeName):
* svg/SVGPathSeg.h:
(WebCore::SVGPathSegSingleCoord::setX):
(WebCore::SVGPathSegSingleCoord::x):
(WebCore::SVGPathSegSingleCoord::setY):
(WebCore::SVGPathSegSingleCoord::y):
(WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
* svg/SVGPathSeg.idl:
* svg/SVGPathSegArc.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
(WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
* svg/SVGPathSegArc.h:
(WebCore::SVGPathSegArc::SVGPathSegArc):
(WebCore::SVGPathSegArc::setX):
(WebCore::SVGPathSegArc::x):
(WebCore::SVGPathSegArc::setY):
(WebCore::SVGPathSegArc::y):
(WebCore::SVGPathSegArc::setR1):
(WebCore::SVGPathSegArc::r1):
(WebCore::SVGPathSegArc::setR2):
(WebCore::SVGPathSegArc::r2):
(WebCore::SVGPathSegArc::setAngle):
(WebCore::SVGPathSegArc::angle):
(WebCore::SVGPathSegArc::setLargeArcFlag):
(WebCore::SVGPathSegArc::largeArcFlag):
(WebCore::SVGPathSegArc::setSweepFlag):
(WebCore::SVGPathSegArc::sweepFlag):
(WebCore::SVGPathSegArcAbs::create):
(WebCore::SVGPathSegArcAbs::pathSegType):
(WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegArcRel::create):
(WebCore::SVGPathSegArcRel::pathSegType):
(WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
* svg/SVGPathSegArcAbs.idl:
* svg/SVGPathSegArcRel.idl:
* svg/SVGPathSegClosePath.cpp: Added.
* svg/SVGPathSegClosePath.h:
(WebCore::SVGPathSegClosePath::create):
(WebCore::SVGPathSegClosePath::SVGPathSegClosePath):
* svg/SVGPathSegCurvetoCubic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
(WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
* svg/SVGPathSegCurvetoCubic.h:
(WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
(WebCore::SVGPathSegCurvetoCubic::setX):
(WebCore::SVGPathSegCurvetoCubic::x):
(WebCore::SVGPathSegCurvetoCubic::setY):
(WebCore::SVGPathSegCurvetoCubic::y):
(WebCore::SVGPathSegCurvetoCubic::setX1):
(WebCore::SVGPathSegCurvetoCubic::x1):
(WebCore::SVGPathSegCurvetoCubic::setY1):
(WebCore::SVGPathSegCurvetoCubic::y1):
(WebCore::SVGPathSegCurvetoCubic::setX2):
(WebCore::SVGPathSegCurvetoCubic::x2):
(WebCore::SVGPathSegCurvetoCubic::setY2):
(WebCore::SVGPathSegCurvetoCubic::y2):
(WebCore::SVGPathSegCurvetoCubicAbs::create):
(WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
(WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegCurvetoCubicRel::create):
(WebCore::SVGPathSegCurvetoCubicRel::pathSegType):
(WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
* svg/SVGPathSegCurvetoCubicAbs.idl:
* svg/SVGPathSegCurvetoCubicRel.idl:
* svg/SVGPathSegCurvetoCubicSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
* svg/SVGPathSegCurvetoCubicSmooth.h:
(WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
(WebCore::SVGPathSegCurvetoCubicSmooth::setX):
(WebCore::SVGPathSegCurvetoCubicSmooth::x):
(WebCore::SVGPathSegCurvetoCubicSmooth::setY):
(WebCore::SVGPathSegCurvetoCubicSmooth::y):
(WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
(WebCore::SVGPathSegCurvetoCubicSmooth::x2):
(WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
(WebCore::SVGPathSegCurvetoCubicSmooth::y2):
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
* svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
* svg/SVGPathSegCurvetoCubicSmoothRel.idl:
* svg/SVGPathSegCurvetoQuadratic.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
(WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
* svg/SVGPathSegCurvetoQuadratic.h:
(WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
(WebCore::SVGPathSegCurvetoQuadratic::setX):
(WebCore::SVGPathSegCurvetoQuadratic::x):
(WebCore::SVGPathSegCurvetoQuadratic::setY):
(WebCore::SVGPathSegCurvetoQuadratic::y):
(WebCore::SVGPathSegCurvetoQuadratic::setX1):
(WebCore::SVGPathSegCurvetoQuadratic::x1):
(WebCore::SVGPathSegCurvetoQuadratic::setY1):
(WebCore::SVGPathSegCurvetoQuadratic::y1):
(WebCore::SVGPathSegCurvetoQuadraticAbs::create):
(WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
(WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegCurvetoQuadraticRel::create):
(WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
(WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
* svg/SVGPathSegCurvetoQuadraticAbs.idl:
* svg/SVGPathSegCurvetoQuadraticRel.idl:
* svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
* svg/SVGPathSegCurvetoQuadraticSmooth.h:
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegType):
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegType):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
* svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
* svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
* svg/SVGPathSegLineto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
(WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
* svg/SVGPathSegLineto.h:
(WebCore::SVGPathSegLinetoAbs::create):
(WebCore::SVGPathSegLinetoAbs::pathSegType):
(WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegLinetoRel::create):
(WebCore::SVGPathSegLinetoRel::pathSegType):
(WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
* svg/SVGPathSegLinetoAbs.idl:
* svg/SVGPathSegLinetoHorizontal.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
(WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
* svg/SVGPathSegLinetoHorizontal.h:
(WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
(WebCore::SVGPathSegLinetoHorizontal::setX):
(WebCore::SVGPathSegLinetoHorizontal::x):
(WebCore::SVGPathSegLinetoHorizontalAbs::create):
(WebCore::SVGPathSegLinetoHorizontalAbs::pathSegType):
(WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegLinetoHorizontalRel::create):
(WebCore::SVGPathSegLinetoHorizontalRel::pathSegType):
(WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
* svg/SVGPathSegLinetoHorizontalAbs.idl:
* svg/SVGPathSegLinetoHorizontalRel.idl:
* svg/SVGPathSegLinetoRel.idl:
* svg/SVGPathSegLinetoVertical.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
(WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
* svg/SVGPathSegLinetoVertical.h:
(WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
(WebCore::SVGPathSegLinetoVertical::setY):
(WebCore::SVGPathSegLinetoVertical::y):
(WebCore::SVGPathSegLinetoVerticalAbs::create):
(WebCore::SVGPathSegLinetoVerticalAbs::pathSegType):
(WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegLinetoVerticalRel::create):
(WebCore::SVGPathSegLinetoVerticalRel::pathSegType):
(WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
* svg/SVGPathSegLinetoVerticalAbs.idl:
* svg/SVGPathSegLinetoVerticalRel.idl:
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::SVGPathSegList):
* svg/SVGPathSegList.h:
(WebCore::SVGPathSegList::create):
* svg/SVGPathSegList.idl:
* svg/SVGPathSegListBuilder.cpp:
(WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
(WebCore::SVGPathSegListBuilder::moveTo):
(WebCore::SVGPathSegListBuilder::lineTo):
(WebCore::SVGPathSegListBuilder::lineToHorizontal):
(WebCore::SVGPathSegListBuilder::lineToVertical):
(WebCore::SVGPathSegListBuilder::curveToCubic):
(WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
(WebCore::SVGPathSegListBuilder::curveToQuadratic):
(WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathSegListBuilder::arcTo):
(WebCore::SVGPathSegListBuilder::closePath):
* svg/SVGPathSegListBuilder.h:
(WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
(WebCore::SVGPathSegListBuilder::cleanup):
* svg/SVGPathSegListSource.cpp:
(WebCore::SVGPathSegListSource::SVGPathSegListSource):
(WebCore::SVGPathSegListSource::parseSVGSegmentType):
(WebCore::SVGPathSegListSource::nextCommand):
(WebCore::SVGPathSegListSource::parseMoveToSegment):
(WebCore::SVGPathSegListSource::parseLineToSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
* svg/SVGPathSegListSource.h:
(WebCore::SVGPathSegListSource::create):
* svg/SVGPathSegMoveto.cpp: Copied from WebCore/svg/SVGPathSegClosePath.h.
(WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
(WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
* svg/SVGPathSegMoveto.h:
(WebCore::SVGPathSegMovetoAbs::create):
(WebCore::SVGPathSegMovetoAbs::pathSegType):
(WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
(WebCore::SVGPathSegMovetoRel::create):
(WebCore::SVGPathSegMovetoRel::pathSegType):
(WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
* svg/SVGPathSegMovetoAbs.idl:
* svg/SVGPathSegMovetoRel.idl:
* svg/SVGPathSegWithContext.h: Removed.
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Removed.
* svg/properties/SVGPathSegListPropertyTearOff.cpp: Removed.
* svg/properties/SVGPathSegListPropertyTearOff.h: Removed.
2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72292.
http://trac.webkit.org/changeset/72292
https://bugs.webkit.org/show_bug.cgi?id=49732
will break win build (Requested by loislo on #webkit).
* inspector/CodeGeneratorInspector.pm:
2010-11-18 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: reduce the footprint of InspectorBackendDispatcher.
InspectorBackendDispatcher is a generated file.
Its content is not optimal and loc may be reduced by a quarter.
In each generated function we have a code for getting 'in' values from
the arguments properties object. I've extracted this code into separate getters.
The side effect is better readability of the generated code.
https://bugs.webkit.org/show_bug.cgi?id=49729
* inspector/CodeGeneratorInspector.pm:
2010-11-18 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
[v8] fast/css/getFloatValueForUnit.html fails since http://trac.webkit.org/changeset/72189
https://bugs.webkit.org/show_bug.cgi?id=49656
Explicitly specify indexerType for the generation of V8WebKitCSSTransformValue binding.
* bindings/scripts/CodeGeneratorV8.pm:
2010-11-18 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=49580
SVGPathElement.cloneNode loses generated pathSegList
https://bugs.webkit.org/show_bug.cgi?id=43388
SVG Path elements are not correctly updated through pathSegList manipulation on relative values
https://bugs.webkit.org/show_bug.cgi?id=30219
Changing an SVGPathSeg does not update a following Smooth Cubic Curveto
https://bugs.webkit.org/show_bug.cgi?id=19741
SVGPathElement should only build SVGPathSeg* list on demand
https://bugs.webkit.org/show_bug.cgi?id=10827
Tests: svg/W3C-SVG-1.1-SE/paths-dom-02-f.svg
svg/dom/SVGPathSegList-appendItem.xhtml
svg/dom/SVGPathSegList-clear-and-initialize.xhtml
svg/dom/SVGPathSegList-cloning.html
svg/dom/SVGPathSegList-insertItemBefore.xhtml
svg/dom/SVGPathSegList-removeItem.xhtml
svg/dom/SVGPathSegList-replaceItem.xhtml
svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
svg/dom/SVGPathSegList-segment-modification.svg
Convert SVGPathSeg*/SVGPathSegList to the new SVG(Animated)PropertyTearOff concept.
Unlike all other SVG* types that use the SVGPropertyTearOff concept, SVGPathSegs are already refcounted,
and don't need to be wrapped in SVGPropertyTearOff objects. The consequence is that SVGPathSegs need to track
themselves to which list and path element they belong. Introduce new SVGAnimatedPathSegListPropertyTearOff
and SVGPathSegListPropertyTearOff classes, that encapsulate the special needed for SVGPathSegList.
Each SVGPathSeg now needs to store a RefPtr<SVGPathElement> - this makes it impossible to use SVGPathSegList
to represent the 'd' attribute internally in SVGPathElement. SVGPathSegList is now only used in the SVG DOM bindings
if someone explicitely requests 'pathElement.pathSegList' (eg. via JS). Switch to use SVGPathByteStream to store
the 'd' attribute data in SVGPathElement, which is much more compact, and less memory intensive.
Dirk already prepared SVGPathParserFactory some months ago, which allows easy conversion between
String/Path/SVGPathSegList/SVGPathByteStream in all directions, including normalizing the lists, when requested.
As consequence SVGPathSegList is now only built on demand, when explicitely requested. Using the SVGAnimatedProperty
concept gives us 'd' attribute <-> SVGPathSegList synchronization for free, fixing several bugs, listed above.
* Android.mk: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
* CMakeLists.txt: Ditto.
* DerivedSources.make: Remove SVGAnimatedPathData IDL generation.
* GNUmakefile.am: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
* WebCore.gyp/WebCore.gyp: Remove SVGAnimatedPathData IDL generation.
* WebCore.gypi: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp from build.
* WebCore.order: Remove no-longer existant SVGAnimatedPathData symbols.
* WebCore.pro: Remove obsolete SVGPathSeg*.cpp files and SVGAnimatedPathData.cpp / JSSVGPathSegCustom.* from build.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGPathSegCustom.cpp from build.
* bindings/js/JSDOMBinding.cpp: Adapt to toJS() changes, remove context parameter.
(WebCore::setDOMException):
* bindings/js/JSDOMBinding.h: Remove obsolete CREATE_SVG_OBJECT_WRAPPER macro, the context parameter is not existant anymore.
* bindings/js/JSSVGPathSegCustom.cpp: Replace CREATE_SVG_OBJECT_WRAPPER by CREATE_DOM_OBJECT_WRAPPER. Remove context parameter/handling.
(WebCore::toJS):
* bindings/js/JSSVGPathSegListCustom.cpp: Removed.
* bindings/scripts/CodeGenerator.pm: Map 'SVGPathSegList' IDL type to SVG 'SVGPathSegListPropertyTearOff' native type.
* bindings/scripts/CodeGeneratorJS.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages. Handle SVGPathSegListPropertyTearOff.
* bindings/scripts/CodeGeneratorObjC.pm: Handle SVGPathSegListPropertyTearOff.
* bindings/scripts/CodeGeneratorV8.pm: Remove IsSVGTypeNeedingContextParameter() methods and usages.
* rendering/SVGRenderTreeAsText.cpp: Build path string from byte stream, not path segment list.
(WebCore::operator<<):
* svg/SVGAllInOne.cpp: Remove obsolete cpp files.
* svg/SVGAnimatedPathData.cpp: Removed.
* svg/SVGAnimatedPathData.h: Removed.
* svg/SVGAnimatedPathData.idl: Removed.
* svg/SVGPathElement.cpp: Build SVGPathList on demand. Use SVGPathByteStream to parse/store the 'd' attribute content.
(WebCore::SVGPathElement::SVGPathElement):
(WebCore::SVGPathElement::getPathSegAtLength): Use SVGPathByteStream, not SVGPathSegList to determine the getPathSegAtLength() information.
(WebCore::SVGPathElement::createSVGPathSegClosePath): Pass SVGPathElement to SVGPathSeg and a SVGPathSegRole parameter and store it to track the list origin.
(WebCore::SVGPathElement::createSVGPathSegMovetoAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegMovetoRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegArcAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegArcRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs): Ditto.
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel): Ditto.
(WebCore::SVGPathElement::parseMappedAttribute): Build SVGPathByteStream from 'd' attribute, not a SVGPathSegList.
(WebCore::SVGPathElement::svgAttributeChanged): If a SVGPathSegList object has been built, synchronize it with the 'd' attribute.
(WebCore::SVGPathElement::synchronizeProperty): Synchronize 'd' attribute with the SVGPathSegList, if needed.
(WebCore::SVGPathElement::synchronizeD): Added.
(WebCore::SVGPathElement::pathSegList): Use same trick as in SVGPolyElement to expose the 'pathSegList' / 'animatedPathSegList' object to the SVG DOM bindings.
(WebCore::SVGPathElement::normalizedPathSegList): Ditto.
(WebCore::SVGPathElement::animatedPathSegList): Ditto.
(WebCore::SVGPathElement::animatedNormalizedPathSegList): Ditto.
(WebCore::SVGPathElement::toPathData): Build 'Path' object from SVGPathByteStream, not from SVGPathSegList.
(WebCore::SVGPathElement::pathSegListChanged): Used to synchronize the SVGPathSegLists and the d attribute, as well as any changes from any SVGPathSeg associated with this SVGPathElement.
* svg/SVGPathElement.h: Add new accessors...
(WebCore::SVGPathElement::pathByteStream): ... needed by SVGRenderTreeAsText.
(WebCore::SVGPathElement::animatablePathSegList): ... needed by SVGPathSegListPropertyTearOff.
* svg/SVGPathElement.idl: Merge SVGAnimatedPathData interface into SVGPathElement.
* svg/SVGPathParserFactory.cpp: Cleanup SVGPathParserFactory, remove obsolete methods, now that SVGPathElement switched to using SVGPathByteStream internally.
(WebCore::globalSVGPathSegListBuilder):
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
(WebCore::SVGPathParserFactory::buildPathFromByteStream):
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
(WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
(WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
(WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
* svg/SVGPathParserFactory.h:
* svg/SVGPathSeg.cpp: Removed.
* svg/SVGPathSeg.h: Add new SVGPathSegRole enum, identifying to which list a path segment belongs.
(WebCore::SVGPathSeg::SVGPathSeg):
* svg/SVGPathSeg.idl: Reindented.
* svg/SVGPathSegArc.cpp: Removed.
* svg/SVGPathSegArc.h: All setters now call the commitChange() method.
* svg/SVGPathSegArcAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegArcRel.idl: Ditto.
* svg/SVGPathSegClosePath.cpp: Removed.
* svg/SVGPathSegClosePath.h:
* svg/SVGPathSegCurvetoCubic.cpp: Removed.
* svg/SVGPathSegCurvetoCubic.h: All setters now call the commitChange() method.
* svg/SVGPathSegCurvetoCubicAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegCurvetoCubicRel.idl: Ditto.
* svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
* svg/SVGPathSegCurvetoCubicSmooth.h: All setters now call the commitChange() method.
* svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegCurvetoCubicSmoothRel.idl: Ditto.
* svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
* svg/SVGPathSegCurvetoQuadratic.h: All setters now call the commitChange() method.
* svg/SVGPathSegCurvetoQuadraticAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegCurvetoQuadraticRel.idl: Ditto.
* svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
* svg/SVGPathSegCurvetoQuadraticSmooth.h: All setters now call the commitChange() method.
* svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Ditto.
* svg/SVGPathSegLineto.cpp: Removed.
* svg/SVGPathSegLineto.h: All setters now call the commitChange() method.
* svg/SVGPathSegLinetoAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegLinetoHorizontal.cpp: Removed.
* svg/SVGPathSegLinetoHorizontal.h: All setters now call the commitChange() method.
* svg/SVGPathSegLinetoHorizontalAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegLinetoHorizontalRel.idl: Ditto.
* svg/SVGPathSegLinetoRel.idl: Enable StrictTypeChecking.
* svg/SVGPathSegLinetoVertical.cpp: Removed.
* svg/SVGPathSegLinetoVertical.h: All setters now call the commitChange() method.
* svg/SVGPathSegLinetoVerticalAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegLinetoVerticalRel.idl: Ditto.
* svg/SVGPathSegList.cpp: Switch from SVGList<RefPtr<SVGPathSeg> > to a plain Vector<RefPtr<SVGPathSeg> >.
(WebCore::SVGPathSegList::valueAsString): Utilize SVGPathParserFactory to build a String from a SVGPathSegList.
(WebCore::SVGPathSegList::commitChange): Call SVGPathElement::pathSegListChanged().
* svg/SVGPathSegList.h:
(WebCore::SVGPathSegList::SVGPathSegList):
* svg/SVGPathSegList.idl: Remove [JSCCustom] flags, no longer needed.
* svg/SVGPathSegListBuilder.cpp: Adapt to SVGPathSegList API changes.
(WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
(WebCore::SVGPathSegListBuilder::moveTo):
(WebCore::SVGPathSegListBuilder::lineTo):
(WebCore::SVGPathSegListBuilder::lineToHorizontal):
(WebCore::SVGPathSegListBuilder::lineToVertical):
(WebCore::SVGPathSegListBuilder::curveToCubic):
(WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
(WebCore::SVGPathSegListBuilder::curveToQuadratic):
(WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathSegListBuilder::arcTo):
(WebCore::SVGPathSegListBuilder::closePath):
* svg/SVGPathSegListBuilder.h: Ditto.
(WebCore::SVGPathSegListBuilder::setCurrentSVGPathElement):
(WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
(WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegRole):
(WebCore::SVGPathSegListBuilder::cleanup):
* svg/SVGPathSegListSource.cpp: Ditto.
(WebCore::SVGPathSegListSource::SVGPathSegListSource):
(WebCore::SVGPathSegListSource::parseSVGSegmentType):
(WebCore::SVGPathSegListSource::nextCommand):
(WebCore::SVGPathSegListSource::parseMoveToSegment):
(WebCore::SVGPathSegListSource::parseLineToSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
* svg/SVGPathSegListSource.h: Ditto.
(WebCore::SVGPathSegListSource::create):
* svg/SVGPathSegMoveto.cpp: Removed.
* svg/SVGPathSegMoveto.h: All setters now call the commitChange() method.
* svg/SVGPathSegMovetoAbs.idl: Enable StrictTypeChecking.
* svg/SVGPathSegMovetoRel.idl: Ditto.
* svg/SVGPathSegWithContext.h: Added. This is the new base class for all SVGPathSeg derived types, that's associated with a SVGPathElement and a 'role' (normalized/unaltered segment list).
(WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
(WebCore::SVGPathSegWithContext::animatedProperty):
(WebCore::SVGPathSegWithContext::setContextAndRole):
(WebCore::SVGPathSegWithContext::commitChange):
(WebCore::SVGPathSegSingleCoordinate::x):
(WebCore::SVGPathSegSingleCoordinate::setX):
(WebCore::SVGPathSegSingleCoordinate::y):
(WebCore::SVGPathSegSingleCoordinate::setY):
(WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Added.
(WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
* svg/properties/SVGPathSegListPropertyTearOff.cpp: Added.
(WebCore::SVGPathSegListPropertyTearOff::clear): Added in the cpp file, not in the header, as it needs access to SVGPathSegWithContext, which we can't include from the header.
(WebCore::SVGPathSegListPropertyTearOff::getItem): Ditto.
(WebCore::SVGPathSegListPropertyTearOff::removeItem): Ditto.
(WebCore::SVGPathSegListPropertyTearOff::contextElement): Needs access to SVGPathElement, that's why it lives in the cpp file.
(WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemValue): Needs access to SVGPathSegWithContext.
* svg/properties/SVGPathSegListPropertyTearOff.h: Added.
(WebCore::SVGPathSegListPropertyTearOff::create):
(WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
(WebCore::SVGPathSegListPropertyTearOff::numberOfItems):
(WebCore::SVGPathSegListPropertyTearOff::initialize):
(WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
(WebCore::SVGPathSegListPropertyTearOff::replaceItem):
(WebCore::SVGPathSegListPropertyTearOff::appendItem):
(WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
(WebCore::SVGPathSegListPropertyTearOff::commitChange):
(WebCore::SVGPathSegListPropertyTearOff::processIncomingListItemWrapper):
2010-11-18 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Martin Robinson.
[Gtk] atk_text_get_selection returns the wrong offsets after a link
https://bugs.webkit.org/show_bug.cgi?id=49514
Consider possible embedded objects to calculate startOffset.
So far we were using offsetInContainerNode() to calculate the
value of startOffset when checking the offsets for the current
selection, which was wrong because that wouldn't work ok if any
embedded object was present in the paragraph before the
selection. Thus, we need to consider this fact when calculating
the startOffset from the point of view of the object this function
is called on, in order to return the right and actual values.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(getSelectionOffsetsForObject): Check range length from the first
position in the object the function is called on until the first
position of current selection, and use it as startOffset.
2010-11-12 Stephen White <senorblanco@chromium.org>
Reviewed by Simon Fraser.
Fix for multiple urls in a background-image causing repeated repaints.
https://bugs.webkit.org/show_bug.cgi?id=42390
Change the key of RenderBoxModelObject's LastPaintSizeMap to include
the layer of the element being drawn, so that the same URL used
repeated in the same background-image, or another element's
background-image, can be uniquely identified. The layer is a void
pointer, since it is only used as part of the key and using a
void pointer will discourage dereferencing it. This pointer is NULL
when called from RenderImage (<img> elements).
Covered by fast/backgrounds/size/contain-and-cover.html
* rendering/RenderBoxModelObject.cpp:
(WebCore::ImageQualityController::keyDestroyed):
The old objectDestroyed() is renamed to keyDestroyed().
(WebCore::ImageQualityController::objectDestroyed):
The new objectDestroyed() iterates over all outstanding resizes
to remove any resizes pertaining to this object.
(WebCore::ImageQualityController::highQualityRepaintTimerFired):
Retrieve the RenderBoxModelObject from the pair's "first" member.
(WebCore::ImageQualityController::shouldPaintAtLowQuality):
Create a key from the {object, layer} pair, and use it to access
the repaint size map.
(WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
Plumb the layer through to the image quality controller.
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Pass the bgLayer when checking
* rendering/RenderBoxModelObject.h:
Add the void* layer parameter to shouldPaintAtLowQuality.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintIntoRect):
Pass 0 (null) for the layer parameter in this case.
2010-11-18 Chris Rogers <crogers@google.com>
Reviewed by Dimitri Glazkov.
Add loadPlatformAudioResource() and decodeAudioFileData() to ChromiumBridge
https://bugs.webkit.org/show_bug.cgi?id=49557
No new tests since audio API is not yet implemented.
* platform/chromium/ChromiumBridge.h:
2010-11-17 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72228.
http://trac.webkit.org/changeset/72228
https://bugs.webkit.org/show_bug.cgi?id=49712
Caused many >10 regressions on Win and Linux gpu layout test
runs. (Requested by dave_levin on #webkit).
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::onAccess):
(WebCore::WebGLFramebuffer::initializeRenderbuffers):
* html/canvas/WebGLFramebuffer.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::texImage2DBase):
2010-11-17 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72243.
http://trac.webkit.org/changeset/72243
https://bugs.webkit.org/show_bug.cgi?id=49710
Seemed to cause a large set of Chromium layout test to start
failing. (Requested by dave_levin on #webkit).
* bindings/v8/V8NPUtils.cpp:
(WebCore::convertV8ObjectToNPVariant):
2010-11-17 Adam Roben <aroben@apple.com>
Fix Acid3 in Safari for Windows
Reviewed by Dave Hyatt.
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0
if we have a font size of 0.
2010-11-17 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Converge means of querying a parent node into one way, which is Node::parentNode.
https://bugs.webkit.org/show_bug.cgi?id=49686
No change in behavior, so no new tests.
* accessibility/AccessibilityObject.cpp:
(WebCore::renderListItemContainerForNode): Changed to use parentNode.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto.
(WebCore::siblingWithAriaRole): Ditto.
(WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto.
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto.
* accessibility/mac/AccessibilityObjectWrapper.mm: Ditto.
(blockquoteLevel): Ditto.
* bindings/v8/V8GCController.cpp:
(WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto.
* dom/ContainerNode.cpp: Ditto.
(WebCore::ContainerNode::insertBefore): Ditto.
(WebCore::ContainerNode::insertBeforeCommon): Ditto.
(WebCore::ContainerNode::replaceChild): Ditto.
(WebCore::ContainerNode::removeChild): Ditto.
(WebCore::ContainerNode::appendChild): Ditto.
(WebCore::ContainerNode::parserAddChild): Ditto.
* dom/DocumentType.cpp:
(WebCore::DocumentType::insertedIntoDocument): Ditto.
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage): Ditto.
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::receivedTarget): Ditto.
* dom/Position.cpp:
(WebCore::Position::isCandidate): Changed to use parentNode.
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::isCandidate): Ditto.
* editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
* editing/ApplyStyleCommand.cpp:
(WebCore::dummySpanAncestorForNode): Ditto.
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto.
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto.
(WebCore::highestEmbeddingAncestor): Ditto.
(WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::splitTreeToNode): Ditto.
* editing/DeleteSelectionCommand.cpp:
(WebCore::updatePositionForNodeRemoval): Ditto.
* editing/Editor.cpp:
(WebCore::Editor::textDirectionForSelection): Ditto.
* editing/MergeIdenticalElementsCommand.cpp:
(WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
* editing/htmlediting.cpp:
(WebCore::isEmptyTableCell): Ditto.
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::serializeNodes): Ditto.
* editing/visible_units.cpp:
(WebCore::previousLinePosition): Ditto.
(WebCore::nextLinePosition): Ditto.
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::imageElement): Ditto.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setOuterHTML): Ditto.
(WebCore::HTMLElement::insertAdjacent): Ditto.
(WebCore::HTMLElement::supportsFocus): Ditto.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
(WebCore::HTMLEmbedElement::attributeChanged): Ditto.
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::insertRow): Ditto.
* html/HTMLTableRowsCollection.cpp: Ditto.
(WebCore::isInHead): Ditto.
(WebCore::isInBody): Ditto.
(WebCore::isInFoot): Ditto.
(WebCore::HTMLTableRowsCollection::rowAfter): Ditto.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::addRange): Ditto.
* html/MediaDocument.cpp:
(WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach): Ditto.
(WebCore::HTMLConstructionSite::findFosterSite): Ditto.
* html/parser/HTMLTreeBuilder.cpp:
* page/FocusController.cpp:
(WebCore::FocusController::findFocusableNodeInDirection): Ditto.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlElement::rendererIsNeeded): Ditto.
(WebCore::MediaControlElement::attach): Ditto.
(WebCore::MediaControlElement::updateStyle): Ditto.
(WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
(WebCore::MediaControlInputElement::attach): Ditto.
(WebCore::MediaControlInputElement::updateStyle): Ditto.
* rendering/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement): Ditto.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::createRenderer): Ditto.
(WebCore::SVGAElement::childShouldCreateRenderer): Ditto.
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::svgAttributeChanged): Ditto.
(WebCore::SVGFELightElement::childrenChanged): Ditto.
* svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto.
* svg/SVGLength.cpp:
(WebCore::SVGLength::determineViewport): Ditto.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto.
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::sort): Ditto.
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis): Ditto.
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::xsltStylesheetPointer): Ditto.
2010-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Andreas Kling.
ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents()
This makes paint() with paintEntireContents() do exactly what it's supposed to:
paint from 0,0 to contentsSize().
The clipping was a no-op anyway since visibleContentRect() will return the whole
rect in paintsEntireContents() mode.
* platform/ScrollView.cpp:
(WebCore::ScrollView::paint):
2010-11-17 Kenneth Rohde Christansen <kenneth@webkit.org>
Reviewed by Andreas Kling.
ScrollView: Update the actualVisibleContentRect after delegating a scroll.
This lets us avoid updating the actualVisibleContentRect from the client
after each scroll. We had to do this synchronously for WebKit2 to support
programmatic "animated scrolling" from JS.
* platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollPosition):
2010-11-17 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
ScrollView: Decouple actualVisibleContentRect from visibleContentRect
Added actualVisibleContentRect() which will return the override provided
by setActualVisibleContentRect() or fall back to visibleContentRect()
if no override has been set.
This is similar to what the iPhone does.
* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRect):
* platform/ScrollView.h:
(WebCore::ScrollView::actualVisibleContentRect):
(WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect&
2010-11-17 Tony Chang <tony@chromium.org>
Reviewed by Adam Barth.
[chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn
https://bugs.webkit.org/show_bug.cgi?id=49036
No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html
In http://codereview.chromium.org/11574, the forked chromium test
plugin changed how it testGetIntIdentifier to work around a change
caused by a silverlight specific plugin fix:
http://codereview.chromium.org/11569/diff/1/2
It's not clear to me that this change is needed anymore since
silverlight has had multiple releases, testing without this patch
works on a test windows build, and safari win seems to run silverlight
without this either. Since there's no test for this behavior, I'm
rolling it out so we can match the upstream test.
* bindings/v8/V8NPUtils.cpp:
(WebCore::convertV8ObjectToNPVariant):
2010-11-17 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents()
* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRect):
2010-11-17 James Simonsen <simonjam@chromium.org>
Reviewed by Tony Chang.
[chromium] Fix negative letter spacing in complex text on linux
https://bugs.webkit.org/show_bug.cgi?id=49563
Test: fast/text/atsui-negative-spacing-features.html
* platform/graphics/chromium/FontLinux.cpp: Make spacing signed.
2010-11-17 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated.
* platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the
newScrollPosition, so move that calculation below the delegation path.
2010-11-17 Dave Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=48537
Fonts with no vertical metrics should synthesize baselines when they appear
on lines that do use fonts with vertical metrics. Basically we want to make
sure that English text behaves like vertical-align:middle, i.e., its baseline
should be treated as though it cuts through the middle of the ascent+descent.
The way this works is that each line in the line box tree is labeled as having
a baseline type that is either ideographic or alphabetic for the purposes of
vertical alignment. A line becomes ideographic if any font with vertical tables
is either explicitly specified as the primary font or in any of the used fonts
in the text on that line.
This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection,
and passed to the ascent and descent methods of the fonts that are examined.
The underlying Font code selects an appropriate baseline given the type passed in.
This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and
to instead carry around the cached vertical positions for RenderInlines in a new
VerticalPositionCache object. This cache only lives for a single layout
operation, but it does cache information across all the lines built and placed during the
layout.
This matches the old behavior, since every call to layoutInlineChildren invalidated
all of the vertical positions in all of the RenderInlines anyway.
The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment
positions for both alphabetic and ideographic baseline types.
The vertical-align computation has now been moved out of RenderBoxModelObject and
RenderInline and just placed right into verticalPositionForBox in InlineFlowBox.
This function has been changed to no longer be recursive when checking parents,
and it now relies on the fact that the parent vertical alignment computation result
has already been stored in the logicalTop() of that parent's line box. By checking
the line box logicalTop() value instead of recurring, the performance of first lines
now significantly improves to no longer have O(n^2) behavior in the depth of the line
box tree on the first line.
All of the baselinePosition functions on the various RenderObjects have been amended
to take a FontBaseline as the first argument. This patch does not attempt to fix up
MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers.
The RenderTableCell baselinePosition virtual method has been made non-virtual and had
all arguments removed, since it actually had no real connection with the rest of the
baseline positioning system. Cell baseline positioning works by calling firstLineBoxBaseline,
and that method has been patched to use the cached baselineType for the first line box
when computing the baseline of that line.
Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html.
* WebCore.xcodeproj/project.pbxproj:
* mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::baselinePosition):
* mathml/RenderMathMLFraction.h:
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::baselinePosition):
* mathml/RenderMathMLOperator.h:
* mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::baselinePosition):
* mathml/RenderMathMLRow.h:
* mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::baselinePosition):
* mathml/RenderMathMLSubSup.h:
* mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::layout):
(WebCore::RenderMathMLUnderOver::baselinePosition):
* mathml/RenderMathMLUnderOver.h:
* platform/graphics/SimpleFontData.h:
* rendering/InlineBox.h:
(WebCore::InlineBox::baselinePosition):
* rendering/InlineFlowBox.cpp:
(WebCore::verticalPositionForBox):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::baselinePosition):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::baselinePosition):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):
* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::baselinePosition):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
* rendering/RenderBoxModelObject.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::baselinePosition):
* rendering/RenderInline.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::baselinePosition):
* rendering/RenderListBox.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::baselinePosition):
* rendering/RenderListMarker.h:
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::baselinePosition):
* rendering/RenderSlider.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::baselinePosition):
* rendering/RenderTableCell.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::baselinePosition):
* rendering/RenderTextControlMultiLine.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::baselinePosition):
* rendering/VerticalPositionCache.h: Added.
(WebCore::VerticalPositionCache::VerticalPositionCache):
(WebCore::VerticalPositionCache::get):
(WebCore::VerticalPositionCache::set):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::calculateBoundaries):
2010-11-17 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Add stubbed out ScrollAnimator for the Mac
https://bugs.webkit.org/show_bug.cgi?id=49678
* WebCore.xcodeproj/project.pbxproj:
Add ScrollAnimator.h/cpp.
* platform/mac/ScrollAnimatorMac.cpp: Added.
(WebCore::ScrollAnimator::create):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::scroll):
(WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
* platform/mac/ScrollAnimatorMac.h: Added.
ScrollAnimatorMac just calls through to the base class for now.
2010-11-17 Cris Neckar <cdn@chromium.org>
Reviewed by Adam Barth.
Modified codepath for object fallback content which has failed to load.
Refactored CachedResource error handling to use more granular statuses instead of a boolean value.
https://bugs.webkit.org/show_bug.cgi?id=46921
Test: fast/html/object-image-nested-fallback.html
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderFallbackContent):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::error):
* loader/cache/CachedCSSStyleSheet.h:
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::error):
* loader/cache/CachedFont.h:
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::data):
(WebCore::CachedImage::error):
* loader/cache/CachedImage.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::canUseCacheValidator):
(WebCore::CachedResource::mustRevalidate):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::error):
(WebCore::CachedResource::httpStatusCodeError):
(WebCore::CachedResource::errorOccurred):
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::error):
* loader/cache/CachedScript.h:
* loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::error):
* loader/cache/CachedXSLStyleSheet.h:
* loader/loader.cpp:
(WebCore::Loader::load):
(WebCore::Loader::didFinishLoading):
(WebCore::Loader::didFail):
(WebCore::Loader::didReceiveData):
2010-11-16 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
WebGLRenderingContext needs to zero textures and renderbuffers
https://bugs.webkit.org/show_bug.cgi?id=49355
Test: fast/canvas/webgl/uninitialized-test.html
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
(WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
* html/canvas/WebGLFramebuffer.h: Modify onAccess function signature.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
(WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
(WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::drawArrays): Ditto.
(WebCore::WebGLRenderingContext::drawElements): Ditto.
(WebCore::WebGLRenderingContext::readPixels): Ditto.
(WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
2010-11-17 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Merge ScriptElement and ScriptElementData
https://bugs.webkit.org/show_bug.cgi?id=49647
Merged two classes.
* dom/AsyncScriptRunner.cpp:
(WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*.
(WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*.
* dom/AsyncScriptRunner.h:
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData.
(WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData.
(WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent.
(WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest.
(WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element.
(WebCore::ScriptElement::finishParsingChildren): Calls scriptContent.
(WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript.
(WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent.
(WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData.
(WebCore::ScriptElement::executeScript): Ditto.
(WebCore::ScriptElement::stopLoadRequest): Ditto.
(WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent.
(WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData.
(WebCore::ScriptElement::ignoresLoadRequest): Ditto.
(WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue,
forAttributeValue, and eventAttributeValue.
(WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData.
(WebCore::ScriptElement::scriptContent): Ditto.
(WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue.
(WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue,
and deferAttributeValue.
* dom/ScriptElement.h:
(WebCore::ScriptElement::element):
(WebCore::ScriptElement::haveFiredLoadEvent):
(WebCore::ScriptElement::setHaveFiredLoadEvent):
(WebCore::ScriptElement::createdByParser):
(WebCore::ScriptElement::isEvaluated):
2010-11-17 Tenghui Zhu <ztenghui@google.com>
Reviewed by Jeremy Orlow.
profileCallback and profileEndCallback should be guarded with ENABLE_JAVASCRIPT_DEBUGGER
https://bugs.webkit.org/show_bug.cgi?id=49623
No new tests. Just a compiling error fix.
* bindings/v8/custom/V8ConsoleCustom.cpp:
Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback
2010-11-17 John Knottenbelt <jknotten@chromium.org>
Reviewed by Jeremy Orlow.
Introduce GeoNotifierVector typedef for increased readability
https://bugs.webkit.org/show_bug.cgi?id=49597
* page/Geolocation.cpp:
(WebCore::Geolocation::Watchers::getNotifiersVector):
(WebCore::Geolocation::sendError):
(WebCore::Geolocation::sendPosition):
(WebCore::Geolocation::stopTimer):
(WebCore::Geolocation::stopTimersForOneShots):
(WebCore::Geolocation::stopTimersForWatchers):
(WebCore::Geolocation::cancelRequests):
(WebCore::Geolocation::cancelAllRequests):
(WebCore::Geolocation::handleError):
(WebCore::Geolocation::makeSuccessCallbacks):
* page/Geolocation.h:
2010-11-17 John Knottenbelt <jknotten@chromium.org>
Reviewed by Jeremy Orlow.
Convert correctly between GeolocationPosition and Geoposition
timestamp formats.
https://bugs.webkit.org/show_bug.cgi?id=48518
Test: fast/dom/Geolocation/timestamp.html
* page/Geolocation.cpp:
(WebCore::createGeoposition):
2010-11-17 Chang Shu <chang.shu@nokia.com>
Reviewed by Antonio Gomes.
[Mac] Suppress single select popup menu when spatial navigation is enabled on Mac.
This makes spatial navigation work properly for single select box.
Test: fast/events/spatial-navigation/snav-single-select.html
* dom/SelectElement.cpp:
(WebCore::nextValidIndex):
(WebCore::SelectElement::menuListDefaultEventHandler):
2010-11-17 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Clear the speech input mock explicitly before each test.
https://bugs.webkit.org/show_bug.cgi?id=49660
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::clearResults): Added clearResults method.
* platform/mock/SpeechInputClientMock.h:
2010-11-17 Alexander Pavlov <apavlov@chromium.org>
[Chromium] Unreviewed, fix Chromium-Mac build from r72189.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::getDoubleValue):
2010-11-17 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
IndexedDB: IDBKey::whereSyntax should impose conditions on all columns
https://bugs.webkit.org/show_bug.cgi?id=49601
The WHERE clause should specifiy a condition for each key column to
make sure that the ObjectStoreData_composit index can be used when
querying the object store based on key. Not using the index causes
severe performance degradation for common IDB operations.
* storage/IDBKey.cpp:
(WebCore::IDBKey::whereSyntax):
2010-11-17 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
[Chromium] implementation of async FileWriter for workers
https://bugs.webkit.org/show_bug.cgi?id=47681
Tests are in a separate changelist.
* platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs
2010-11-17 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[gtk] r69119 modified just the gtk2 version of the
scrolled_window_paint function but not the gtk3 version
https://bugs.webkit.org/show_bug.cgi?id=49585
Use gtk_paint_shadow the same as the actual code from GTK+. Avoid
using state and use the same values we are using for gtk2 in the
paint function.
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paintButton): Initialized the
depressed attribute of the state variable to avoid using it
without initialization.
* platform/gtk/gtk3drawing.c:
(moz_gtk_scrolled_window_paint):
2010-11-16 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Simon Fraser.
CSSPrimitiveValue.getFloatValue does not convert sizes
https://bugs.webkit.org/show_bug.cgi?id=35770
Implemented all same-category unit conversions (length, angle, time, frequency) and retained
absolute-relative (cm, mm, in, pt, pc) length conversions intact.
Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
* css/CSSPrimitiveValue.cpp:
(WebCore::unitCategory):
(WebCore::conversionToCanonicalUnitsScaleFactor):
(WebCore::CSSPrimitiveValue::getDoubleValue):
(WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
(WebCore::CSSPrimitiveValue::getDoubleValueInternal):
(WebCore::CSSPrimitiveValue::getIdent):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::getFloatValue):
(WebCore::CSSPrimitiveValue::getIntValue):
2010-11-17 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
Reviewed by Andreas Kling.
Document::nodesFromRect() has wrong source code documentation
https://bugs.webkit.org/show_bug.cgi?id=49610
* dom/Document.h: fix nodesFromRect() documentation
2010-11-17 Alexis Menard <alexis.menard@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Kenneth Christiansen, Tor Arne Vestbø.
[Qt] Add support for use GStreamer with the Qt build
Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The
integration is rather basic at this point, allowing for software based rendering
only at the moment. AC integration and fullscreen playback is still missing.
* WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a
build option with the USE_GSTREAMER macro.
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines): Don't use the generic media player registration
when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want
to be able to build with gstreamer _and_ another backend simultaenously.
* platform/graphics/gstreamer/ImageGStreamer.h:
* platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added.
(ImageGStreamer::createImage):
(ImageGStreamer::ImageGStreamer):
(ImageGStreamer::~ImageGStreamer):
* platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added.
* platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added.
(FullScreenVideoWindow::FullScreenVideoWindow):
(FullScreenVideoWindow::keyPressEvent):
(FullScreenVideoWindow::event):
(PlatformVideoWindow::PlatformVideoWindow):
(PlatformVideoWindow::~PlatformVideoWindow):
(PlatformVideoWindow::prepareForOverlay):
2010-11-17 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] editing disabled styles breaks style bodies.
https://bugs.webkit.org/show_bug.cgi?id=49602
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::setPropertyText):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.get name):
(WebInspector.StylePropertyTreeElement.prototype.get priority):
(WebInspector.StylePropertyTreeElement.prototype.get value):
2010-11-16 Adam Roben <aroben@apple.com>
Move QTMovieWin's settings into a vsprops file
Fixes <http://webkit.org/b/49644> QTMovieWin should use a vsprops file
Reviewed by Steve Falkenburg.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/QTMovieWinCommon.vsprops: Added.
2010-11-16 Andy Estes <aestes@apple.com>
Reviewed by Dave Hyatt.
WebKit mishandles line boxes where the content height exceeds the
specified line-height.
https://bugs.webkit.org/show_bug.cgi?id=49410
If a line height is explicitly specified on a text box and fallback
fonts are in use, only the primary font should be considered when
computing the box's ascent and descent. This prevents the inline box
from being sized larger than the specified line height.
This patch also fixes a math error when computing a used font's descent
in the case where line height isn't explicitly set. This change results
in a number of layout tests needing re-baselining.
Test: fast/css/line-height-determined-by-primary-font.html
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
2010-11-15 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
ScriptElementData should be a private member of ScriptElement
https://bugs.webkit.org/show_bug.cgi?id=49578
Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser,
and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData.
No tests are added since this is a cleanup.
* dom/ScriptElement.h:
(WebCore::ScriptElement::haveFiredLoadEvent): Added.
(WebCore::ScriptElement::setHaveFiredLoadEvent): Added.
(WebCore::ScriptElement::createdByParser): Added.
(WebCore::ScriptElement::isEvaluated): Added.
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent.
(WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated.
* html/HTMLScriptElement.h:
(WebCore::HTMLScriptElement::text): Calls scriptContent.
(WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent.
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser.
(WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser.
(WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent.
(WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto.
(WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent.
(WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser,
haveFiredLoadEvent, and setHaveFiredLoadEvent.
2010-11-16 Antti Koivisto <antti@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49320
Minor ResourceLoadScheduler cleanups
* loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::scheduleLoad):
(WebCore::ResourceLoadScheduler::servePendingRequests):
(WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
(WebCore::ResourceLoadScheduler::HostInformation::remove):
(WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
* loader/ResourceLoadScheduler.h:
2010-11-16 Dave Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that
line should be ideographic or alphabetic. Add a requiresIdeographicsBaseline recursive function to
InlineFlowBox that scans for the use of any vertical fonts.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
* rendering/InlineFlowBox.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::baselineType):
2010-11-16 Dave Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an
alphabetic and ideographic baseline can be requested.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/Font.h:
(WebCore::Font::ascent):
(WebCore::Font::descent):
* platform/graphics/FontBaseline.h: Added.
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::ascent):
(WebCore::SimpleFontData::descent):
(WebCore::SimpleFontData::height):
2010-11-16 Antti Koivisto <koivisto@iki.fi>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=31223
Make primitive values immutable.
Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception.
Reasoning:
- these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering
- computed style is immutable in all cases, and it wasn't
- no other engine seems to support mutable primitives, as a result there is no content using these APIs
- mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value
- allowing mutation of primitive values makes optimizations harder
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::setFloatValue):
(WebCore::CSSPrimitiveValue::setStringValue):
2010-11-16 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
https://bugs.webkit.org/show_bug.cgi?id=49632
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCore.make:
* WebCore.vcproj/WebCore.sln:
* WebCore.vcproj/WebCore.vcproj:
2010-11-16 Anders Carlsson <andersca@apple.com>
Reviewed by John Sullivan.
Set the original URL for downloads
https://bugs.webkit.org/show_bug.cgi?id=49628
Export symbols needed by WebKit2.
* WebCore.exp.in:
2010-11-16 Dave Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=11004
font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector.
Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size,
since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version
of the constructor rather than using [NSFont pointSize].
https://bugs.webkit.org/show_bug.cgi?id=49582
Negative leading is not handled correctly. There are two bugs here. The first is that
maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
set them before so that we can allow them to be < 0.
The second issue is that we should understand where fonts will end up relative to
our baseline (excluding line height), and only allow those boxes to impact ascent and
descent if the actual font box (without factoring in line height) is above or below the
root line box baseline.
Added fast/css/negative-leading.html
These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
* WebCore.exp.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
* platform/graphics/cocoa/FontPlatformData.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::smallCapsFontData):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
* rendering/InlineFlowBox.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
2010-11-16 Darin Adler <darin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=49611
REGRESSION (r72115): 5 layout tests are broken
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest): Roll change from
https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll
it back in after fixing the failing tests.
2010-11-16 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/8672000> REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree
https://bugs.webkit.org/show_bug.cgi?id=49579
r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged()
got called beneath recalcStyle() on some ancestor element, the result was that the ancestors
childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not.
Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix
is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and
just keep it for when it is needed.
Tests: fast/block/float/015.html
fast/images/style-access-during-imageChanged-style-freeze.html
* dom/Document.cpp:
(WebCore::Document::isPendingStyleRecalc): Added.
* dom/Document.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc
is coming (indicating that current style() is stale).
2010-11-11 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
https://bugs.webkit.org/show_bug.cgi?id=47196
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading.
(WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::extractImageData): Ditto.
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter.
(WebCore::ImageSource::setData): Ditto.
* platform/graphics/ImageSource.h:
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::getImageData): Ditto.
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::ImageSource): Ditto.
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::getImageData): Ditto.
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoder::create): Ditto.
(WebCore::ImageDecoderQt::ImageDecoderQt): Ditto.
* platform/graphics/qt/ImageDecoderQt.h:
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData): Ditto.
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::create): Ditto.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::ImageDecoder): Ditto.
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::BMPImageDecoder):
* platform/image-decoders/bmp/BMPImageDecoder.h:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder): Ditto.
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::ICOImageDecoder): Ditto.
(WebCore::ICOImageDecoder::decodeAtIndex): Ditto.
* platform/image-decoders/ico/ICOImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto.
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::PNGImageDecoder): Ditto.
(WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true.
* platform/image-decoders/png/PNGImageDecoder.h:
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter.
* platform/image-decoders/webp/WEBPImageDecoder.h:
2010-11-16 Eric Carlson <eric.carlson@apple.com>
Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines):
2010-11-12 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Refactor GL backend flags
https://bugs.webkit.org/show_bug.cgi?id=49460
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags().
(WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags().
(WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags.
(WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member.
(WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
* html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation.
(WebCore::WebGLRenderingContext::isGLES2Compliant):
(WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
(WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
(WebCore::WebGLRenderingContext::isResourceSafe):
(WebCore::WebGLRenderingContext::isDepthStencilSupported):
* platform/graphics/Extensions3D.h: Add NPOT extension.
* platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level.
* platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions.
* platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level.
2010-11-16 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
WebIDL conversions from string to number and array to number should not generate TypeError
https://bugs.webkit.org/show_bug.cgi?id=49218
Recent SVG-related changes to the StrictTypeChecking extended attribute in
CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and
ECMA-262 specifications. In particular, when an attribute or function argument is specified
as a number type (floating-point or integer), passing in a String or object is not supposed
to raise an exception.
The original intent of the StrictTypeChecking extended attribute was to properly raise
TypeError when an interface type is required, but the supplied object does not implement the
interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has
silently passed null to the C++ bindings in this case. The handling of strings in the
original StrictTypeChecking implementation was also incorrect, raising exceptions when it
should not.
The semantics of StrictTypeChecking have been changed to enforce only the restrictions on
interface types. The V8 custom bindings for WebGL have been updated to match the behavior of
the autogenerated code.
Test: fast/canvas/webgl/type-conversion-test.html
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::getObjectParameter):
(WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
(WebCore::V8WebGLRenderingContext::getParameterCallback):
(WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
(WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
(WebCore::vertexAttribAndUniformHelperf):
2010-11-16 Alexey Proskuryakov <ap@apple.com>
Windows build fix.
* DerivedSources.cpp: Removing CSS Variables generated files.
2010-11-16 Eric Carlson <eric.carlson@apple.com>
Reviewed by John Sullivan.
getMIMEType(s)ForExtension should consult system mapping
https://bugs.webkit.org/show_bug.cgi?id=49497
No new tests possible.
* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension.
Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling
constains() and then get().
(WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto.
2010-11-16 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
Rename QTKit based media engine class name
https://bugs.webkit.org/show_bug.cgi?id=36663
No new tests as this just renames a class and restructures existing code.
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the
number of #ifs in the code.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::create):
(WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
(WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::createQTMovie):
(WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
(WebCore::MediaPlayerPrivateQTKit::detachQTMovieView):
(WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
(WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer):
(WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
(WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
(WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::createQTTime):
(WebCore::MediaPlayerPrivateQTKit::resumeLoad):
(WebCore::MediaPlayerPrivateQTKit::load):
(WebCore::MediaPlayerPrivateQTKit::loadInternal):
(WebCore::MediaPlayerPrivateQTKit::prepareToPlay):
(WebCore::MediaPlayerPrivateQTKit::platformMedia):
(WebCore::MediaPlayerPrivateQTKit::platformLayer):
(WebCore::MediaPlayerPrivateQTKit::play):
(WebCore::MediaPlayerPrivateQTKit::pause):
(WebCore::MediaPlayerPrivateQTKit::duration):
(WebCore::MediaPlayerPrivateQTKit::currentTime):
(WebCore::MediaPlayerPrivateQTKit::seek):
(WebCore::MediaPlayerPrivateQTKit::doSeek):
(WebCore::MediaPlayerPrivateQTKit::cancelSeek):
(WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
(WebCore::MediaPlayerPrivateQTKit::paused):
(WebCore::MediaPlayerPrivateQTKit::seeking):
(WebCore::MediaPlayerPrivateQTKit::naturalSize):
(WebCore::MediaPlayerPrivateQTKit::hasVideo):
(WebCore::MediaPlayerPrivateQTKit::hasAudio):
(WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
(WebCore::MediaPlayerPrivateQTKit::setVolume):
(WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions):
(WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
(WebCore::MediaPlayerPrivateQTKit::setRate):
(WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
(WebCore::MediaPlayerPrivateQTKit::buffered):
(WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable):
(WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded):
(WebCore::MediaPlayerPrivateQTKit::bytesLoaded):
(WebCore::MediaPlayerPrivateQTKit::totalBytes):
(WebCore::MediaPlayerPrivateQTKit::cancelLoad):
(WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
(WebCore::MediaPlayerPrivateQTKit::isReadyForVideoSetup):
(WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
(WebCore::MediaPlayerPrivateQTKit::updateStates):
(WebCore::MediaPlayerPrivateQTKit::loadStateChanged):
(WebCore::MediaPlayerPrivateQTKit::rateChanged):
(WebCore::MediaPlayerPrivateQTKit::sizeChanged):
(WebCore::MediaPlayerPrivateQTKit::timeChanged):
(WebCore::MediaPlayerPrivateQTKit::didEnd):
(WebCore::MediaPlayerPrivateQTKit::setSize):
(WebCore::MediaPlayerPrivateQTKit::setVisible):
(WebCore::MediaPlayerPrivateQTKit::hasAvailableVideoFrame):
(WebCore::MediaPlayerPrivateQTKit::repaint):
(WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateQTKit::paint):
(WebCore::MediaPlayerPrivateQTKit::getSupportedTypes):
(WebCore::MediaPlayerPrivateQTKit::supportsType):
(WebCore::MediaPlayerPrivateQTKit::isAvailable):
(WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks):
(WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
(WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
(WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):
(WebCore::MediaPlayerPrivateQTKit::movieLoadType):
(WebCore::MediaPlayerPrivateQTKit::setPreload):
(WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue):
(-[WebCoreMovieObserver initWithCallback:]):
2010-11-16 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=49483
Remove CSS Variable support
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8DOMWindowCustom.cpp
* bindings/objc/DOMCSS.mm:
(kitClass):
* bindings/scripts/CodeGeneratorJS.pm:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSGrammar.y:
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::removeProperty):
(WebCore::CSSMutableStyleDeclaration::addParsedProperties):
(WebCore::CSSMutableStyleDeclaration::copy):
* css/CSSMutableStyleDeclaration.h:
(WebCore::CSSMutableStyleDeclaration::create):
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::~CSSParser):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::lex):
(WebCore::CSSParser::recheckAtKeyword):
(WebCore::CSSParser::text):
(WebCore::CSSParser::createMediaRule):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::addNamespace):
(WebCore::CSSParser::createPageRule):
* css/CSSParser.h:
* css/CSSParserValues.cpp:
(WebCore::CSSParserValueList::addValue):
(WebCore::CSSParserValueList::deleteValueAt):
(WebCore::CSSParserValue::createCSSValue):
* css/CSSParserValues.h:
(WebCore::CSSParserValueList::CSSParserValueList):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::getStringValue):
(WebCore::CSSPrimitiveValue::cssText):
(WebCore::CSSPrimitiveValue::parserValue):
* css/CSSPrimitiveValue.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::cssText):
* css/CSSPropertyNames.in:
* css/CSSRule.h:
* css/CSSRule.idl:
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::copyPropertiesInSet):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::addMatchedDeclaration):
(WebCore::CSSRuleSet::addRulesFromSheet):
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSStyleSelector.h:
* css/CSSValue.h:
* css/CSSVariableDependentValue.cpp: Removed.
* css/CSSVariableDependentValue.h: Removed.
* css/CSSVariablesDeclaration.cpp: Removed.
* css/CSSVariablesDeclaration.h: Removed.
* css/CSSVariablesDeclaration.idl: Removed.
* css/CSSVariablesRule.cpp: Removed.
* css/CSSVariablesRule.h: Removed.
* css/CSSVariablesRule.idl: Removed.
* css/StyleBase.h:
(WebCore::StyleBase::isMediaRule):
* css/tokenizer.flex:
* page/DOMWindow.idl:
2010-11-16 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=48603
Boolean logic mistake in local file check
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest): Fix logic so that both checks have to pass
before accepting a local file load.
2010-11-15 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Harden additional string functions against large lengths
https://bugs.webkit.org/show_bug.cgi?id=49574
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::encode): Check for length that is
too large for size_t.
* platform/text/TextStream.cpp:
(WebCore::TextStream::operator<<): Check for length that is
too large for size_t.
2010-11-16 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Touching inspector controller to make gtk / qt happier.
* inspector/InspectorController.cpp:
2010-11-16 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Use gdk_pixbuf_get_from_surface() when available
https://bugs.webkit.org/show_bug.cgi?id=49532
* platform/graphics/gtk/GdkCairoUtilities.cpp:
(cairoImageSurfaceToGdkPixbuf):
2010-11-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: init front-end UI upon DOMContentLoaded, not load event.
https://bugs.webkit.org/show_bug.cgi?id=49596
* inspector/front-end/inspector.js:
(windowLoaded):
2010-11-15 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Migrate frontend to the new CSS editing/retrieval API
https://bugs.webkit.org/show_bug.cgi?id=49492
Test: inspector/styles-new-API.html
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.getStylesAsync):
(WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
(WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
(WebInspector.CSSStyleModel.prototype.setRuleSelector):
(WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
(WebInspector.CSSStyleModel.prototype.addRule):
(WebInspector.CSSStyleModel.prototype.addRule.callback):
(WebInspector.CSSStyleDeclaration):
(WebInspector.CSSStyleDeclaration.prototype.propertyAt):
(WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex):
(WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
(WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
(WebInspector.CSSStyleDeclaration.prototype.appendProperty):
(WebInspector.CSSRule):
(WebInspector.CSSProperty.prototype.get propertyText):
(WebInspector.CSSProperty.prototype.setText):
(WebInspector.CSSProperty.prototype.setDisabled):
(WebInspector.CSSStyleSheet):
(WebInspector.CSSStyleSheet.createForId):
(WebInspector.CSSStyleSheet.prototype.getText):
(WebInspector.CSSStyleSheet.prototype.setText):
* inspector/front-end/Settings.js:
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.onpopulate):
(WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
(WebInspector.StylePropertiesSection.prototype._debugShowStyle.removeStyleBox):
(WebInspector.StylePropertiesSection.prototype._debugShowStyle):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.StylePropertyTreeElement.prototype):
(WebInspector.StylePropertyTreeElement.prototype.):
* inspector/front-end/inspector.css:
(.styles-section .properties li.not-parsed-ok):
(.styles-section .properties li.not-parsed-ok::before):
(.styles-section .properties .inactive):
2010-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72082.
http://trac.webkit.org/changeset/72082
https://bugs.webkit.org/show_bug.cgi?id=49594
"broken SnowLeopard build" (Requested by apavlov on #webkit).
* css/CSSPrimitiveValue.cpp:
(WebCore::scaleFactorForConversion):
(WebCore::CSSPrimitiveValue::getDoubleValue):
(WebCore::CSSPrimitiveValue::getIdent):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::getFloatValue):
(WebCore::CSSPrimitiveValue::getIntValue):
2010-11-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72087.
http://trac.webkit.org/changeset/72087
https://bugs.webkit.org/show_bug.cgi?id=49593
"broken build" (Requested by apavlov on #webkit).
* css/CSSPrimitiveValue.cpp:
(WebCore::unitCategory):
2010-11-15 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: rename StoragePanel to ResourcesPanel.
https://bugs.webkit.org/show_bug.cgi?id=49534
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView.prototype._queryFinished):
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype._queryFinished):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
* inspector/front-end/Images/storageIcon.png: Removed.
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.setOverrideContent):
(WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
(WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
(WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
(WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
(WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
* inspector/front-end/StoragePanel.js: Removed.
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.resources.panel .sidebar):
(.resources.panel .sidebar li):
(.resources.panel .sidebar li.parent):
(.resources.panel .sidebar li.selected):
(.resources.panel .sidebar li.selected .selection):
(.resources.panel .sidebar :focus li.selected .selection):
(body.inactive .resources.panel .sidebar li.selected .selection):
(.resources.panel .sidebar .icon):
(.resources.panel .base-storage-tree-element-title):
(.resources.panel .status):
(.resources.panel li .status .bubble):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
(WebInspector.openResource):
(WebInspector.showPanel):
(WebInspector.selectDatabase):
(WebInspector.selectDOMStorage):
(WebInspector.addDatabase):
(WebInspector.addDOMStorage):
(WebInspector.updateDOMStorage):
(WebInspector.updateApplicationCacheStatus):
(WebInspector.didGetFileSystemPath):
(WebInspector.didGetFileSystemError):
(WebInspector.didGetFileSystemDisabled):
(WebInspector.updateNetworkState):
(WebInspector._choosePanelToShowSourceLine):
2010-11-16 Alexander Pavlov <apavlov@chromium.org>
Unreviewed SnowLeopard build fix.
* css/CSSPrimitiveValue.cpp:
(WebCore::unitCategory):
2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Andreas Kling.
Viewport meta tag: Fix geometry computation
Available width and height should also be divided by the device pixel ratio.
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
* platform/network/qt/DnsPrefetchHelper.cpp:
2010-11-12 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Simon Fraser.
CSSPrimitiveValue.getFloatValue does not convert sizes
https://bugs.webkit.org/show_bug.cgi?id=35770
Implemented all same-category unit conversions (length, angle, time, frequency) and retained
absolute-relative (cm, mm, in, pt, pc) length conversions intact.
Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException.
* css/CSSPrimitiveValue.cpp:
(WebCore::unitCategory):
(WebCore::scaleFactorForConversion):
(WebCore::CSSPrimitiveValue::getDoubleValue):
(WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
(WebCore::CSSPrimitiveValue::getDoubleValueInternal):
* css/CSSPrimitiveValue.h:
2010-11-15 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: extract HTML title setter in treeoutline.js.
https://bugs.webkit.org/show_bug.cgi?id=49540
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
(WebInspector.ElementsTreeElement.prototype.updateTitle):
* inspector/front-end/treeoutline.js:
(TreeElement.prototype.get titleHTML):
(TreeElement.prototype.set titleHTML):
(TreeElement.prototype._setListItemNodeContent):
2010-11-16 John Knottenbelt <jknotten@chromium.org>
Reviewed by Jeremy Orlow.
Assert that DeviceOrientationClientMock is used by only one controller.
https://bugs.webkit.org/show_bug.cgi?id=48506
This is a design constraint of the DeviceOrientationClientMock because the
m_controller field can only store a pointer to a single instance of the
corresponding DeviceOrientationController.
* platform/mock/DeviceOrientationClientMock.cpp:
(WebCore::DeviceOrientationClientMock::setController):
2010-11-16 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
fast/images/size-failure.html results in malloc of 2 Gb after switching to WebKit image decoders
https://bugs.webkit.org/show_bug.cgi?id=48634
Specify the capacity when calling CFDataCreateMutable, which can signal
malloc failures (by returning NULL), unlike CFDataSetLength.
* platform/image-decoders/cg/ImageDecoderCG.cpp:
(WebCore::RGBA32Buffer::setSize):
2010-11-15 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dirk Schulze and Darin Adler.
requiredFeatures does not adapt to SVGStringList changes
https://bugs.webkit.org/show_bug.cgi?id=40887
Centralize the const_cast handling and only do it if needed.
Remove the const_cast in all svgAttributeChanged functions and move
it to SVGTest::handleAttributeChange. Add an early return to
handleAttributeChange to avoid unnecessary const_casts.
No tests necessary as functionality has not changed.
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::svgAttributeChanged):
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::svgAttributeChanged):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged):
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
* svg/SVGTests.cpp:
(WebCore::SVGTests::handleAttributeChange):
* svg/SVGTests.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::svgAttributeChanged):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::svgAttributeChanged):
2010-11-15 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
REGRESSION(r71934): Removing an element with a shadow DOM from under a cursor causes a crash.
https://bugs.webkit.org/show_bug.cgi?id=49569
Test: fast/events/remove-shadow-host-crash.html
* rendering/TextControlInnerElements.h:
(WebCore::TextControlInnerElement::isShadowNode):
(WebCore::TextControlInnerElement::shadowParentNode):
2010-11-12 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
ScriptElement rather than HTMLScriptElement and SVGScriptElement should have ScriptElementData
https://bugs.webkit.org/show_bug.cgi?id=49469
Moved m_data, scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript from
HTMLScriptElement and SVGScriptElement to ScriptElementData.
Also made insertedIntoDocument, removedFromDocument, childrenChanged, finishParsingChildren,
and handleSourceAttribute of ScriptElement non-static.
No new tests are added since this is a cleanup.
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::scriptCharset): Added.
(WebCore::ScriptElement::scriptContent): Added.
(WebCore::ScriptElement::shouldExecuteAsJavaScript): Added.
(WebCore::ScriptElement::executeScript): Added.
(WebCore::ScriptElement::insertedIntoDocument): Made non-static. Accesses m_data.
(WebCore::ScriptElement::removedFromDocument): Ditto.
(WebCore::ScriptElement::childrenChanged): Ditto.
(WebCore::ScriptElement::finishParsingChildren): Ditto.
(WebCore::ScriptElement::handleSourceAttribute): Ditto.
* dom/ScriptElement.h: Moved the declaration of ScriptElement after that of ScriptElementData
because ScriptElement has to instantiate ScriptElementData.
(WebCore::ScriptElement::ScriptElement): Initializes m_data.
* html/HTMLScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
(WebCore::HTMLScriptElement::HTMLScriptElement): Initializes ScriptElement instead of ScriptElementData.
(WebCore::HTMLScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
(WebCore::HTMLScriptElement::parseMappedAttribute): Calls ScriptElement::handleSourceAttribute.
(WebCore::HTMLScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
(WebCore::HTMLScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
(WebCore::HTMLScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
* html/HTMLScriptElement.h:
* svg/SVGScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript.
(WebCore::SVGScriptElement::SVGScriptElement): Initializes ScriptElement instead of ScriptElementData.
(WebCore::SVGScriptElement::svgAttributeChanged): Calls ScriptElement::handleSourceAttribute.
(WebCore::SVGScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument.
(WebCore::SVGScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument.
(WebCore::SVGScriptElement::childrenChanged): Calls ScriptElement::childrenChanged.
(WebCore::SVGScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren.
* svg/SVGScriptElement.h:
2010-11-15 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Refactor HTMLInputElement: Move a part of HTMLInputElement::
defaultEventHandler() to InputTypes.
https://bugs.webkit.org/show_bug.cgi?id=48317
Move out the followings to InputTypes:
- click event processing,
- the first keydown event processing, and
- DOMActivate event processing.
Move m_xPos and m_yPos from HTMLInputElement to ImageInputType as
m_clickLocation. It's ok to move them because they should be valid only
when HTMLInputElement::m_activeSubmit is true. For type=image,
m_activeSubmit is true only in DOMActivate event handling. So we reset
m_clickLocation in handleDOMActivateEvent() with Event::underlyingEvent().
No new tests because this is just a refactoring.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
* html/BaseDateAndTimeInputType.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
* html/FileInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLInputElement.h:
* html/ImageInputType.cpp:
(WebCore::ImageInputType::appendFormData):
(WebCore::ImageInputType::handleDOMActivateEvent):
* html/ImageInputType.h:
* html/InputType.cpp:
(WebCore::InputType::handleClickEvent):
(WebCore::InputType::handleDOMActivateEvent):
(WebCore::InputType::handleKeydownEvent):
* html/InputType.h:
* html/NumberInputType.cpp:
(WebCore::NumberInputType::handleKeydownEvent):
* html/NumberInputType.h:
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleClickEvent):
* html/RadioInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
* html/RangeInputType.h:
* html/ResetInputType.cpp:
(WebCore::ResetInputType::handleDOMActivateEvent):
* html/ResetInputType.h:
* html/SubmitInputType.cpp:
(WebCore::SubmitInputType::handleDOMActivateEvent):
* html/SubmitInputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
* html/TextFieldInputType.h:
2010-11-15 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioNode custom bindings
https://bugs.webkit.org/show_bug.cgi?id=49119
No new tests since audio API is not yet implemented.
* bindings/js/JSAudioNodeCustom.cpp: Added.
(WebCore::JSAudioNode::connect):
(WebCore::JSAudioNode::disconnect):
* bindings/v8/custom/V8AudioNodeCustom.cpp: Added.
(WebCore::V8AudioNode::connectCallback):
(WebCore::V8AudioNode::disconnectCallback):
* webaudio/AudioNode.idl:
2010-11-15 Dave Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49570
Put italics specialization check back in CSSFontSelector. I had to back it out, since it broke
a layout test, and the issue was that local font fallback fonts should not be considered by the
specialization check (since you never want to pick a fallback over an actual @font-face rule if
the @font-face rule can handle it).
* css/CSSFontFace.h:
(WebCore::CSSFontFace::create):
(WebCore::CSSFontFace::isLocalFallback):
(WebCore::CSSFontFace::CSSFontFace):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::compareFontFaces):
2010-11-15 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for: https://bugs.webkit.org/show_bug.cgi?id=49452
Placeholder should not be swapped in and out of the text control's inner text element
There's no need to swap the placeholder text in and out of the inner text element. Instead, just paint the text.
This reduces complexity and makes it easier to make independent decisions about the placeholder text and the text control value.
* html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer):
Since updatePlaceholderVisibility checks the value, set the value before calling updatePlaceholderVisibility.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::updatePlaceholderVisibility): Remove code that set the inner text value with the placeholder text.
(WebCore::RenderTextControl::paintObject): Paint the placeholder text during the background phase.
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::nodeAtPoint): Remove custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
(WebCore::RenderTextControlMultiLine::updateFromElement): Remove code that set the inner text value with the placeholder text.
(WebCore::RenderTextControlMultiLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
(WebCore::RenderTextControlMultiLine::textBoxInsetLeft): Added.
(WebCore::RenderTextControlMultiLine::textBoxInsetRight): Added.
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::updateFromElement): Remove code that set the inner text value with the placeholder text.
(WebCore::RenderTextControlSingleLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement.
(WebCore::RenderTextControlSingleLine::textBoxInsetLeft): Added.
(WebCore::RenderTextControlSingleLine::textBoxInsetRight): Added.
* rendering/RenderTextControlSingleLine.h:
* rendering/TextControlInnerElements.cpp: Removed custom hit testing that tried to avoid hitting the placeholder text at the wrong time.
2010-11-15 Andreas Kling <kling@webkit.org>
Unreviewed buildfix (Qt WebKit2 minimal)
* platform/qt/CookieJarQt.cpp: Add missing <QStringList> include.
2010-11-15 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add Event and EventListener hooks for JavaScriptAudioNode and AudioProcessingEvent
https://bugs.webkit.org/show_bug.cgi?id=49357
No new tests since audio API is not yet implemented.
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* dom/Event.cpp:
(WebCore::Event::isAudioProcessingEvent):
* dom/Event.h:
* dom/EventNames.h:
* dom/EventTarget.cpp:
(WebCore::EventTarget::toJavaScriptAudioNode):
* dom/EventTarget.h:
2010-11-15 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
A minor style fix in StyledElement.cpp.
* dom/StyledElement.cpp:
(WebCore::StyledElement::addCSSProperty):
(WebCore::StyledElement::addCSSImageProperty):
2010-11-15 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49565
Remove Attr.style accessor
* dom/Attr.idl: Only keep the accessor for Objective C API. Inspector doesn't seem to need
it any more.
2010-11-15 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=49555
Frame::scalePage() should treat the origin as an absolute
coordinate
-and corresponding-
<rdar://problem/8667138>
* page/Frame.cpp:
(WebCore::Frame::scalePage):
2010-11-15 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8662770> Error image has incorrect size when a custom font is used
Test: fast/images/style-access-during-imageChanged-crash.html
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage): Added initialization of m_needsToSetSizeForAltText.
(WebCore::RenderImage::imageSizeForError): Factored the non-alt-text dependent size computation
out of setImageSizeForAltText() into this function.
(WebCore::RenderImage::setImageSizeForAltText): Changed to use imageSizeForError().
(WebCore::RenderImage::styleDidChange): Added. If m_needsToSetSizeForAltText is true, sets the
intrinsic size and calls imageDimensionsChanged() as needed to cause layout or invalidation.
(WebCore::RenderImage::imageChanged): Moved some code from here...
(WebCore::RenderImage::imageDimensionsChanged): ...to here.
* rendering/RenderImage.h:
2010-11-15 Anders Carlsson <andersca@apple.com>
Reviewed by Dimitri Glazkov.
ASSERTION (r72003): Assertion failure when running layout tests
https://bugs.webkit.org/show_bug.cgi?id=49561
r72003 added the 'formaction' URL attribute to HTMLButtonElement and HTMLInputElement,
but did not add the attribute to the isURLAttribute which lead to assertion failures
when running the layout tests with a debug build.
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::isURLAttribute):
* html/HTMLButtonElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isURLAttribute):
2010-11-15 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49559
DOMWindow.getComputedStyle pseudo element argument lacks ConvertUndefinedOrNullToNullString
No observable change in behavior, so no tests.
* page/DOMWindow.idl: Added ConvertUndefinedOrNullToNullString.
2010-11-15 Andreas Kling <kling@webkit.org>
Reviewed by Tor Arne Vestbø.
[Qt] Make WTF_USE_MEEGOTOUCH available for WebKit2 as well
Move this into WebCore/features.pri which is used by both WebCore and WebKit2.
* WebCore.pro:
* features.pri:
2010-11-15 Martin Robinson <mrobinson@igalia.com>
Build fix for GTK+.
* GNUmakefile.am: Add some missing generated files to the source list.
2010-11-15 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
[chromium] Avoid copying of SkBitmap in LayerRendererChromium
https://bugs.webkit.org/show_bug.cgi?id=49560
Ran CSS 3D content to test. No other new tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::updateRootLayerTextureRect):
2010-11-15 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Fixes layer opacity implementation of composited layers
https://bugs.webkit.org/show_bug.cgi?id=49233
This introduces a fairly drastic change in how LayerRendererChromium draws
composited layers. Layers that have non-zero opacity as well as layers that
clip their descendants (and have non-trivial transforms) are now first
rendered onto off-screen surfaces (RenderSurfaceChromium's). The compositing
operation now consists of two distinct phases: First a hierarchical traversal
of the layer tree to compute the layer transforms, determine what the necessary
RenderSurfaces are and sort layer that preserve-3d based on their z-value. A second
pass goes through all the RenderSurfaces discovered by the first pass and updates
their contents.
Additional significant side-effects of this change are:
1. Depth buffer and depth testing is no longer used. Drawing relies on a painter's
algorithm to render layers with the preserves-3d property from back to front using
the Z coordinate of their center. This will further be improved in the future with
the intoduction of a BSP tree to properly deal with intersecting layers.
2. Compositor no longer uses the stencil buffer to do clipping. Clipping is now performed
by rendering layer subtrees into an offscreen buffer and setting the appropriate
scissor and viewport transformation.
Tests: abs-position-inside-opacity.html (for the opacity implementation)
and the rest of the compositing layout tests to verify that
everything still works.
* WebCore.gypi:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::cleanupResources):
(WebCore::ContentLayerChromium::requiresClippedUpdateRect):
(WebCore::ContentLayerChromium::calculateClippedUpdateRect):
(WebCore::ContentLayerChromium::updateContents):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::cleanupResources):
(WebCore::LayerChromium::createRenderSurface):
(WebCore::LayerChromium::descendantsDrawContent):
(WebCore::LayerChromium::descendantsDrawContentRecursive):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::drawTransform):
(WebCore::LayerChromium::layerRenderer):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::orthoMatrix):
(WebCore::isScaleOrTranslation):
(WebCore::LayerRendererChromium::compareLayerZ):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::updateLayersRecursive):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::setScissorToRect):
(WebCore::LayerRendererChromium::setDrawViewportRect):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/RenderSurfaceChromium.cpp: Added.
(WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
(WebCore::RenderSurfaceChromium::~RenderSurfaceChromium):
(WebCore::RenderSurfaceChromium::cleanupResources):
(WebCore::RenderSurfaceChromium::layerRenderer):
(WebCore::RenderSurfaceChromium::prepareContentsTexture):
* platform/graphics/chromium/RenderSurfaceChromium.h: Added.
(WebCore::RenderSurfaceChromium::contentRectCenter):
(WebCore::RenderSurfaceChromium::contentRect):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::cleanupResources):
2010-11-15 Martin Robinson <mrobinson@igalia.com>
Reviewed by Andreas Kling.
[GTK] gdk_pixbuf_get_from_surface from GtkVersioning.h is broken on GTK+ 2 builds
https://bugs.webkit.org/show_bug.cgi?id=49549
No new tests. This can be verified by loading any existing vertical text test
in GtkLauncher and noticing the lack of CRITICAL GLib exceptions. There's currently
no automatic way of verifying custom cursors.
* platform/gtk/GtkVersioning.c:
(gdk_pixbuf_get_from_surface): Reverse a sanity check in this method to be correct.
2010-11-12 Jer Noble <jer.noble@apple.com>
Reviewed by Brady Eidson.
Can't view HTML5 video when running Safari with an authenticated proxy server
<rdar://problem/8351926>
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovie):
2010-11-14 Abhishek Arya <inferno@chromium.org>
Reviewed by Dimitri Glazkov.
Event dispatch call can blow away the node's renderer initialized
before the call in updateSelectionForMouseDrag function. We need
to initialize it after the call.
https://bugs.webkit.org/show_bug.cgi?id=49524
* page/EventHandler.cpp:
(WebCore::EventHandler::updateSelectionForMouseDrag):
2010-11-15 Patrick Gansterer <paroga@webkit.org>
Reviewed by Martin Robinson.
Make ContextShadow compile on all platforms
https://bugs.webkit.org/show_bug.cgi?id=49535
Add a void* typedef for PlatformImage and PlatformContext for unsupported platforms
and move them into the WebCore namespace like all other Platform* typedefs.
* platform/graphics/ContextShadow.h:
2010-11-15 Renata Hodovan <reni@webkit.org>
Reviewed by Andreas Kling.
SVGFEImageElement doesn't support dynamic invalidation
https://bugs.webkit.org/show_bug.cgi?id=49536
The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
Tests: svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html
svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::svgAttributeChanged):
* svg/SVGFEImageElement.h:
2010-11-15 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Focus ring does not show on focused links.
https://bugs.webkit.org/show_bug.cgi?id=49515
After http://trac.webkit.org/changeset/69766 the focus ring on links is no longer
visible in Qt.
The reason is that Qt always returned true in RenderTheme::supportsFocusRing(),
but until r69766, we did not check that for links. Qt draws its own focus ring
for controls that it draws, but not for links.
Change the return value to false if the style's appearance is not something that Qt
draws by itself or does not support.
Added a Qt specific test result for the new test added in r69766.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::supportsFocusRing):
2010-11-15 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
Implement formaction, formenctype, formmethod and formtarget attributes for input and button tags
https://bugs.webkit.org/show_bug.cgi?id=49240
Tests: fast/forms/formaction-attribute.html
fast/forms/formmethod-attribute-button-html.html
fast/forms/formmethod-attribute-input-html.html
fast/forms/formtarget-attribute-button-html.html
fast/forms/formtarget-attribute-input-html.html
fast/forms/mailto/formenctype-attribute-button-html.html
fast/forms/mailto/formenctype-attribute-input-html.html
fast/forms/submit-form-attributes.html
* html/HTMLAttributeNames.in: Added formaction, formmethod, formtarget and formenctype attributes
* html/HTMLButtonElement.idl:
* html/HTMLInputElement.idl:
* loader/FormSubmission.cpp: Modified to check the pressed button and its attributes
(WebCore::FormSubmission::Attributes::copyFrom):
(WebCore::FormSubmission::create):
* loader/FormSubmission.h:
2010-11-15 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Do not hide default Ctrl+A behavior on non-Mac.
https://bugs.webkit.org/show_bug.cgi?id=49527
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._onKeyDown):
2010-11-15 Ilya Sherman <isherman@chromium.org>
Reviewed by Kent Tamura.
Add capability for displaying warnings to autofill popup
Warnings are displayed in dark gray italic.
https://bugs.webkit.org/show_bug.cgi?id=49291
http://code.google.com/p/chromium/issues/detail?id=58509
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::getRowFont):
Use item-specific font, not just the generic menu font.
(WebCore::PopupListBox::selectIndex):
Updated to clear the selection when hovering over a non-selectable item.
* platform/chromium/PopupMenuChromium.h: Minor cleanup
2010-11-14 David Hyatt <hyatt@apple.com>
Back out the italics portion of the previous patch until I can figure out why it
doesn't work.
* css/CSSFontSelector.cpp:
(WebCore::compareFontFaces):
2010-11-14 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Improve API for form validation message strings
https://bugs.webkit.org/show_bug.cgi?id=34945
This change introduces three new functions;
validationMessageTypeMismatchFor*Text(). The implementation for each
platform is just a call to validationMessageTypeMismatchText().
Some validationMessage*() functions have new parameters. The parameters
are ignored in all platforms for now.
This change doesn't change any behavior. However a platform can add
additional information to validation messages. e.g. Changing "type
mismatch" to "Please specify an e-mail address" for <input type=email>.
* html/EmailInputType.cpp:
(WebCore::EmailInputType::typeMismatchText): Call validationMessageTypeMismatchForEmailText()
or validationMessageTypeMismatchForMultipleEmailText().
* html/EmailInputType.h:
* html/HTMLFormControlElement.h: Add maxLength() and value() to access them from ValidityState.
* html/HTMLInputElement.cpp: Add the following functions to pass extra
information to validation message string functions.
(WebCore::HTMLInputElement::minimumString):
(WebCore::HTMLInputElement::maximumString):
(WebCore::HTMLInputElement::stepBaseString):
(WebCore::HTMLInputElement::stepString):
(WebCore::HTMLInputElement::typeMismatchText):
* html/HTMLInputElement.h:
* html/HTMLTextAreaElement.h:
* html/InputType.cpp:
(WebCore::InputType::typeMismatchText): Call validationMessageTypeMismatchText().
* html/InputType.h:
* html/URLInputType.cpp:
(WebCore::URLInputType::typeMismatchText): Call validationMessageTypeMismatchForURLText().
* html/URLInputType.h:
* html/ValidityState.cpp:
(WebCore::ValidityState::validationMessage):
* platform/LocalizedStrings.cpp:
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageStepMismatchText):
* platform/LocalizedStrings.h:
- Add validationMessageTypeMismatchForEmailText(),
validationMessageTypeMismatchForMultipleEmailText() and
validationMessageTypeMismatchForURLText()
- Add length parameters to validationMessageTooLongText().
- Add the minimum value parameter to validationMessageRangeUnderflowText()
- Add the maximum value parameter to validationMessageRangeOverflowText()
- Add parameters of the base value and the step value to validationMessageStepMismatchText()
* platform/android/LocalizedStringsAndroid.cpp:
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageStepMismatchText):
* platform/brew/LocalizedStringsBrew.cpp:
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageStepMismatchText):
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageStepMismatchText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageStepMismatchText):
* platform/haiku/LocalizedStringsHaiku.cpp:
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageStepMismatchText):
* platform/wx/LocalizedStringsWx.cpp:
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageStepMismatchText):
2010-11-14 Kent Tamura <tkent@chromium.org>
Reviewed by Andreas Kling.
KeyboardEvent::keyIdentifier() should return "const String&"
https://bugs.webkit.org/show_bug.cgi?id=49426
No new tests. This shouldn't change the current behavior.
* dom/KeyboardEvent.h:
(WebCore::KeyboardEvent::keyIdentifier): Change the return type; String -> const String&
* dom/SelectElement.cpp:
(WebCore::SelectElement::menuListDefaultEventHandler):
Change the type of a variable to have keyIdentifier(); String -> const String&
(WebCore::SelectElement::listBoxDefaultEventHandler): ditto.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler): ditto.
(WebCore::HTMLInputElement::handleKeyEventForRange): ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleKeyboardSelectionMovement): ditto.
2010-11-14 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
[HTML5] "form" attribute support for form control elements
https://bugs.webkit.org/show_bug.cgi?id=47813
Adds a list of form-associated elements with form attribute into
the Document class to support form attribute.
Adds a function to determine the right place to locate
form-associated elements with form attribute into
m_associatedElements of HTMLFormElement class.
Tests: fast/forms/form-attribute-elements-order.html
fast/forms/form-attribute-elements-order2.html
fast/forms/form-attribute-elements.html
fast/forms/form-attribute.html
* dom/Document.cpp:
(WebCore::Document::registerFormElementWithFormAttribute): Added.
(WebCore::Document::unregisterFormElementWithFormAttribute): Added.
(WebCore::Document::resetFormElementsOwner): Added.
* dom/Document.h: Added the list for elements with form attribute.
* html/HTMLAttributeNames.in: Added form attribute.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::insertedIntoTree): Modified to handle
form attribute.
(WebCore::HTMLFormControlElement::removedFromTree): Ditto.
(WebCore::HTMLFormControlElement::resetFormOwner): Added.
(WebCore::HTMLFormControlElement::attributeChanged): Added.
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement): Modified to initialize
newly-added variables.
(WebCore::HTMLFormElement::insertedIntoDocument): Modified to reset
form owner of form-associated elements.
(WebCore::HTMLFormElement::removedFromDocument): Ditto.
(WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Added.
(WebCore::HTMLFormElement::formElementIndex): Modified to treat
form-associated elements with form attribute separately.
(WebCore::HTMLFormElement::removeFormElement): Modified to handle
form-associated elements with form attribute.
* html/HTMLFormElement.h: Added three variables to handle form attribute.
* html/HTMLOutputElement.cpp: Removed "FIXME" comment.
(WebCore::HTMLOutputElement::parseMappedAttribute):
* html/HTMLOutputElement.h: Removed setForm().
2010-11-14 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49521
REGRESSION svg/W3C-SVG-1.1/fonts-desc-02-t.svg broken by r71979.
Refine the font selection function for @font-face to be smarter about what fonts it prefers. If
a font is labeled as only supporting small-caps, then prefer it to one that claims to support both
normal and small-caps. The specialized font is more likely to be true small-caps and to not rely
on synthesis.
Added the same logic for italic as well. Prefer the font that is specifically restricted to
italic to one that claims it can support anything.
* css/CSSFontSelector.cpp:
(WebCore::compareFontFaces):
2010-11-14 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Martin Robinson.
[EFL] add pango support
https://bugs.webkit.org/show_bug.cgi?id=46029
Include pango related files.
No new tests; functionality is unchanged.
* CMakeListsEfl.txt:
2010-11-12 Tenghui Zhu <ztenghui@google.com>
Reviewed by Andreas Kling.
[V8] Code generation script error in generating the SVGStaticListPropertyTearOff
https://bugs.webkit.org/show_bug.cgi?id=49463
* bindings/scripts/CodeGeneratorV8.pm: The svgNativeType is the one containing
the SVGStaticListPropertyTearOff string, not the svgListPropertyType.
2010-11-14 Patrick Gansterer <paroga@webkit.org>
Reviewed by Andreas Kling.
Sort CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=49507
* CMakeLists.txt:
2010-11-13 Patrick Gansterer <paroga@webkit.org>
Reviewed by Yury Semikhatsky.
Buildfix for !ENABLE(INSPECTOR)
https://bugs.webkit.org/show_bug.cgi?id=49500
Also unify the position of the condition in the cpp files.
* inspector/ConsoleMessage.cpp:
* inspector/InspectorResourceAgent.cpp:
* inspector/InspectorState.cpp:
* inspector/ScriptCallFrame.cpp:
* inspector/ScriptCallStack.cpp:
2010-11-13 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=49506
Repaint is broken across writing mode boundaries. It's not enough to add in flipped offsets. You have
to flip the rect itself.
Added fast/repaint/repaint-across-writing-mode-boundary.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
2010-11-13 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49505
REGRESSION: @font-face doesn't work with the small-caps variant. This was broken by the addition of SVG fonts
support long ago. This patch fixes the SVG code so that it doesn't break non-SVG fonts.
Added fast/blockflow/broken-ideograph-small-caps.html
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::hasSVGFontFaceSource):
* css/CSSFontFace.h:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::getFontData):
2010-11-13 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
fast/text/hyphen* tests have different results on Leopard
https://bugs.webkit.org/show_bug.cgi?id=43296
* platform/text/mac/TextBreakIteratorInternalICUMac.mm:
(WebCore::topLanguagePreference): Changed to look up the value of the AppleLanguages default
through the normal NSUserDefaults search order rather than skipping the application domain.
This makes this function respect DumpRenderTrees setting of the default in the application
domain.
2010-11-13 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49499
broken-ideographic-font.html causes layout test flakiness in release builds. The reason for this is
that the custom font data for m_brokenIdeographFontData was never getting pruned out of the tree.
The same problem exists for custom small caps fonts, so I made sure that the small caps fonts get
pruned as well. In addition, custom small caps fonts were never getting deleted either.
I also made allowsLigatures in FontPlatformData orientation-independent, and the callers check it
instead.
Unskip fast/blockflow/broken-ideographic-font.html
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::~SimpleFontData):
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::smallCapsFontData):
* platform/graphics/chromium/SimpleFontDataLinux.cpp:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::smallCapsFontData):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::allowsLigatures):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::smallCapsFontData):
* platform/graphics/haiku/SimpleFontDataHaiku.cpp:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::smallCapsFontData):
* platform/graphics/mac/ComplexTextControllerATSUI.cpp:
(WebCore::disableLigatures):
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::SimpleFontData::getCFStringAttributes):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy):
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::smallCapsFontData):
* platform/graphics/wx/SimpleFontDataWx.cpp:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::smallCapsFontData):
2010-11-13 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=49496
Fix broken-ideographic-font.html. I had the font installed locally on my machine, and this covered up
the fact that CoreText was implicitly using it as fallback in the vertical case only. The bots don't have
the font installed locally, and so they showed the bug.
Make sure the GlyphPage is filled with horizontal glyphs for a broken ideograph font, so that CoreText is
willing to fill.
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::SimpleFontData::getCFStringAttributes):
2010-11-13 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49464
Fix bugs with the orientation of fonts when the font is brought in via fallback, when the font contains no
vertical tables, or when the font is loaded via font-face in both horizontal and vertical forms.
(1) Include orientation as part of the @font-face hashtables so that the fonts are treated as
distinct when used in horizontal and vertical forms.
(2) Let the orientation member of FontPlatformData represent the desired orientation rather than
the supported one. Add an orientation member to SimpleFontData that represents the actual
supported orientation of the font.
(3) For fonts with no vertical tables, add a brokenIdeographicsFont accessor that is invoked when
CJK ideographs are encountered. This is essentially identical to the small caps fallback mechanism
but invoked only for ideographs. The special ideograph font locks the orientation to vertical and
renders the glyphs upright even when the font has no vertical tables. Punctuation and such will
still look funny, and really this is a bug in the font, but at least this way it will be apparent
that the font is to blame.
Added fast/blockflow/broken-ideographic-font.html and fast/blockflow/vertical-font-fallback.html.
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::getFontData):
* platform/graphics/Font.cpp:
(WebCore::Font::isCJKIdeograph):
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataForCharacter):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::SimpleFontData):
(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::SimpleFontData::brokenIdeographFontData):
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::orientation):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/mac/FontMac.mm:
(WebCore::showGlyphsWithAdvances):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::platformBoundsForGlyph):
(WebCore::SimpleFontData::platformWidthForGlyph):
2010-11-13 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dirk Schulze.
requiredFeatures does not adapt to SVGStringList changes
https://bugs.webkit.org/show_bug.cgi?id=40887
Centralize logic of handling of SVGElement validity changes.
The logic is to detach the SVGElement when changing from valid
to invalid, and to attach when changing from invalid to valid.
Tests: svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html
svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html
svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::svgAttributeChanged):
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::svgAttributeChanged):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged):
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
* svg/SVGTests.cpp:
(WebCore::knownAttribute):
(WebCore::SVGTests::isKnownAttribute):
(WebCore::SVGTests::handleAttributeChange): Centralized handling of SVGElement validity changes.
* svg/SVGTests.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::svgAttributeChanged):
(WebCore::SVGTextContentElement::isKnownAttribute):
* svg/SVGTextContentElement.h:
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::svgAttributeChanged):
2010-11-13 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [refactoring] support Views in TabbedPane and streamline tab selection in resource view
https://bugs.webkit.org/show_bug.cgi?id=49493
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._showResource):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
(WebInspector.ResourceView.prototype.selectContentTab):
(WebInspector.ResourceView.prototype._selectTab):
(WebInspector.ResourceView.prototype._refreshCookies):
(WebInspector.ResourceCookiesTab.prototype.show):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.showResource):
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane.prototype.appendTab):
(WebInspector.TabbedPane.prototype.hasTab):
(WebInspector.TabbedPane.prototype.selectTabById):
(WebInspector.TabbedPane.prototype._hideTab):
(WebInspector.TabbedPane.prototype._showTab):
* inspector/front-end/inspector.css:
(.resource-view-cookies):
(.resource-view-cookies.visible):
2010-11-13 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
REGRESSION(71515): Web Inspector: Safari crash calling console.log when Log JavaScript Exceptions to Console is checked
https://bugs.webkit.org/show_bug.cgi?id=49362
* page/Console.cpp:
(WebCore::Console::addMessage): avoid accessing ScriptArguments and ScriptCallStack after their ownership
has been passed to the inspector.
2010-11-13 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: DOM event listener name is cropped in Elements panel
https://bugs.webkit.org/show_bug.cgi?id=49387
* inspector/front-end/inspector.css:
(.event-bar): use margin-left instead of left to fit child node into its parent
2010-11-13 Ilya Sherman <isherman@chromium.org>
Reviewed by Shinichiro Hamaji.
Fixes regression from previous patch -- computes y offsets for elements
that are scrolled out of the window.
https://bugs.webkit.org/show_bug.cgi?id=49306
* manual-tests/select-scroll.html: Added.
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::layout):
2010-11-12 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
Transferred <iframe>s may not have a unique internal name
https://bugs.webkit.org/show_bug.cgi?id=48768
Fixes an issue where an <iframe> that is transferred from
document A to document B, where A != B, may not have a
unique internal name in B.
Test: fast/frames/iframe-reparenting-unique-name.html
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::setNameAndOpenURL): Inlined code from
HTMLFrameElementBase::setName() so that we can remove setName(), which
was only called being called by HTMLFrameElementBase::setNameAndOpenURL().
* html/HTMLFrameElementBase.h: Removed HTMLFrameElementBase::setName().
* html/HTMLFrameOwnerElement.h: Removed HTMLFrameOwnerElement::setName().
* page/Frame.cpp:
(WebCore::Frame::transferChildFrameToNewDocument): Modified to call FrameTree::transferChild().
* page/FrameTree.cpp:
(WebCore::FrameTree::transferChild): Added.
(WebCore::FrameTree::appendChild): Moved the majority of the code into FrameTree::actuallyAppendChild().
(WebCore::FrameTree::actuallyAppendChild): Added.
* page/FrameTree.h:
2010-11-12 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Alexey Proskuryakov.
Some FrameLoader.h Cleanup
https://bugs.webkit.org/show_bug.cgi?id=49484
Removed function signatures without any implementation. The functions
used to exist, and were nicely refactored into PageCache in r60688 and
the signatures were left behind.
Removed function signature setLoadType. Added in r17238 back when the
file was named WebFrameLoader, and the implementation was lost during
the transition from its mm implementation.
Removed function signature updateHistoryAfterClientRedirect. Implementation
and call points were removed in r18541 but the signature was left behind,
and jumped files!
Removed unused debug variable m_didDispatchDidCommitLoad. It was added
and used in Assertions in r28399. It was removed soon after, in r28464
because they were, "firing like crazy. Not sure why yet." It was
never used again.
Added const qualifier and moved interruptionForPolicyChangeError to
be more like its buddies.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::interruptionForPolicyChangeError):
(WebCore::FrameLoader::dispatchDidCommitLoad):
* loader/FrameLoader.h:
2010-11-12 Yael Aharon <yael.aharon@nokia.com>
Reviewed by David Hyatt.
Spatial Navigation: Cannot focus on some ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=48393
ContainerNode::getLowerRightCorner() assumes that the lowest right corner of its last child
is its own lowest right corner. If that child is an empty text node after an image, it does
not have size and position information, so we should go to the previous child.
Tests: fast/events/spatial-navigation/snav-container-only-white-space.html
fast/events/spatial-navigation/snav-container-white-space.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getLowerRightCorner):
2010-11-12 James Simonsen <simonjam@chromium.org>
Reviewed by Darin Fisher.
[Web Timing] Rename interfaces:
- Navigation -> PerformanceNavigation
- Timing -> PerformanceTiming
https://bugs.webkit.org/show_bug.cgi?id=48919
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Performance.cpp:
(WebCore::Performance::navigation):
(WebCore::Performance::timing):
* page/Performance.h:
* page/Performance.idl:
* page/PerformanceNavigation.cpp: Renamed from WebCore/page/Navigation.cpp.
(WebCore::PerformanceNavigation::PerformanceNavigation):
(WebCore::PerformanceNavigation::frame):
(WebCore::PerformanceNavigation::disconnectFrame):
(WebCore::PerformanceNavigation::type):
(WebCore::PerformanceNavigation::redirectCount):
* page/PerformanceNavigation.h: Renamed from WebCore/page/Navigation.h.
(WebCore::PerformanceNavigation::create):
* page/PerformanceNavigation.idl: Renamed from WebCore/page/Navigation.idl.
* page/PerformanceTiming.cpp: Renamed from WebCore/page/Timing.cpp.
(WebCore::toIntegerMilliseconds):
(WebCore::getPossiblySkewedTimeInKnownRange):
(WebCore::PerformanceTiming::PerformanceTiming):
(WebCore::PerformanceTiming::frame):
(WebCore::PerformanceTiming::disconnectFrame):
(WebCore::PerformanceTiming::navigationStart):
(WebCore::PerformanceTiming::unloadEventEnd):
(WebCore::PerformanceTiming::redirectStart):
(WebCore::PerformanceTiming::redirectEnd):
(WebCore::PerformanceTiming::fetchStart):
(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::requestEnd):
(WebCore::PerformanceTiming::responseStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::domLoading):
(WebCore::PerformanceTiming::domInteractive):
(WebCore::PerformanceTiming::domContentLoaded):
(WebCore::PerformanceTiming::domComplete):
(WebCore::PerformanceTiming::loadEventStart):
(WebCore::PerformanceTiming::loadEventEnd):
(WebCore::PerformanceTiming::documentLoader):
(WebCore::PerformanceTiming::documentTiming):
(WebCore::PerformanceTiming::documentLoadTiming):
(WebCore::PerformanceTiming::resourceLoadTiming):
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
* page/PerformanceTiming.h: Renamed from WebCore/page/Timing.h.
(WebCore::PerformanceTiming::create):
* page/PerformanceTiming.idl: Renamed from WebCore/page/Timing.idl.
2010-11-12 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
Remove unused code from HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=49451
Just removing code, so no new tests.
* html/HTMLMediaElement.cpp: Removed unused functions.
* html/HTMLMediaElement.h:
2010-11-12 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed Xcode project fix.
* WebCore.xcodeproj/project.pbxproj:
2010-11-12 Alexey Proskuryakov <ap@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=49473
WebKitCSSMatrix shouldn't inherit from StyleBase
No change in behavior, so no tests.
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::WebKitCSSMatrix): We don't inherit from StyleBase any more, so
no need to initialize always-null parent.
(WebCore::WebKitCSSMatrix::setMatrixValue): Since there was never a parent, useStrictParsing()
just returned true.
* css/WebKitCSSMatrix.h: Just inherit from RefCounted<WebKitCSSMatrix>. Removed unused default
constructor and copy constructor.
* html/canvas/WebGLRenderingContext.h: Removed an unnneded forward declaration.
2010-11-12 Helder Correia <helder@sencha.com>
Reviewed by Andreas Kling.
[Qt] Path::addArc() does not set right angle direction on full arcs
https://bugs.webkit.org/show_bug.cgi?id=49138
Ensure correctness of nonzero winding rule for full arc paths.
Invert the sign of the span if the direction is counterclockwise.
Test: fast/canvas/canvas-arc-360-winding.html
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::addArc):
2010-11-05 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
https://bugs.webkit.org/show_bug.cgi?id=46015
Test: fast/events/shadow-boundary-crossing-2.html
This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
* Android.mk: Added EventContext, WindowEventContext files.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* dom/ContainerNode.cpp:
(WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
* dom/EventContext.cpp: Added.
* dom/EventContext.h: Added.
* dom/Node.cpp:
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
(WebCore::Node::createRendererIfNeeded): Ditto.
(WebCore::Node::parentOrHostNode): Added new helper method.
(WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
(WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
(WebCore::Node::getEventAncestors): Renamed and refactored to collect a vector of EventContexts.
(WebCore::Node::topEventContext): Added.
(WebCore::eventHasListeners): Changed to use EventContexts.
(WebCore::Node::dispatchGenericEvent): Ditto.
* dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
and changed signature of eventAncestors to use EventContexts.
* dom/Text.cpp:
(WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
* dom/WindowEventContext.cpp: Added.
* dom/WindowEventContext.h: Added.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
* page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::subtreeHasChanged): Removed event invocation that's
no longer necessary.
* rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
is deleted.
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::defaultEventHandler): Flipped the condition back
from where it was prior to r60418.
* svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
* svg/SVGElement.h: Ditto.
2010-11-12 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Martin Robinson.
[GTK] Remove unnecessary header for FontPlatformDataPango.cpp
https://bugs.webkit.org/show_bug.cgi?id=46029
Remove unnecessary header includes.
No new tests, as there's no functionality.
* platform/graphics/pango/FontPlatformDataPango.cpp:
2010-11-11 Abhishek Arya <inferno@chromium.org>
Reviewed by Adam Barth.
Not allow drag and drop across different origins.
https://bugs.webkit.org/show_bug.cgi?id=49098
Test: http/tests/security/drag-drop-different-origin.html
* page/DragController.cpp:
(WebCore::DragController::tryDocumentDrag):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDropOnTarget):
* page/SecurityOrigin.h:
2010-11-11 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Inspect element tooltip obscures element metrics
https://bugs.webkit.org/show_bug.cgi?id=47822
* inspector/InspectorController.cpp:
(WebCore::InspectorController::drawNodeHighlight):
(WebCore::InspectorController::drawElementTitle):
2010-11-12 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Button's background style from default Qt Mobile Theme is overriding facebook's button style
https://bugs.webkit.org/show_bug.cgi?id=48198
Instead of creating gradients that goes from white to grey and cover the whole element the gradients
are created by varying the alpha channel of a dark color. This way the effect will not override the
background color of the elements.
* css/themeQtMobile.css:
2010-11-12 Justin Schuh <jschuh@chromium.org>
Reviewed by Adam Barth.
Use a RefPtr inside ContainerNode::willRemove loop
https://bugs.webkit.org/show_bug.cgi?id=49237
Test: fast/innerHTML/innerHTML-iframe.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::willRemove):
2010-11-12 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add more event listener breakpoint types, add support for regular breakpoint hit state, beautify hit rendering.
https://bugs.webkit.org/show_bug.cgi?id=49130
* English.lproj/localizedStrings.js:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.debuggerPaused):
(WebInspector.Breakpoint.jsBreakpointId):
(WebInspector.Breakpoint.prototype.get id):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.EventListenerBreakpointsSidebarPane):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.prototype._breakpointHit): don't call populateStatusMessage for JS breakpoints
since there is no specific message in that case.
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/inspector.css:
(#elements-sidebar):
(.pane > .body):
(#scripts-sidebar):
(li.breakpoint-hit .breakpoint-hit-marker):
2010-11-12 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [Extensions API] [refactoring] generate public API interfaces automatically
https://bugs.webkit.org/show_bug.cgi?id=49441
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI.PanelImpl):
(WebInspector.injectedExtensionAPI):
(WebInspector.injectedExtensionAPI.WatchExpressionSidebarPane):
(WebInspector.injectedExtensionAPI.AuditCategoryImpl):
(WebInspector.injectedExtensionAPI.AuditResultImpl):
(WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.get Severity):
(WebInspector.injectedExtensionAPI.):
2010-11-12 Renata Hodovan <reni@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGFEDisplacementMapElement doesn't support dynamic invalidation
https://bugs.webkit.org/show_bug.cgi?id=49430
The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
Tests: svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr.html
svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr.html
svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr.html
svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr.html
svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr.html
svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop.html
svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop.html
svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop.html
svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop.html
svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop.html
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
* svg/SVGFEDisplacementMapElement.h:
2010-11-12 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [refactoring] do not use absolute positioning for tabbed panes
https://bugs.webkit.org/show_bug.cgi?id=49439
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane):
(WebInspector.TabbedPane.prototype.appendTab):
* inspector/front-end/inspector.css:
(.resource-view.visible):
(.resource-view .tabbed-pane-header):
(.resource-view-cookies):
(.tabbed-pane):
(.tabbed-pane-content):
* inspector/front-end/networkPanel.css:
2010-11-12 John Knottenbelt <jknotten@chromium.org>
Reviewed by Steve Block.
Rename GeolocationControllerClient to GeolocationClient.
https://bugs.webkit.org/show_bug.cgi?id=49259
No new tests, renaming only.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/GeolocationClient.h: Renamed from WebCore/page/GeolocationControllerClient.h.
(WebCore::GeolocationClient::~GeolocationClient):
* page/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
* page/GeolocationController.h:
* page/Page.h:
2010-11-12 Ilya Sherman <isherman@chromium.org>
Reviewed by Eric Seidel.
Remove some trailing whitespace
https://bugs.webkit.org/show_bug.cgi?id=49433
* platform/PopupMenuClient.h:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupContainer::show):
(WebCore::PopupListBox::paintRow):
(WebCore::PopupListBox::scrollToRevealRow):
* platform/chromium/PopupMenuChromium.h:
* platform/chromium/SearchPopupMenuChromium.cpp:
* rendering/RenderMenuList.h:
(WebCore::RenderMenuList::toRenderMenuList):
* rendering/RenderTextControlSingleLine.h:
(WebCore::toRenderTextControlSingleLine):
2010-11-12 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Csaba Osztrogonác.
[qt] script-clone tests added in r71895 fails on qt platform
https://bugs.webkit.org/show_bug.cgi?id=49429
Fixed parseEndElement to call ScriptElement's executeScript as supposed to that of ScriptController.
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseEndElement):
2010-11-05 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
Refactoring: Return values of TextCheckingHelper::paragraphAlignedRange should form a class.
https://bugs.webkit.org/show_bug.cgi?id=49053
Replaced paragraphAlignedRange() function call into
TextCheckingParagraph class. The class encapsulates a range of a
paragraph, and its relation within associated checking range.
Instance variables of the class are computed lazily. So we can save unnecessary
memory allocation and DOM tree traversal.
No new tests, no behavior change.
* editing/Editor.cpp:
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced paragraphAlignedRange() call.
(WebCore::Editor::changeBackToReplacedString): Replaced paragraphAlignedRange() call.
* editing/TextCheckingHelper.cpp:
(WebCore::expandToParagraphBoundary):
(WebCore::TextCheckingParagraph::TextCheckingParagraph):
(WebCore::TextCheckingParagraph::~TextCheckingParagraph):
(WebCore::TextCheckingParagraph::expandRangeToNextEnd):
(WebCore::TextCheckingParagraph::invalidateParagraphRangeValues):
(WebCore::TextCheckingParagraph::rangeLength):
(WebCore::TextCheckingParagraph::paragraphRange):
(WebCore::TextCheckingParagraph::subrange):
(WebCore::TextCheckingParagraph::offsetTo):
(WebCore::TextCheckingParagraph::isEmpty):
(WebCore::TextCheckingParagraph::offsetAsRange):
(WebCore::TextCheckingParagraph::text):
(WebCore::TextCheckingParagraph::checkingStart):
(WebCore::TextCheckingParagraph::checkingEnd):
(WebCore::TextCheckingParagraph::checkingLength):
(WebCore::TextCheckingHelper::findFirstBadGrammar): Replaced paragraphAlignedRange() call.
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Replaced paragraphAlignedRange() call.
* editing/TextCheckingHelper.h:
(WebCore::TextCheckingParagraph::textLength):
(WebCore::TextCheckingParagraph::textSubstring):
(WebCore::TextCheckingParagraph::textCharacters):
(WebCore::TextCheckingParagraph::textCharAt):
(WebCore::TextCheckingParagraph::checkingSubstring):
(WebCore::TextCheckingParagraph::checkingRangeMatches):
(WebCore::TextCheckingParagraph::isCheckingRangeCoveredBy):
(WebCore::TextCheckingParagraph::checkingRangeCovers):
(WebCore::TextCheckingParagraph::checkingRange):
(WebCore::TextCheckingParagraph::isTextEmpty):
(WebCore::TextCheckingParagraph::isRangeEmpty):
2010-11-11 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Script runs more than once after a clone
https://bugs.webkit.org/show_bug.cgi?id=48966
The bug was caused by cloneElementWithoutChildren's not propagating isEvaluated flag,
which indicates whether or not the script has already started, and the fact
neither HTMLScriptRunner nor XMLDocumentParser was setting isEvaluated flag to true.
Fixed the bug by making cloneElementWithoutChildren call a virtual cloneElementWithoutAttributesAndChildren,
and override it in HTMLScriptElement and SVGScriptElement to propagate isEvaluated flag,
and replacing direct access to ScriptController by a call to new ScriptElementData::executeScript,
which updates the isEvaluated flag properly.
See also: http://www.whatwg.org/specs/web-apps/current-work/#already-started
Tests: fast/dom/script-clone-rerun-self.html
fast/dom/script-clone-rerun.html
svg/dom/SVGScriptElement/script-clone-rerun-self.svg
svg/dom/SVGScriptElement/script-clone-rerun.svg
* dom/Element.cpp:
(WebCore::Element::cloneElementWithoutChildren): Calls cloneElementWithoutChildren.
(WebCore::Element::cloneElementWithoutAttributesAndChildren): Extracted from cloneElementWithoutChildren.
* dom/Element.h:
* dom/ScriptElement.cpp:
(WebCore::ScriptElementData::ScriptElementData): Added isEvaluated flag to the argument list.
(WebCore::ScriptElementData::evaluateScript): Extracted from HTMLScriptRunner::executeScript.
(WebCore::ScriptElementData::executeScript): Renamed evaluated to isEvaluated.
(WebCore::ScriptElementData::ignoresLoadRequest): Renamed evaluated to isEvaluated.
* dom/ScriptElement.h: Renamed evaluated to isEvaluated.
(WebCore::ScriptElementData::isEvaluated): Added.
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::endElementNs): Calls ScriptElement::executeScript.
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::HTMLScriptElement): Added isEvaluated flag to the argument list.
(WebCore::HTMLScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
(WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
(WebCore::HTMLScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
* html/HTMLScriptElement.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Added an assertion that was lost
in extracting ScriptElementData::executeScript.
(WebCore::HTMLScriptRunner::runScript): Calls ScriptElementData::executeScript.
* html/parser/HTMLScriptRunner.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::SVGScriptElement): Added isEvaluated flag to the argument list.
(WebCore::SVGScriptElement::create): Calls the constructor with the isEvaluated flag set to false.
(WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Propagates isEvaluated.
(WebCore::SVGScriptElement::executeScript): Added; calls ScriptElementData::executeScript.
* svg/SVGScriptElement.h:
2010-11-11 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Darin Adler.
REGRESSION: window.print in onload doesn't fire if there's an img
https://bugs.webkit.org/show_bug.cgi?id=48195
This issue was introduced in
https://bugs.webkit.org/show_bug.cgi?id=43658
This happens because FrameLoader::isLoading() is false while an
image is still loading. Now, window.print() happens after all
resources are loaded.
Also changed the name of a member variable as Darin suggested in Bug 43658.
Added a manual test as DRT doesn't support window.print() yet.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::updateLoading):
* loader/DocumentLoader.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::DOMWindow):
(WebCore::DOMWindow::print):
(WebCore::DOMWindow::finishedLoading):
* page/DOMWindow.h:
2010-11-11 James Simonsen <simonjam@chromium.org>
Reviewed by Tony Chang.
[chromium] Support letter spacing and fix whitespace wrapping on linux
When lines wrapped on RTL text, the whitespace was inserted before
the first character on the new line instead of at the end of the
previous line. This has been fixed.
The missing cluster information needed for letter spacing was hidden in
harfbuzz's attributes struct.
https://bugs.webkit.org/show_bug.cgi?id=49405
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::letterSpacing): Added.
(WebCore::TextRunWalker::isWordBreak): No need for isRTL.
(WebCore::TextRunWalker::setPadding): Ditto.
(WebCore::TextRunWalker::setGlyphXPositions): Support letter spacing. No whitespace before RTL text on new line.
(WebCore::glyphIndexForXPositionInScriptRun): Support letter spacing.
2010-11-11 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Dumitru Daniliuc.
FileSystem: Fix a link error for non-chromium WebKit build
https://bugs.webkit.org/show_bug.cgi?id=49296
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorFileSystemAgent.cpp:
(WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
(WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntry):
(WebCore::InspectorFileSystemAgentCallbacks::didReadDirectoryEntries):
(WebCore::InspectorFileSystemAgentCallbacks::didCreateFileWriter):
(WebCore::InspectorFileSystemAgentCallbacks::didFail):
(WebCore::InspectorFileSystemAgent::revealFolderInOS):
2010-11-11 Nate Chapin <japhet@chromium.org>
Reviewed by Antti Koivisto.
Cleanup after http://trac.webkit.org/changeset/71562, namely:
Make deferred request handle simpler.
Don't perform callbacks associated with network load starting
(e.g., willSendRequest) until the load is in fact sent to the network.
Make ResourceLoadScheduler a friend of ResourceLoader and make
ResourceLoader::start() protected to try to ensure loads actually
go through the scheduler.
https://bugs.webkit.org/show_bug.cgi?id=49351
Behavior should be covered by existing tests.
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::create):
* loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::servePendingRequests):
* loader/ResourceLoadScheduler.h:
(WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::init):
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::setDefersLoading):
(WebCore::ResourceLoader::didCancel):
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::reachedTerminalState):
(WebCore::ResourceLoader::request):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* loader/loader.cpp:
(WebCore::Loader::load):
(WebCore::Loader::willSendRequest):
* loader/loader.h:
2010-11-11 Carol Szabo <carol.szabo@nokia.com>
Reviewed by Kent Tamura.
css2:order of counters in out-of flow content
https://bugs.webkit.org/show_bug.cgi?id=32412
Tests: fast/css/content/content-none.html
fast/css/content/content-normal.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseContent):
Added support for none, normal, open-quote, no-open-quote, etc.
identifiers in terms of parsing only, as this has effect on the
evaluation of counters. No further implementation needed for
none and normal, the others are parsed but do not work as expected.
2010-11-11 Julie-Jeongeun-Kim <jiyuluna@gmail.com>
Reviewed by Kent Tamura.
SelectionStart, selectionEnd properties return wrong values when the selection is in a read-only input or textarea element
https://bugs.webkit.org/show_bug.cgi?id=25444
'rootEditableElement()' is checked on RenderTextControl::indexForVisiblePosition.
It means that just editable elements can get selection information.
ReadOnly element is not editable element. So, it just returns and can't get correct selection information.
INPUT and TEXTAREA elements can be read-only but 'indexForVisiblePosition' doesn't accept them.
So, Selectable elements, INPUT and TEXTAREA, checking is added for that case.
Even if they are read-only, they are selectable.
new tests:fast/forms/selection-start-end-readonly.html
* html/HTMLInputElement.idl:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::isSelectableElement):
(WebCore::RenderTextControl::indexForVisiblePosition):
* rendering/RenderTextControl.h:
2010-11-11 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
Add some RefPtrs to be on the safe side
https://bugs.webkit.org/show_bug.cgi?id=49301
Hopefully no behavior change.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
2010-11-11 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Fix Accelerate.framework issues in VectorMath 32-bit ppc & i386 vs. other architectures (64-bit, ARM, etc.).
On the Mac we use the highly optimized versions in Accelerate.framework
In 32-bit mode (__ppc__ or __i386__) <Accelerate/Accelerate.h> includes <vecLib/vDSP_translate.h> which defines macros
of the same name as our namespaced function names, so we must handle this case differently.
Other architectures (64bit, ARM, etc.) do not include this header file.
https://bugs.webkit.org/show_bug.cgi?id=49112
No new tests since audio API is not yet implemented.
* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::vsmul):
(WebCore::VectorMath::vadd):
2010-11-11 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8657116> fast/text/justification-padding-mid-word.html fails on Windows
https://bugs.webkit.org/show_bug.cgi?id=49378
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem): For all characters that need to be treated
as zero-width spaces, substitute the space glyph with zero advance. Apply justification padding
and word spacing only at characters treated as (non-zero-width) spaces.
2010-11-11 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Harden some string functions against large lengths
https://bugs.webkit.org/show_bug.cgi?id=49293
* rendering/RenderText.cpp:
(WebCore::makeCapitalized): Check before incrementing length.
2010-11-10 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
bufferData/bufferSubData should not crash with null data input
https://bugs.webkit.org/show_bug.cgi?id=49350
* html/canvas/WebGLRenderingContext.cpp: return early if input data is null.
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
2010-11-10 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Implement UNPACK_COLORSPACE_CONVERSION_WEBGL
https://bugs.webkit.org/show_bug.cgi?id=47196
This is the first patch for this bug. We add constants and methods, but haven't hooked it up with texture uploading yet. Also, in order to check in constants.html, we need to remove out-dated constants, and update affected tests correspondingly.
Test: fast/canvas/webgl/constants.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext): Move init code to initializeNewContext.
(WebCore::WebGLRenderingContext::initializeNewContext): Ditto.
(WebCore::WebGLRenderingContext::getParameter): Implement UNPACK_COLORSPACE_CONVERSION_WEBGL.
(WebCore::WebGLRenderingContext::pixelStorei): Ditto.
* html/canvas/WebGLRenderingContext.h: Add a member to track UNPACK_COLORSPACE_CONVERSION_WEBGL setting.
* html/canvas/WebGLRenderingContext.idl: Update constants.
* platform/graphics/GraphicsContext3D.h: Update constants.
2010-11-11 Chris Marrin <cmarrin@apple.com>
Reviewed by James Robinson.
Add multisampling support to DrawingBuffer.
https://bugs.webkit.org/show_bug.cgi?id=49206
Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
This re-lands changes rolled out by http://trac.webkit.org/changeset/71839. It includes
the change from http://trac.webkit.org/changeset/71831 and additional changes to
DrawingBufferChromium.cpp which cause the broken canvas tests to pass.
* platform/graphics/Extensions3D.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::~DrawingBuffer):
(WebCore::DrawingBuffer::publishToPlatformLayer):
(WebCore::DrawingBuffer::didReset):
(WebCore::DrawingBuffer::platformColorBuffer):
* platform/graphics/chromium/Extensions3DChromium.h:
(WebCore::Extensions3DChromium::blitFramebuffer):
(WebCore::Extensions3DChromium::renderbufferStorageMultisample):
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::create):
(WebCore::DrawingBuffer::clear):
(WebCore::DrawingBuffer::reset):
(WebCore::DrawingBuffer::commit):
(WebCore::DrawingBuffer::bind):
* platform/graphics/gpu/DrawingBuffer.h:
(WebCore::DrawingBuffer::multisample):
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::didReset):
(WebCore::DrawingBuffer::platformColorBuffer):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supports):
(WebCore::Extensions3DOpenGL::blitFramebuffer):
(WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
* platform/graphics/opengl/Extensions3DOpenGL.h:
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
2010-11-11 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=48664
Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
This patch disables the layout state for flipped blocks, since the paint offset isn't right.
Bugs in the overflow sides for lines have been fixed. before/AfterSideVisible/LayoutOverflowForLine
now respect flipping (and don't incorrectly change sides). This is a very confusing aspect of
the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
aren't physical).
offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
This means at every step up you convert to the correct physical coordinate. It also means these
functions will be unreliable during layout for flipped blocks. At first glance, this seems to be
more or less ok.
computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary. This
allows for documents to be fully flipped and repaint during layout can still be reliable. This is
critical for incremental line layout repainting.
Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
of all the stale results and failures.
* editing/SelectionController.cpp:
(WebCore::SelectionController::absoluteBoundsForLocalRect):
(WebCore::SelectionController::paintCaret):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutOnlyPositionedObjects):
(WebCore::RenderBlock::paintSelection):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
(WebCore::RenderBlock::afterSideVisibleOverflowForLine):
(WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
(WebCore::RenderBlock::afterSideLayoutOverflowForLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::layout):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::clippedOverflowRectForRepaint):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::flipForWritingMode):
(WebCore::RenderBox::locationOffsetIncludingFlipping):
* rendering/RenderBox.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::layout):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderView.cpp:
(WebCore::RenderView::computeRectForRepaint):
* rendering/ShadowElement.cpp:
(WebCore::ShadowBlockElement::layoutAsPart):
2010-11-11 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
https://bugs.webkit.org/show_bug.cgi?id=49388
Renamed GraphicsLayerCA.* to GraphicsLayerMac.*
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/mac/GraphicsLayerCA.h: Removed.
* platform/graphics/mac/GraphicsLayerCA.mm: Removed.
* platform/graphics/mac/GraphicsLayerMac.h: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.h.
* platform/graphics/mac/GraphicsLayerMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsLayerCA.mm.
2010-11-11 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
[chromium] Missing adoptPtr in GraphicsContext3DSkia.cpp
https://bugs.webkit.org/show_bug.cgi?id=49359
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-11-11 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
<rdar://problem/8113511> Enable auto-hyphenation
* WebCore.vcproj/WebCore.vcproj: Included HyphenationCF.cpp instead of Hyphenation.cpp.
* platform/text/cf/HyphenationCF.cpp: Added functions and definitions for Windows to look up CFStringGetHyphenationLocationBeforeIndex
and CFStringIsHyphenationAvailableForLocale at runtime.
(wkCFStringGetHyphenationLocationBeforeIndex):
(wkCFStringIsHyphenationAvailableForLocale):
(WebCore::lastHyphenLocation): Added a cast.
2010-11-11 Eric Carlson <eric.carlson@apple.com>
Reviewed by Eric Seidel.
video-pause-immediately.html sometimes fails
https://bugs.webkit.org/show_bug.cgi?id=49397
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::playInternal): Don't bother calling invalidateCachedTime, it
will be called from updatePlayState.
(WebCore::HTMLMediaElement::pauseInternal): Don't bother calling refreshCachedTime, it
will be called from updatePlayState.
(WebCore::HTMLMediaElement::updatePlayState): Call refreshCachedTime after telling the media
engine to pause so we cache the post-paused time.
2010-11-11 Mihai Parparita <mihaip@chromium.org>
Unreviewed rollout.
Roll out r71827 and r71831, which caused many GPU canvas test failures.
* platform/graphics/Extensions3D.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::reset):
(WebCore::DrawingBuffer::getRenderingResultsAsTexture):
* platform/graphics/chromium/Extensions3DChromium.h:
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::create):
(WebCore::DrawingBuffer::clear):
(WebCore::DrawingBuffer::bind):
* platform/graphics/gpu/DrawingBuffer.h:
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::create):
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::reset):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supports):
* platform/graphics/opengl/Extensions3DOpenGL.h:
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
2010-11-11 Eric Carlson <eric.carlson@apple.com>
Restore the portion of the ChangeLog removed in my last commit.
2010-11-11 Eric Carlson <eric.carlson@apple.com>
Unreviewed Leoaprd build fix.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::invalidateCachedTime): Make the const a double.
2010-11-11 Dirk Schulze <krit@webkit.org>
Unreviewed Qt build fix.
SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
https://bugs.webkit.org/show_bug.cgi?id=49284
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
(WebCore::SVGAnimationElement::startedActiveInterval):
2010-11-11 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
IndexedDB: signal IDBFactoryBackendInterface destruction to embedder
https://bugs.webkit.org/show_bug.cgi?id=49313
Define IDBFactoryBackendInterface destructor out-of-line to allow
for embedder-specific implementation. For Chromium, have the
destructor call ChromiumBridge::idbShutdown().
* platform/chromium/ChromiumBridge.h:
* storage/IDBFactoryBackendInterface.cpp:
(WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
* storage/IDBFactoryBackendInterface.h:
* storage/chromium/IDBFactoryBackendInterface.cpp:
(WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
2010-11-11 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGAnimation calcMode 'spline' should be useable for from-to and from-by animations
https://bugs.webkit.org/show_bug.cgi?id=49284
Add support for from-to and from-by animations in combination with calcMode 'spline' for SVGAnimations.
Tests: svg/animations/animate-calcMode-spline-by.html
svg/animations/animate-calcMode-spline-from-by.html
svg/animations/animate-calcMode-spline-from-to.html
svg/animations/animate-calcMode-spline-to.html
svg/animations/animate-calcMode-spline-values.html
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::calculateKeyTimesIndex): Added to share more code.
(WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::startedActiveInterval):
(WebCore::SVGAnimationElement::updateAnimation):
* svg/SVGAnimationElement.h:
2010-11-10 Chris Marrin <cmarrin@apple.com>
Reviewed by James Robinson.
Add multisampling support to DrawingBuffer.
https://bugs.webkit.org/show_bug.cgi?id=49206
Added support for the GL_ANGLE_framebuffer_blit and GL_ANGLE_framebuffer_multisample
extensions to Extensions3D. Then I use these to add multisample support to DrawingBuffer.
* platform/graphics/Extensions3D.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::platformColorBuffer):
* platform/graphics/chromium/Extensions3DChromium.h:
(WebCore::Extensions3DChromium::blitFramebuffer):
(WebCore::Extensions3DChromium::renderbufferStorageMultisample):
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::create):
(WebCore::DrawingBuffer::clear):
(WebCore::DrawingBuffer::reset):
(WebCore::DrawingBuffer::commit):
(WebCore::DrawingBuffer::bind):
* platform/graphics/gpu/DrawingBuffer.h:
(WebCore::DrawingBuffer::multisample):
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::platformLayer):
(WebCore::DrawingBuffer::platformColorBuffer):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supports):
(WebCore::Extensions3DOpenGL::blitFramebuffer):
(WebCore::Extensions3DOpenGL::renderbufferStorageMultisample):
* platform/graphics/opengl/Extensions3DOpenGL.h:
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
2010-11-11 Eric Carlson <eric.carlson@apple.com>
Build fix after r71824.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::invalidateCachedTime): Use an explicit cast from double to float.
(WebCore::HTMLMediaElement::currentTime): Ditto.
2010-11-11 Eric Carlson <eric.carlson@apple.com>
Reviewed by Antti Koivisto.
Lots of time spent in MediaPlayerPrivate::currentTime() when playing multiple videos.
https://bugs.webkit.org/show_bug.cgi?id=49009
Make it possible for HTMLMediaElement to cache the movie time and report 'currentTime'
as [cached time + elapsed wall time]. The media engine returns the maximum duration it
is safe to calculate time before resampling the actual movie time with the new
maximumDurationToCacheMovieTime method. Because this may be different for different media
engines the default return value is 0, making it an opt-in feature.
No new tests were added because the existing tests already check currentTime, and because
it is only possible to look for drift between the calculated and actual media time by
calculating the time AND getting the actual media time - which the defeats the purpose of
the change. Building with LOG_CACHED_TIME_WARNINGS defined enables code that does both
and logs warnings when the delta between calculated and observed is greater than 0.01.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member variables.
(WebCore::HTMLMediaElement::prepareForLoad): Force a time resync before setting m_paused.
(WebCore::HTMLMediaElement::seek): Force a time resync before getting the current time before
seeking so there is no drift.
(WebCore::HTMLMediaElement::refreshCachedTime): New, update the cached movie time and the
wall clock time it was recorded.
(WebCore::HTMLMediaElement::invalidateCachedTime): New, flag the cached time as invalid.
(WebCore::HTMLMediaElement::currentTime): Use a cached movie time for as long as the media
engine says it is safe. Lots of optional logging can be enabled to help ports fine tune
the maximum cache interval.
(WebCore::HTMLMediaElement::ended): Force a time resync before setting m_paused.
(WebCore::HTMLMediaElement::endScrubbing): Fix a typo in the logging.
(WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Call currentTime() instead of calling
MediaPlayer so we use the cached time as much as it possible.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Invalidate cached time because the engine
seeked.
(WebCore::HTMLMediaElement::mediaPlayerRateChanged): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Invalidate cached time before changing m_paused.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::maximumDurationToCacheMovieTime): New.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::maximumDurationToCacheMovieTime): New.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
(WebCore::MediaPlayerPrivate::maximumDurationToCacheMovieTime): New, say it is safe to cache
time for five seconds (based on lots of experimenting with LOG_CACHED_TIME_WARNINGS enabled).
2010-11-11 Adam Roben <aroben@apple.com>
Windows build fix after r71816
r71816 renamed
WebCore/platform/graphics/cairo/FontPlatformDataCairoWin.h to
WebCore/platform/graphics/win/FontPlatformData.h. This made Apple's
Windows port pick up this header in preference to
WebCore/platform/cg/FontPlatformData.h, thus breaking the build. I
moved the file to
WebCore/platform/graphics/win/cairo/FontPlatformData.h so it won't be
picked up by Apple's Windows build.
* WebCore.vcproj/WebCore.vcproj: Updated for file move and let VS
re-sort the files.
* WebCore.vcproj/WebCoreCairo.vsprops: Added
platform/graphics/win/cairo to the include path.
* WebCore.vcproj/copyForwardingHeaders.cmd: Copy files from
platform/graphics/win/cairo to $WebKitOutputDir.
* platform/graphics/cg/FontPlatformData.h: Touched to force this file
to be recopied for Apple's build.
* platform/graphics/win/cairo/FontPlatformData.h: Renamed from
WebCore/platform/graphics/win/FontPlatformData.h.
2010-11-11 Balazs Kelemen <kbalazs@webkit.org>
Reviewed by Andreas Kling.
[Qt][WK2] Implement BackingStore
https://bugs.webkit.org/show_bug.cgi?id=49377
No change in functionality so no tests.
Add a way to hand off ownership of the QPainter and the underlying
QPaintDevice to the GraphicsContext.
* platform/graphics/GraphicsContext.h:
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::takeOwnershipOfPlatformContext):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::takeOwnershipOfPlatformContext):
2010-11-11 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Adam Barth.
[GTK] Move font related files.
https://bugs.webkit.org/show_bug.cgi?id=48116
Move pango and freetype related files to share non-GTK+ platforms.
No new tests because this is pure refactoring.
* CMakeListsEfl.txt:
* GNUmakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/cairo/FontCacheFreeType.cpp: Removed.
* platform/graphics/cairo/FontCustomPlatformData.cpp: Removed.
* platform/graphics/cairo/FontPlatformData.h: Removed.
* platform/graphics/cairo/FontPlatformDataFreeType.cpp: Removed.
* platform/graphics/cairo/FontPlatformDataFreeType.h: Removed.
* platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Removed.
* platform/graphics/cairo/SimpleFontDataCairo.cpp: Removed.
* platform/graphics/freetype: Added.
* platform/graphics/freetype/FontCacheFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontCacheFreeType.cpp.
* platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontCustomPlatformData.cpp.
* platform/graphics/freetype/FontPlatformData.h: Copied from WebCore/platform/graphics/cairo/FontPlatformDataFreeType.h.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/FontPlatformDataFreeType.cpp.
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: Copied from WebCore/platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp.
* platform/graphics/freetype/SimpleFontDataFreeType.cpp: Copied from WebCore/platform/graphics/cairo/SimpleFontDataCairo.cpp.
* platform/graphics/gtk/FontCachePango.cpp: Removed.
* platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Removed.
* platform/graphics/gtk/FontPlatformDataPango.cpp: Removed.
* platform/graphics/gtk/FontPlatformDataPango.h: Removed.
* platform/graphics/gtk/GlyphPageTreeNodePango.cpp: Removed.
* platform/graphics/gtk/SimpleFontDataPango.cpp: Removed.
* platform/graphics/pango: Added.
* platform/graphics/pango/FontCachePango.cpp: Copied from WebCore/platform/graphics/gtk/FontCachePango.cpp.
* platform/graphics/pango/FontCustomPlatformDataPango.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformDataPango.cpp.
* platform/graphics/pango/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformDataPango.h.
* platform/graphics/pango/FontPlatformDataPango.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataPango.cpp.
* platform/graphics/pango/GlyphPageTreeNodePango.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodePango.cpp.
* platform/graphics/pango/SimpleFontDataPango.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataPango.cpp.
* platform/graphics/win/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformDataCairoWin.h.
* platform/graphics/win/FontPlatformDataCairoWin.h: Removed.
2010-11-11 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: size of resources in summary is 0
when there are redirects.
https://bugs.webkit.org/show_bug.cgi?id=49242
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._updateSummaryBar):
2010-11-11 Ben Murdoch <benm@google.com>
Reviewed by Darin Fisher.
document.createTouch and document.createTouchList should specify EnabledAtRuntime
https://bugs.webkit.org/show_bug.cgi?id=49324
The createTouch and createTouchList APIs added to Document.idl in
http://trac.webkit.org/changeset/70047 should have EnabledAtRuntime
specified as touch related features are controlled by a
RuntimeEnabledFeature flag in addition to a compile time guard.
No new tests. This should have been part of r70047 and
that revision provided adequate tests of the new feature.
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::createTouchEnabled):
(WebCore::RuntimeEnabledFeatures::createTouchListEnabled):
* dom/Document.idl: Add EnabledAtRuntime specifier to the
idl methods.
2010-11-09 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Provide context menu item 'Reveal in Elements Panel'
on elements in inspector UI.
https://bugs.webkit.org/show_bug.cgi?id=49161
* English.lproj/localizedStrings.js:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.update):
(WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
(WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired.revealElement):
2010-11-11 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Audit panel toolbar icon shifts left when clicked.
https://bugs.webkit.org/show_bug.cgi?id=48766
* inspector/front-end/Images/auditsIcon.png:
2010-11-11 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
chrome.dll!WebCore::SVGLengthInternal::valueInSpecifiedUnitsAttrGetter ReadAV@NULL (4cf97a4f3ebe8006a2f5ffcc5bc10aeb)
https://bugs.webkit.org/show_bug.cgi?id=49331
Test: svg/dom/SVGPolygonElement-baseVal-list-removal-crash.html
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::replaceItemValuesAndWrappers): Avoid premature deletion of 'oldItem'.
(WebCore::SVGListProperty::removeItemValuesAndWrappers): Ditto.
2010-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Andreas Kling.
Make it possible to override the visibleContentRect in the case the
client is handling the scrolling. This is similar to what the iPhone does.
* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRect):
* platform/ScrollView.h:
(WebCore::ScrollView::setActualVisibleContentRect):
2010-11-11 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
FrameView: Don't clip to visibleContentRect in paintEntireContents mode
https://bugs.webkit.org/show_bug.cgi?id=49375
In paintEntireContents mode (used in combination with tiling) we
cannot clip to the actual visibleContentRect as the clipped regions
will not be updated again on scroll. If paintsEntireContents is
enabled, return the actual content rect.
* page/FrameView.cpp:
(WebCore::FrameView::windowClipRect):
2010-11-10 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGMatrix/SVGTransform/SVGTransformList to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=49311
Move the last list type, SVGTransformList, and the last POD types, SVGMatrix & SVGTransform, over to the new SVGPropertyTearOff concept.
Removes the need for a custom JSSVGMatrix/V8SVGMatrix implementation, it's all integrated within the bindings now.
Tests: svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg
svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg
svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg
svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg
svg/W3C-SVG-1.1-SE/types-dom-01-b.svg
svg/W3C-SVG-1.1-SE/types-dom-02-f.svg
svg/W3C-SVG-1.1-SE/types-dom-03-b.svg
svg/W3C-SVG-1.1-SE/types-dom-04-b.svg
svg/W3C-SVG-1.1-SE/types-dom-05-b.svg
svg/dom/SVGMatrix.html
svg/dom/SVGTransform.html
svg/dom/SVGTransformList.html
* Android.jscbindings.mk: Removed JSSVGMatrixCustom.cpp.
* Android.v8bindings.mk: Removed V8SVGMatrixCustom.cpp.
* CMakeLists.txt: Remove JSSVGMatrixCustom.cpp.
* GNUmakefile.am: Ditto. Add SVGAnimatedTransformListPropertyTearOff.h/SVGStaticPropertyWithParentTearOff.h/SVGTransformListPropertyTearOff.h/SVGAnimatedTransformList.h/SVGMatrix.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Remove JSSVGMatrixCustom.cpp
* bindings/js/JSSVGMatrixCustom.cpp: Removed.
* bindings/scripts/CodeGenerator.pm: Convert SVGMatrix/SVGTransform/SVGTransformList to the new concept.
* bindings/scripts/CodeGeneratorJS.pm: Ditto.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* bindings/v8/custom/V8SVGMatrixCustom.cpp: Removed.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGTransformList handling.
* svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
* svg/SVGAnimateTransformElement.cpp: Adapt to SVGTransformList API changes.
(WebCore::transformListFor):
(WebCore::SVGAnimateTransformElement::resetToBaseValue):
(WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
(WebCore::SVGAnimateTransformElement::applyResultsToTarget):
* svg/SVGAnimatedTransformList.h: Added.
* svg/SVGGradientElement.cpp: Ditto.
(WebCore::SVGGradientElement::SVGGradientElement):
(WebCore::SVGGradientElement::parseMappedAttribute):
* svg/SVGGradientElement.h: Ditto.
* svg/SVGLinearGradientElement.cpp: Ditto.
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGMatrix.h: Added. SVGMatrix inherits from AffineTransform, and is only used in the bindings. It implements SVGs special requirements.
(WebCore::SVGMatrix::translate): Returns a copy of the matrix, not affecting the original matrix.
(WebCore::SVGMatrix::scale): Ditto.
(WebCore::SVGMatrix::scaleNonUniform): Ditto.
(WebCore::SVGMatrix::rotate): Ditto.
(WebCore::SVGMatrix::flipX): Ditto.
(WebCore::SVGMatrix::flipY): Ditto.
(WebCore::SVGMatrix::skewX): Ditto.
(WebCore::SVGMatrix::skewY): Ditto.
(WebCore::SVGMatrix::multiply): Ditto.
(WebCore::SVGMatrix::inverse): Ditto.
(WebCore::SVGMatrix::rotateFromVector): Dittto.
* svg/SVGMatrix.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
* svg/SVGPatternElement.cpp: Adapt to SVGTransformList API changes.
(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::parseMappedAttribute):
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGPatternElement.h: Ditto.
* svg/SVGPoint.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise for 'matrixTransform', now that SVGMatrix has been converted to the new scheme.
* svg/SVGRadialGradientElement.cpp: Adapt to SVGTransformList API changes.
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGSVGElement.cpp: Ditto.
(WebCore::SVGSVGElement::createSVGTransformFromMatrix):
(WebCore::SVGSVGElement::viewBoxToViewTransform):
* svg/SVGSVGElement.h: Ditto.
* svg/SVGStyledTransformableElement.cpp: Ditto.
(WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
(WebCore::SVGStyledTransformableElement::animatedLocalTransform):
(WebCore::SVGStyledTransformableElement::parseMappedAttribute):
* svg/SVGStyledTransformableElement.h: Ditto.
* svg/SVGTextElement.cpp: Ditto.
(WebCore::SVGTextElement::SVGTextElement):
(WebCore::SVGTextElement::parseMappedAttribute):
(WebCore::SVGTextElement::animatedLocalTransform):
* svg/SVGTextElement.h: Ditto.
* svg/SVGTransform.cpp: Modernize code, inlined some getters.
(WebCore::SVGTransform::SVGTransform):
(WebCore::SVGTransform::setMatrix):
* svg/SVGTransform.h: Reindent header.
(WebCore::SVGTransform::type):
(WebCore::SVGTransform::svgMatrix):
(WebCore::SVGTransform::matrix):
(WebCore::SVGTransform::angle):
(WebCore::SVGTransform::rotationCenter):
(WebCore::SVGTransform::isValid):
(WebCore::operator==): Avoid function calls, make operator== a friend of SVGTransform, and compare members directly.
(WebCore::operator!=):
* svg/SVGTransform.idl:
* svg/SVGTransformList.cpp: Rewritten as plain Vector<SVGTransform>.
(WebCore::SVGTransformList::createSVGTransformFromMatrix):
(WebCore::SVGTransformList::consolidate):
(WebCore::SVGTransformList::concatenate):
(WebCore::SVGTransformList::valueAsString):
* svg/SVGTransformList.h:
(WebCore::SVGTransformList::SVGTransformList):
* svg/SVGTransformList.idl: Enable StrictTypeChecking/RequiresAllArguments=Raise on all attributes/functions.
* svg/SVGTransformable.cpp: Adapt to SVGTransformList API changes.
(WebCore::SVGTransformable::parseTransformAttribute):
* svg/SVGTransformable.h: Ditto.
* svg/SVGViewSpec.cpp: Ditto.
(WebCore::SVGViewSpec::SVGViewSpec):
(WebCore::SVGViewSpec::setTransform):
(WebCore::SVGViewSpec::parseViewSpec):
* svg/SVGViewSpec.h: Ditto.
(WebCore::SVGViewSpec::transform):
* svg/properties/SVGAnimatedListPropertyTearOff.h: Made constructor and members protected.
* svg/properties/SVGAnimatedPropertyMacros.h: Add new helper macro DECLARE_ANIMATED_TRANSFORM_LIST_PROPERTY. This is needed until we expand all macros.
* svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Added. Extends SVGAnimatedListPropertyTearOff, returning SVGTransformListPropertyTearOff objects.
(WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
(WebCore::SVGAnimatedTransformListPropertyTearOff::create):
(WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
* svg/properties/SVGListPropertyTearOff.h: Made construct and members protected.
* svg/properties/SVGProperty.h: Declare commitChange() as pure virtual method.
* svg/properties/SVGPropertyTraits.h: Handle SVGTransformList.
* svg/properties/SVGStaticPropertyWithParentTearOff.h: Added. Same concept as JSSVGStaticPODTypeWrapperWithParent, used to expose SVGPropertyTearOffs for types
that are using this concept themselves. (SVGMatrix attribute of SVGTransform, both are POD types, using SVGPropertyTearOff).
(WebCore::SVGStaticPropertyWithParentTearOff::create):
(WebCore::SVGStaticPropertyWithParentTearOff::commitChange):
(WebCore::SVGStaticPropertyWithParentTearOff::SVGStaticPropertyWithParentTearOff):
* svg/properties/SVGTransformListPropertyTearOff.h: Added. Extends SVGListPropertyTearOff by two special SVGTransformList methods: consolidate and createSVGTransformFromMatrix.
(WebCore::SVGTransformListPropertyTearOff::create):
(WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
(WebCore::SVGTransformListPropertyTearOff::consolidate):
(WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
2010-11-11 Alejandro G. Castro <alex@igalia.com>
Reviewed by Nikolas Zimmermann.
Fixed WebKitGTK gtk3 compilation.
* platform/gtk/WidgetRenderingContextGtk3.cpp:
(WebCore::WidgetRenderingContext::WidgetRenderingContext):
2010-11-11 Dan Bernstein <mitz@apple.com>
Reverted r71975:71976. That change was wrong, and the tests caught it.
* platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::create):
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2010-11-11 Matthew Delaney <mdelaney@apple.com>
Reviewed by Dan Bernstein.
Fix LayoutTests/canvas/philip/tests/2d.drawImage.null.html
https://bugs.webkit.org/show_bug.cgi?id=48307
There are no new tests because this is a fix for a pre-existing failing test.)
* bindings/js/JSCanvasRenderingContext2DCustom.cpp: Corrected expection throwing cases to match up with spec.
2010-11-10 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Adam Barth.
[HTML5] 10.2.8.4 Scripts that modify the page as it is being parsed
https://bugs.webkit.org/show_bug.cgi?id=49364
Fixed HTMLScriptRunner's executeScript to use the ScriptController of the frame to which script element belongs
as supposed to that of the frame associated with the HTMLScriptRunner.
See also: http://www.whatwg.org/specs/web-apps/current-work/#scripts-that-modify-the-page-as-it-is-being-parsed
Test: fast/parser/script-modify-page-outer.html
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Calls executeScript.
(WebCore::HTMLScriptRunner::executeScript): Uses the correct ScriptController instance.
(WebCore::HTMLScriptRunner::runScript): Call executeScript.
* html/parser/HTMLScriptRunner.h:
2010-11-10 Dan Bernstein <mitz@apple.com>
Style fix I said Id make then forgot to make.
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2010-11-10 Ned Holbrook <nholbrook@apple.com>
Reviewed by Dan Bernstein.
Allow for the possibility of CoreText generating multiple runs for a single text run.
https://bugs.webkit.org/show_bug.cgi?id=49353
* platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::create):
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2010-10-15 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Widgets do not support CSS transformations
https://bugs.webkit.org/show_bug.cgi?id=40139
Instead of rendering directly onto the target drawable when rendering
form controls on GTK+ 2.0, render onto an intermediate surface and use
cairo to blit the result back to the target surface. This has two
benefits. The first is that it always honors the current Cairo
transformation. The second is that since the intermediate drawable is
always a 32-bit GdkPixmap, we do not have to have a set of widgets
per-colormap any longer.
This change also begins the abstraction of widget rendering so that GTK+
2 and GTK+ 3 can use the same code path. The WidgetRenderingContext will
eventually hide all version differences from RenderThemeGtk, which can
just focus on interpreting the GtkStyle properties.
* GNUmakefile.am: Add WidgetRenderinContext source files to the sources list.
* platform/graphics/cairo/PlatformRefPtrCairo.cpp:
(WTF::refPlatformPtr): Add a specialization for Cairo patterns.
(WTF::derefPlatformPtr): Ditto.
* platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::RenderThemeGtk): No longer keep a set of
widgets per-colormap for GTK+, instead just determine if we can use RGBA
colormaps and go from there.
(WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
(WebCore::RenderThemeGtk::getIndicatorMetrics): Put the logic for
getting toggle button indicator metrics into this helper.
(WebCore::RenderThemeGtk::paintRenderObject): Now uses
WidgetRenderingContext to do widget rendering.
(WebCore::setToggleSize): Use the new getIndicatorMetrics helper.
* platform/gtk/RenderThemeGtk.h: Added a member to track whether or not
the widgets are using a RGBA colormap. Also remove a defunct Page*
member.
* platform/gtk/ScrollbarThemeGtk.cpp: Switch all widget drawing
operations to use WidgetRenderingContext.
(WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
(WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
(WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
(WebCore::ScrollbarThemeGtk::paint): Ditto.
(WebCore::ScrollbarThemeGtk::paintButton): Ditto.
* platform/gtk/WidgetRenderingContext.h: Added.
* platform/gtk/WidgetRenderingContextGtk2.cpp: Added.
(WebCore::purgeScratchBuffer): Added, this is similar to the scratch
buffer implementation from ContextShadow.
(WebCore::PurgeScratchBufferTimer::fired): Ditto.
(WebCore::scheduleScratchBufferPurge): Ditto.
(WebCore::getExtraSpaceForWidget):
(WebCore::WidgetRenderingContext::WidgetRenderingContext): Added.
(WebCore::WidgetRenderingContext::~WidgetRenderingContext): Added.
(WebCore::WidgetRenderingContext::paintMozillaWidget): Added.
* platform/gtk/WidgetRenderingContextGtk3.cpp: Added.
(WebCore::WidgetRenderingContext::WidgetRenderingContext): Added.
(WebCore::~WidgetRenderingContext::WidgetRenderingContext): Added.
(WebCore::WidgetRenderingContext::paintMozillaWidget): Added.
2010-11-10 Beth Dakin <bdakin@apple.com>
Reviewed by Simon Fraser.
Fix for https://bugs.webkit.org/show_bug.cgi?id=49356
-[WebView _scaleWebView:] should take and origin and scroll the
document
-and corresponding-
<rdar://problem/8643921>
Apply the scale to the origin, and set a new scroll position.
* page/Frame.cpp:
(WebCore::Frame::scalePage):
* page/Frame.h:
* WebCore.exp.in:
2010-11-10 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
https://bugs.webkit.org/show_bug.cgi?id=49295
* platform/graphics/mac/ComplexTextControllerATSUI.cpp: Reverted to r71565. Eliding bidi
control characters from ATSUI is no longer necessary since ComplexTextController removes
any glyphs corresponding to them.
(WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation):
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2010-11-10 Pascal Massimino <pascal.massimino@gmail.com>
Reviewed by Adam Barth.
Simplify the alpha-detection code in png's decoding loop.
https://bugs.webkit.org/show_bug.cgi?id=49333
Added a special test for this case: png_per_row_alpha_decoding.html
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable): modified loop.
2010-11-10 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/8647848> REGRESSION (r68551): Spaces shown at soft hyphens with complex justification
https://bugs.webkit.org/show_bug.cgi?id=49352
Test: fast/text/justification-padding-mid-word.html
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Changed to add justification padding
and word spacing only at characters that are treated as space, instead of all characters that
use the space glyph (which includes characters treated as zero-width space as well).
2010-11-10 Matthew Delaney <mdelaney@apple.com>
Reviewed by Darin Adler.
Crash in documentWillBecomeInactive() when closing window with Reader showing content with SVG
https://bugs.webkit.org/show_bug.cgi?id=49084
Manual test added.
* manual-tests/svg-deep-clone-to-new-doc.html: Added manual test for reproducing bug since an automated version proved to be a bit tough to craft up.
* svg/SVGSVGElement.cpp: Added in necessary document ownership transfer calls.
* svg/SVGSVGElement.h:
2010-11-10 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Red error bubbles don't fit content.
https://bugs.webkit.org/show_bug.cgi?id=49305
* inspector/front-end/textViewer.css:
(.webkit-html-message-bubble):
2010-11-10 Alexey Proskuryakov <ap@apple.com>
Release build fix.
* css/StyleSheet.cpp: isAcceptableStyleSheetParent() is a debug-only function.
2010-11-08 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=45205
<rdar://problem/8391455> Detached elements shouldn't have style sheets.
Tests: fast/dom/StyleSheet/detached-style-2.html
fast/dom/StyleSheet/detached-style-pi.xhtml
fast/dom/StyleSheet/detached-style.html
fast/dom/StyleSheet/detached-style-pi-2.xhtml
* bindings/js/JSStyleSheetCustom.cpp: (WebCore::JSStyleSheet::markChildren):
There is no longer a need to mark owner nodes - StyleSheet->ownerNode() is only non-null when
the node is in document.
* css/StyleSheet.cpp: (WebCore::StyleSheet::StyleSheet): Added an assertion checking that
all nodes that can be StyleSheet parents have been verified.
* css/StyleSheet.h: (WebCore::StyleSheet::clearOwnerNode): Added.
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::~ProcessingInstruction): Clear stylesheet's owner node. This
shouldn't have observable effect, since a processing instruction that is in document can only
be destroyed with document, and a reachable stylsheet keeps document alive.
(WebCore::ProcessingInstruction::removedFromDocument): Clear the relationship between node and style sheet when removed.
(WebCore::ProcessingInstruction::setCSSStyleSheet): If the element was removed during load, we still
don't want to create a style sheet.
* dom/StyleElement.cpp:
(WebCore::StyleElement::sheet): There is no reason for lazy creation. It was a wrong fix for
bug 14462, whose regression test still passes.
(WebCore::StyleElement::removedFromDocument): Clear the relationship between node and style sheet when removed.
(WebCore::StyleElement::finishParsingChildren): Don't call sheet(), it doens't have side effects any more.
(WebCore::StyleElement::createSheet): Assert that the element is in document. We never want
to create a style sheet for an element that isn't.
* dom/StyleElement.h: (WebCore::StyleElement::sheet): Made implementation inline, now that
it's a simple getter.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::~HTMLLinkElement): Clear stylesheet's owner node.
(WebCore::HTMLLinkElement::process): Assert that there is no style sheet lingering for any reason.
(WebCore::HTMLLinkElement::removedFromDocument): Clear the relationship between node and style sheet when removed.
(WebCore::HTMLLinkElement::setCSSStyleSheet): If the element was removed during load, we still
don't want to create a style sheet.
* html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::~HTMLStyleElement):
* html/HTMLStyleElement.h:
* svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::~SVGStyleElement):
* svg/SVGStyleElement.h:
Clear stylesheet's owner node. As above, this shouldn't have observable effect.
* xml/XSLTProcessor.h:
* xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::~XSLTProcessor):
* dom/Document.cpp: (WebCore::Document::~Document):
* css/CSSParser.cpp: (WebCore::CSSParser::parseSelector):
Assert that stylesheet won't outlive its owner node. We don't really use refcounting here.
2010-11-10 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
REGRESSION (r71566): r71566 breaks bidi-control-chars-treated-as-ZWS.html
https://bugs.webkit.org/show_bug.cgi?id=49295
* platform/graphics/mac/ComplexTextController.h: Added m_indexOffset.
* platform/graphics/mac/ComplexTextControllerATSUI.cpp:
(WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Use m_indexOffset
instead of computing the offset based on m_directionalOverride.
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Set m_indexOffset to
the offset between indices in m_characters and indices in the text passed to ATSUI.
2010-11-10 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Gear menu floats to right edge and expands
to bottom of "Styles" section.
https://bugs.webkit.org/show_bug.cgi?id=49303
This fixes computed style's option wrapping to the next line.
* inspector/front-end/inspector.css:
(.sidebar-pane-subtitle):
2010-11-10 Stephen White <senorblanco@chromium.org>
Reviewed by James Robinson.
Fix canvas.putImageData(canvas.getImageData(...)) to be lossless.
https://bugs.webkit.org/show_bug.cgi?id=49330
These cycles should be lossless for valid colours. A similar fix went
into the CG port at r32878.
Covered by canvas/philip/tests/2d.imageData.put.unchanged.html.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::mulDiv255Ceil):
A helper function to do (a + b + 254) / 255 without a divide.
(WebCore::putImageData):
Use the above helper to round up when premultiplying alpha.
2010-11-10 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by David Hyatt.
HTML5 Ruby support should be mandatory feature
https://bugs.webkit.org/show_bug.cgi?id=49272
Remove Ruby as optional feature.
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* GNUmakefile.am:
* WebCorePrefix.h: Touch WebCorePrefix.h to avoid incremental build failure on Windows.
* config.h: Touch config.h to avoid incremental build failure on Windows.
* features.pri:
* html/HTMLTagNames.in:
* rendering/RenderBlock.cpp: Remove ENABLE_RUBY guard.
(WebCore::canMergeContiguousAnonymousBlocks):
* rendering/RenderObject.cpp: Remove ENABLE_RUBY guard.
(WebCore::RenderObject::createObject):
* rendering/RenderRuby.cpp: Remove ENABLE_RUBY guard.
* rendering/RenderRuby.h: Remove ENABLE_RUBY guard.
* rendering/RenderRubyBase.cpp: Remove ENABLE_RUBY guard.
* rendering/RenderRubyBase.h: Remove ENABLE_RUBY guard.
* rendering/RenderRubyRun.cpp: Remove ENABLE_RUBY guard.
* rendering/RenderRubyRun.h: Remove ENABLE_RUBY guard.
* rendering/RenderRubyText.cpp: Remove ENABLE_RUBY guard.
* rendering/RenderRubyText.h: Remove ENABLE_RUBY guard.
2010-11-10 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Complex text does not have full CSS text-shadow support
https://bugs.webkit.org/show_bug.cgi?id=45597
Add ContextShadow support to FontGtk, which enables non-solid shadows
for complex text rendering.
Test: platform/gtk/fonts/complex-text-shadows.html
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::destroyPangoRegion): Added this helper, which helps reduce
the number of #ifdefs when dealing with GTK+ region type differences.
(WebCore::getPangoRegionExtents): Ditto.
(WebCore::drawGlyphsShadow): Added this helper which either renders
a solid shadow manually or uses ContextShadow to render a blurry shadow.
(WebCore::Font::drawComplexText): Use the new helpers.
2010-11-10 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[gtk] The revision r71528 causes crashes in GObjectEventListener
https://bugs.webkit.org/show_bug.cgi?id=49314
Moved the addition of the event listener to the node after calling
the constructor of the event listener. This is required beacuse
the addEventListener API receives the EventListener inside a
PassRefPtr.
* bindings/gobject/GObjectEventListener.cpp:
(WebCore::GObjectEventListener::GObjectEventListener):
* bindings/gobject/GObjectEventListener.h:
(WebCore::GObjectEventListener::addEventListener):
2010-11-02 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Enable InspectorCSSAgent (not used by frontend for CSS editing yet)
https://bugs.webkit.org/show_bug.cgi?id=48834
Drive-by fix: use a single API method to retrieve all node-related styles instead of a bunch of separate calls.
Test: inspector/styles-new-API.html
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::setDOMAgent):
(WebCore::InspectorCSSAgent::reset):
(WebCore::InspectorCSSAgent::getStylesForNode2):
(WebCore::InspectorCSSAgent::getComputedStyleForNode2):
(WebCore::InspectorCSSAgent::addRule2):
(WebCore::InspectorCSSAgent::querySelectorAll):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
(WebCore::InspectorController::didCommitLoad):
* inspector/InspectorController.h:
(WebCore::InspectorController::cssAgent):
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDOMAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyle::styleText):
(WebCore::InspectorStyle::disableProperty):
(WebCore::InspectorStyle::populateAllProperties):
(WebCore::InspectorStyle::populateObjectWithStyleProperties):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::fixUnparsedPropertyRanges):
(WebCore::InspectorStyleSheet::ensureSourceData):
(WebCore::InspectorStyleSheetForInlineStyle::text):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorStyleProperty::setRawTextFromStyleDeclaration):
(WebCore::InspectorStyleProperty::hasRawText):
2010-11-10 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Move CSSStyleDeclaration from DOMAgent.js into CSSStyleModel.js
https://bugs.webkit.org/show_bug.cgi?id=49312
No new tests, as it's just code motion.
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleDeclaration):
(WebInspector.CSSStyleDeclaration.parsePayload):
(WebInspector.CSSStyleDeclaration.prototype.get allProperties):
(WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
(WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
(WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
(WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
(WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
(WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
(WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
(WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
(WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
(WebInspector.CSSStyleDeclaration.prototype.appendProperty):
(WebInspector.CSSStyleDeclaration.prototype.propertyAt):
(WebInspector.CSSRule):
(WebInspector.CSSRule.parsePayload):
(WebInspector.CSSRule.prototype.get isUserAgent):
(WebInspector.CSSRule.prototype.get isUser):
(WebInspector.CSSRule.prototype.get isViaInspector):
(WebInspector.CSSRule.prototype.get isRegular):
(WebInspector.CSSProperty):
(WebInspector.CSSProperty.parsePayload):
(WebInspector.CSSProperty.prototype.get propertyText):
(WebInspector.CSSProperty.prototype.get isLive):
(WebInspector.CSSProperty.prototype.get active):
(WebInspector.CSSProperty.prototype.get styleBased):
(WebInspector.CSSProperty.prototype.get inactive):
(WebInspector.CSSProperty.prototype.get disabled):
(WebInspector.CSSProperty.prototype.setText):
(WebInspector.CSSProperty.prototype.setValue):
(WebInspector.CSSProperty.prototype.setDisabled.callback):
(WebInspector.CSSProperty.prototype.setDisabled):
* inspector/front-end/DOMAgent.js:
2010-11-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r71733.
http://trac.webkit.org/changeset/71733
https://bugs.webkit.org/show_bug.cgi?id=49319
made qt bot crashy and sad (Requested by kling on #webkit).
* page/FrameView.cpp:
(WebCore::FrameView::windowClipRect):
2010-11-10 Peter Rybin <peter.rybin@gmail.com>
Reviewed by Adam Barth.
HTML parser should provide script column position within HTML document to JavaScript engine
https://bugs.webkit.org/show_bug.cgi?id=45271
Replaces line number with TextPosition struct so that script engine
gets script starting line/column.
* ForwardingHeaders/wtf/text/TextPosition.h: Added.
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerPosition):
* bindings/v8/ScriptController.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::startLine):
(WebCore::ScriptSourceCode::startPosition):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::V8LazyEventListener):
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8LazyEventListener.h:
(WebCore::V8LazyEventListener::create):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::evaluate):
(WebCore::V8Proxy::runScript):
* bindings/v8/V8Proxy.h:
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::runScript):
* bindings/v8/WorkerContextExecutionProxy.h:
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* dom/PendingScript.cpp:
(WebCore::PendingScript::releaseElementAndClear):
* dom/PendingScript.h:
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::operator=):
(WebCore::PendingScript::startingPosition):
* dom/ScriptableDocumentParser.h:
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::lineNumber):
(WebCore::XMLDocumentParser::columnNumber):
(WebCore::XMLDocumentParser::textPosition):
(WebCore::XMLDocumentParser::textPositionOneBased):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::textPosition):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseEndElement):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
(WebCore::HTMLDocumentParser::textPosition):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::uninitializedPositionValue1):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::takeScriptToProcess):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/HTMLTreeBuilder.h:
2010-11-10 Ilya Sherman <isherman@chromium.org>
Reviewed by Shinichiro Hamaji.
Fix autofill popup height computation -- take icon heights into account.
https://bugs.webkit.org/show_bug.cgi?id=49306
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::layout):
2010-11-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Andreas Kling.
In paintEntireContents mode (used in combination with tiling) we
cannot clip to the actual visibleContentRect as the clipped regions
will not be updated again on scroll. If paintsEntireContents is
enabled, return the actual content rect.
* page/FrameView.cpp:
(WebCore::FrameView::windowClipRect):
2010-11-10 Shinichiro Hamaji <hamaji@chromium.org>
Adding a manual test which I forgot to add in r71618.
[Chromium] display:none has no effect on <option> element
https://bugs.webkit.org/show_bug.cgi?id=49169
* manual-tests/display-none-option.html: Added.
2010-11-10 Shane Stephens <shanestephens@google.com>
Reviewed by Dirk Schulze.
SVGTextElement supplemental transforms pre-multiplied but should be
post-multiplied in animatedLocalTransform
https://bugs.webkit.org/show_bug.cgi?id=48215
Test: svg/animations/animate-text-nested-transforms.svg
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::animatedLocalTransform):
Switched order of multiplication. Note that due to a bug in
AffineTransform's operator* implementation the order of arguments is
reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).
2010-11-09 Abhishek Arya <inferno@chromium.org>
Reviewed by Dan Bernstein.
Fieldsets avoid floats. Legend elements are expected to have their parent
as fieldset. When this not the case, floats get added incorrectly added to the
legend blocks. This patch tries to prevent those floats addition.
https://bugs.webkit.org/show_bug.cgi?id=49214
Test: fast/blockflow/overhanging-float-legend-crash.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::avoidsFloats):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::isLegend):
* rendering/RenderObject.h:
2010-11-10 Cris Neckar <cdn@chromium.org>
Reviewed by Nikolas Zimmermann.
Added check to ensure that svg viewport containers are not treated in the same way as generic svg containers.
https://bugs.webkit.org/show_bug.cgi?id=49188
Test: svg/dom/viewport-container-crash.svg
* rendering/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
2010-11-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Eric Seidel.
[WML] Fix build breaks when WML is enabled.
https://bugs.webkit.org/show_bug.cgi?id=49168
The backForward() of Page class returns BackForwarddController class type.
So, WML classes need to include the BackForwardController.h file. And, select()
of RenderTextControl.h was removed. Thus, the select() should be replaced by
setSelectionRange().
* wml/WMLDoElement.cpp: Includes BackForwardController.h.
* wml/WMLDocument.cpp: ditto.
* wml/WMLInputElement.cpp:
(WebCore::WMLInputElement::select): Replaced by setSelectionRange().
* wml/WMLPageState.cpp: Includes BackForwardController.h.
* wml/WMLPrevElement.cpp: ditto.
2010-11-09 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add JavaScriptAudioNode files
https://bugs.webkit.org/show_bug.cgi?id=48875
No new tests since audio API is not yet implemented.
* webaudio/JavaScriptAudioNode.cpp: Added.
(WebCore::JavaScriptAudioNode::create):
(WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
(WebCore::JavaScriptAudioNode::~JavaScriptAudioNode):
(WebCore::JavaScriptAudioNode::initialize):
(WebCore::JavaScriptAudioNode::uninitialize):
(WebCore::JavaScriptAudioNode::toJavaScriptAudioNode):
(WebCore::JavaScriptAudioNode::process):
(WebCore::JavaScriptAudioNode::fireProcessEventDispatch):
(WebCore::JavaScriptAudioNode::fireProcessEvent):
(WebCore::JavaScriptAudioNode::reset):
(WebCore::JavaScriptAudioNode::scriptExecutionContext):
* webaudio/JavaScriptAudioNode.h: Added.
(WebCore::JavaScriptAudioNode::eventTargetData):
(WebCore::JavaScriptAudioNode::ensureEventTargetData):
(WebCore::JavaScriptAudioNode::bufferSize):
(WebCore::JavaScriptAudioNode::doubleBufferIndex):
(WebCore::JavaScriptAudioNode::swapBuffers):
(WebCore::JavaScriptAudioNode::refEventTarget):
(WebCore::JavaScriptAudioNode::derefEventTarget):
* webaudio/JavaScriptAudioNode.idl: Added.
2010-11-09 Nico Weber <thakis@chromium.org>
Reviewed by Kenneth Russell.
[Chromium] Text jitter during 2D CSS transform
https://bugs.webkit.org/show_bug.cgi?id=49224
Text subpixel rendering only works in AlphaPremultipliedFirst |
kCGBitmapByteOrder32Host contexts:
http://www.cocoabuilder.com/archive/cocoa/228931-sub-pixel-font-smoothing-with-cgbitmapcontext.html
Changing this has the added benefit that the data layout now matches
skia.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::SharedValues::SharedValues):
(WebCore::ContentLayerChromium::updateContents):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContents):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
2010-11-09 Helder Correia <helder@sencha.com>
Reviewed by Darin Adler.
Philip Canvas test 2d.path.rect.winding fails
https://bugs.webkit.org/show_bug.cgi?id=49225
Rect path direction is important for nonzero winding rule.
The rect(x, y, w, h) method must create a new subpath containing just the four points
(x, y), (x+w, y), (x+w, y+h), (x, y+h), with those four points connected by straight
lines, and must then mark the subpath as closed.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::rect):
2010-11-09 Fumitoshi Ukai <ukai@chromium.org>
Unreviewed build fix on Chromium/Win at r71711
RefCound.h reported an error that it cannot access private member
declared in class 'WebCore::FileWriterSync' at
WebCore::FileWriterSync::~FileWriterSync.
* fileapi/FileWriterSync.h: make destructor public
2010-11-09 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
AudioFileReaderMac.cpp must include <CoreServices/CoreServices.h>
https://bugs.webkit.org/show_bug.cgi?id=49270
* platform/audio/mac/AudioFileReaderMac.cpp:
2010-11-09 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Add idl and mock classes for FileWriterSync.
https://bugs.webkit.org/show_bug.cgi?id=48693
No new tests, as there's no functionality.
Build file additions.
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorV8.pm:
* fileapi/FileWriterSync.cpp: Added.
* fileapi/FileWriterSync.h: Added.
* fileapi/FileWriterSync.idl: Added.
2010-11-09 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
[GTK] Improve accessibility of focusable lists
https://bugs.webkit.org/show_bug.cgi?id=25679
Emit the 'selected' and 'focused' events as needed.
This is the last bit of a series of patches to fix bug 25679,
which just ensures that the right signals are emmited whenever a
selection inside a listbox object changes, that is, the signals
'state-changed::selected', 'state-changed::focused' and
'focus-event', along with the right detail for each of them to
report if the focus/selection has been activated or not.
* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange): New, takes care of
emitting all the needed signals when children selection has
changed, both from the point of view of the container and the
selected/unselected items inside of it. It currently supports
listboxes (html 'select' controls) only.
(WebCore::AXObjectCache::postPlatformNotification): Replaced some
old code with a simple call to notifyChildrenSelectionChange().
2010-11-09 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49202
Make lists work with vertical text.
(1) Patch all the CSS rules in html.css so that the margins are directionally abstract.
(2) Add a transposedRect and transposedSize method to IntRect and IntSize for swapping x/y and width/height.
(3) Add adjustLineDirectionPosition as a helper for moving a line box only in the line direction.
(4) Fix a bug in addIntrudingFLoats uncovered by list test cases where the top margin of an element was being
incorrectly added to a float's physical left side instead of its top side.
(5) Make positioning and painting and selection of list markers account for all writing modes.
(6) Add helpers for setting the start and end margins directly in a RenderStyle, since lists do this to hack
marker margins before they have been calculated and set on the box.
Cloned a bunch of fast/lists tests into fast/lists/*-vertical.html versions.
* css/html.css:
* platform/graphics/IntRect.h:
(WebCore::IntRect::transposedRect):
* platform/graphics/IntSize.h:
(WebCore::IntSize::transposedSize):
* rendering/InlineBox.h:
(WebCore::InlineBox::adjustLineDirectionPosition):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addIntrudingFloats):
* rendering/RenderListItem.cpp:
(WebCore::getParentOfFirstLineBox):
(WebCore::RenderListItem::positionListMarker):
(WebCore::RenderListItem::paint):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::localSelectionRect):
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::layout):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMargins):
(WebCore::RenderListMarker::getRelativeMarkerRect):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setMarginStart):
(WebCore::RenderStyle::setMarginEnd):
* rendering/style/RenderStyle.h:
2010-11-09 Abhishek Arya <inferno@chromium.org>
Reviewed by Antti Koivisto.
Call to SVGSMILElement::applyResultsToTarget can blow away the SVGSMILElement.
Refptr the SVGSMILElement in the ResultElementMap to protect it.
https://bugs.webkit.org/show_bug.cgi?id=49274
Test: svg/animations/animate-update-crash.xhtml
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
2010-11-09 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49281
Remove broken code for embedded CSS xml-stylesheet
* dom/Document.cpp: (WebCore::Document::recalcStyleSelector): This made no sense, was untested,
and didn't match Firefox.
2010-11-09 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
Customizable context menu support in WebKit2.
Various WebCore support to allow WebKit2 to create new ContextMenuItems with
the information it has.
* WebCore.exp.in:
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
* platform/mac/ContextMenuItemMac.mm:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::setSubMenu):
* platform/mac/ContextMenuMac.mm:
(WebCore::platformMenuDescription):
* platform/qt/ContextMenuItemQt.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::setSubMenu):
* platform/qt/ContextMenuQt.cpp:
(WebCore::platformMenuDescription):
* platform/win/ContextMenuItemWin.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::setSubMenu):
* platform/win/ContextMenuWin.cpp:
(WebCore::platformMenuDescription):
2010-11-09 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Need WebKit2 mechanism for getting the visible page text
<rdar://problem/8646928>
https://bugs.webkit.org/show_bug.cgi?id=49275
* WebCore.exp.in: Add necessary exports.
2010-11-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by James Robinson.
Make showLayerTree() more useful for debugging
https://bugs.webkit.org/show_bug.cgi?id=49273
Three things to make showLayerTree() more useful when called from gdb:
1. Add showLayerTree(RenderObject*)
2. Make it not update layout, so you can call it when debugging layout code.
3. Add output of the 'needs layout' flags for each renderer.
* rendering/RenderLayer.cpp:
(showLayerTree):
* rendering/RenderLayer.h:
* rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::externalRepresentation):
* rendering/RenderTreeAsText.h:
2010-11-09 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
AudioChannel.h is including AudioFloatArray.h instead of AudioArray.h
https://bugs.webkit.org/show_bug.cgi?id=49269
* platform/audio/AudioChannel.h:
2010-11-09 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
Made tables hit-test correctly in all writing modes.
Part of: Make tables work with vertical text
https://bugs.webkit.org/show_bug.cgi?id=46417
Test: fast/blockflow/table-hit-test.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::nodeAtPoint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
2010-11-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Caret fails to render with some combination of iframes and compositing
https://bugs.webkit.org/show_bug.cgi?id=49079
Because it's possible for the caret to jump between different
compositing layers and the view, caret repainting currently dirties
both the view and all compositing layers that intersect the caret rect,
via repaintRectangleInViewAndCompositedLayers().
When an iframe contained compositing layers, we erroneously skipped
invalidating the compositing layer inside the iframe, which caused
the caret to fail to blink.
* manual-tests/compositing/caret-in-compositing-frame.html: Added.
* manual-tests/compositing/resources/editable-compositing-subframe.html: Added.
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
2010-11-09 Peter Rybin <peter.rybin@gmail.com>
Reviewed by Adam Barth.
XMLDocumentParser gets deleted and then used in LayoutTest/fast/frames/set-parent-src-synchronously.xhtml on QT/Linux
https://bugs.webkit.org/show_bug.cgi?id=48643
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::doWrite):
2010-11-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=49197
<rdar://problem/8642746>
When starting an accelerated transform animation on a renderer, check
that it's a RenderBox before allow transform animations (and before
calling borderBoxRect()), because transforms are currently disallowed
on inline elements.
Test: animations/animation-on-inline-crash.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
2010-11-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=49204
<rdar://problem/8643412>
Add checks to the CSSStyleSelector code to ensure that the
casts to the various CSSValue types are safe, and do more
rigorous checking of the lengths of CSSValueLists, and
non-null members of Pair in some cases.
* css/CSSBorderImageValue.h:
(WebCore::CSSBorderImageValue::isBorderImageValue):
* css/CSSCursorImageValue.h:
(WebCore::CSSCursorImageValue::isCursorImageValue):
* css/CSSImageValue.h:
(WebCore::CSSImageValue::isImageValue):
* css/CSSReflectValue.h:
(WebCore::CSSReflectValue::isReflectValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
(WebCore::CSSRuleSet::addRulesFromSheet):
(WebCore::CSSRuleSet::addStyleRule):
(WebCore::applyCounterList):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapFillSize):
(WebCore::CSSStyleSelector::mapAnimationDelay):
(WebCore::CSSStyleSelector::mapAnimationDirection):
(WebCore::CSSStyleSelector::mapAnimationFillMode):
(WebCore::CSSStyleSelector::mapAnimationName):
(WebCore::CSSStyleSelector::mapAnimationPlayState):
(WebCore::CSSStyleSelector::mapNinePieceImage):
(WebCore::CSSStyleSelector::createTransformOperations):
* css/CSSValue.h:
(WebCore::CSSValue::isBorderImageValue):
(WebCore::CSSValue::isCursorImageValue):
(WebCore::CSSValue::isFontFamilyValue):
(WebCore::CSSValue::isReflectValue):
(WebCore::CSSValue::isShadowValue):
* css/FontFamilyValue.h:
(WebCore::FontFamilyValue::isFontFamilyValue):
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* css/ShadowValue.h:
(WebCore::ShadowValue::isShadowValue):
* platform/graphics/transforms/TransformOperations.h:
(WebCore::TransformOperations::clear):
2010-11-09 Ben Murdoch <benm@google.com>
Reviewed by Steve Block.
Android is missing implementation of V8GCController::checkMemoryUsage
https://bugs.webkit.org/show_bug.cgi?id=49255
This patch adds the necessary code to WebCore to implement the
functionality. The implementation of the PlatformBridge on Android
does not live upstream yet, so not patching that here.
No new test as this is a platform specific change on Android.
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::checkMemoryUsage): Implement on Android.
* platform/android/PlatformBridge.h: Add necessary methods to read
device specific memory usage and constraints.
2010-11-09 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
ScrollView::updateScrollbars() shouldn't do anything when scrolling is delegated.
* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):
2010-11-09 Steve Block <steveblock@google.com>
Reviewed by Andreas Kling.
Unused parameter warning causes JSC build failure with deviceorientation
https://bugs.webkit.org/show_bug.cgi?id=49251
No new tests, build fix only.
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::interval):
* bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::alpha):
(WebCore::JSDeviceOrientationEvent::beta):
(WebCore::JSDeviceOrientationEvent::gamma):
2010-11-09 Renata Hodovan <reni@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGFETileElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=49247
The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary.
Tests: svg/dynamic-updates/SVGFETileElement-dom-in-attr.html
svg/dynamic-updates/SVGFETileElement-svgdom-in-prop.html
* svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::svgAttributeChanged):
* svg/SVGFETileElement.h:
2010-11-09 Jenn Braithwaite <jennb@chromium.org>
Reviewed by Dmitry Titov.
Update ProgressTracker when moving a frame between documents
https://bugs.webkit.org/show_bug.cgi?id=48368
No new tests. andersca informs me it's not possible to test
ProgressTracker changes via layouttests. Review extra carefully...
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::transferLoadingResourcesFromPage):
Changed to use FrameLoader to deliver the notification to the
client via the notifier.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader:;transferLoadingResourcesFromPage):
Update old and new progress tracker about frame progress.
(WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
Added to route notification via the notifier.
* loader/FrameLoader.h:
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::completeProgress):
Comment change only.
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
Added to provide one place to notify client and progress tracker -
and probably inspector controller (separate patch).
* loader/ResourceLoadNotifier.h:
2010-11-09 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
Too precise serialization from floating point number to string for "number" input elements
https://bugs.webkit.org/show_bug.cgi?id=48308
Modified to consider decimal places when handling step and base in applyStep().
* html/HTMLInputElement.cpp: Considering decimal places of the given "step" attribtue.
(WebCore::HTMLInputElement::getAllowedValueStep):
(WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
(WebCore::HTMLInputElement::applyStep):
* html/HTMLInputElement.h:
* html/InputType.cpp: Added virtual functions for decimal places and an acceptable error.
(WebCore::InputType::stepBaseWithDecimalPlaces):
(WebCore::InputType::acceptableError):
(WebCore::InputType::parseToDoubleWithDecimalPlaces):
* html/InputType.h:
* html/NumberInputType.cpp:
(WebCore::NumberInputType::stepMismatch): Using the virtual function acceptableError().
(WebCore::NumberInputType::stepBaseWithDecimalPlaces): Considering decimal places of the given "base" attribute.
(WebCore::NumberInputType::parseToDoubleWithDecimalPlaces):
(WebCore::NumberInputType::acceptableError): Concrete acceptableError() for the number type.
* html/NumberInputType.h:
* html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDoubleForNumberTypeWithDecimalPlaces): Parsing numbers with decimal places.
* html/parser/HTMLParserIdioms.h:
2010-11-09 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Fix for Bug 48984 - [Chromium] @media print crash due to paged media support
Page context has been inheriting from document element style that becomes null if display property is none.
It should inherit from document style instead to properly handle direction property (and to avoid the null reference).
https://bugs.webkit.org/show_bug.cgi?id=48984
Test: printing/page-format-data-display-none.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForPage): Page context inherits from
document style.
2010-11-09 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add custom bindings for AudioContext
https://bugs.webkit.org/show_bug.cgi?id=49115
No new tests since audio API is not yet implemented.
* bindings/js/JSAudioContextCustom.cpp: Added.
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
* bindings/v8/custom/V8AudioContextCustom.cpp: Added.
(WebCore::V8AudioContext::constructorCallback):
2010-11-09 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Dimitri Glazkov.
[Chromium] display:none has no effect on <option> element
https://bugs.webkit.org/show_bug.cgi?id=49169
Added a manual test because it's hard to test the content of
<option> element.
* manual-tests/display-none-option.html: Added.
* platform/PopupMenuStyle.h:
(WebCore::PopupMenuStyle::PopupMenuStyle):
(WebCore::PopupMenuStyle::isDisplayNone):
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::getRowHeight):
(WebCore::PopupListBox::layout):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemStyle):
(WebCore::RenderMenuList::menuStyle):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::menuStyle):
2010-11-09 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
audio engine: add audio resources abstraction
https://bugs.webkit.org/show_bug.cgi?id=34660
No new tests since audio API is not yet implemented.
* platform/audio/AudioBus.h:
* platform/audio/HRTFElevation.cpp:
(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
(WebCore::HRTFElevation::createByInterpolatingSlices):
* platform/audio/mac/AudioBusMac.mm: Added.
(WebCore::AudioBus::loadPlatformResource):
2010-11-09 James Simonsen <simonjam@chromium.org>
Reviewed by Dimitri Glazkov.
[Web Timing] Remove requestEnd
https://bugs.webkit.org/show_bug.cgi?id=48924
* page/Timing.cpp:
* page/Timing.h:
* page/Timing.idl:
2010-11-09 Sam Magnuson <smagnuson@netflix.com>
Reviewed by Andreas Kling.
[Qt] image borders do not render correctly
https://bugs.webkit.org/show_bug.cgi?id=49191
Test: fast/borders/border-image-01.html
* platform/graphics/qt/ImageQt.cpp:
(WebCore::Image::drawPattern):
2010-11-08 James Simonsen <simonjam@chromium.org>
Reviewed by Dimitri Glazkov.
[Web Timing] Split domContentLoaded into start/end
https://bugs.webkit.org/show_bug.cgi?id=48920
* dom/Document.cpp:
(WebCore::Document::finishedParsing):
* dom/DocumentTiming.h:
(WebCore::DocumentTiming::DocumentTiming):
* page/Timing.cpp:
(WebCore::Timing::domContentLoadedStart):
(WebCore::Timing::domContentLoadedEnd):
* page/Timing.h:
* page/Timing.idl:
2010-11-08 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Call ApplicationCacheHost::maybeLoadResource() in
ResourceLoader::start() instead of ResourceLoader::load().
maybeLoadResource() might mutate the ResourceRequest, and
in its current location any modifications are lost.
https://bugs.webkit.org/show_bug.cgi?id=49221
Fixes a couple of http/tests/appcache tests
failing on chromium.
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::load):
(WebCore::ResourceLoader::start):
2010-11-08 Chang Shu <chang.shu@nokia.com>
Reviewed by Antonio Gomes.
[GTK] Use Space to toggle arrow key handling for selection change or
spatial navigation. Put the logic in common code to pass both Qt and
GTK. Mac won't work because arrow keys trigger the popup.
https://bugs.webkit.org/show_bug.cgi?id=49150
Existing test: fast/events/spatial-navigation/snav-single-select.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::menuListDefaultEventHandler):
2010-11-08 Jenn Braithwaite <jennb@chromium.org>
Reviewed by Pavel Feldman.
_bindResourceURL in ResourceManager.js may not add resource to map
https://bugs.webkit.org/show_bug.cgi?id=49088
No new tests. pfeldman working on better test harness and tests.
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype._bindResourceURL):
2010-11-08 John Knottenbelt <jknotten@chromium.org>
Reviewed by Steve Block.
Convert to and from DOMTimeStamp with converter functions.
This is a refactoring only, covered by existing layout tests.
https://bugs.webkit.org/show_bug.cgi?id=49066
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMTimeStamp.h: Added.
(WebCore::convertSecondsToDOMTimeStamp):
(WebCore::convertDOMTimeStampToSeconds):
* dom/Event.cpp:
(WebCore::Event::Event):
* dom/Event.h:
* page/Geolocation.cpp:
(WebCore::Geolocation::haveSuitableCachedPosition):
* platform/android/GeolocationServiceAndroid.cpp:
(WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
2010-11-08 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed build fix for Chromium Mac for r71590.
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::provideStringAndAttributes):
2010-11-08 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
[v8] Get rid of automatically generated named property getter for classes with namedItem method
https://bugs.webkit.org/show_bug.cgi?id=48770
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2010-11-08 Ned Holbrook <nholbrook@apple.com>
Reviewed by Adam Barth.
Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI.
https://bugs.webkit.org/show_bug.cgi?id=48886
* WebCore.exp.in:
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::provideStringAndAttributes):
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2010-11-08 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=49228
REGRESSION: caret too short when a positive line height is specified. Now that lineTop no longer
accidentally incorporates the top leading, we need to use selectionTop/Bottom for the caret rect.
* rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect):
2010-11-08 Pierre-Antoine LaFayette <pierre.lafayette@gmail.com>
Reviewed by Darin Fisher.
[chromium] Adding hasUserGesture flag to the ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=37057
This flag is to be used on the browser side to indicate when a
download has been user initiated.
No new tests. This change will be tested through a browser UI test.
* platform/network/chromium/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::hasUserGesture):
(WebCore::ResourceRequest::setHasUserGesture):
2010-11-08 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Remove obsolete PASSTHROUGH and MATRIXMIX panner mode
https://bugs.webkit.org/show_bug.cgi?id=49087
No new tests since audio API is not yet implemented.
* platform/audio/Panner.cpp:
(WebCore::Panner::create):
* platform/audio/Panner.h:
* webaudio/AudioPannerNode.h:
* webaudio/AudioPannerNode.idl:
2010-11-08 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Merge EditorWinCE.cpp into EditorWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=49095
* platform/win/EditorWin.cpp:
(WebCore::Editor::newGeneralClipboard):
* platform/wince/EditorWinCE.cpp: Removed.
2010-11-08 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=49217
Fix coordinate space mismatch in RenderReplaced and make sure RenderText retains its old behavior of
preferring later lines when there is overlap.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::positionForPoint):
* rendering/RenderText.cpp:
(WebCore::RenderText::positionForPoint):
2010-11-08 Steve Block <steveblock@google.com>
Reviewed by David Levin.
Building for Android generates several compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=49175
Fixes these warnings, most of which are trivial.
- PREFIX_FOR_WEBCORE was previously required for STL's algorithm, but is no
longer. See
http://android.git.kernel.org/?p=platform/external/webkit.git;a=commit;h=a47ab5294213cca2741f453b450b02666e08cac8
- The definition of EXPORT is required only for the JNI entry point in
WebKit/android, so does not need to be in WebCorePrefix.h
No new tests, fixes compile warnings only.
* WebCorePrefix.h:
* bridge/jni/jsc/JNIUtilityPrivate.cpp:
(JSC::Bindings::convertValueToJValue):
* platform/android/FileSystemAndroid.cpp:
(WebCore::listDirectory):
2010-11-08 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8119781> Crash zooming into Word document at office.live.com
https://bugs.webkit.org/show_bug.cgi?id=49203
Test: fast/css/zoom-change-triggering-layout.html
RenderBox::styleDidChange() was calling scrollLeft() and scrollTop(), whose RenderTextControlSingleLine
overrides can trigger layout.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange): Use the layer directly for updating the scroll offsets when
the zoom factor changes.
2010-11-08 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=48587
Make Ruby work with vertical text. Ruby already nearly does work. The only big issue I found was with
flipped lines writing modes. Make sure to mutate the writing-mode of the RenderRubyRun to ensure that
the ruby text is on the correct side of the ruby base.
Added fast/blockflow tests of the various writing modes.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::baselinePosition):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::staticCreateRubyRun):
2010-11-08 Brent Fulgham <bfulgham@webkit.org>
Unreviewed build correction after @70369/@70846.
Please use PLATFORM(CG) to define CG-specific code, not
PLATFORM(CF).
* platform/image-decoders/ImageDecoder.cpp:
* platform/image-decoders/ImageDecoder.h:
2010-11-08 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
Input element with inner spin button set to display:none causes crash
https://bugs.webkit.org/show_bug.cgi?id=49121
Null check the inner spin button's renderer before dereferencing it.
Test: fast/forms/input-number-spinbutton-crash.html
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::forwardEvent):
2010-11-08 Xiaomei Ji <xji@chromium.org>
Reviewed by Dan Bernstein.
Fix Unicode explicit bidi control characters are removed in editing operations,
such as insert/copy/cut/paste.
https://bugs.webkit.org/show_bug.cgi?id=25321
Unicode explicit bidi control characters were excluded in BidiRun and
consequently from InlineTextBoxes due to their effect on rendering complex
text with ATSUI.
The fix is including those characters in BidiRun and remove them from
ComplexTextRun with ATSUI.
Test: editing/inserting/insert-paste-bidi-control.html
fast/text/atsui-bidi-control.html
* platform/graphics/mac/ComplexTextControllerATSUI.cpp:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
* platform/text/BidiResolver.h:
(WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
(WebCore::::lowerExplicitEmbeddingLevel):
(WebCore::::raiseExplicitEmbeddingLevel):
(WebCore::::createBidiRunsForLine):
2010-11-08 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=49126
RenderBlock::positionForPoint is not writing-mode aware. Patch the function to examine lines in the correct
writing-mode direction. Patched and renamed a number of helpers used by positionForPoint.
Fixed a bug with RenderReplaced's positionForPoint. There was a coordinate space mismatch between what the
function expected (local coordinates) and what was passed in (containing block coords), which meant the function didn't even work.
Fixed a bug with the propagation of selection state on RenderReplaced to its containing block. The bit double propagated
because both the base class function and the derived class function did the propagation, and the setter function did not
do the right thing if this happened.
Patched the localSelectionRect method on RenderReplaced so that selection draws in the right place in all writing modes.
Added new tests of positionForPoint and replaced elements in fast/blockflow.
* editing/visible_units.cpp:
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
* platform/graphics/IntPoint.h:
(WebCore::IntPoint::transpose):
* rendering/InlineBox.cpp:
(WebCore::InlineBox::paint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::positionForPointRespectingEditingBoundaries):
(WebCore::RenderBlock::positionForPointWithInlineChildren):
(WebCore::RenderBlock::positionForPoint):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::positionForPoint):
(WebCore::RenderReplaced::localSelectionRect):
(WebCore::RenderReplaced::setSelectionState):
* rendering/RenderReplaced.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::positionForPoint):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition):
* rendering/RootInlineBox.h:
2010-11-08 Nate Chapin <japhet@chromium.org>
Reviewed by Alexey Proskuryakov.
Move connection-per-host counting and request prioritization out
of Loader and down to the ResourceLoader level.
https://bugs.webkit.org/show_bug.cgi?id=27165
Refactor only, so no new tests.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::suspendPostAttachCallbacks):
(WebCore::ContainerNode::resumePostAttachCallbacks):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::loadNow):
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::create):
* loader/NetscapePlugInStreamLoader.h:
* loader/ResourceLoadScheduler.cpp: Added.
(WebCore::ResourceLoadScheduler::hostForURL):
(WebCore::resourceLoadScheduler): Returns the single ResourceLoadScheduler instance
(WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
(WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
(WebCore::ResourceLoadScheduler::addMainResourceLoad):
(WebCore::ResourceLoadScheduler::scheduleLoad):
(WebCore::ResourceLoadScheduler::remove):
(WebCore::ResourceLoadScheduler::crossOriginRedirectReceived):
(WebCore::ResourceLoadScheduler::servePendingRequests):
(WebCore::ResourceLoadScheduler::suspendPendingRequests):
(WebCore::ResourceLoadScheduler::resumePendingRequests):
(WebCore::ResourceLoadScheduler::scheduleServePendingRequests):
(WebCore::ResourceLoadScheduler::requestTimerFired):
(WebCore::ResourceLoadScheduler::assertLoaderBeingCounted):
(WebCore::ResourceLoadScheduler::HostInformation::assertLoaderBeingCounted):
(WebCore::ResourceLoadScheduler::HostInformation::HostInformation):
(WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
(WebCore::ResourceLoadScheduler::HostInformation::schedule):
(WebCore::ResourceLoadScheduler::HostInformation::addLoadInProgress):
(WebCore::ResourceLoadScheduler::HostInformation::remove):
(WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
* loader/ResourceLoadScheduler.h: Added.
(WebCore::ResourceLoadScheduler::HostInformation::name):
(WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
(WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::releaseResources): Remove this from ResourceLoadScheduler's counting.
(WebCore::ResourceLoader::load):
(WebCore::ResourceLoader::start): Create the ResourceHandle, called by ResourceLoadScheduler.
(WebCore::ResourceLoader::willSendRequest): Ensure ResourceLoadScheduler counts redirects
correctly.
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::url):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
* loader/loader.cpp: Move scheduling to ResourceLoadScheduler, remove Host subclass
and make Loader the SubresourceLoaderClient instead.
(WebCore::determinePriority):
(WebCore::Loader::load): Schedule the creation of the ResourceHandle, rather than
doing it immediately.
(WebCore::Loader::cancelRequests):
(WebCore::Loader::didFinishLoading):
(WebCore::Loader::didFail):
(WebCore::Loader::didReceiveResponse):
(WebCore::Loader::didReceiveData):
(WebCore::Loader::didReceiveCachedMetadata):
* loader/loader.h:
* page/EventSource.cpp:
(WebCore::EventSource::connect):
(WebCore::EventSource::endRequest):
* plugins/PluginStream.cpp:
(WebCore::PluginStream::start):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::~XMLHttpRequest):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::didFail):
(WebCore::XMLHttpRequest::didFinishLoading):
* xml/XMLHttpRequest.h:
2010-11-08 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Remove the remaining editing-style functions from ApplyStyleCommand
https://bugs.webkit.org/show_bug.cgi?id=49155
Replaced removeNonEditingProperties, editingStyleAtPosition, prepareEditingStyleToApplyAt,
and removeStylesAddedByNode in ApplyStyleCommand.cpp by removeNonEditingProperties, EditingStyle::create,
prepareToApplyAt, and removeStyleAddedByNode in EditingStyle.cpp.
Also removed unnecessary header includes from various cpp files.
No tests are added since this is a cleanup.
* editing/ApplyStyleCommand.cpp: Removed removeNonEditingProperties, editingStyleAtPosition,
prepareEditingStyleToApplyAt, and removeStylesAddedByNode.
* editing/ApplyStyleCommand.h: Ditto.
* editing/DeleteSelectionCommand.cpp: Removed removeEnclosingAnchorStyle.
(WebCore::DeleteSelectionCommand::saveTypingStyleState): Calls removeStylesAddedByNode instead.
* editing/EditingStyle.cpp:
(WebCore::copyEditingProperties): Moved and renamed ApplyStyleCommand::removeNonEditingProperties.
(WebCore::editingStyleFromComputedStyle): Calls copyEditingProperties. Changed the argument to PassRefPtr
as supposed to a raw pointer for convenience.
(WebCore::EditingStyle::init): Calls editingStyleFromComputedStyle.
(WebCore::EditingStyle::removeStyleAddedByNode): Added.
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added.
(WebCore::EditingStyle::removeNonEditingProperties): Added.
(WebCore::editingStyleIncludingTypingStyle): Calls copyEditingProperties.
* editing/EditingStyle.h: Added prototypes.
* editing/Editor.cpp:
(WebCore::Editor::selectionComputedStyle): Uses EditingStyle.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto.
(WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
* editing/InsertParagraphSeparatorCommand.h:
* editing/RemoveFormatCommand.cpp:
(WebCore::RemoveFormatCommand::doApply): Ditto.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::handleStyleSpansBeforeInsertion): Ditto.
(WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
(WebCore::ReplaceSelectionCommand::doApply): Ditto.
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
* editing/ReplaceSelectionCommand.h:
* editing/markup.cpp: Removed removeEnclosingMailBlockquoteStyle and removeDefaultStyles.
(WebCore::createMarkup): Uses EditingStyle.
2010-11-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Media objects in nested iframes showing above everything else in TinyMCE
https://bugs.webkit.org/show_bug.cgi?id=44877
Tests: compositing/iframes/become-composited-nested-iframes.html
compositing/iframes/overlapped-nested-iframes.html
The overlap testing logic that connects compositing across iframe boundaries
needed to be educated about nestd iframes, for platforms (i.e. Mac) where iframes
are allowed to be independently composited.
Also fix a bug that could cause iframes (and possibly other elements) that share
style to fail to become composited.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement): Disable style sharing for elements
that force synethetic style updates in order to gain RenderLayers, so they can become
composited. This is tested by become-composited-nested-iframes.html, though it is very
timing-dependent.
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::hasCompositedContentIncludingDescendants): New method that
is a "deep" version of hasCompositedContent() on platforms where that is necessary to ask.
(WebCore::FrameView::hasCompositingAncestor): New method.
(WebCore::FrameView::setIsOverlapped): If we can have independently composited iframes,
we need to force all descendant iframes to update so that compositing gets hooked up across
nested iframes.
(WebCore::FrameView::isOverlappedIncludingAncestors): New method, only called on platforms
where allowsIndependentlyCompositedIFrames() is true.
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::allowsIndependentlyCompositedIFrames): Utility method that
returns true if an iframe can be a compositing root.
(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Make use of
allowsIndependentlyCompositedIFrames().
(WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): We need to notify all
descendant frames, not just children.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle): Add assert to ensure that we don't do style sharing
for elements that play tricks with synthetic style changes.
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint): Run overlap testing if a frame has any composited
descendants.
2010-11-08 Darin Adler <darin@apple.com>
Reviewed by Alexey Proskuryakov.
Incorrect image map used when multiple maps have the same name
https://bugs.webkit.org/show_bug.cgi?id=49086
Tests: fast/images/image-map-multiple.html
fast/images/image-map-multiple-xhtml.xhtml
Factored out the code used to look up elements by id and reused it
to look up maps by name. It handles multiple elements efficiently.
* dom/Document.cpp:
(WebCore::Document::DocumentOrderedMap::clear): Added.
(WebCore::Document::DocumentOrderedMap::add): Added. Has code that
was formerly in addElementById.
(WebCore::Document::DocumentOrderedMap::remove): Added. Has code that
was formerly in removeElementById.
(WebCore::Document::DocumentOrderedMap::get): Added. Has code that
was formerly in getElementById.
(WebCore::keyMatchesId): Added.
(WebCore::Document::getElementById): Use DocumentOrderedMap::get.
(WebCore::Document::addElementById): Use DocumentOrderedMap::add.
(WebCore::Document::removeElementById): Use DocumentOrderedMap::remove.
(WebCore::Document::addImageMap): Use DocumentOrderedMap::add.
(WebCore::Document::removeImageMap): Use DocumentOrderedMap::remove.
(WebCore::keyMatchesMapName): Added.
(WebCore::keyMatchesLowercasedMapName): Added.
(WebCore::Document::getImageMap): Use DocumentOrderedMap::get.
* dom/Document.h: Added DocumentOrderedMap class, used inside the
Document class. Changed m_imageMapsByName to be a DocumentOrderedMap.
Changed m_elementsById to be a DocumentOrderedMap. Eliminated
m_duplicateIds, since DocumentOrderedMap now has that internally.
2010-11-08 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=48685
Notify UI process about focused frame
* WebCore.xcodeproj/project.pbxproj: Adding developmentRegion back.
* loader/EmptyClients.h: (WebCore::EmptyChromeClient::focusedFrameChanged):
* page/Chrome.cpp: (WebCore::Chrome::focusedFrameChanged):
* page/Chrome.h:
* page/ChromeClient.h:
Added a new Chrome client notification.
* page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame): Notify chrome.
2010-11-08 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Roben.
Remove use of HIGetScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=49186
<rdar://problem/8618410>
Scale factors can vary on a display-by-display basis and it doesn't make sense
to compute scale factor event coordinates like this.
* plugins/mac/PluginViewMac.mm:
(WebCore::PluginView::globalMousePosForPlugin):
2010-11-08 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
Make the necessary changes in TextureMapperNode in preparation of making it possible to paint it
from a different thread.
The main problematic part was the cache, which made it so that textures can become invalid and have to
be rerendered from content during paint. This is solved here by creating a pack/unpack function for
textures, which lets a texture archive its data away from video memory, or do whatever the platform
thinks is right for freeing memory without needing to re-render again from content (which cannot be
made thread safe).
After this change, TextureMapperNode moved to its own file, and has 2 entry points: paint and syncCompositingState.
The idea is that syncCompositingState has to be called in the UI thread, paint can be called from a different
thread, and they should block each other.
The new test tests the cache code-path, to show that the pack/unpack technique works for cases where it
kicks in.
Test: compositing/layer-creation/many-layers.html
* WebCore.pro:
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::~BitmapTextureGL):
(WebCore::BitmapTextureGL::BitmapTextureGL):
(WebCore::TextureMapperGL::TextureMapperGL):
(WebCore::TextureMapperGL::drawTexture):
* platform/graphics/opengl/TextureMapperGL.h:
(WebCore::TextureMapperGL::create):
* platform/graphics/qt/TextureMapperQt.cpp:
(WebCore::BitmapTextureQt::pack):
(WebCore::BitmapTextureQt::unpack):
(WebCore::TextureMapper::create):
(WebCore::BitmapTextureQt::BitmapTextureQt):
* platform/graphics/qt/TextureMapperQt.h: Added.
2010-11-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Allow applets to participate in accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=49117
<rdar://problem/8625819>
Add RenderApplet to the list of renderers that can optionally get RenderLayers,
and be composited for some reason.
Not currently testable.
* rendering/RenderApplet.h: Outdented the class declaration.
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::requiresLayer): Return true if the underlying widget
has a platform layer.
(WebCore::RenderApplet::allowsAcceleratedCompositing): Check the widget to see
if it has a platform layer.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeNormalFlowOnly): Reformat, and add isApplet().
(WebCore::RenderLayer::isSelfPaintingLayer): Reformat, and add isApplet().
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use 'renderer' local variable
for efficiency. Now check for embedded objects and applets.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Check for embedded objects and applets.
2010-11-08 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
* GNUmakefile.am: add missing files to fix distcheck.
2010-11-08 Alexander Pavlov <apavlov@chromium.org>
Reviewed by David Hyatt.
getPropertyValue("background") causes crash
https://bugs.webkit.org/show_bug.cgi?id=49055
Test: fast/css/background-norepeat-crash.html
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
2010-11-08 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Wrapped DOM bindings GObjects do not disconnect event listeners when they die
https://bugs.webkit.org/show_bug.cgi?id=49136
When GObjects are finalized and freed, disconnect their event listeners, so that
WebCore does not try to fire signals on dead GObjects. We do this by holding a weak
reference to the GObject in the signal listener. When the weak reference notification
callback is executed, we disconnect the event listener.
No new tests; this fix is proved by prevention of crashes in soon to be
landed editing delegate signals, which are covered by the layout tests.
* bindings/gobject/GObjectEventListener.cpp:
(WebCore::GObjectEventListener::GObjectEventListener): Updated the constructor.
(WebCore::GObjectEventListener::~GObjectEventListener): Disconnect the weak reference
if the GObject is still alive.
(WebCore::GObjectEventListener::gobjectDestroyed): When the GObject is destroyed,
disconnect the appropriate event listener.
(WebCore::GObjectEventListener::handleEvent): Changes to reflect use of CString
instead of WebCore string.
* bindings/gobject/GObjectEventListener.h:
(WebCore::GObjectEventListener::addEventListener): Changed create to addEventListener,
so that the connection and disconnection is an internal contract to the class.
(WebCore::GObjectEventListener::gobjectDestroyedCallback): Added.
* bindings/scripts/CodeGeneratorGObject.pm: Modified the code generate to use
GObjectEventListener::addEventListener and no longer call addEventListener on
its own.
2010-11-08 Adam Roben <aroben@apple.com>
Windows Release build fix after r71514
The build was failing due to an alignment error. Strangely, depending
on the order of SVGStaticPropertyTearOff's members, the build will
either fail in Release (as it does before this change), or Debug (as it
did before r71514), but not both.
* svg/properties/SVGStaticPropertyTearOff.h:
(WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Copied
the #pragma pack trick from JSSVGPODTypeWrapper.h, which has similar
issues.
2010-11-08 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: decouple ScriptArguments from ScriptCallStack
https://bugs.webkit.org/show_bug.cgi?id=48058
ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
The factory functions that allow to create ScriptCallStack from VM-specific
objects are defined in ScriptCallStackFactory.cpp.
ScriptArguments class is used for passing arguments from JS code to the native
part.
No new tests. This refactoring is covered with existing Console tests.
* Android.jscbindings.mk:
* Android.v8bindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSConsoleCustom.cpp:
(WebCore::JSConsole::profile):
(WebCore::JSConsole::profileEnd):
* bindings/js/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/js/ScriptCallStack.cpp.
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
(WebCore::ScriptCallStack::stackTrace):
* bindings/js/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
* bindings/js/ScriptState.cpp:
(WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
(WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
(WebCore::ScriptStateProtectedPtr::get):
* bindings/js/ScriptState.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::customArgsAndExceptionCallback):
* bindings/v8/ScriptCallFrame.h: Removed.
* bindings/v8/ScriptCallStack.h: Removed.
* bindings/v8/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/v8/ScriptCallStack.cpp.
(WebCore::toScriptCallFrame):
(WebCore::toScriptCallFramesVector):
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
(WebCore::ScriptCallStack::stackTrace):
* bindings/v8/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
* bindings/v8/ScriptState.h:
(WebCore::ScriptStateProtectedPtr::get):
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
(WebCore::V8ConsoleMessage::dispatchNow):
* bindings/v8/V8ConsoleMessage.h:
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):
* dom/NodeFilter.h:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::updateRepeatCountInConsole):
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::startGroup):
* inspector/InspectorController.h:
* inspector/ScriptArguments.cpp: Copied from WebCore/bindings/v8/ScriptCallFrame.cpp.
(WebCore::ScriptArguments::ScriptArguments):
(WebCore::ScriptArguments::~ScriptArguments):
(WebCore::ScriptArguments::argumentAt):
(WebCore::ScriptArguments::globalState):
(WebCore::ScriptArguments::getFirstArgumentAsString):
(WebCore::ScriptArguments::isEqual):
* inspector/ScriptArguments.h: Copied from WebCore/bindings/js/ScriptCallFrame.h.
(WebCore::ScriptArguments::argumentCount):
* inspector/ScriptCallFrame.cpp: Renamed from WebCore/bindings/v8/ScriptCallFrame.cpp.
(WebCore::ScriptCallFrame::ScriptCallFrame):
(WebCore::ScriptCallFrame::~ScriptCallFrame):
(WebCore::ScriptCallFrame::isEqual):
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h: Renamed from WebCore/bindings/js/ScriptCallFrame.h.
(WebCore::ScriptCallFrame::functionName):
(WebCore::ScriptCallFrame::sourceURL):
(WebCore::ScriptCallFrame::lineNumber):
* inspector/ScriptCallStack.cpp: Renamed from WebCore/bindings/js/ScriptCallFrame.cpp.
(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::~ScriptCallStack):
(WebCore::ScriptCallStack::at):
(WebCore::ScriptCallStack::size):
(WebCore::ScriptCallStack::isEqual):
(WebCore::ScriptCallStack::buildInspectorObject):
* inspector/ScriptCallStack.h: Renamed from WebCore/bindings/js/ScriptCallStack.h.
* page/Console.cpp:
(WebCore::Console::addMessage):
(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::count):
(WebCore::Console::markTimeline):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::shouldCaptureFullStackTrace):
(WebCore::Console::warn):
* page/Console.h:
(WebCore::Console::profiles):
* page/Console.idl:
2010-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Build fix.
Attempt to fix windows builds after r71512. Swap order of members to avoid warning C4121.
* svg/properties/SVGStaticPropertyTearOff.h:
(WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
2010-11-08 Mikhail Naganov <mnaganov@chromium.org>
Unreviewed. Fix Qt build after r71511.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::restoreInspectorStateFromCookie):
2010-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGPoint/SVGPointList to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=49067
Remove SVGAnimatedPoints interface, not reachable through bindings anyway, it was just another MI interface, that
now has been integrated into SVGPolylineElement/SVGPolygonElement, simplfying the generation and avoiding virtual
calls in SVGPolylineElement/SVGPolygonElement.
Remove the need to use manual XML <-> SVG DOM synchronization. The points/animatedPoints methods now create
SVGListPropertyTearOffs, thus using the same synchronization/expose-to-bindings concept like all other
animated properties.
Convert SVGPoint/SVGPointList to use the new SVGPropertyTearOff concept, adapted all code, as SVGPointList
is now a plain Vector<FloatPoint>. Enable StrictTypeChecking for SVGPoint.
Test: svg/dom/SVGPoint.html
* Android.derived.v8bindings.mk: Remove SVGAnimatedPoints (and IDL generation).
* Android.mk: Ditto.
* CMakeLists.txt: Ditto.
* DerivedSources.make: Ditto.
* GNUmakefile.am: Ditto. Add SVGStaticPropertyTearOff.h to build.
* WebCore.gypi: Ditto.
* WebCore.order: Remove SVGAnimatedPoints symbols.
* WebCore.pro: Remove SVGAnimatedPoints (and IDL generation). Add SVGStaticPropertyTearOff.h to build.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/objc/DOMSVG.h: Remove DOMSVGAnimatedPoints include.
* bindings/scripts/CodeGenerator.pm: Adapt code converting SVGPoint/SVGPointList to use the new SVGPropertyTearOff concepts.
* bindings/scripts/CodeGeneratorJS.pm: Ditto.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* rendering/SVGRenderTreeAsText.cpp: Adapt for SVGPolyElement API change, use pointList() instead of points() (which is only used for bindings now).
(WebCore::operator<<):
* svg/SVGAllInOne.cpp: Remove SVGAnimatedPoints.cpp.
* svg/SVGAnimateElement.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
(WebCore::SVGAnimateElement::calculateAnimatedValue):
(WebCore::SVGAnimateElement::calculateFromAndToValues):
(WebCore::SVGAnimateElement::applyResultsToTarget):
* svg/SVGAnimateElement.h: Ditto.
* svg/SVGAnimatedPoints.cpp: Removed.
* svg/SVGAnimatedPoints.h: Removed.
* svg/SVGAnimatedPoints.idl: Removed.
* svg/SVGParserUtilities.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
(WebCore::pointsListFromSVGData):
* svg/SVGParserUtilities.h: Ditto.
* svg/SVGPoint.idl: Remove PODType marker, and add StrictTypeChecking for x/y attributes.
* svg/SVGPointList.cpp: SVGPointList is now a plain Vector<FloatPoint>, rewrite.
(WebCore::SVGPointList::valueAsString):
(WebCore::SVGPointList::createAnimated):
* svg/SVGPointList.h: Ditto.
(WebCore::SVGPointList::SVGPointList):
* svg/SVGPolyElement.cpp: Remove manual SVG <-> XML DOM synchronization. Now handles through the SVGAnimatedPropertyTearOff concept.
(WebCore::SVGPolyElement::parseMappedAttribute):
(WebCore::SVGPolyElement::svgAttributeChanged):
(WebCore::SVGPolyElement::synchronizeProperty):
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::points):
(WebCore::SVGPolyElement::animatedPoints):
* svg/SVGPolyElement.h: Reindented.
(WebCore::SVGPolyElement::pointList):
(WebCore::SVGPolyElement::isValid):
(WebCore::SVGPolyElement::supportsMarkers):
* svg/SVGPolygonElement.cpp: Adapt for SVGPointList API change.
(WebCore::SVGPolygonElement::toPathData):
* svg/SVGPolygonElement.idl: Remove SVGAnimatedPoints inheritance.
* svg/SVGPolylineElement.cpp: Adapt for SVGPointList API change.
(WebCore::SVGPolylineElement::toPathData):
* svg/SVGPolylineElement.idl: Remove SVGAnimatedPoints inheritance.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setCurrentTranslate): Use updateCurrentTranslate().
(WebCore::SVGSVGElement::updateCurrentTranslate): Added, only used by the bindings, after changing a value of SVGStaticPropertyTearOff object.
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::currentTranslate): Return reference to m_translation.
* svg/properties/SVGPropertyTearOff.h: Made constructors protected, as SVGStaticPropertyTearOff inherits from it.
(WebCore::SVGPropertyTearOff::commitChange):
* svg/properties/SVGPropertyTraits.h: Add SVGPointList handing.
* svg/properties/SVGStaticPropertyTearOff.h: Added. Used for SVGProperty types returned by attributes, that are not associated with a SVGAnimatedProperty. (SVGSVGElement::currentTranslate).
(WebCore::SVGStaticPropertyTearOff::create):
(WebCore::SVGStaticPropertyTearOff::commitChange):
(WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
2010-11-08 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Adam Barth.
Web Inspector [Chromium]: Make CPU profiling to survive navigation.
https://bugs.webkit.org/show_bug.cgi?id=48843
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::restoreInspectorStateFromCookie):
(WebCore::InspectorController::reuseFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::restoreProfiler):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::startUserInitiatedProfiling):
(WebCore::InspectorController::stopUserInitiatedProfiling):
* inspector/InspectorController.h:
(WebCore::InspectorController::startProfiling):
(WebCore::InspectorController::stopProfiling):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
(WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorState.cpp:
(WebCore::InspectorState::InspectorState):
* inspector/InspectorState.h:
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.hasTemporaryProfile):
(WebInspector.ProfilesPanel.prototype.hasProfile):
* inspector/front-end/inspector.js:
(WebInspector.setRecordingProfile):
2010-11-08 Renata Hodovan <reni@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGFEConvolveMatrixElement doesn't support dynamic invalidation
https://bugs.webkit.org/show_bug.cgi?id=47660
Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in.
The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach
properly the orderX and orderY components of order property from SVG DOM.
Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
* svg/SVGFEConvolveMatrixElement.h:
* svg/svgattrs.in:
2010-11-08 Adam Barth <abarth@webkit.org>
Reviewed by Antti Koivisto.
Rename CachedResourceLoader::m_doc to CachedResourceLoader::m_document
https://bugs.webkit.org/show_bug.cgi?id=49163
The usual convention is to use "document", not "doc" to refer to the
document.
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::cachedImage):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::shouldAllowExternalLoad):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::frame):
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::printAccessDeniedMessage):
(WebCore::CachedResourceLoader::preload):
(WebCore::CachedResourceLoader::checkForPendingPreloads):
(WebCore::CachedResourceLoader::requestPreload):
* loader/cache/CachedResourceLoader.h:
(WebCore::CachedResourceLoader::document):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::requestResource):
* loader/loader.cpp:
(WebCore::Loader::load):
(WebCore::Loader::Host::servePendingRequests):
(WebCore::Loader::Host::didFinishLoading):
(WebCore::Loader::Host::didFail):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
2010-11-07 Adam Barth <abarth@webkit.org>
Unreviewed. Remove some unneeded includes.
* loader/FrameLoader.cpp:
* loader/PlaceholderDocument.cpp:
2010-11-07 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename Cache to MemoryCache
https://bugs.webkit.org/show_bug.cgi?id=49159
So sayeth the diagram.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSImageValue.cpp:
* dom/ContainerNode.cpp:
* history/PageCache.cpp:
* inspector/InspectorCSSStore.h:
* inspector/InspectorResourceAgent.cpp:
* loader/FrameLoader.cpp:
* loader/archive/cf/LegacyWebArchive.cpp:
* loader/cache/Cache.cpp: Removed.
* loader/cache/Cache.h: Removed.
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::allClientsRemoved):
* loader/cache/CachedFont.cpp:
* loader/cache/CachedFont.h:
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::destroyDecodedData):
* loader/cache/CachedImage.h:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::destroyDecodedData):
* loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp.
(WebCore::cache):
(WebCore::MemoryCache::MemoryCache):
(WebCore::MemoryCache::requestResource):
(WebCore::MemoryCache::requestUserCSSStyleSheet):
(WebCore::MemoryCache::revalidateResource):
(WebCore::MemoryCache::revalidationSucceeded):
(WebCore::MemoryCache::revalidationFailed):
(WebCore::MemoryCache::resourceForURL):
(WebCore::MemoryCache::deadCapacity):
(WebCore::MemoryCache::liveCapacity):
(WebCore::MemoryCache::pruneLiveResources):
(WebCore::MemoryCache::pruneDeadResources):
(WebCore::MemoryCache::setCapacities):
(WebCore::MemoryCache::makeResourcePurgeable):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::addCachedResourceLoader):
(WebCore::MemoryCache::removeCachedResourceLoader):
(WebCore::MemoryCache::lruListFor):
(WebCore::MemoryCache::removeFromLRUList):
(WebCore::MemoryCache::insertInLRUList):
(WebCore::MemoryCache::resourceAccessed):
(WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
(WebCore::MemoryCache::insertInLiveDecodedResourcesList):
(WebCore::MemoryCache::addToLiveResourcesSize):
(WebCore::MemoryCache::removeFromLiveResourcesSize):
(WebCore::MemoryCache::adjustSize):
(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::getStatistics):
(WebCore::MemoryCache::setDisabled):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):
* loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h.
(WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction):
* loader/loader.cpp:
* page/EventSource.cpp:
* page/Settings.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
2010-11-07 Eric Seidel <eric@webkit.org>
Unreviewed. Attempt to fix the windows build.
Move the rest of the cache-related files into loader/cache
https://bugs.webkit.org/show_bug.cgi?id=49156
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/copyForwardingHeaders.cmd:
2010-11-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move the rest of the cache-related files into loader/cache
https://bugs.webkit.org/show_bug.cgi?id=49156
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/CachePolicy.h: Removed.
* loader/CachedCSSStyleSheet.cpp: Removed.
* loader/CachedCSSStyleSheet.h: Removed.
* loader/CachedFont.cpp: Removed.
* loader/CachedFont.h: Removed.
* loader/CachedImage.cpp: Removed.
* loader/CachedImage.h: Removed.
* loader/CachedResource.cpp: Removed.
* loader/CachedResource.h: Removed.
* loader/CachedResourceClient.h: Removed.
* loader/CachedResourceClientWalker.cpp: Removed.
* loader/CachedResourceClientWalker.h: Removed.
* loader/CachedResourceHandle.cpp: Removed.
* loader/CachedResourceHandle.h: Removed.
* loader/CachedResourceLoader.cpp: Removed.
* loader/CachedResourceLoader.h: Removed.
* loader/CachedScript.cpp: Removed.
* loader/CachedScript.h: Removed.
* loader/CachedXSLStyleSheet.cpp: Removed.
* loader/CachedXSLStyleSheet.h: Removed.
* loader/cache/CachePolicy.h: Copied from WebCore/loader/CachePolicy.h.
* loader/cache/CachedCSSStyleSheet.cpp: Copied from WebCore/loader/CachedCSSStyleSheet.cpp.
* loader/cache/CachedCSSStyleSheet.h: Copied from WebCore/loader/CachedCSSStyleSheet.h.
* loader/cache/CachedFont.cpp: Copied from WebCore/loader/CachedFont.cpp.
* loader/cache/CachedFont.h: Copied from WebCore/loader/CachedFont.h.
* loader/cache/CachedImage.cpp: Copied from WebCore/loader/CachedImage.cpp.
* loader/cache/CachedImage.h: Copied from WebCore/loader/CachedImage.h.
* loader/cache/CachedResource.cpp: Copied from WebCore/loader/CachedResource.cpp.
* loader/cache/CachedResource.h: Copied from WebCore/loader/CachedResource.h.
* loader/cache/CachedResourceClient.h: Copied from WebCore/loader/CachedResourceClient.h.
* loader/cache/CachedResourceClientWalker.cpp: Copied from WebCore/loader/CachedResourceClientWalker.cpp.
* loader/cache/CachedResourceClientWalker.h: Copied from WebCore/loader/CachedResourceClientWalker.h.
* loader/cache/CachedResourceHandle.cpp: Copied from WebCore/loader/CachedResourceHandle.cpp.
* loader/cache/CachedResourceHandle.h: Copied from WebCore/loader/CachedResourceHandle.h.
* loader/cache/CachedResourceLoader.cpp: Copied from WebCore/loader/CachedResourceLoader.cpp.
* loader/cache/CachedResourceLoader.h: Copied from WebCore/loader/CachedResourceLoader.h.
* loader/cache/CachedScript.cpp: Copied from WebCore/loader/CachedScript.cpp.
* loader/cache/CachedScript.h: Copied from WebCore/loader/CachedScript.h.
* loader/cache/CachedXSLStyleSheet.cpp: Copied from WebCore/loader/CachedXSLStyleSheet.cpp.
* loader/cache/CachedXSLStyleSheet.h: Copied from WebCore/loader/CachedXSLStyleSheet.h.
2010-11-07 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename X-Purpose to Purpose
https://bugs.webkit.org/show_bug.cgi?id=47802
As requested by IETF HTTP WG. This patch is part of a larger movement
in the HTTP community to move away from X- headers. Various senior
folks at the IETF believe they're a failed experiment:
http://tools.ietf.org/html/draft-saintandre-xdash-considered-harmful
* loader/loader.cpp:
(WebCore::Loader::Host::servePendingRequests):
2010-11-07 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
Assert that a non-null PassRefPtr<Document> has a non-null frame in Frame::setDocument()
https://bugs.webkit.org/show_bug.cgi?id=49152
Add an ASSERT to ensure that a non-null Document has a non-null Frame
in Frame::setDocument().
Currently, whenever Frame::setDocument() is called with a non-null
Document the Document has a non-null Frame. We should assert this
invariant.
* page/Frame.cpp:
(WebCore::Frame::setDocument):
2010-11-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move Cache.* into loader/cache in as a start to cleaning up loader/
https://bugs.webkit.org/show_bug.cgi?id=49153
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/cache/Cache.cpp: Renamed from WebCore/loader/Cache.cpp.
(WebCore::cache):
(WebCore::Cache::Cache):
(WebCore::createResource):
(WebCore::Cache::requestResource):
(WebCore::Cache::requestUserCSSStyleSheet):
(WebCore::Cache::revalidateResource):
(WebCore::Cache::revalidationSucceeded):
(WebCore::Cache::revalidationFailed):
(WebCore::Cache::resourceForURL):
(WebCore::Cache::deadCapacity):
(WebCore::Cache::liveCapacity):
(WebCore::Cache::pruneLiveResources):
(WebCore::Cache::pruneDeadResources):
(WebCore::Cache::setCapacities):
(WebCore::Cache::makeResourcePurgeable):
(WebCore::Cache::evict):
(WebCore::Cache::addCachedResourceLoader):
(WebCore::Cache::removeCachedResourceLoader):
(WebCore::fastLog2):
(WebCore::Cache::lruListFor):
(WebCore::Cache::removeFromLRUList):
(WebCore::Cache::insertInLRUList):
(WebCore::Cache::resourceAccessed):
(WebCore::Cache::removeFromLiveDecodedResourcesList):
(WebCore::Cache::insertInLiveDecodedResourcesList):
(WebCore::Cache::addToLiveResourcesSize):
(WebCore::Cache::removeFromLiveResourcesSize):
(WebCore::Cache::adjustSize):
(WebCore::Cache::TypeStatistic::addResource):
(WebCore::Cache::getStatistics):
(WebCore::Cache::setDisabled):
(WebCore::Cache::dumpStats):
(WebCore::Cache::dumpLRULists):
* loader/cache/Cache.h: Renamed from WebCore/loader/Cache.h.
(WebCore::Cache::LRUList::LRUList):
(WebCore::Cache::TypeStatistic::TypeStatistic):
(WebCore::Cache::loader):
(WebCore::Cache::disabled):
(WebCore::Cache::setPruneEnabled):
(WebCore::Cache::prune):
(WebCore::Cache::setDeadDecodedDataDeletionInterval):
(WebCore::Cache::deadDecodedDataDeletionInterval):
(WebCore::Cache::remove):
(WebCore::Cache::shouldMakeResourcePurgeableOnEviction):
2010-11-05 Helder Correia <helder@sencha.com>
Reviewed by Andreas Kling.
[Qt] box-shadow does not blur (is solid) when using border-radius
https://bugs.webkit.org/show_bug.cgi?id=46327
Implement blurred box-shadow when styling with border-radius.
This change is related to https://bugs.webkit.org/show_bug.cgi?id=44488
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
2010-11-07 John Reck <jreck@google.com>
Reviewed by Steve Block.
Implements navigator.language for Android
https://bugs.webkit.org/show_bug.cgi?id=49099
Android was previously hardcoding the value for WebCore::platformDefaultLanguage().
This patch removes the hardcoding and calls into the PlatformBridge to get the
correct language based off of the user's settings.
No new tests needed, this is already covered
* Android.mk:
* platform/android/LanguageAndroid.cpp: Added.
(WebCore::platformDefaultLanguage):
* platform/android/PlatformBridge.h:
* platform/android/TemporaryLinkStubs.cpp:
2010-11-07 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
[qt] screenDepthPerComponent returns the wrong value
Return best estimate of the number of bits per color
rather than screen depth.
Add a layout test to sanity check screenDepthPerComponent.
https://bugs.webkit.org/show_bug.cgi?id=20289
Test: fast/css/media-rule-screenDepthPerComponent.html
* platform/qt/PlatformScreenQt.cpp:
(WebCore::screenDepthPerComponent):
2010-11-07 Chang Shu <chang.shu@nokia.com>
Reviewed by Antonio Gomes.
Add a helper function to avoid duplicated code.
https://bugs.webkit.org/show_bug.cgi?id=49085
* dom/SelectElement.cpp:
* editing/SelectionController.cpp:
(WebCore::SelectionController::modify):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isKeyboardFocusable):
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultArrowEventHandler):
* page/SpatialNavigation.cpp:
(WebCore::isSpatialNavigationEnabled):
* page/SpatialNavigation.h:
2010-11-06 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Simon Fraser.
Web Inspector: Some image resources don't display the image when selected in the Resources panel.
https://bugs.webkit.org/show_bug.cgi?id=48935
Marked resources loaded from memory cache as finished.
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
2010-11-06 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: XHR logging is not checked in context menu after browser restart.
https://bugs.webkit.org/show_bug.cgi?id=49133
* inspector/InspectorState.cpp:
(WebCore::InspectorState::InspectorState):
2010-11-06 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed Windows build fix.
* editing/EditingAllInOne.cpp: Added EditingStyle.cpp
2010-11-04 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Bug 46335 - Add EditingStyle
https://bugs.webkit.org/show_bug.cgi?id=46335
Added EditingStyle to WebCore/editing. This class is intended to encapsulate getPropertiesNotIn, removeNonEditingProperties,
editingStyleAtPosition, and prepareEditingStyleToApplyAt in ApplyStyleCommand.cpp once deployed everywhere.
Deployed it in typing styles.
No new tests are added since this is a refactoring in progress.
* CMakeLists.txt: Added EditingStyle.cpp
* GNUmakefile.am: Added EditingStyle.cpp and EditingStyle.h
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs): Calls editingStyleIncludingTypingStyle.
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses EditingStyle.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
(WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
* editing/DeleteSelectionCommand.h:
* editing/EditingStyle.cpp: Added.
(WebCore::editingStyleFromComputedStyle): Added.
(WebCore::EditingStyle::EditingStyle): Added.
(WebCore::EditingStyle::init): Added; a clone of ApplyStyleCommand::editingStyleAtPosition.
(WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded): Extracted from init.
(WebCore::EditingStyle::replaceFontSizeByKeywordIfPossible): Extracted from init.
(WebCore::EditingStyle::isEmpty): Added.
(WebCore::EditingStyle::setStyle): Added.
(WebCore::EditingStyle::clear): Added.
(WebCore::EditingStyle::removeBlockProperties): Added.
(WebCore::EditingStyle::prepareToApplyAt): Added.
(WebCore::editingStyleIncludingTypingStyle): Added.
* editing/EditingStyle.h: Added.
(WebCore::EditingStyle::create): Added.
(WebCore::EditingStyle::style): Added.
* editing/RemoveFormatCommand.cpp:
(WebCore::RemoveFormatCommand::doApply): Uses EditingStyle.
* editing/SelectionController.h:
(WebCore::SelectionController::typingStyle): Uses EditingStyle.
(WebCore::SelectionController::clearTypingStyle): Uses EditingStyle.
(WebCore::SelectionController::setTypingStyle): Uses EditingStyle.
* rendering/style/RenderStyle.h: Added EditingStyle as a friend.
2010-11-05 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein and Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=47237
Make selection work with vertical text. This patch fixes a bug in the computation of lineTop. For lines
with positive leading, lineTop was incorrectly including the top leading. Since the flipping of lines
for "lr" and "bt" writing modes involved flipping using lineTop and lineBottom, an incorrect lineTop meant
that those modes were mis-rendering. This is why the Japanese "lr" text examples have the first line smushed
too far against the border.
Fixing lineTop to no longer incorrectly include top leading has implications for editing. I ended up
rewriting positionForPoint to exactly match selection, since that seemed to be the most intuitive
behavior. I got rid of the verticalClickFudgeFactor and now just use selectionTop and selectionBottom
instead of lineTop and lineBottom. I am pretty sure the code used selectionTop in a previous incarnation
anyway and that I moved away from it when I implemented lineTop and lineBottom. The code then grew
more complicated from people trying to work with lineTop and lineBottom, but going back to selectionTop
and selectionBottom is the right behavior I think. One editing test has been updated after this change
(editing/selection/after-line-break.html), and one DOM test has been changed to not hit test past the
bottom of a line (fast/dom/Document/CaretRangeFromPoint/basic.html).
I patched selection painting of InlineTextBoxes so that the leading going up to the next line box is used
for "lr" and "bt" modes instead of the previous box. This makes sense for English text, but we may want
a different policy for Japanese text eventually (possibly just splitting the difference instead). Leaving it
this way for now, and we can collect feedback on the design.
I rewrote all of the selection gap painting code to be writing-mode aware. During the course of rewriting this
code I noticed a bug in the logicalLeftSelectionOffset and logicalRightSelectionOffset functions where there
was a coordinate space mismatch on a comparison. Fixing this improves the repaint/selection-clear.html test.
Added new tests in fast/blockflow/.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionBottom):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::clipOutPositionedObjects):
(WebCore::blockDirectionOffset):
(WebCore::inlineDirectionOffset):
(WebCore::RenderBlock::logicalRectToPhysicalRect):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::inlineSelectionGaps):
(WebCore::RenderBlock::blockSelectionGaps):
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionOffset):
(WebCore::RenderBlock::logicalRightSelectionOffset):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::flipForWritingMode):
* rendering/RenderBox.h:
(WebCore::RenderBox::logicalBottom):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::lineSelectionGap):
(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
* rendering/RootInlineBox.h:
2010-11-05 Simon Fraser <simon.fraser@apple.com>
Just put things back the way they were. Too many mysterious linker errors.
2010-11-05 Simon Fraser <simon.fraser@apple.com>
Undo most of the previous commit since the compiler seems to have trouble
with an inlined operator++ in debug builds.
* platform/DeprecatedPtrListImpl.cpp:
(WebCore::DeprecatedPtrListImplIterator::operator++):
* platform/DeprecatedPtrListImpl.h:
2010-11-05 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Inline some DeprecatedPtrListImplIterator methods for performance
https://bugs.webkit.org/show_bug.cgi?id=49124
This is a ~4% performance improvement on some Peacekeepr "Community" tests.
* platform/DeprecatedPtrListImpl.cpp:
* platform/DeprecatedPtrListImpl.h:
(WebCore::DeprecatedListNode::DeprecatedListNode):
(WebCore::DeprecatedPtrListImplIterator::current):
(WebCore::DeprecatedPtrListImplIterator::operator++):
2010-11-05 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Gray-scale PNGs with color profiles don't decode properly on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=49110
Applying the color profile from this PNG was causing the image to
triple in width. This seems to be because both the PNG decoder and
CoreGraphics were trying to expand the gray-scale image to RGB. To fix
this issue, I've disabled color profile support for gray-scale PNGs.
Test: fast/images/gray-scale-png-with-color-profile.html
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::headerAvailable):
2010-11-05 Jian Li <jianli@chromium.org>
Reviewed by Dmitry Titov.
Need to check if page is detached in Frame::transferChildFrameToNewDocument to avoid occasional crash
https://bugs.webkit.org/show_bug.cgi?id=49116
The fix is to add the check.
* page/Frame.cpp:
(WebCore::Frame::transferChildFrameToNewDocument):
2010-11-04 Enrica Casucci <enrica@apple.com>
Reviewed by Adele Peterson.
Pasting large amounts of plain text in a text area is very slow
https://bugs.webkit.org/show_bug.cgi?id=49040
<rdar://problem/7640912>
The optimization consists in skipping the ApplyStyle command when
pasting into a text area or into an element that has -webkit-user-modify: read-write-plaintext-only.
The biggest performance hit comes from iterating through
a large number of paragraph when no style change is needed.
A further step will be to improve the paragraph iteration when it
can't be avoided.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Check if the selection
is in a text form control or in an element that has -webkit-user-modify: read-write-plaintext-only
and force no style matching.
2010-11-05 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by David Levin.
JSCallbackData::invokeCallback triggers layout from a worker thread
https://bugs.webkit.org/show_bug.cgi?id=49096
Fixed the bug by only calling updateStyleForAllDocuments when the context is document in
JSCallbackData::invokeCallback.
No new tests are added since many of existing workers tests hit the added assertion in debug builds.
* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback): No longer calls updateStyleForAllDocuments unconditionally.
* dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded): Added ASSERT(isMainThread()).
(WebCore::Document::updateStyleForAllDocuments): Ditto.
(WebCore::Document::updateLayout): Ditto.
2010-11-05 Ilya Sherman <isherman@chromium.org>
Reviewed by Simon Fraser.
Querying selection start and end should be const
https://bugs.webkit.org/show_bug.cgi?id=48786
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::selectionStart):
(WebCore::RenderTextControl::selectionEnd):
(WebCore::RenderTextControl::visiblePositionForIndex):
(WebCore::RenderTextControl::indexForVisiblePosition):
* rendering/RenderTextControl.h:
2010-11-05 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Move resumeAnimations/suspendAnimations from Frame to AnimationController.
https://bugs.webkit.org/show_bug.cgi?id=49073
Changed the name of suspendAnimations/resumeAnimations to
suspendAnimationsInDocument/resumeAnimationsInDocument. These are no
longer exported, but have the same functionality as before. I then
added new suspendAnimations/resumeAnimations function which take
no params and suspend/resume on the frame owning the animation
controller and all its child frames. These are the functions that
are now exported. I then changed all the platform specific WebKit
code to use these functions.
* WebCore.exp.in:
* page/Frame.cpp:
* page/Frame.h:
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::suspendAnimations):
(WebCore::AnimationControllerPrivate::resumeAnimations):
2010-11-04 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Need to simulate DEPTH_STENCIL in framebufferRenderbuffer / getFramebufferAttachmentParameter
https://bugs.webkit.org/show_bug.cgi?id=49020
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::getAttachment): Return the attached renderbuffer/texture.
(WebCore::WebGLFramebuffer::isIncomplete): Add an extra parameter deciding whether we should check internal format matching the attachment point or not.
(WebCore::WebGLFramebuffer::onAccess): Pass extra parameter in isIncomplete.
* html/canvas/WebGLFramebuffer.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::checkFramebufferStatus): Pass extra parameter in isIncomplete.
(WebCore::WebGLRenderingContext::framebufferRenderbuffer): Emulate DEPTH_STENCIL_ATTACHMENT; re-attach previously conflicted buffers upon detachment.
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Throw an error when conflicted attachments exist.
(WebCore::WebGLRenderingContext::renderbufferStorage): Map DEPTH_STENCIL to DEPTH24_STENCIL8.
* platform/graphics/Extensions3D.h: Add DEPTH24_STENCIL8 enum and update the documentation.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::framebufferRenderbuffer): Remove emulation code at this level.
2010-11-05 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Keep a reference to the scrollbar in accessibility scrollbar.
https://bugs.webkit.org/show_bug.cgi?id=48896
* accessibility/AccessibilityScrollbar.h:
(WebCore::AccessibilityScrollbar::scrollbar):
2010-11-05 Chang Shu <chang.shu@nokia.com>
Reviewed by Antonio Gomes.
Add support for <select> element in single selection mode. We use space to
trigger arrow key handling for selection change or spatial navigation.
https://bugs.webkit.org/show_bug.cgi?id=48937
* dom/SelectElement.cpp:
(WebCore::isSpatialNavigationEnabled):
(WebCore::SelectElement::menuListDefaultEventHandler):
(WebCore::SelectElement::listBoxDefaultEventHandler):
2010-11-05 Charlie Reis <creis@chromium.org>
Reviewed by Darin Fisher.
Need to expose HistoryController::previousItem() for Chromium WebKit API.
https://bugs.webkit.org/show_bug.cgi?id=48809
* loader/HistoryController.h:
2010-11-05 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Crash in ApplyStyleCommand::surroundNodeRangeWithElement
https://bugs.webkit.org/show_bug.cgi?id=48581
The crash was caused by a false assertion that we can always recover selection in
ApplyStyleCommand::removeInlineStyle. Fixed the crash by removing the assertion
and adding an early exit to the call site. Also converted raw pointers to RefPtr
in surroundNodeRangeWithElement and addInlineStyleIfNeeded.
Test (non-Mac platforms): editing/style/iframe-onload-crash.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyle):
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
* editing/ApplyStyleCommand.h:
2010-11-04 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49008
<rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
Instance::m_runtimeObject used to be zeroed out by RuntimeObject destructor. But the
destructor may not be called immediately - GC first marks an object as dead, and only
destroys it when its cell is overwritten. So, m_runtimeObject would keep pointing to a dead
object.
Functions in JSPluginElementFunctions.cpp put the RuntimeObject on stack for later use,
but if it's already dead, it can be overwritten before use.
The solution is of course to use WeakGCPtr, which returns 0 for dead objects.
* bridge/jsc/BridgeJSC.cpp:
(JSC::Bindings::Instance::Instance):
(JSC::Bindings::Instance::~Instance):
(JSC::Bindings::Instance::createRuntimeObject):
(JSC::Bindings::Instance::willDestroyRuntimeObject):
(JSC::Bindings::Instance::willInvalidateRuntimeObject):
* bridge/jsc/BridgeJSC.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::~RuntimeObject):
(JSC::Bindings::RuntimeObject::invalidate):
2010-11-05 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
https://bugs.webkit.org/show_bug.cgi?id=46945
Add new funtions to suspend and resume animations. The go through all subframes and suspend or resume them
recursively.
Test: animations/stop-animation-on-suspend.html
* WebCore.exp.in:
* page/Frame.cpp:
(WebCore::Frame::suspendAnimations):
(WebCore::Frame::resumeAnimations):
* page/Frame.h:
2010-11-05 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Crash in InspectorDOMAgent::innerParentNode.
https://bugs.webkit.org/show_bug.cgi?id=49054
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setOuterHTML):
2010-11-05 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: XHR logging in console should give complete view of resource.
https://bugs.webkit.org/show_bug.cgi?id=48998
Drive-by fixes: linkify line number to scripts panel, fall back to resources;
enable multiline console entry on shift modifier as well.
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype._reset):
(WebInspector.NetworkPanel.prototype.refreshResource):
(WebInspector.NetworkPanel.prototype.canShowSourceLine):
(WebInspector.NetworkPanel.prototype.showSourceLine):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.show):
(WebInspector.StoragePanel.prototype.showSourceLine):
* inspector/front-end/inspector.js:
(WebInspector.showPanel):
(WebInspector.linkifyStringAsFragment):
2010-10-27 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Clean up IDBTransactionBackend/Coordinator
https://bugs.webkit.org/show_bug.cgi?id=48425
Get rid of obsolete id and thus we don't need the factory method
on IDBTransactionCoordinator that creates IDBTransactionBackends.
Add an assert to IDBTransactionBackend to make sure we're not in
the coordinator and then remove the coordinators ref counting link
to the transaction.
Have the transaction backend zero out refs to the database when its
done using it.
Existing tests provide coverage for this refactoring.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::transaction):
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):
* storage/IDBTransactionBackendImpl.h:
* storage/IDBTransactionBackendInterface.h:
* storage/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::didStartTransaction):
(WebCore::IDBTransactionCoordinator::didFinishTransaction):
(WebCore::IDBTransactionCoordinator::isActive):
(WebCore::IDBTransactionCoordinator::processStartedTransactions):
* storage/IDBTransactionCoordinator.h:
2010-10-27 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
IDBFactoryBackend's reference to IDBDatabaseBackend should be weak
https://bugs.webkit.org/show_bug.cgi?id=48416
The factory's lifetime is that of the application, so without making
this weak, IDBDatabaseBackend's will never be closed until the app
terminates.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
* storage/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::create):
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::removeIDBDatabaseBackend):
(WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h:
2010-10-27 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
IDBObjectStoreBackend and IDBIndexBackend should not depend on IDBDatabaseBackend
https://bugs.webkit.org/show_bug.cgi?id=48410
Break dependency cyles between IDBDatabaseBackend and the other classes listed.
This was causing memory leaks.
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::updateInternal):
(WebCore::IDBCursorBackendImpl::removeInternal):
(WebCore::IDBCursorBackendImpl::database):
* storage/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::openCursorInternal):
(WebCore::IDBIndexBackendImpl::sqliteDatabase):
* storage/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(WebCore::IDBIndexBackendImpl::storeName):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
(WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
* storage/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::create):
2010-11-05 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: inspector lags on large resources with numerous <script> tags.
https://bugs.webkit.org/show_bug.cgi?id=49060
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
2010-11-05 Patrick Gansterer <paroga@webkit.org>
Reviewed by David Kilzer.
Replace ARRAYSIZE with WTF_ARRAY_LENGTH
https://bugs.webkit.org/show_bug.cgi?id=48903
* platform/UUID.cpp:
(WebCore::createCanonicalUUIDString):
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/win/IconWin.cpp:
(WebCore::Icon::createIconForFiles):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::getWebLocData):
* platform/win/ClipboardWin.cpp:
(WebCore::createGlobalHDropContent):
(WebCore::createGlobalImageFileDescriptor):
(WebCore::ClipboardWin::files):
(WebCore::ClipboardWin::writeURL):
* platform/win/DragDataWin.cpp:
(WebCore::DragData::asFilenames):
* platform/win/FileSystemWin.cpp:
(WebCore::safeCreateFile):
2010-11-05 Roland Steiner <rolandsteiner@chromium.org>
Reviewed by Dirk Schulze.
Bug 48979 - [Chromium] SVGListPropertyTearOff.h: function commitChange ASSERTs on Win & Mac
https://bugs.webkit.org/show_bug.cgi?id=48979
Function removeItemValuesAndWrappers(): Move code out of 'if' statement so that
'wrappers' and 'values' stay synced.
test: svg/dom/baseVal-animVal-crash.html doesn't ASSERT
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::removeItemValuesAndWrappers):
2010-11-05 John Reck <jreck@google.com>
Reviewed by Nikolas Zimmermann.
The change to SVGPropertyTearOff by CodeGeneratorV8.pm caused two build failures
for Android. One was a missing SVGPropertyTearOff.h include, the other was a
missing forward declaration of FloatRect. Seems to be the result of:
https://bugs.webkit.org/show_bug.cgi?id=48204
Bug: https://bugs.webkit.org/show_bug.cgi?id=49025
No tests needed, fixes build issue.
* bindings/scripts/CodeGeneratorV8.pm:
2010-11-05 Rob Buis <rwlbuis@gmail.com>
Reviewed by David Hyatt.
CSSRule#parentRule always null
https://bugs.webkit.org/show_bug.cgi?id=46228
Ensure MediaList child rules have the MediaList set as parent
in order to correct their parentRule correctness.
Test: fast/dom/css-mediarule-parentRule.html
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::CSSMediaRule):
2010-11-04 Xan Lopez <xlopez@igalia.com>
Fix the GTK+ build.
* GNUmakefile.am:
2010-10-20 Chang Shu <chang.shu@nokia.com>, Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Simon Fraser.
[Qt] Makes <input type=text> and <textarea> functional with
Spatial Navigation enabled. Before this patch, the focus cannot
move away from input box once it is in. This patch allows focus
move to neighbor nodes when the caret reaches the edge of the texts.
This patch does not support yet cases where the focused <input>
has a JS handler for the arrow keys.
https://bugs.webkit.org/show_bug.cgi?id=37153
Tests: fast/events/spatial-navigation/snav-input.html
fast/events/spatial-navigation/snav-textarea.html
* editing/EditorCommand.cpp:
(WebCore::executeMoveDown):
(WebCore::executeMoveLeft):
(WebCore::executeMoveRight):
(WebCore::executeMoveUp):
* editing/SelectionController.cpp:
(WebCore::SelectionController::modify):
2010-11-04 Dan Bernstein <mitz@apple.com>
Build fix.
* editing/Editor.cpp:
(WebCore::Editor::dismissCorrectionPanel):
2010-11-04 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
reversion bubble in WebViews
https://bugs.webkit.org/show_bug.cgi?id=47630
<rdar://problem/8530960>
Added manual test:
manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html
manual-tests/autocorrection/delete-to-dismiss-reversion.html
manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html
manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html
manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html
We can only manully test this feature for two reasons:
1. On Mac OS X, the result of spell checking is partly determined by past user usage. We can't
realiably generating test cases until we can disable user custom data during spell checking.
2. To exerciese this feature, we need a minimum of 0.3 second delay using WebCore timer.
This patch is to add reversion to correction panel. It consists of following major code changes:
1. Collected all autocorrection related member variables in Editor into a CorrectionPanelInfo
class to improve readability.
2. Changed signature of Editor::startCorrectionPanelTimer() to allow caller to specify the
type of correction panel--regular correction or reversion.
3. Made necessary changes to adopt reversion API in AppKit.
4. Use SUPPORT_CORRECTION_PANEL macro to improve readability.
* GNUmakefile.am: Added CorrectionPanelInfo.h.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj:
* editing/CorrectionPanelInfo.h: Added.
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedSelection): Start correction panel timer for reversion when
the new selection is a caret selection at end of a previously corrected word.
(WebCore::Editor::appliedEditing): Stop timer at the beginning of the method instead of at the end.
(WebCore::Editor::~Editor): Adopted new method dismissCorrectionPanel().
(WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new method applyCorrectionPanelInfo().
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Code change for new m_correctionPanelInfo
member variable.
(WebCore::Editor::correctionPanelTimerFired): Change to handle reversion panel type.
(WebCore::Editor::handleRejectedCorrection): Ditto.
(WebCore::Editor::startCorrectionPanelTimer): Changed signature to allow passing in panel type.
(WebCore::Editor::stopCorrectionPanelTimer): Adopted macro SUPPORT_CORRECTION_PANEL.
(WebCore::Editor::handleCancelOperation): Ditto.
(WebCore::Editor::isShowingCorrectionPanel): Ditto.
(WebCore::Editor::dismissCorrectionPanel): Update m_correctionPanelInfo when correction panel
is dismissed.
(WebCore::Editor::applyCorrectionPanelInfo): Factored out code that applies autocorrection.
(WebCore::Editor::changeSelectionAfterCommand): Adopt macro SUPPORT_CORRECTION_PANEL.
* editing/Editor.h: Adopted CorrectionPanelInfo and add new member methods.
* editing/EditorCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL
(WebCore::createCommandMap):
* editing/TypingCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL and new signature of
startCorrectionPanelTimer().
(WebCore::TypingCommand::markMisspellingsAfterTyping):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature of base class method.
(WebCore::EmptyEditorClient::dismissCorrectionPanel): Ditto.
* manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Added.
* manual-tests/autocorrection/delete-to-dismiss-reversion.html: Added.
* manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Added.
* manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Added.
* manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Added.
* page/EditorClient.h: Changed signature of showCorrectionPanel() and dismissCorrectionPanel().
* platform/graphics/mac/GraphicsContextMac.mm: Added comment to improve readability.
(WebCore::GraphicsContext::drawLineForTextChecking):
2010-11-04 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
Made table layout and painting work with all writing modes. Hit-testing, repainting, tables
where some elements have their own layers, and cells whose writing mode differs from the
tables are not supported yet.
Part of: Make tables work with vertical text
https://bugs.webkit.org/show_bug.cgi?id=46417
Tests: fast/table/027-vertical.html
fast/table/028-vertical.html
fast/table/035-vertical.html
fast/table/038-vertical.html
fast/table/040-vertical.html
fast/table/auto-with-percent-height-vertical.html
fast/table/border-collapsing/001-vertical.html
fast/table/border-collapsing/002-vertical.html
fast/table/border-collapsing/003-vertical.html
fast/table/border-collapsing/004-vertical.html
fast/table/border-collapsing/border-collapsing-head-foot-vertical.html
fast/table/border-collapsing/equal-precedence-resolution-vertical.html
fast/table/border-collapsing/rtl-border-collapsing-vertical.html
fast/table/colspanMinWidth-vertical.html
fast/table/fixed-with-auto-with-colspan-vertical.html
fast/table/growCellForImageQuirk-vertical.html
fast/table/height-percent-test-vertical.html
fast/table/percent-widths-stretch-vertical.html
fast/table/rowspan-paint-order-vertical.html
fast/table/table-display-types-vertical.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle): Changed to allow all writing modes for tables,
make row groups, rows, column groups and columns inherit the tables writing mode. For now,
make cells do this too.
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::parseMappedAttribute): Map align=center using logical properties.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable): Initialize m_borderStart and m_borderEnd.
(WebCore::RenderTable::styleDidChange): Changed the rule for when to use auto layout to look
at the logical width instead of the width.
(WebCore::RenderTable::computeLogicalWidth): Uses logical widths and works with perpendicular
containing blocks.
(WebCore::RenderTable::layout): Use logical lengths.
(WebCore::RenderTable::setCellLogicalWidths): Renamed setCellWidths() to this and updated for
the renaming of RenderTableSection::setCellWidths().
(WebCore::RenderTable::paintObject): Account for flipped modes.
(WebCore::RenderTable::subtractCaptionRect): Added this helper method the considers writing modes.
(WebCore::RenderTable::paintBoxDecorations): Adopted subtractCaptionRect().
(WebCore::RenderTable::paintMask): Ditto.
(WebCore::RenderTable::computePreferredLogicalWidths): Updated for the renaming of
recalcHorizontalBorders().
(WebCore::RenderTable::calcBorderStart): Renamed calcBorderLeft() to this and changed it to use
borderStart(). Splits odd number of pixels based on the physical side.
(WebCore::RenderTable::calcBorderEnd): Similar.
(WebCore::RenderTable::recalcBordersInRowDirection): Renamed recalcHorizontalBorders() to this
and updated for other renames.
(WebCore::RenderTable::borderBefore): Replaced borderTop() with this.
(WebCore::RenderTable::borderAfter): Similar.
(WebCore::RenderTable::outerBorderBefore): Similar.
(WebCore::RenderTable::outerBorderAfter): Similar.
(WebCore::RenderTable::outerBorderStart): Similar.
(WebCore::RenderTable::outerBorderEnd): Similar.
(WebCore::RenderTable::firstLineBoxBaseline): Changed to use logical heights.
(WebCore::RenderTable::overflowClipRect): Account for writing modes.
* rendering/RenderTable.h:
(WebCore::RenderTable::borderStart):
(WebCore::RenderTable::borderEnd):
(WebCore::RenderTable::borderLeft):
(WebCore::RenderTable::borderRight):
(WebCore::RenderTable::borderTop):
(WebCore::RenderTable::borderBottom):
(WebCore::RenderTable::outerBorderLeft):
(WebCore::RenderTable::outerBorderRight):
(WebCore::RenderTable::outerBorderTop):
(WebCore::RenderTable::outerBorderBottom):
(WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Changed to match its name.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::styleWillChange): Changed to detect changes to logical height.
* rendering/RenderTableSection.cpp:
(WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative): Renamed and changed to use
logical heights.
(WebCore::RenderTableSection::RenderTableSection): Updated initializers for new member variables.
(WebCore::RenderTableSection::addChild): Updated for rename.
(WebCore::RenderTableSection::ensureRows): Ditto.
(WebCore::RenderTableSection::addCell): Ditto. Also use logical heights.
(WebCore::RenderTableSection::setCellLogicalWidths): Renamed setCellWidths() to this, changed
to use logical widths.
(WebCore::RenderTableSection::calcRowLogicalHeight): Added “logical” to the name. Updated with
logical heights.
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderBefore):
(WebCore::RenderTableSection::calcOuterBorderAfter):
(WebCore::RenderTableSection::calcOuterBorderStart):
(WebCore::RenderTableSection::calcOuterBorderEnd):
(WebCore::RenderTableSection::recalcOuterBorder):
(WebCore::RenderTableSection::firstLineBoxBaseline):
(WebCore::RenderTableSection::paintCell):
(WebCore::RenderTableSection::recalcCells):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::outerBorderBefore):
(WebCore::RenderTableSection::outerBorderAfter):
(WebCore::RenderTableSection::outerBorderStart):
(WebCore::RenderTableSection::outerBorderEnd):
2010-11-04 Kent Tamura <tkent@chromium.org>
Unreviewed, trivial test fix.
Fix GTK build for http://trac.webkit.org/changeset/71373 .
* GNUmakefile.am: Add HTMLOutputElement.{cpp,h}
2010-11-04 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
Stale reference to RenderObject held as FrameView layoutRoot
https://bugs.webkit.org/show_bug.cgi?id=48019
<progress> and <meter> shouldn't have children of its RenderObject,
which caused unexpected result.
This change suppresses child creation to prevent it.
Tests: fast/dom/HTMLMeterElement/meter-element-with-child-crash.html
fast/dom/HTMLProgressElement/progress-element-with-child-crash.html
* rendering/RenderIndicator.h:
(WebCore::RenderIndicator::canHaveChildren):
2010-11-04 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
[HTML5][Forms] Support for <output> element
https://bugs.webkit.org/show_bug.cgi?id=29363
Support for <output> element.
Tests: fast/dom/HTMLOutputElement/dom-settable-token-list.html
fast/dom/HTMLOutputElement/htmloutputelement-reset-event.html
fast/dom/HTMLOutputElement/htmloutputelement-validity.html
fast/dom/HTMLOutputElement/htmloutputelement-value.html
fast/dom/HTMLOutputElement/htmloutputelement.html
* Android.derived.jscbindings.mk: Added JSHTMLOutputElement.h.
* Android.derived.v8bindings.mk: Added V8HTMLOutputElement.h.
* Android.jscbindings.mk: Added JSHTMLOutputElementCustom.cpp.
* Android.mk: Added HTMLOutputElement.cpp.
* Android.v8bindings.mk: Added V8HTMLOutputElementCustom.cpp.
* CMakeLists.txt: Added HTMLOutputElement.{idl,cpp} and JSHTMLOutputElementCustom.cpp.
* DerivedSources.cpp: Added JSHTMLOutputElement.cpp.
* DerivedSources.make: Added HTMLOutputElement entry.
* GNUmakefile.am: Added JSHTMLOutputElement.{cpp,h}
* WebCore.gypi: Added HTMLOutputElement.{idl,cpp,h}, JSHTMLOutputElementCustom.cpp and V8HTMLOutputElementCustom.cpp
* WebCore.pri: Added HTMLOutputElement.idl.
* WebCore.pro: Added V8HTMLOutputElementCustom.cpp, JSHTMLOutputElementCustom.cpp and HTMLOutputElement.cpp.
* WebCore.vcproj/WebCore.vcproj: Added entries for JSHTMLOutputElement.{cpp,h} and JSHTMLOutputElementCustom.cpp.
* WebCore.xcodeproj/project.pbxproj: Added entries for JSHTMLOutputElementCustom.cpp, HTMLOutputElement.{cpp,h,idl}, JSHTMLOutputElement.{cpp,h}
* bindings/js/JSBindingsAllInOne.cpp: Added JSHTMLOutputElementCustom.cpp.
* bindings/js/JSHTMLOutputElementCustom.cpp: Added.
(WebCore::JSHTMLOutputElement::htmlFor):
(WebCore::JSHTMLOutputElement::setHtmlFor):
* bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Modified.
(WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Returns null if the index is out of range.
* bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Added.
(WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
(WebCore::V8HTMLOutputElement::htmlForAccessorSetter):
* css/html.css: Added a default style of output element.
(output):
* html/DOMSettableTokenList.cpp: Fix bugs.
(WebCore::DOMSettableTokenList::item): Returns null string if the index is out of range.
(WebCore::DOMSettableTokenList::addInternal): Added check m_tokens.isNull().
(WebCore::DOMSettableTokenList::setValue): Set the value case sensitive.
* html/HTMLOutputElement.cpp: Added.
(WebCore::HTMLOutputElement::HTMLOutputElement):
(WebCore::HTMLOutputElement::create):
(WebCore::HTMLOutputElement::formControlType):
(WebCore::HTMLOutputElement::parseMappedAttribute):
(WebCore::HTMLOutputElement::htmlFor):
(WebCore::HTMLOutputElement::setFor):
(WebCore::HTMLOutputElement::setForm):
(WebCore::HTMLOutputElement::childrenChanged):
(WebCore::HTMLOutputElement::reset):
(WebCore::HTMLOutputElement::value):
(WebCore::HTMLOutputElement::setValue):
(WebCore::HTMLOutputElement::defaultValue):
(WebCore::HTMLOutputElement::setDefaultValue):
(WebCore::HTMLOutputElement::setTextContentInternal):
* html/HTMLOutputElement.h: Added.
(WebCore::HTMLOutputElement::isEnumeratable):
(WebCore::HTMLOutputElement::willValidate):
* html/HTMLOutputElement.idl: Added.
* html/HTMLTagNames.in: Added "output".
* page/DOMWindow.idl: Added an attribute for HTMLOutputElement.
2010-11-04 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Remove IMPLEMENTATION_COLOR_READ_FORMAT and TYPE
https://bugs.webkit.org/show_bug.cgi?id=48938
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::readPixels):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getIntegerv):
2010-11-04 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
TypedArray should throw exception if length not a multiple of element size
https://bugs.webkit.org/show_bug.cgi?id=45487
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::constructArrayBufferView):
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore::constructWebGLArray):
2010-11-04 Kenneth Russell <kbr@google.com>
Reviewed by Adam Barth.
[chromium] Mac: WebGL: all textured content is blue
https://bugs.webkit.org/show_bug.cgi?id=49021
Added support for 8-bit, little-endian CGImages. The previous
image decode path used the default byte order, which is apparently
big-endian.
Tested with various WebGL content and layout tests in Chromium.
Ran layout tests in WebKit and tested various WebGL content in
Safari. Was not able to run layout tests with Chromium port of
DumpRenderTree due to build failures currently in the tree.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::doPacking):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::getSourceDataFormat):
(WebCore::GraphicsContext3D::getImageData):
2010-11-03 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
renderbufferStorage(DEPTH_STENCIL) shouldn't generate an error
https://bugs.webkit.org/show_bug.cgi?id=48891
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::isIncomplete): Considering the case where DEPTH_STENCIL is not supported.
* html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
* html/canvas/WebGLRenderbuffer.h: Add members and accessor functions.
(WebCore::WebGLRenderbuffer::setInternalFormat):
(WebCore::WebGLRenderbuffer::setSize):
(WebCore::WebGLRenderbuffer::getWidth):
(WebCore::WebGLRenderbuffer::getHeight):
(WebCore::WebGLRenderbuffer::setIsValid):
(WebCore::WebGLRenderbuffer::isValid):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::initializeNewContext): Check if packed_depth_stencil extension exists.
(WebCore::WebGLRenderingContext::getRenderbufferParameter): Simulate the case for DEPTH_STENCIL where packed_depth_stencil is not supported.
(WebCore::WebGLRenderingContext::renderbufferStorage): Bypass the call if packed_depth_stencil is not supported.
* html/canvas/WebGLRenderingContext.h:
2010-11-04 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Adam Barth.
Web Inspector: Enable files ystem UI for chromium
https://bugs.webkit.org/show_bug.cgi?id=48963
* inspector/Inspector.idl:
* inspector/InspectorFileSystemAgent.cpp:
(WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
* inspector/InspectorFileSystemAgent.h:
* inspector/front-end/FileSystemView.js:
(WebInspector.FileSystemView):
(WebInspector.FileSystemView.prototype.setFileSystemDisabled):
(WebInspector.FileSystemView.prototype._createTextAndButton):
(WebInspector.FileSystemView.prototype.refreshFileSystem):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.setFileSystemDisabled):
* inspector/front-end/inspector.js:
(WebInspector.didGetFileSystemDisabled):
(WebInspector.reset):
2010-11-04 Robert Hogan <robert@webkit.org>
Reviewed by Darin Adler.
Stale reference to JSDOMWindow in ScriptController::m_cacheableBindingObject
After bug 37725 we need to update the globalObject() (i.e. JSDOMWindow)
associated with the m_cacheablebindingRootObject every time we clear the
frame and load a new page. This allows the runtime objects
(e.g. LayoutTestController etc.) to persist between navigations as
before but also ensures that when qt_runtime, or any other bridge,
looks at the root->globalObject() of a cacheable binding object
it gets the DOMWindow of the current page rather than the DOMWindow
that was in place when m_cacheableBindingRootObject was created.
Fixes fast/dom/nodesFromRect-basic.html on Qt.
https://bugs.webkit.org/show_bug.cgi?id=48758
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::clearWindowShell):
* bridge/runtime_root.cpp:
(JSC::Bindings::RootObject::updateGlobalObject):
* bridge/runtime_root.h:
2010-11-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by David Hyatt.
Delegate scrolling via a separate method
https://bugs.webkit.org/show_bug.cgi?id=48988
Add a delegatedScrollRequested method to HostWindow for delegating
scrolling to the view. This is only used in conjunction with tiling,
and is ifdef'ed.
* page/Chrome.cpp:
(WebCore::Chrome::delegatedScrollRequested):
* page/Chrome.h:
* page/ChromeClient.h:
* platform/HostWindow.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollPosition):
2010-11-04 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Need better way of switching back to the Timeline view of the Network tab.
https://bugs.webkit.org/show_bug.cgi?id=48995
- Moved close button to the left, preceding tab headers;
- Auto-adjusting summary bar width when switching to the preview mode
- Auto-scrolling network log if it was scrolled to bottom.
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.isScrolledToLastRow):
(WebInspector.DataGrid.prototype.scrollToLastRow):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype.updateSidebarWidth):
(WebInspector.NetworkPanel.prototype._positionSummaryBar):
(WebInspector.NetworkPanel.prototype.refresh):
(WebInspector.NetworkPanel.prototype._reset):
(WebInspector.NetworkPanel.prototype._toggleGridMode):
* inspector/front-end/inspector.css:
(.tabbed-pane-header li):
* inspector/front-end/networkPanel.css:
(.network-summary-bar):
(#network-close-button):
(#network-views.small #network-close-button):
(#network-views .resource-view .tabbed-pane-header):
(#network-views.small .resource-view .tabbed-pane-header):
2010-11-04 Erik Arvidsson <arv@chromium.org>
Reviewed by Dimitri Glazkov.
Support box-sizing without the vendor prefix
https://bugs.webkit.org/show_bug.cgi?id=36713
Based on patch by Peter Beverloo <peter@lvp-media.com>
Test: fast/css/box-sizing-backwards-compat-prefix.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::cssPropertyID): This handles -webkit-box-sizing and maps it to box-sizing.
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/quirks.css: Change -webkit-box-sizing to box-sizing.
(input:not([type=image]), textarea):
* css/view-source.css: Ditto.
(.webkit-line-gutter-backdrop, .webkit-line-number):
* css/wml.css: Ditto.
(do):
(select):
2010-11-04 John Reck <jreck@google.com>
Reviewed by Steve Block.
Fix a linker failure when building for Android
https://bugs.webkit.org/show_bug.cgi?id=48964
The Android stub for setCookieStoragePrivateBrowsingEnabled(bool) wasn't in the WebCore namespace, which caused
a linker failure when building for Android. Moved the stub to the WebCore namespace. This was caused by
http://trac.webkit.org/changeset/70400
No new tests, build fix only
* platform/android/TemporaryLinkStubs.cpp:
2010-11-04 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Andreas Kling.
Request.h getters can be made const
https://bugs.webkit.org/show_bug.cgi?id=49003
Added the const qualifier to some getters that don't mutate the object.
* loader/Request.h:
(WebCore::Request::cachedResource):
(WebCore::Request::cachedResourceLoader):
(WebCore::Request::isIncremental):
(WebCore::Request::isMultipart):
2010-11-03 Brian Weinstein <bweinstein@apple.com>
Reviewed by Brady Eidson.
User scripts shouldn't be injected in a frame's empty initial document.
https://bugs.webkit.org/show_bug.cgi?id=48970
<rdar://problem/8618164>
<rdar://problem/8082122>
When a frame loads, it first creates an empty initial document, then navigates to the correct URL. Our
current policy with user scripts is to inject them into both the initial empty document, and then inject
them again.
This causes developers to think their scripts have been injected twice into all iframes, and there is a timing
issue between WebKit1 and WebKit2 that causes start scripts to be injected into the initial empty document
of the main frame when a new tab or window is created.
The fix for this is to not inject user scripts when the frame is creating its initial empty document before loading
the correct source.
* page/Frame.cpp:
(WebCore::Frame::injectUserScripts):
2010-11-04 Andreas Kling <kling@webkit.org>
Reviewed by Nikolas Zimmermann.
GraphicsContext: Don't do full save/restore when painting with low quality scaling
https://bugs.webkit.org/show_bug.cgi?id=48738
Stash the imageInterpolationQuality() in a local and reset it after painting.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::imageInterpolationQuality):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::imageInterpolationQuality):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::imageInterpolationQuality):
2010-11-04 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Andreas Kling.
Refactor SVGStringListPropertyTearOff/SVGListPropertyTearOff to use a common base class
https://bugs.webkit.org/show_bug.cgi?id=48990
Introduce SVGListProperty as common base class between static lists (SVGStringListPropertyTearOff) and dynamic lists (SVGListPropertyTearOff).
This is a preparation for the addition of the next static list type: SVGPointList.
* GNUmakefile.am: Add new files to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: s/SVGStringListPropertyTearOff/SVGStaticListPropertyTearOff/.
* bindings/scripts/CodeGeneratorJS.pm: Ditto.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* svg/properties/SVGAnimatedListPropertyTearOff.h: Include SVGStaticListPropertyTearOff.h here, to avoid special dependencies in CodeGenerator*.pm
* svg/properties/SVGListProperty.h: Added.
* svg/properties/SVGListPropertyTearOff.h: Use SVGList API implementation from SVGListProperty base class.
* svg/properties/SVGStaticListPropertyTearOff.h: Added. Use SVGList API implementation from SVGListProperty base class.
* svg/properties/SVGStringListPropertyTearOff.h: Removed.
2010-11-04 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed. Fixed WebCore.xcodeproject
* WebCore.xcodeproj/project.pbxproj:
2010-11-04 Pratik Solanki <psolanki@apple.com>
Reviewed by Darin Adler.
Should make use of purge priorities for different resource types
https://bugs.webkit.org/show_bug.cgi?id=48684
Assign purge priorities to CachedResource objects. JavaScript and CSS stylesheets are more
important than images so hint to the kernel to purge them last. We do this by repurposing
the previously unused function, PurgeableBuffer::setPurgePriority(). It now just sets the
priority field and does not have side-effects like calling makePurgeable(true).
Also, remove unusued PurgeableBuffer::create(const Vector<char>&) function and move the
purgeable memory size threshold from CachedResource to PurgeableBuffer.
* WebCore.xcodeproj/project.pbxproj: Add new PurgePriority.h header and mark it as private
header.
* loader/CachedCSSStyleSheet.h:
(WebCore::CachedCSSStyleSheet::purgePriority):
* loader/CachedImage.h:
(WebCore::CachedImage::purgePriority):
* loader/CachedResource.cpp:
(WebCore::CachedResource::makePurgeable): Set the purge priority on the PurgeableBffer.
Also, move the check for purgeable size threshold to PurgeableBuffer.
* loader/CachedResource.h:
(WebCore::CachedResource::purgePriority): Added. New virtual method that lets the class
specify its purge priority.
* loader/CachedScript.h:
(WebCore::CachedScript::purgePriority):
* platform/PurgePriority.h: Added. Move the PurgePriority enum from PurgeableBuffer class to
its own header file.
(WebCore::):
* platform/PurgeableBuffer.h:
(WebCore::PurgeableBuffer::setPurgePriority): Update this previously unused function to just
set the priority and not call makePurgeable(true).
* platform/mac/PurgeableBufferMac.cpp: Update size threshold to 16KB which is what
CachedResource was using.
2010-11-04 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Ignore static text children of text field controls in the accessibility tree.
https://bugs.webkit.org/show_bug.cgi?id=48944
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2010-11-04 Erik Arvidsson <arv@chromium.org>
Reviewed by Tony Chang.
Computed style is not correct for negative values in the presence of zooming
https://bugs.webkit.org/show_bug.cgi?id=48855
* rendering/style/RenderStyle.h:
(WebCore::adjustForAbsoluteZoom): When the value is less than zero we need to decrement instead of increment.
2010-11-04 Shane Stephens <shanestephens@google.com>
Reviewed by Tony Chang.
SVGStyledTransformableElement supplemental transforms pre-multiplied
but should be post-multiplied.
https://bugs.webkit.org/show_bug.cgi?id=48026
Test: svg/animations/animate-path-nested-transforms.svg
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::animatedLocalTransform):
Switched order of multiplication. Note that due to a bug in
AffineTransform's operator* implementation the order of arguments is
reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).
2010-11-04 James Simonsen <simonjam@chromium.org>
Reviewed by Darin Fisher.
[Web Timing] Implement dom* timing marks
https://bugs.webkit.org/show_bug.cgi?id=46301
Test: fast/dom/webtiming-document-open.html
* GNUmakefile.am: Added DocumentTiming.h
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/Document.cpp:
(WebCore::Document::setReadyState): Set DOM WebTiming marks.
(WebCore::Document::finishedParsing): Set DOM WebTiming marks.
* dom/Document.h:
(WebCore::Document::timing): Added.
* dom/DocumentTiming.h: Added.
(WebCore::DocumentTiming::DocumentTiming):
* page/Timing.cpp: Added DOM timing.
(WebCore::Timing::domLoading): Ditto.
(WebCore::Timing::domInteractive): Ditto.
(WebCore::Timing::domContentLoaded): Ditto.
(WebCore::Timing::domComplete): Ditto.
(WebCore::Timing::documentTiming): Ditto.
* page/Timing.h: Ditto.
* page/Timing.idl: Ditto.
2010-11-04 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Implement unencodable characters handling in TextCodecGtk::encode()
https://bugs.webkit.org/show_bug.cgi?id=48902
Fixes a crash in test fast/encoding/char-encoding.html.
* platform/text/gtk/TextCodecGtk.cpp:
(WebCore::TextCodecGtk::encode):
2010-11-04 Adam Barth <abarth@webkit.org>
Enabled ICCJPEG on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=48977
Add iccjpeg as a dependency.
* WebCore.gyp/WebCore.gyp:
2010-11-03 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Framework to show form validation message for invalid controls
https://bugs.webkit.org/show_bug.cgi?id=31718
HTMLFormElement::validateInteractively() shows a validation message for
an invalid control by HTMLFormControlElement::updateVisibleValidationMessage(),
and the message is hidden when the invalid control looses focus, becomes
valid, detached, or the form is submitted again.
Introduce ValidationMessage class to manage visible form validation
message. It has no implementation to show/hide a message yet.
No new tests. New behavior is disabled by default, and is timing-dependent.
* Android.mk: Add ValidationMessage.
* CMakeLists.txt: ditto.
* GNUmakefile.am: ditto.
* WebCore.gypi: ditto.
* WebCore.pro: ditto.
* WebCore.vcproj/WebCore.vcproj: ditto.
* WebCore.xcodeproj/project.pbxproj: ditto.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::detach): Hides a validation message.
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
Hides a validation message if validation is not needed.
(WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
(WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
(WebCore::HTMLFormControlElement::setNeedsValidityCheck):
Hides a validation message or updates the validation message.
(WebCore::HTMLFormControlElement::dispatchBlurEvent):
Hides a validation message.
(WebCore::HTMLFormControlElement::visibleValidationMessage):
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::validateInteractively):
- Hide existing validation messages before showing new message.
- Show new validation message.
* html/ValidationMessage.cpp: Added.
(WebCore::ValidationMessage::ValidationMessage):
(WebCore::ValidationMessage::~ValidationMessage):
(WebCore::ValidationMessage::create):
(WebCore::ValidationMessage::setMessage):
(WebCore::ValidationMessage::hideMessage):
* html/ValidationMessage.h: Added.
(WebCore::ValidationMessage::message):
2010-11-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Port WCDataObject.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=48921
OleDuplicateData is not supported on WinCE.
* platform/win/WCDataObject.cpp:
(WebCore::WCDataObject::CopyMedium):
2010-11-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Port ClipboardWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=48412
* platform/win/ClipboardWin.cpp:
(WebCore::writeFileToDataObject):
2010-11-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Port ClipboardWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=48412
* platform/win/ClipboardWin.cpp:
(WebCore::filesystemPathFromUrlOrTitle):
(WebCore::createGlobalHDropContent):
(WebCore::ClipboardWin::files):
2010-11-03 Vincent Scheib <scheib@chromium.org>
Reviewed by James Robinson.
[chromium] GraphicsContext3D creation attributes include canRecoverFromContextLoss option
https://bugs.webkit.org/show_bug.cgi?id=48850
Implementations of GraphicsContext3D may respect the creation attribute
canRecoverFromContextLoss being false, and then only succeeding initialization if
the context can satisfy that request of never being lost. DX9 on XP can not satisfy
such a request.
Test by use of accelerated canvas 2d in Chromium with ANGLE on XP machines.
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::Attributes::Attributes):
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::create):
2010-11-03 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Use sentence boundaries instead of start/end sentence
https://bugs.webkit.org/show_bug.cgi?id=48422
Using sentence boundaries all intersentence
whitespace/control/format characters are assigned to a
sentence. This is what ICU does, so we have to do the same in
order to get the same results with glib unicode backend. It fixes
the sentence tests cases in test fast/dom/Range/range-expand.html.
* platform/text/gtk/TextBreakIteratorGtk.cpp:
(WebCore::textBreakNext):
(WebCore::textBreakPrevious):
2010-11-03 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
depthRange should generate INVALID_OPERATION if zNear is greater than zFar
https://bugs.webkit.org/show_bug.cgi?id=48676
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::depthRange):
2010-11-03 Adrienne Walker <enne@google.com>
Reviewed by Kenneth Russell.
Properly return empty strings instead of null when using invalid
objects for some WebGL calls. This fixes issues caused by r71274.
https://bugs.webkit.org/show_bug.cgi?id=48962
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getShaderSource):
2010-11-01 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Crash in ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle
https://bugs.webkit.org/show_bug.cgi?id=48581
The crash was caused by RemoveNodePreservingChildrenCommand's calling removeNode
on m_node without checking that m_node has a parent and it's still in the document.
Fixed the crash by adding an early exit in CompositeEditCommand::removeNode and
deploying RefPtr in several places of ApplyStyleCommand.cpp.
Test: editing/style/iframe-onload-crash.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
* editing/ApplyStyleCommand.h:
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removeNode):
2010-11-03 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Crashes in WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair() when deleting multiple lines of text.
https://bugs.webkit.org/show_bug.cgi?id=48918
<rdar://problem/8620602>
I haven't been able to found a reliable way to reproduce the bug. However, whenever it happens,
the crash is caused by a null node pointer returned by TextIterator. So it seems to be a
safe fix to guard against that.
* editing/Editor.cpp: (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
2010-11-02 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
A different mask or reference value in stencil operations should generate INVALID_OPERATION
https://bugs.webkit.org/show_bug.cgi?id=48669
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext): Init stencil func ref/mask and stencil mask to default.
(WebCore::WebGLRenderingContext::stencilFunc): Cache ref/mask value.
(WebCore::WebGLRenderingContext::stencilFuncSeparate): Generate error if front/back values differ.
(WebCore::WebGLRenderingContext::stencilMask): Cache mask value.
(WebCore::WebGLRenderingContext::stencilMaskSeparate): Generate error if front/back values differ.
(WebCore::WebGLRenderingContext::validateFace): Validate face parameter.
(WebCore::WebGLRenderingContext::validateStencilFunc): Validate stencil func parameter.
* html/canvas/WebGLRenderingContext.h: Add members to track stencil func ref/mask and stencil mask.
2010-11-03 Dimitri Glazkov <dglazkov@chromium.org>
Reverting r71244, r71248 and r71250. Broke default event handling inside text fields.
https://bugs.webkit.org/show_bug.cgi?id=46015
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ContainerNode.cpp:
(WebCore::notifyChildInserted):
* dom/DOMAllInOne.cpp:
* dom/EventContext.cpp: Removed.
* dom/EventContext.h: Removed.
* dom/Node.cpp:
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
(WebCore::Node::createRendererIfNeeded):
(WebCore::Node::eventParentNode):
(WebCore::Node::enclosingLinkEventParentOrSelf):
(WebCore::eventTargetAsSVGElementInstance):
(WebCore::eventTargetRespectingSVGTargetRules):
(WebCore::Node::eventAncestors):
(WebCore::Node::dispatchGenericEvent):
* dom/Node.h:
* dom/Text.cpp:
(WebCore::Text::createRenderer):
* dom/WindowEventContext.cpp: Removed.
* dom/WindowEventContext.h: Removed.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
* inspector/InspectorInstrumentation.cpp:
(WebCore::eventHasListeners):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willDispatchEvent):
* page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode):
* rendering/ShadowElement.h:
(WebCore::ShadowElement::shadowParent):
(WebCore::ShadowElement::shadowParentNode):
* svg/SVGElement.cpp:
(WebCore::SVGElement::eventParentNode):
* svg/SVGElement.h:
2010-11-03 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
CG use of WebKit image decoders crashes on some animated GIFs
https://bugs.webkit.org/show_bug.cgi?id=48955
It turns out CFDataGetMutableBytePtr isn't safe call on a null pointer.
Test: fast/images/dont-crash-with-null-gif-frames.html
* platform/image-decoders/cg/ImageDecoderCG.cpp:
(WebCore::RGBA32Buffer::copyReferenceToBitmapData):
(WebCore::RGBA32Buffer::copyBitmapData):
2010-11-03 Adrienne Walker <enne@google.com>
Reviewed by Kenneth Russell.
Implement lost, restored, and creation failure context events for
WebGLRenderingContext. The lost and restored functions are not hooked
up yet, but the context now acts according to the spec as it should
during a lost context. Tested manually, as there's no programmatic
way to lose a context yet.
https://bugs.webkit.org/show_bug.cgi?id=35626
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
* dom/EventNames.h:
* html/canvas/WebGLContextEvent.cpp: Added.
(WebCore::WebGLContextEvent::WebGLContextEvent):
(WebCore::WebGLContextEvent::~WebGLContextEvent):
(WebCore::WebGLContextEvent::initEvent):
* html/canvas/WebGLContextEvent.h: Added.
(WebCore::WebGLContextEvent::create):
(WebCore::WebGLContextEvent::statusMessage):
* html/canvas/WebGLContextEvent.idl: Added.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::activeTexture):
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::bindBuffer):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::bindRenderbuffer):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::blendColor):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::blendFunc):
(WebCore::WebGLRenderingContext::blendFuncSeparate):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::checkFramebufferStatus):
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::clearColor):
(WebCore::WebGLRenderingContext::clearDepth):
(WebCore::WebGLRenderingContext::clearStencil):
(WebCore::WebGLRenderingContext::colorMask):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::createBuffer):
(WebCore::WebGLRenderingContext::createFramebuffer):
(WebCore::WebGLRenderingContext::createTexture):
(WebCore::WebGLRenderingContext::createProgram):
(WebCore::WebGLRenderingContext::createRenderbuffer):
(WebCore::WebGLRenderingContext::createShader):
(WebCore::WebGLRenderingContext::cullFace):
(WebCore::WebGLRenderingContext::deleteBuffer):
(WebCore::WebGLRenderingContext::deleteFramebuffer):
(WebCore::WebGLRenderingContext::deleteProgram):
(WebCore::WebGLRenderingContext::deleteRenderbuffer):
(WebCore::WebGLRenderingContext::deleteShader):
(WebCore::WebGLRenderingContext::deleteTexture):
(WebCore::WebGLRenderingContext::depthFunc):
(WebCore::WebGLRenderingContext::depthMask):
(WebCore::WebGLRenderingContext::depthRange):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::disableVertexAttribArray):
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::enableVertexAttribArray):
(WebCore::WebGLRenderingContext::finish):
(WebCore::WebGLRenderingContext::flush):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::frontFace):
(WebCore::WebGLRenderingContext::generateMipmap):
(WebCore::WebGLRenderingContext::getActiveAttrib):
(WebCore::WebGLRenderingContext::getActiveUniform):
(WebCore::WebGLRenderingContext::getAttachedShaders):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getContextAttributes):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getRenderbufferParameter):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getShaderSource):
(WebCore::WebGLRenderingContext::getTexParameter):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::isBuffer):
(WebCore::WebGLRenderingContext::isContextLost):
(WebCore::WebGLRenderingContext::isEnabled):
(WebCore::WebGLRenderingContext::isFramebuffer):
(WebCore::WebGLRenderingContext::isProgram):
(WebCore::WebGLRenderingContext::isRenderbuffer):
(WebCore::WebGLRenderingContext::isShader):
(WebCore::WebGLRenderingContext::isTexture):
(WebCore::WebGLRenderingContext::lineWidth):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::polygonOffset):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::releaseShaderCompiler):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::sampleCoverage):
(WebCore::WebGLRenderingContext::scissor):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::stencilFunc):
(WebCore::WebGLRenderingContext::stencilFuncSeparate):
(WebCore::WebGLRenderingContext::stencilMask):
(WebCore::WebGLRenderingContext::stencilMaskSeparate):
(WebCore::WebGLRenderingContext::stencilOp):
(WebCore::WebGLRenderingContext::stencilOpSeparate):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::texSubImage2DBase):
(WebCore::WebGLRenderingContext::texSubImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::uniform1f):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2f):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2i):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3f):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3i):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4f):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4i):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::useProgram):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
(WebCore::WebGLRenderingContext::viewport):
(WebCore::WebGLRenderingContext::loseContext):
(WebCore::WebGLRenderingContext::restoreContext):
(WebCore::WebGLRenderingContext::addObject):
(WebCore::WebGLRenderingContext::vertexAttribfImpl):
(WebCore::WebGLRenderingContext::vertexAttribfvImpl):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
* platform/graphics/GraphicsContext3D.h:
2010-11-03 Kenneth Russell <kbr@google.com>
Reviewed by Chris Marrin.
Redesign extension mechanism in GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=46894
Upon request, factored out extension support from GraphicsContext3D
into a new Extensions3D class. (The plural was chosen because the
class and subclasses hold multiple extensions.)
Unlike GraphicsContext3D, Extensions3D contains only pure virtual
methods. This was done because Extensions3D's inheritance diagram
and usage pattern is very different from that of GraphicsContext3D,
and the concrete subclasses need to decide how to implement the
various entry points. Requiring them to be placed at the
Extensions3D level will cause implementation details to leak into
the base class, which is highly undesirable. Any virtual call
overhead to these entry points will be negligible.
Changed call sites utilizing these extensions to call through the
Extensions3D object or its subclasses.
Tested:
- Chromium on Linux with accelerated 2D canvas and HTML5 video
- Chromium on Mac OS X with WebGL and CSS 3D content
- Safari on Mac OS X with WebGL and CSS 3D content
No new tests. Covered by existing tests.
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/Extensions3D.h: Added.
(WebCore::Extensions3D::~Extensions3D):
* platform/graphics/GraphicsContext3D.cpp:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::publishToPlatformLayer):
* platform/graphics/chromium/Extensions3DChromium.h: Added.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateTexture):
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::supportsBGRA):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
* platform/graphics/gpu/Texture.cpp:
(WebCore::convertFormat):
* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/opengl/Extensions3DOpenGL.cpp: Added.
(WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
(WebCore::Extensions3DOpenGL::~Extensions3DOpenGL):
(WebCore::Extensions3DOpenGL::supports):
(WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB):
* platform/graphics/opengl/Extensions3DOpenGL.h: Added.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getExtensions):
* platform/graphics/qt/Extensions3DQt.cpp: Added.
(WebCore::Extensions3DQt::Extensions3DQt):
(WebCore::Extensions3DQt::~Extensions3DQt):
(WebCore::Extensions3DQt::supports):
(WebCore::Extensions3DQt::getGraphicsResetStatusARB):
* platform/graphics/qt/Extensions3DQt.h: Added.
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::getExtensions):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::readbackHardwareToSoftware):
2010-11-03 Mike Thole <mthole@apple.com>
Reviewed by Darin Adler.
Tweak coding style (follow-up to r71264).
* platform/mac/Language.mm:
(WebCore::createHTTPStyleLanguageCode): Style tweaks.
2010-11-03 Darin Adler <darin@apple.com>
Updated Xcode projects by opening them with Xcode 3.2.4.
Updated svn:ignore for Xcode projects.
* manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added property svn:ignore.
* manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
2010-11-03 Matthew Delaney <mdelaney@apple.com>
Reviewed by Darin Adler.
Fix canvas/philip/tests/2d.pattern.image.undefined.html
https://bugs.webkit.org/show_bug.cgi?id=48894
* bindings/js/JSCanvasRenderingContext2DCustom.cpp: Changed error thrown to match the spec.
2010-11-03 Simon Fraser <simon.fraser@apple.com>
Reviewed by John Sullivan.
Crash when setting context font to bad value
https://bugs.webkit.org/show_bug.cgi?id=48948
Null-check the CSSValue passed to CSSStyleSelector::applyPropertyToStyle(),
since it may be null if the style declaration does not contain a value
for the 'font' property.
Test: fast/canvas/invalid-set-font-crash.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyPropertyToStyle):
2010-11-03 Mike Thole <mthole@apple.com>
Reviewed by Alexey Proskuryakov.
Crash under WebCore::platformDefaultLanguage() when using Arabic language
https://bugs.webkit.org/show_bug.cgi?id=48946
* platform/mac/Language.mm:
(WebCore::createHTTPStyleLanguageCode):
Retain the lowercaseLanguageCode string before returning it. This was the code path that
would lead to a crash. Also removed early return to prevent a leak of preferredLanguageCode.
2010-11-03 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
Made table column width allocation algorithms use logical widths.
Part of: Make tables work with vertical text
https://bugs.webkit.org/show_bug.cgi?id=46417
No new tests since tables dont support different block flows yet.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::AutoTableLayout):
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::fullRecalc):
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::insertSpanCell):
(WebCore::AutoTableLayout::layout):
* rendering/AutoTableLayout.h:
(WebCore::AutoTableLayout::Layout::Layout):
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
(WebCore::FixedTableLayout::computePreferredLogicalWidths):
(WebCore::FixedTableLayout::layout):
* rendering/FixedTableLayout.h:
* rendering/RenderTable.h:
(WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Renamed, but not changed yet.
2010-11-03 No'am Rosenthal <noam.rosenthal@nokia.com>
Unreviewed build fix for r71253
#endif for TILED_BACKING_STORE was at the wrong place.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
2010-11-03 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48945
Patch logicalLeftSelectionOffset and logicalRightSelectionOffset to be directionally abstract.
Also make sure writing mode roots are also selection painting roots.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::logicalLeftSelectionOffset):
(WebCore::RenderBlock::logicalRightSelectionOffset):
* rendering/RenderBlock.h:
2010-11-03 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: main resource is being re-assigned upon iframe's commit load.
https://bugs.webkit.org/show_bug.cgi?id=48940
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
(WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
2010-11-03 Nate Chapin <japhet@chromium.org>
Reviewed by Alexey Proskuryakov.
Wait to stop all loads for a frame being detached until after its
chidlren have been detached. This ensures that any loads started
by a child's unload event handler will be properly cancelled.
https://bugs.webkit.org/show_bug.cgi?id=46579
Tests: fast/loader/ping-error.html
http/tests/navigation/image-load-in-subframe-unload-handler.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::detachFromParent):
2010-11-03 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Simon Fraser.
Web Inspector: show proper image size for cached resources.
https://bugs.webkit.org/show_bug.cgi?id=48915
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
* inspector/front-end/ImageView.js:
(WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
(WebInspector.ImageView.prototype.contentTabSelected):
(WebInspector.ImageView.prototype._base64ToSize):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set finished):
(WebInspector.Resource.prototype.get content):
(WebInspector.Resource.prototype.requestContent):
(WebInspector.Resource.prototype._innerRequestContent):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.requestContent):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2010-11-03 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] GraphicsLayer: support tiling
https://bugs.webkit.org/show_bug.cgi?id=39691
Add support for TiledBackingStore in GraphicsLayerQt, when a layer is too large.
No new tests. Tests in LayoutTests/compositing/tiling now work with OpenGL enabled.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
(WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
(WebCore::GraphicsLayerQtImpl::recache):
(WebCore::GraphicsLayerQtImpl::paint):
(WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintBegin):
(WebCore::GraphicsLayerQtImpl::tiledBackingStorePaint):
(WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintEnd):
(WebCore::GraphicsLayerQtImpl::tiledBackingStoreContentsRect):
(WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
(WebCore::GraphicsLayerQtImpl::tiledBackingStoreVisibleRect):
2010-11-03 Tony Chang <tony@chromium.org>
Reviewed by Ojan Vafai.
Undo r54932 which inappropriately adjusts font sizes on zoomed pages
https://bugs.webkit.org/show_bug.cgi?id=48890
Test: editing/inserting/page-zoom-font-size.html
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
2010-11-03 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
Make collapsed borders in tables work with different block flows
https://bugs.webkit.org/show_bug.cgi?id=46191
No new tests since tables dont support different block flows yet.
This change still doesnt support cells whose block flow differs from the tables.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn): Updated for the renaming of styleOrColWidth().
(WebCore::AutoTableLayout::calcEffectiveWidth): Ditto.
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray): Ditto.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computePreferredLogicalWidths): Ditto.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleOrColLogicalWidth): Renamed styleOrColWidth() to this and
changed to use logical widths.
(WebCore::RenderTableCell::computePreferredLogicalWidths): Updated for the above rename.
(WebCore::RenderTableCell::updateLogicalWidth): Renamed updateWidth() to this and changed
to set the logical width.
(WebCore::RenderTableCell::collapsedStartBorder): Changed collapsedLeftBorder() into this.
Note that “start” here will refer to the tables block flow, not the cells, once we allow
the two to differ.
(WebCore::RenderTableCell::collapsedEndBorder): Similar.
(WebCore::RenderTableCell::collapsedBeforeBorder): Similar.
(WebCore::RenderTableCell::collapsedAfterBorder): Similar.
(WebCore::RenderTableCell::collapsedLeftBorder): Resolves “left” to a logical side using
the tables block flow.
(WebCore::RenderTableCell::collapsedRightBorder): Similar.
(WebCore::RenderTableCell::collapsedTopBorder): Similar.
(WebCore::RenderTableCell::collapsedBottomBorder): Similar.
(WebCore::RenderTableCell::borderStart): Use borderHalfStart().
(WebCore::RenderTableCell::borderEnd): Similar.
(WebCore::RenderTableCell::borderBefore): Similar.
(WebCore::RenderTableCell::borderAfter): Similar.
(WebCore::RenderTableCell::borderHalfLeft): Resolves “left” to a logical side using the
tables block flow.
(WebCore::RenderTableCell::borderHalfRight): Similar.
(WebCore::RenderTableCell::borderHalfTop): Similar.
(WebCore::RenderTableCell::borderHalfBottom): Similar.
(WebCore::RenderTableCell::borderHalfStart): Added. Uses collapsedStartBorder(). Splits odd
widths based on physical side.
(WebCore::RenderTableCell::borderHalfEnd): Similar.
(WebCore::RenderTableCell::borderHalfBefore): Similar.
(WebCore::RenderTableCell::borderHalfAfter): Similar.
(WebCore::RenderTableCell::collectBorderStyles): Use logical methods.
(WebCore::RenderTableCell::paintCollapsedBorder): Updated.
* rendering/RenderTableCell.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::setCellWidths): Updated for the renaming of updateWidth().
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::borderBefore): Added.
(WebCore::RenderStyle::borderAfter): Added.
(WebCore::RenderStyle::borderStart): Added.
(WebCore::RenderStyle::borderEnd): Adeed.
* rendering/style/RenderStyle.h:
2010-11-03 Dimitri Glazkov <dglazkov@chromium.org>
Fix Win build correctly after r71244 and r71248
* WebCore.vcproj/WebCore.vcproj: Added XML gobbledygook back.
* dom/DOMAllInOne.cpp: Added files to build into a combined file.
2010-11-03 Dimitri Glazkov <dglazkov@chromium.org>
Fix Qt, Win builds after r71244.
* WebCore.vcproj/WebCore.vcproj: Removed XML gobbledygook that prevents files from building.
* dom/Text.cpp:
(WebCore::Text::createRenderer): Moved parentOrHost inside ENABLE(SVG) guard.
2010-11-03 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48928
Rename all the selection gap functions to not be directionally specific. Left and Right turn into LogicalLeft and
LogicalRight. Horizontal becomes Line. Vertical becomes Block.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::fillSelectionGaps):
(WebCore::RenderBlock::fillInlineSelectionGaps):
(WebCore::RenderBlock::fillBlockSelectionGaps):
(WebCore::RenderBlock::fillLineSelectionGap):
(WebCore::RenderBlock::fillBlockSelectionGap):
(WebCore::RenderBlock::fillLogicalLeftSelectionGap):
(WebCore::RenderBlock::fillLogicalRightSelectionGap):
(WebCore::RenderBlock::getSelectionGapInfo):
(WebCore::RenderBlock::logicalLeftSelectionOffset):
(WebCore::RenderBlock::logicalRightSelectionOffset):
* rendering/RenderBlock.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::fillLineSelectionGap):
2010-11-03 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
https://bugs.webkit.org/show_bug.cgi?id=46015
This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
* Android.mk: Added EventContext, WindowEventContext files.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* dom/ContainerNode.cpp:
(WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
* dom/EventContext.cpp: Added.
* dom/EventContext.h: Added.
* dom/Node.cpp:
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
(WebCore::Node::createRendererIfNeeded): Ditto.
(WebCore::Node::parentOrHostNode): Added new helper method.
(WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
(WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
(WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
(WebCore::Node::topEventContext): Added.
(WebCore::eventHasListeners): Changed to use EventContexts.
(WebCore::Node::dispatchGenericEvent): Ditto.
* dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
and changed signature of eventAncestors to use EventContexts.
* dom/Text.cpp:
(WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
* page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
* rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
is deleted.
* svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
* svg/SVGElement.h: Ditto.
* dom/WindowEventContext.cpp: Added.
* dom/WindowEventContext.h: Added.
2010-11-02 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Fix console messages about starting and finishing profiling.
https://bugs.webkit.org/show_bug.cgi?id=48825
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
2010-11-03 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Andreas Kling.
chrome.dll!WebCore::SVGLength::SVGLength ...
https://bugs.webkit.org/show_bug.cgi?id=48831
Test: svg/dom/baseVal-animVal-crash.html
* svg/properties/SVGListPropertyTearOff.h:
(WebCore::SVGListPropertyTearOff::initialize): Renamed removeItemFromListIfNeeded to processIncomingListItem, to reflect its new job.
(WebCore::SVGListPropertyTearOff::insertItemBefore): Ditto.
(WebCore::SVGListPropertyTearOff::replaceItem): Ditto.
(WebCore::SVGListPropertyTearOff::appendItem): Ditto.
(WebCore::SVGListPropertyTearOff::processIncomingListItem): Copy incoming item, if necessary, see inline comments.
* svg/properties/SVGPropertyTearOff.h:
(WebCore::SVGPropertyTearOff::detachWrapper): Remove association with SVGAnimatedProperty, when wrapper is detached.
2010-11-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Andreas Kling.
Make it possible to delegate scrolling to the UI
https://bugs.webkit.org/show_bug.cgi?id=48907
Add a WebCore setting for delegating scrolling to the actual
WebKit view, which means that setScrollPosition will call
scrollContents directly without going though the scrollbar
code.
* page/FrameView.cpp:
(WebCore::FrameView::delegatesScrolling):
* page/FrameView.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setShouldDelegateScrolling):
* page/Settings.h:
(WebCore::Settings::shouldDelegateScrolling):
* platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollPosition):
* platform/ScrollView.h:
(WebCore::ScrollView::delegatesScrolling):
2010-11-03 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Add SharedBitmap
https://bugs.webkit.org/show_bug.cgi?id=28272
SharedBitmap is a helper class used as NativeImagePtr for WinCE.
It's wide used by WinCE graphics files as a replacement of HBITMAP.
Originally written by Yong Li <yong.li@torchmobile.com>.
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::TransparentLayerDC::TransparentLayerDC):
(WebCore::TransparentLayerDC::~TransparentLayerDC):
(WebCore::ScopeDCProvider::ScopeDCProvider):
(WebCore::ScopeDCProvider::~ScopeDCProvider):
(WebCore::GraphicsContext::drawText):
* platform/graphics/wince/SharedBitmap.cpp: Added.
(WebCore::SharedBitmap::create):
(WebCore::SharedBitmap::SharedBitmap):
(WebCore::SharedBitmap::~SharedBitmap):
(WebCore::SharedBitmap::resetPixels):
(WebCore::convert32To16):
(WebCore::SharedBitmap::to16bit):
(WebCore::SharedBitmap::freeMemory):
(WebCore::SharedBitmap::createHandle):
(WebCore::SharedBitmap::ensureHandle):
(WebCore::SharedBitmap::draw):
(WebCore::SharedBitmap::clipBitmap):
(WebCore::drawPatternSimple):
(WebCore::normalizePhase):
(WebCore::SharedBitmap::drawPattern):
(WebCore::SharedBitmap::DCProvider::getDC):
(WebCore::SharedBitmap::DCProvider::releaseDC):
(WebCore::SharedBitmap::clearPixels):
* platform/graphics/wince/SharedBitmap.h: Added.
(WebCore::DCProvider::getDC):
(WebCore::DCProvider::releaseDC):
(WebCore::DCProvider::DCHolder::DCHolder):
(WebCore::DCProvider::DCHolder::~DCHolder):
(WebCore::DCProvider::DCHolder::set):
(WebCore::DCProvider::DCHolder::get):
(WebCore::DCProvider::DCHolder::clearInternal):
(WebCore::DCProvider::DCHolder::setInternal):
2010-11-03 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
chrome.dll!WebCore::SVGListPropertyTearOff<...>::getItem ReadAV@NULL (578c0f7f21ca517ba29a4eafb7099c1b)
https://bugs.webkit.org/show_bug.cgi?id=48829
Share SVGPropertyTearOff wrapper cache between SVGAnimatedListPropertyTearOff::baseVal/animVal.
When modifying the list through baseVal, and then grabbing the animVal list an assertion was fired,
as the wrapper cache was out of sync with the underlying SVG*List vector.
Test: svg/dom/baseVal-animVal-list-crash.html
* svg/properties/SVGAnimatedListPropertyTearOff.h:
(WebCore::SVGAnimatedListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedListPropertyTearOff::animVal):
(WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
(WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
(WebCore::SVGAnimatedListPropertyTearOff::values):
(WebCore::SVGAnimatedListPropertyTearOff::wrappers):
(WebCore::SVGAnimatedListPropertyTearOff::create):
(WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
* svg/properties/SVGListPropertyTearOff.h:
(WebCore::SVGListPropertyTearOff::create):
(WebCore::SVGListPropertyTearOff::removeItemFromList):
(WebCore::SVGListPropertyTearOff::clear):
(WebCore::SVGListPropertyTearOff::numberOfItems):
(WebCore::SVGListPropertyTearOff::initialize):
(WebCore::SVGListPropertyTearOff::getItem):
(WebCore::SVGListPropertyTearOff::insertItemBefore):
(WebCore::SVGListPropertyTearOff::replaceItem):
(WebCore::SVGListPropertyTearOff::removeItem):
(WebCore::SVGListPropertyTearOff::appendItem):
(WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
(WebCore::SVGListPropertyTearOff::commitChange):
2010-11-02 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Remove obsolete code.
It is not required to push onload and DOMContentLoaded events times to the fresh instance of Inspector.
Network Panel is showing the markers only after reloading the inspected page.
https://bugs.webkit.org/show_bug.cgi?id=48854
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::mainResourceFiredDOMContentEvent):
(WebCore::InspectorController::mainResourceFiredLoadEvent):
* inspector/InspectorController.h:
2010-11-03 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Jeremy Orlow.
Web Inspector: brush up breakpoints UI and UX.
https://bugs.webkit.org/show_bug.cgi?id=48901
* inspector/front-end/BreakpointManager.js:
(WebInspector.DOMBreakpoint.prototype.populateLabelElement):
(WebInspector.XHRBreakpoint.prototype.populateLabelElement):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
(WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
(WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
(WebInspector.BreakpointItem):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/PropertiesSection.js:
(WebInspector.PropertiesSection):
* inspector/front-end/inspector.css:
(.monospace):
(body.platform-mac.platform-mac-snowleopard .source-code):
(body.platform-windows .monospace, body.platform-windows .source-code):
(body.platform-linux .monospace, body.platform-linux .source-code):
(.source-code):
(.section .header):
(.section .header::before):
(.section .header .title, .event-bar .header .title):
(.section .header .subtitle, .event-bar .header .subtitle):
(.section.expanded .properties, .event-bar.expanded .event-properties):
(.event-listener-breakpoints .event-category):
(.event-listener-breakpoints.properties-tree .children li):
(.event-listener-breakpoints .checkbox-elem):
(.event-bar):
(.event-bars .event-bar .header .title):
(.event-bars .event-bar .header::before):
(.pane > .body .info):
(.pane > .body .placard + .info):
(ol.breakpoint-list):
(.breakpoint-list li):
(.pane .breakpoint-hit):
(.cursor-pointer):
(.cursor-auto):
2010-11-03 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed.
Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48898
Fix Chromium/V8 build for real, verified using a local ToT Chromium build.
* bindings/scripts/CodeGeneratorV8.pm:
2010-11-03 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed.
Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48898
Next attempt to fix the Chromium/V8 builds - a class forward in the headers was still missing.
* bindings/scripts/CodeGeneratorV8.pm: Add SVGStringListPropertyTearOff in the V8SVGStringList header.
2010-11-03 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed.
Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48898
Attempt to fix the Chromium/V8 builds.
* bindings/scripts/CodeGeneratorV8.pm: Add missing "SVGStringListPropertyTearOff.h" include, also replaces some commas by semicolons (no idea why it worked before, Perl is not strict...)
2010-11-03 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48898
Convert SVGAnimatedString/SVGStringList to the new svg animated type concept.
SVGStringList is special compared to all other SVG*Lists, as it returns non-live elements.
That means myStringList.getItem(0) = 'foobar' doesn't take effect.
When appending an item to a SVGStringList, that has been taken from another list, it's not removed from the list origin.
That demanded a new SVGStringListPropertyTearOff which does just that.
Tests: svg/W3C-SVG-1.1-SE/types-dom-06-f.svg
svg/dom/SVGStringList.html
* GNUmakefile.am: Add SVGAnimatedString.h / SVGStringListPropertyTearOff.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedString as new style svg animated type. Map SVGStringList to SVGStringListPropertyTearOff.
* bindings/scripts/CodeGeneratorJS.pm: Handle SVGStringListPropertyTearOff in GetSVGPropertyTypes.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedString handling.
* svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
* svg/SVGAElement.cpp: Renamed target to svgTarget() to avoid clashes with Element::target(), adjust the bindings to call svgTarget() instead of target(), when processing SVGAElement.
(WebCore::SVGAElement::parseMappedAttribute):
(WebCore::SVGAElement::synchronizeProperty):
* svg/SVGAElement.h:
* svg/SVGAltGlyphElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
* svg/SVGAnimatedString.h: Added.
* svg/SVGCursorElement.h: Ditto.
* svg/SVGFEBlendElement.h: Ditto.
* svg/SVGFEColorMatrixElement.h: Ditto.
* svg/SVGFEComponentTransferElement.h: Ditto.
* svg/SVGFECompositeElement.h: Ditto.
* svg/SVGFEConvolveMatrixElement.h: Ditto.
* svg/SVGFEDiffuseLightingElement.h: Ditto.
* svg/SVGFEDisplacementMapElement.h: Ditto.
* svg/SVGFEGaussianBlurElement.h: Ditto.
* svg/SVGFEImageElement.h: Ditto.
* svg/SVGFEMergeNodeElement.h: Ditto.
* svg/SVGFEMorphologyElement.h: Ditto.
* svg/SVGFEOffsetElement.h: Ditto.
* svg/SVGFESpecularLightingElement.h: Ditto.
* svg/SVGFETileElement.h: Ditto.
* svg/SVGFilterElement.h: Ditto.
* svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
* svg/SVGForeignObjectElement.h: Ditto.
* svg/SVGGradientElement.h: Ditto.
* svg/SVGImageElement.h: Ditto.
* svg/SVGLengthList.idl: Remove leftover SVGListProperty marker.
* svg/SVGMPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
* svg/SVGPatternElement.h: Ditto.
* svg/SVGScriptElement.h: Ditto.
* svg/SVGStringList.cpp: Make SVGStringList a plain Vector<String>.
(WebCore::SVGStringList::commitChange): React to SVGStringList changes.
(WebCore::SVGStringList::reset):
(WebCore::SVGStringList::parse):
* svg/SVGStringList.h:
(WebCore::SVGStringList::SVGStringList):
* svg/SVGStyledElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
* svg/SVGTRefElement.h: Ditto.
* svg/SVGTests.cpp: Adapt to SVGStringList API changes.
(WebCore::SVGTests::SVGTests):
(WebCore::SVGTests::hasExtension):
(WebCore::SVGTests::isValid):
(WebCore::SVGTests::parseMappedAttribute):
(WebCore::SVGTests::isKnownAttribute):
* svg/SVGTests.h: Ditto.
(WebCore::SVGTests::requiredFeatures):
(WebCore::SVGTests::requiredExtensions):
(WebCore::SVGTests::systemLanguage):
* svg/SVGTextPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
* svg/SVGURIReference.h: Adapt to SVGStringList API changes.
(WebCore::SVGURIReference::~SVGURIReference):
* svg/SVGUseElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
* svg/SVGViewElement.cpp: Adapt to SVGStringList API changes.
(WebCore::SVGViewElement::SVGViewElement):
(WebCore::SVGViewElement::parseMappedAttribute):
* svg/SVGViewElement.h: Ditto.
(WebCore::SVGViewElement::viewTarget):
* svg/properties/SVGAnimatedPropertyMacros.h: Moved GetOwnerElementForType heleprs from SVGAnimatedPropertySynchronizer into this file.
* svg/properties/SVGAnimatedPropertySynchronizer.h:
* svg/properties/SVGPropertyTraits.h: Handle SVGStringList.
* svg/properties/SVGStringListPropertyTearOff.h: Added. This is a simplified version of SVGListPropertyTearOff, tied to SVGStringList and its special demands.
(WebCore::SVGStringListPropertyTearOff::create):
(WebCore::SVGStringListPropertyTearOff::clear):
(WebCore::SVGStringListPropertyTearOff::numberOfItems):
(WebCore::SVGStringListPropertyTearOff::initialize):
(WebCore::SVGStringListPropertyTearOff::getItem):
(WebCore::SVGStringListPropertyTearOff::insertItemBefore):
(WebCore::SVGStringListPropertyTearOff::replaceItem):
(WebCore::SVGStringListPropertyTearOff::removeItem):
(WebCore::SVGStringListPropertyTearOff::appendItem):
(WebCore::SVGStringListPropertyTearOff::SVGStringListPropertyTearOff):
2010-11-03 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
SVG FELighting performance issues
https://bugs.webkit.org/show_bug.cgi?id=48212
This patch speeds-up FELighting filter painting by 40%
It reduces the number of floating point operations and
empolys faster pixel manipulation (both for read and
write). Furthermore the length() member of FloatPoint3D
is made inline to speed up vector length calculations.
The lighting filter pixels tests are cover this patch.
* platform/graphics/FloatPoint3D.cpp:
* platform/graphics/FloatPoint3D.h:
(WebCore::FloatPoint3D::length):
* platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::LightingData::topLeft):
(WebCore::FELighting::LightingData::topRow):
(WebCore::FELighting::LightingData::topRight):
(WebCore::FELighting::LightingData::leftColumn):
(WebCore::FELighting::LightingData::interior):
(WebCore::FELighting::LightingData::rightColumn):
(WebCore::FELighting::LightingData::bottomLeft):
(WebCore::FELighting::LightingData::bottomRow):
(WebCore::FELighting::LightingData::bottomRight):
(WebCore::FELighting::inlineSetPixel):
(WebCore::FELighting::setPixel):
(WebCore::FELighting::drawLighting):
(WebCore::FELighting::apply):
* platform/graphics/filters/FELighting.h:
* platform/graphics/filters/LightSource.cpp:
(WebCore::PointLightSource::updatePaintingData):
(WebCore::SpotLightSource::updatePaintingData):
(WebCore::DistantLightSource::initPaintingData):
* platform/graphics/filters/LightSource.h:
2010-11-03 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
For unnamed frames, window.name returns a generated name
https://bugs.webkit.org/show_bug.cgi?id=6751
Part 2 of 2.
Fixes an issue where the window.name of an unnamed frame returns
a unique generated name that is used internally to identify the
frame. Instead, we should return an empty string as implied by
section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
This section describes that a browsing context can have no name or be
the empty string.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
frame name since this is valid as per the HTML5 spec.
(WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
since the loader code no longer depends on the frame name being unique.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::name): Modified to call FrameTree::name().
* page/FrameTree.cpp:
(WebCore::FrameTree::setName):
(WebCore::FrameTree::clearName):
* page/FrameTree.h:
(WebCore::FrameTree::name): Re-added; returns the DOM-specified name of the
frame. Previously, this method returned the internal frame name.
2010-11-03 takano takumi <takano1@asia.apple.com>
Reviewed by Dan Bernstein.
Add text-combine property to our property list. Reflect the setting to a RenderStyle object.
https://bugs.webkit.org/show_bug.cgi?id=48608
Test: fast/text/international/text-combine-parser-test.html
* css/CSSComputedStyleDeclaration.cpp: Added text-combine property support.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp: Added text-combine property support.
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h: Added a primitive value mapper for text-combine
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextCombine):
* css/CSSPropertyNames.in: Added "text-combine".
* css/CSSStyleSelector.cpp: Added text-combine property support.
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in: Added values for text-combine.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Added check of text-combine value.
* rendering/style/RenderStyle.h: Added accessors for text-combine.
(WebCore::InheritedFlags::textCombine):
(WebCore::InheritedFlags::setTextCombine):
(WebCore::InheritedFlags::initialTextCombine):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareNonInheritedData.cpp: Added text-combine property support.
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h: Added text-combine entry for RenderStyle object here.
2010-11-02 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
For unnamed frames, window.name returns a generated name
https://bugs.webkit.org/show_bug.cgi?id=6751
Part 1 of 2.
Towards fixing bug #6751, rename FrameTree::name() to FrameTree::uniqueName(),
which is more descriptive of its purpose. A follow up patch will re-add
FrameTree::name() which will return the DOM-specified name of the frame.
We will also take this opportunity to verify that we have found all the
call sites of FrameTree::name().
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
(WebCore::FrameLoader::commitProvisionalLoad): Ditto.
* loader/HistoryController.cpp:
(WebCore::HistoryController::saveDocumentState): Ditto.
(WebCore::HistoryController::restoreDocumentState): Ditto.
(WebCore::HistoryController::createItem): Ditto.
(WebCore::HistoryController::currentFramesMatchItem): Ditto.
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::progressStarted): Ditto.
(WebCore::ProgressTracker::progressCompleted): Ditto.
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create): Ditto.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::name): Ditto.
* page/FrameTree.cpp:
(WebCore::FrameTree::setName): Ditto.
(WebCore::FrameTree::clearName): Ditto.
(WebCore::FrameTree::uniqueChildName): Ditto.
(WebCore::FrameTree::child): Ditto.
(WebCore::FrameTree::find): Ditto.
* page/FrameTree.h:
(WebCore::FrameTree::uniqueName): Renamed (formerly FrameTree::name()).
2010-11-02 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
Add AudioProcessingEvent files
https://bugs.webkit.org/show_bug.cgi?id=48884
No new tests since audio API is not yet implemented.
* webaudio/AudioProcessingEvent.cpp: Added.
(WebCore::AudioProcessingEvent::create):
(WebCore::AudioProcessingEvent::AudioProcessingEvent):
(WebCore::AudioProcessingEvent::~AudioProcessingEvent):
(WebCore::AudioProcessingEvent::isAudioProcessingEvent):
* webaudio/AudioProcessingEvent.h: Added.
(WebCore::AudioProcessingEvent::inputBuffer):
(WebCore::AudioProcessingEvent::outputBuffer):
* webaudio/AudioProcessingEvent.idl: Added.
2010-11-02 Al Patrick <apatrick@chromium.org>
Reviewed by Kenneth Russell.
Added PluginLayerChromium, which composites plugin instances that have an associated OpenGL backing texture.
https://bugs.webkit.org/show_bug.cgi?id=48032
* WebCore.gypi:
* loader/SubframeLoader.cpp
(WebCore::SubframeLoader::loadPlugin):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setNeedsDisplay):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::pluginLayerSharedValues):
* platform/graphics/chromium/PluginLayerChromium.cpp: Added.
(WebCore::PluginLayerChromium::SharedValues::SharedValues):
(WebCore::PluginLayerChromium::SharedValues::~SharedValues):
(WebCore::PluginLayerChromium::create):
(WebCore::PluginLayerChromium::PluginLayerChromium):
(WebCore::PluginLayerChromium::updateContents):
(WebCore::PluginLayerChromium::draw):
* platform/graphics/chromium/PluginLayerChromium.h: Added.
(WebCore::PluginLayerChromium::drawsContent):
(WebCore::PluginLayerChromium::setTextureId):
(WebCore::PluginLayerChromium::SharedValues::shaderProgram):
(WebCore::PluginLayerChromium::SharedValues::shaderSamplerLocation):
(WebCore::PluginLayerChromium::SharedValues::shaderMatrixLocation):
(WebCore::PluginLayerChromium::SharedValues::shaderAlphaLocation):
(WebCore::PluginLayerChromium::SharedValues::initialized):
2010-11-02 James Simonsen <simonjam@chromium.org>
Reviewed by Adam Barth.
mathml in html sometimes incorrectly parsed
https://bugs.webkit.org/show_bug.cgi?id=48105
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag): Fixed to match HTML5 spec.
2010-11-02 Chris Guillory <chris.guillory@google.com>
Reviewed by Dmitry Titov.
Null check obj in AXObjectCache::postPlatformNotification.
https://bugs.webkit.org/show_bug.cgi?id=48896
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
2010-11-02 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Dumitru Daniliuc.
[FileSystem] Support not creating directories when queried by inspector.
https://bugs.webkit.org/show_bug.cgi?id=48169
* fileapi/LocalFileSystem.cpp:
(WebCore::openFileSystem):
(WebCore::LocalFileSystem::readFileSystem):
(WebCore::LocalFileSystem::requestFileSystem):
* fileapi/LocalFileSystem.h:
* platform/AsyncFileSystem.cpp:
(WebCore::AsyncFileSystem::openFileSystem):
* platform/AsyncFileSystem.h:
2010-11-02 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioBufferSourceNode files
https://bugs.webkit.org/show_bug.cgi?id=48012
No new tests since audio API is not yet implemented.
* webaudio/AudioBufferSourceNode.cpp: Added.
(WebCore::AudioBufferSourceNode::create):
(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
(WebCore::AudioBufferSourceNode::~AudioBufferSourceNode):
(WebCore::AudioBufferSourceNode::process):
(WebCore::AudioBufferSourceNode::provideInput):
(WebCore::AudioBufferSourceNode::readFromBuffer):
(WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
(WebCore::AudioBufferSourceNode::reset):
(WebCore::AudioBufferSourceNode::setBuffer):
(WebCore::AudioBufferSourceNode::numberOfChannels):
(WebCore::AudioBufferSourceNode::noteOn):
(WebCore::AudioBufferSourceNode::noteGrainOn):
(WebCore::AudioBufferSourceNode::noteOff):
(WebCore::AudioBufferSourceNode::totalPitchRate):
* webaudio/AudioBufferSourceNode.h: Added.
(WebCore::AudioBufferSourceNode::buffer):
(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):
(WebCore::AudioBufferSourceNode::gain):
(WebCore::AudioBufferSourceNode::playbackRate):
(WebCore::AudioBufferSourceNode::setPannerNode):
* webaudio/AudioBufferSourceNode.idl: Added.
2010-11-02 Martin Robinson <mrobinson@igalia.com>
Reviewed by Adam Barth.
[Cairo] Remove PlatformRefPtrCairo
https://bugs.webkit.org/show_bug.cgi?id=48192
Replace PlatformRefPtrCairo with a RefPtr specialization for Cairo and
Fontconfig types. This is the first step toward removing PlatformRefPtr,
whose job is better handled by RefPtr.
* CMakeListsEfl.txt: Update the sources list to include RefPtrCairo
instead of PlatformRefPtrCairo.
* GNUmakefile.am: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* platform/graphics/GraphicsContext.h: Replace PlatformRefPtrCairo with
RefPtrCairo.
* platform/graphics/cairo/CairoUtilities.cpp: Ditto.
(WebCore::drawPatternToCairoContext): Ditto.
* platform/graphics/cairo/FontCacheFreeType.cpp: Ditto.
(WebCore::FontCache::getFontDataForCharacters): Ditto.
(WebCore::FontCache::createFontPlatformData): Ditto.
* platform/graphics/cairo/FontPlatformDataFreeType.cpp: Ditto.
(WebCore::FontPlatformData::FontPlatformData): Ditto.
(WebCore::FontPlatformData::initializeWithFontFace): Ditto.
* platform/graphics/cairo/FontPlatformDataFreeType.h: Ditto.
* platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
* platform/graphics/cairo/ImageCairo.cpp: Ditto.
* platform/graphics/cairo/RefPtrCairo.cpp: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp.
(WTF::refIfNotNull): Added.
(WTF::derefIfNotNull): Added.
* platform/graphics/cairo/RefPtrCairo.h: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.h.
* platform/gtk/CursorGtk.cpp: Replace PlatformRefPtrCairo with
RefPtrCairo.
(WebCore::createNamedCursor): Ditto.
* platform/gtk/DragImageGtk.cpp: Ditto.
(WebCore::scaleDragImage): Ditto.
(WebCore::dissolveDragImageToFraction): Ditto.
* plugins/gtk/PluginViewGtk.cpp: Ditto.
(WebCore::PluginView::paint): Ditto.
2010-11-02 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Simple followup changes to files affected by AudioNodeInput thread safety
https://bugs.webkit.org/show_bug.cgi?id=48661
No new tests since audio API is not yet implemented.
* webaudio/AudioBasicProcessorNode.cpp:
(WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
* webaudio/AudioChannelSplitter.cpp:
(WebCore::AudioChannelSplitter::process):
* webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::initialize):
(WebCore::AudioDestinationNode::uninitialize):
(WebCore::AudioDestinationNode::provideInput):
* webaudio/AudioGainNode.cpp:
(WebCore::AudioGainNode::checkNumberOfChannelsForInput):
* webaudio/AudioPannerNode.cpp:
(WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
2010-11-02 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Chromium: Propagate a document value changed notification on scroll.
https://bugs.webkit.org/show_bug.cgi?id=48817
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isAccessibilityScrollbar):
* accessibility/AccessibilityScrollbar.h:
(WebCore::AccessibilityScrollbar::scrollbar):
(WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
2010-11-02 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add ConvolverNode files
https://bugs.webkit.org/show_bug.cgi?id=47941
No new tests since audio API is not yet implemented.
* webaudio/ConvolverNode.cpp: Added.
(WebCore::ConvolverNode::ConvolverNode):
(WebCore::ConvolverNode::~ConvolverNode):
(WebCore::ConvolverNode::process):
(WebCore::ConvolverNode::reset):
(WebCore::ConvolverNode::initialize):
(WebCore::ConvolverNode::uninitialize):
(WebCore::ConvolverNode::setBuffer):
(WebCore::ConvolverNode::buffer):
* webaudio/ConvolverNode.h: Added.
(WebCore::ConvolverNode::create):
* webaudio/ConvolverNode.idl: Added.
2010-11-02 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add RealtimeAnalyser files
https://bugs.webkit.org/show_bug.cgi?id=48810
No new tests since audio API is not yet implemented.
* webaudio/RealtimeAnalyser.cpp: Added.
(WebCore::RealtimeAnalyser::RealtimeAnalyser):
(WebCore::RealtimeAnalyser::~RealtimeAnalyser):
(WebCore::RealtimeAnalyser::reset):
(WebCore::RealtimeAnalyser::setFftSize):
(WebCore::RealtimeAnalyser::writeInput):
(WebCore::RealtimeAnalyser::doFFTAnalysis):
(WebCore::RealtimeAnalyser::getFloatFrequencyData):
(WebCore::RealtimeAnalyser::getByteFrequencyData):
(WebCore::RealtimeAnalyser::getByteTimeDomainData):
* webaudio/RealtimeAnalyser.h: Added.
(WebCore::RealtimeAnalyser::fftSize):
(WebCore::RealtimeAnalyser::frequencyBinCount):
(WebCore::RealtimeAnalyser::setMinDecibels):
(WebCore::RealtimeAnalyser::minDecibels):
(WebCore::RealtimeAnalyser::setMaxDecibels):
(WebCore::RealtimeAnalyser::maxDecibels):
(WebCore::RealtimeAnalyser::setSmoothingTimeConstant):
(WebCore::RealtimeAnalyser::smoothingTimeConstant):
(WebCore::RealtimeAnalyser::magnitudeBuffer):
2010-11-02 Ilya Sherman <isherman@chromium.org>
Reviewed by Kent Tamura.
Avoid overlapping label text in autofill popup with icon.
Updates the menu width computation to take the icon width into account.
https://bugs.webkit.org/show_bug.cgi?id=48497
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::paintRow):
(WebCore::PopupListBox::layout):
2010-10-28 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Perform framebuffer attachment checking upon draw call rather than attachment
https://bugs.webkit.org/show_bug.cgi?id=46318
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::getInternalFormat): Helper function to get an attachment's internal format.
(WebCore::isUninitialized): Helper function to decide if an attachment is initialized or not.
(WebCore::setInitialized): Helper funtion to set an attachment as being initialized.
(WebCore::WebGLFramebuffer::setAttachment): No longer perform buffer initialization at this point.
(WebCore::WebGLFramebuffer::removeAttachment): Ditto.
(WebCore::WebGLFramebuffer::getColorBufferFormat): Make it const.
(WebCore::WebGLFramebuffer::isIncomplete): Attachments conflict check.
(WebCore::WebGLFramebuffer::onAccess): Check atatchment conflicts and buffer initialization if necessary.
(WebCore::WebGLFramebuffer::initializeRenderbuffers): Return a boolean whether the framebuffer is complete or not.
* html/canvas/WebGLFramebuffer.h: Add new function declaration and remove some outdated functions.
(WebCore::WebGLFramebuffer::isColorAttached):
(WebCore::WebGLFramebuffer::isDepthAttached): Make this private.
(WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
(WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
* html/canvas/WebGLRenderbuffer.h:
(WebCore::WebGLRenderbuffer::setInternalFormat): Also set the renderbuffer as uninitialized.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bindFramebuffer): No longer perform framebuffer initialization at this point.
(WebCore::WebGLRenderingContext::checkFramebufferStatus): Check WebGL specific attachment conflicts.
(WebCore::WebGLRenderingContext::clear): Call WebGLFramebuffer::onAccess.
(WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
(WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::drawArrays): Ditto.
(WebCore::WebGLRenderingContext::drawElements): Ditto.
(WebCore::WebGLRenderingContext::framebufferRenderbuffer): No longer perform framebuffer initialization at this point.
(WebCore::WebGLRenderingContext::readPixels): Call WebGLFramebuffer::onAccess.
(WebCore::WebGLRenderingContext::renderbufferStorage): No longer perform framebuffer initialization at this point.
(WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
2010-11-01 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
blendFunc should generate INVALID_OPERATION if constant color and constant alpha are together as source and destination factors
https://bugs.webkit.org/show_bug.cgi?id=48674
Test: fast/canvas/webgl/webgl-specific.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::blendFunc):
(WebCore::WebGLRenderingContext::blendFuncSeparate):
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::validateBlendFuncFactors): Helper function to do the checking.
2010-11-02 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Overlapped nested iframes show smearing when scrolled
https://bugs.webkit.org/show_bug.cgi?id=48873
A FrameView goes into slow scrolling mode (not blitting) when told that it is
overlapped. However, a nested iframe could still try to use fast scrolling
when its parent is overlapped, which could result in bad rendering.
Fixed by making useSlowRepaints() and useSlowRepaintsIfNotOverlapped()
walk up their parent chain, asking if their parents also use slow
repaints.
All the places that call setCanBlitOnScroll() now call
updateCanBlitOnScrollRecursively() to ensure that the canBlitOnScroll
flag is updated correctly on subframes.
Repaint tests do not work on nested iframes, so added manual test.
* manual-tests/frames/nested-iframe-blit-on-scroll.html: Added.
* manual-tests/frames/resources/blit-on-scroll-subframe.html: Added.
* manual-tests/frames/resources/blit-on-scroll-subsubframe.html: Added.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::useSlowRepaints):
(WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
(WebCore::FrameView::updateCanBlitOnScrollRecursively):
(WebCore::FrameView::setUseSlowRepaints):
(WebCore::FrameView::addSlowRepaintObject):
(WebCore::FrameView::removeSlowRepaintObject):
(WebCore::FrameView::addFixedObject):
(WebCore::FrameView::removeFixedObject):
(WebCore::FrameView::setIsOverlapped):
(WebCore::FrameView::setContentIsOpaque):
* page/FrameView.h:
2010-11-02 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Iframes nested inside a compositing layer don't repaint correctly
https://bugs.webkit.org/show_bug.cgi?id=48880
<rdar://problem/8194698>
The isEnclosedInCompositingLayer() is used to modify the behavior of
-[WebClipView visibleRect:] in WebKit, so that scrolling-related repaints
are correct in composited iframes. Previously it only asked whether the
frame's renderer was in a compositing layer, but we actually need to
consult all ancestors.
Test: compositing/iframes/nested-iframe-scrolling.html
* page/FrameView.cpp:
(WebCore::FrameView::isEnclosedInCompositingLayer):
2010-11-02 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48672
Make vertical glyph offset hit testing work with inline boxes. This allows selection to paint
properly for vertical text (although gap-filling is still broken).
Refactored and cleaned up the writing mode flipping functions, and also did some cleanup to
better share code between hit testing and painting.
* rendering/InlineBox.cpp:
(WebCore::InlineBox::locationIncludingFlipping):
(WebCore::InlineBox::flipForWritingMode):
* rendering/InlineBox.h:
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paint):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::nodeAtPoint):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::textPos):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::hitTestContents):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::flipForWritingMode):
(WebCore::RenderBox::locationOffsetIncludingFlipping):
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
(WebCore::RenderLineBoxList::anyLineIntersectsRect):
(WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
(WebCore::RenderLineBoxList::paint):
(WebCore::RenderLineBoxList::hitTest):
* rendering/RenderLineBoxList.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::positionForPoint):
2010-11-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
JPEG decoders should understand color profiles
https://bugs.webkit.org/show_bug.cgi?id=48819
This patch is currently a no-op because no one defines USE(ICCJPEG).
We'll enable this for Chromium Mac once we have ICCJPEG landed in
Chromium's third_party directory.
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::readColorProfile):
(WebCore::JPEGImageReader::JPEGImageReader):
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::outputScanlines):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
(WebCore::JPEGImageDecoder::setColorProfile):
2010-11-02 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
[Chromium] Crash when encountering history.back() call during Page::goToItem execution
https://bugs.webkit.org/show_bug.cgi?id=48477
For the Chromium port, BackForwardList::itemAtIndex synthesizes a
HistoryItem and saves a pointer to it in m_pendingItem. During
Page::goToItem we call FrameLoader::stopAllLoaders, which can trigger
onload handlers (if a subframe was not considered committed by the frame
loader). If one of those handlers calls calls history.back() or another
operation that ends up in NavigationScheduler::scheduleHistoryNavigation,
we would call BackForwardList::itemAtIndex, which means that we would
lose the m_pendingItem RefPtr that pointed to the item being navigated
to, causing its ref count to go to 0*, and thus for the HistoryItem to
be deleted before we were done navigating to it.
This is fixed in two ways:
- Add a protector RefPtr in Page::goToItem to make sure that the item is
still around for when we pass it to HistoryController:goToItem.
- Change NavigationScheduler::scheduleHistoryNavigation to not use
BackForwardList::itemAtIndex and instead look at the
forward/backListCount() (since it doesn't actually care about the
returned HistoryItem).
* Full annotated stack trace of this is at http://crbug.com/59554#c9.
Test: http/tests/history/back-during-onload-triggered-by-back.html
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::scheduleHistoryNavigation):
* page/Page.cpp:
(WebCore::Page::goToItem):
2010-10-28 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Update getUniform for bvec[234] to return boolean[] rather than Uint8Array
https://bugs.webkit.org/show_bug.cgi?id=47568
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getUniform):
2010-11-02 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add RealtimeAnalyserNode files
https://bugs.webkit.org/show_bug.cgi?id=48798
No new tests since audio API is not yet implemented.
* webaudio/RealtimeAnalyserNode.cpp: Added.
(WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
(WebCore::RealtimeAnalyserNode::~RealtimeAnalyserNode):
(WebCore::RealtimeAnalyserNode::process):
(WebCore::RealtimeAnalyserNode::pullInputs):
(WebCore::RealtimeAnalyserNode::reset):
* webaudio/RealtimeAnalyserNode.h: Added.
(WebCore::RealtimeAnalyserNode::create):
(WebCore::RealtimeAnalyserNode::fftSize):
(WebCore::RealtimeAnalyserNode::setFftSize):
(WebCore::RealtimeAnalyserNode::frequencyBinCount):
(WebCore::RealtimeAnalyserNode::setMinDecibels):
(WebCore::RealtimeAnalyserNode::minDecibels):
(WebCore::RealtimeAnalyserNode::setMaxDecibels):
(WebCore::RealtimeAnalyserNode::maxDecibels):
(WebCore::RealtimeAnalyserNode::setSmoothingTimeConstant):
(WebCore::RealtimeAnalyserNode::smoothingTimeConstant):
(WebCore::RealtimeAnalyserNode::getFloatFrequencyData):
(WebCore::RealtimeAnalyserNode::getByteFrequencyData):
(WebCore::RealtimeAnalyserNode::getByteTimeDomainData):
* webaudio/RealtimeAnalyserNode.idl: Added.
2010-11-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r71152.
http://trac.webkit.org/changeset/71152
https://bugs.webkit.org/show_bug.cgi?id=48866
Causes lots and lots of crashes (Requested by jamesr_ on
#webkit).
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::JPEGImageReader):
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::outputScanlines):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
2010-11-02 Alexey Proskuryakov <ap@apple.com>
Reviewed by Timothy Hatcher.
https://bugs.webkit.org/show_bug.cgi?id=48813
<rdar://problem/8602552> REGRESSION (r63622): DNS prefetching for <link> tags doesn't work
in non-HTTP documents
Cannot test DNS prefetching.
* html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): We should be looking at
preferences, not at whether this document has prefetching enabled.
2010-11-02 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: Web Inspector: follow up to r71139. Fixed Mac monospace
height style.
* inspector/front-end/PropertiesSection.js:
(WebInspector.PropertiesSection):
* inspector/front-end/inspector.css:
2010-11-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
JPEG decoders should understand color profiles
https://bugs.webkit.org/show_bug.cgi?id=48819
This patch is currently a no-op because no one defines USE(ICCJPEG).
We'll enable this for Chromium Mac once we have ICCJPEG landed in
Chromium's third_party directory.
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::readColorProfile):
(WebCore::JPEGImageReader::JPEGImageReader):
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::outputScanlines):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
(WebCore::JPEGImageDecoder::setColorProfile):
2010-11-02 Ilya Sherman <isherman@chromium.org>
Reviewed by Simon Fraser.
Marks selectionStart() and selectionEnd() as const.
https://bugs.webkit.org/show_bug.cgi?id=48786
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::selectionStart):
(WebCore::HTMLTextFormControlElement::selectionEnd):
* html/HTMLFormControlElement.h:
2010-11-02 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Fix license for audio files
https://bugs.webkit.org/show_bug.cgi?id=48859
* webaudio/AudioChannelSplitter.cpp:
* webaudio/AudioChannelSplitter.h:
* webaudio/AudioDestinationNode.cpp:
* webaudio/AudioDestinationNode.h:
* webaudio/AudioGainNode.cpp:
* webaudio/AudioGainNode.h:
* webaudio/AudioPannerNode.cpp:
* webaudio/AudioPannerNode.h:
* webaudio/AudioPannerNode.idl:
2010-11-02 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
Remove special handling of HashTableDeletedValue in PlatformRefPtr and manually manage memory that cannot be controlled by HashTraits
https://bugs.webkit.org/show_bug.cgi?id=48841
Switch to manually managing the memory in FontPlatformDataFreeType. This
is necessary because smart pointers do not know how to deal with a pointer
value of -1 (HashTableDeletedValue) and HashTraits can only manage the type
contained in the HashMap.
No new tests as this should not change functionality.
* platform/graphics/cairo/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::~FontPlatformData):
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::initializeWithFontFace):
* platform/graphics/cairo/FontPlatformDataFreeType.h:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::scaledFont):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::isHashTableDeletedValue):
(WebCore::FontPlatformData::hashTableDeletedFontValue):
* platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/cairo/SimpleFontDataCairo.cpp:
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::containsCharacters):
(WebCore::SimpleFontData::platformWidthForGlyph):
2010-11-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
querySelectorAll('body>:last-child') does not work unless HTML file ends with 'new-line'.
https://bugs.webkit.org/show_bug.cgi?id=47166
We need to pop all the open elements when we end the document in the
AfterAfterBody state.
Test: fast/parser/pop-all-after-after-body.html
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-11-02 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Cleanup createGlobalImageFileDescriptor in ClipboardWin
https://bugs.webkit.org/show_bug.cgi?id=48189
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::writeURL):
2010-11-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: display frame names in the resources panel.
https://bugs.webkit.org/show_bug.cgi?id=48839
* inspector/Inspector.idl:
* inspector/InspectorResourceAgent.cpp:
(WebCore::frameId):
(WebCore::buildObjectForDocumentLoader):
(WebCore::buildObjectForFrame):
(WebCore::buildObjectForFrameTree):
(WebCore::InspectorResourceAgent::didCommitLoad):
(WebCore::InspectorResourceAgent::frameDetachedFromParent):
(WebCore::InspectorResourceAgent::frameForId):
(WebCore::InspectorResourceAgent::resourceContent):
* inspector/InspectorResourceAgent.h:
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
(WebInspector.ResourceManager.prototype._processCachedResources):
(WebInspector.ResourceManager.prototype._addFramesRecursively):
(WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
(WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.addOrUpdateFrame):
(WebInspector.BaseStorageTreeElement.prototype.get titleText):
(WebInspector.FrameTreeElement):
(WebInspector.FrameTreeElement.prototype.onattach):
(WebInspector.FrameTreeElement.prototype.get nameForSorting):
(WebInspector.FrameTreeElement.prototype.setTitles):
(WebInspector.FrameTreeElement.prototype.set hovered):
* inspector/front-end/inspector.css:
(li.selected .base-storage-tree-element-subtitle):
(.base-storage-tree-element-subtitle):
2010-11-02 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Follow up to r71139: removing unused images.
https://bugs.webkit.org/show_bug.cgi?id=48827
* WebCore.gypi:
* inspector/front-end/Images/grayConnectorPoint.png: Removed.
* inspector/front-end/Images/whiteConnectorPoint.png: Removed.
* inspector/front-end/WebKit.qrc:
2010-11-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: make properties and event listeners look consistent with the styles section.
https://bugs.webkit.org/show_bug.cgi?id=48827
* inspector/front-end/EventListenersSidebarPane.js:
* inspector/front-end/PropertiesSection.js:
(WebInspector.PropertiesSection):
* inspector/front-end/PropertiesSidebarPane.js:
(WebInspector.PropertiesSidebarPane.prototype.update.callback):
(WebInspector.PropertiesSidebarPane.prototype.update):
* inspector/front-end/inspector.css:
(.events-pane .section:not(:nth-of-type(1))):
(.event-bar:first-child):
(.section .header):
(.section .header::before):
(.section.expanded .header::before):
(.section .header .title, .event-bar .header .title):
(.section .header .subtitle, .event-bar .header .subtitle):
(.section.expanded .properties, .event-bar.expanded .event-properties):
(.properties-tree):
(.event-bar):
(.event-bars .event-bar .header):
(.event-bars .event-bar .header .title):
(.event-bars .event-bar .header::before):
2010-11-02 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Remove unused methods and member variables from AutoTableLayout.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::AutoTableLayout): Removed initialization of m_percentagesDirty
and m_totalPercent.
(WebCore::AutoTableLayout::fullRecalc): Removed setting of m_percentagesDirty.
(WebCore::AutoTableLayout::calcPercentages): Removed.
* rendering/AutoTableLayout.h: Removed totalPercent(), m_percentagesDirty, and m_totalPercent.
2010-11-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: clear / hide timing information for cached resources.
https://bugs.webkit.org/show_bug.cgi?id=48848
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set cached):
(WebInspector.Resource.prototype.get timing):
(WebInspector.Resource.prototype.set timing):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.markResourceAsCached):
2010-11-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: improve network's 'preview close' usability.
https://bugs.webkit.org/show_bug.cgi?id=48846
* inspector/front-end/networkPanel.css:
(#network-close-button:hover):
(#network-close-button:active):
2010-11-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Image heights are displayed as 0.
https://bugs.webkit.org/show_bug.cgi?id=40817
* inspector/front-end/ImageView.js:
(WebInspector.ImageView.prototype.contentTabSelected):
(WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
2010-10-31 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
Some refactor for texmap to enable WebKit2: remove globals, and allow TextureMapper to exist without a GraphicsContext.
This will allow rendering the TextureMapperNode tree without an active QPainter, into the current GL context.
Most of the changes simply move the globas in TextureMapperGL into members of that class.
No new tests. Old tests in LayoutTests/compositing cover this.
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::ShaderInfo::getUniformLocation):
(WebCore::TextureMapperGLData::ShaderInfo::createShaderProgram):
(WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
(WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
(WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
(WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
(WebCore::TextureMapperGLData::TextureMapperGLData):
(WebCore::TextureMapperGL::TextureMapperGL):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::BitmapTextureGL::setContentsToImage):
(WebCore::BitmapTextureGL::destroy):
(WebCore::TextureMapperGL::~TextureMapperGL):
(WebCore::TextureMapperGL::makeContextCurrent):
(WebCore::TextureMapperGL::obtainCurrentContext):
(WebCore::TextureMapperGL::bindSurface):
(WebCore::TextureMapperGL::paintToTarget):
(WebCore::TextureMapperGL::createTexture):
* platform/graphics/opengl/TextureMapperGL.h:
(WebCore::TextureMapperGL::data):
* platform/graphics/qt/TextureMapperQt.cpp:
(WebCore::TextureMapperQt::TextureMapperQt):
(WebCore::TextureMapperQt::setGraphicsContext):
(WebCore::TextureMapper::create):
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::TextureMapperNode::paint):
(WebCore::TextureMapperNode::uploadTextureFromContent):
* platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::setGraphicsContext):
(WebCore::TextureMapper::setImageInterpolationQuality):
(WebCore::TextureMapper::setTextDrawingMode):
(WebCore::TextureMapper::imageInterpolationQuality):
(WebCore::TextureMapper::textDrawingMode):
(WebCore::TextureMapper::TextureMapper):
* platform/graphics/texmap/TextureMapperPlatformLayer.h:
(WebCore::TextureMapperContentLayer::paint):
2010-11-02 Adele Peterson <adele@apple.com>
Reviewed by Kent Tamura.
Fix for https://bugs.webkit.org/show_bug.cgi?id=48814
<rdar://problem/8546143> Attempting to redo typing in apple.com/startpage search field causes infinite recursion in TextControlInnerTextElement::defaultEventHandler
Test: editing/undo/redo-after-detach.html
* rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerTextElement::defaultEventHandler):
A TextControlInnerTextElement will almost always have a shadowAncestorNode, the HTMLInputElement. In this case,
after the renderer was destroyed, this shadow node was kept alive by the EditCommand, even though its not hooked up
anymore to the shadow DOM. EditCommands can sometimes operate on stale selections and are expected to fail silently.
So here we prevent the infinite loop during event dispatch, and the rest of the redo operation will fail silently.
2010-11-02 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
When animations are paused, play-state can cause them to be unpaused.
https://bugs.webkit.org/show_bug.cgi?id=46525
I Changed updatePlayState() to only unpause when both play-state is
"running" and not suspended. Likewise I pause animation when either
play-state is "paused" or suspended.
Test: animations/play-state-suspend.html
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updatePlayState):
2010-11-02 Chris Marrin <cmarrin@apple.com>
Reviewed by Adam Roben.
Make RenderStyle::playState() return typed value and cleanup naming in Animation code
https://bugs.webkit.org/show_bug.cgi?id=48844
playState() function was returning unsigned value, but there is a EAnimPlayState
enum type which has the legal playState values. This type is now used everywhere.
I also changed the naming of the m_isSuspended to m_suspended to match the style
elsewhere in the code.
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updatePlayState):
* page/animation/AnimationBase.h:
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::updateAnimationTimer):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::suspendAnimations):
(WebCore::CompositeAnimation::resumeAnimations):
* page/animation/CompositeAnimation.h:
(WebCore::CompositeAnimation::suspended):
(WebCore::CompositeAnimation::CompositeAnimation):
* platform/animation/Animation.h:
(WebCore::Animation::playState):
(WebCore::Animation::setPlayState):
(WebCore::Animation::initialAnimationPlayState):
2010-11-01 Zhenyao Mo <zmo@google.com>
Reviewed by Andreas Kling.
vertexAttribPointer should generate INVALID_VALUE if the stride exceeds 255
https://bugs.webkit.org/show_bug.cgi?id=48677
Test: fast/canvas/webgl/gl-vertexattribpointer.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::vertexAttribPointer): Generate INVALID_VALUE if stride > 255.
2010-11-01 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
https://bugs.webkit.org/show_bug.cgi?id=48805
Track active WebSocket handles via a sequential id. This ensures
that when a handle is reallocated into a recently used segment of
memory, it doesn't trigger a false positive in the code which ensures
the original handle is active.
No new tests. This test should stop crashing on the bots, proving the fix.
* platform/network/soup/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::id): Added an m_id member and accessor
to SocketStreamHandle.
* platform/network/soup/SocketStreamHandleSoup.cpp:
(WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
SocketStreamHandle*.
(WebCore::deactivateHandle): Ditto.
(WebCore::activateHandle): Ditto.
(WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
(WebCore::SocketStreamHandle::connected): Ditto.
(WebCore::SocketStreamHandle::readBytes): Ditto.
(WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
(WebCore::connectedCallback): Ditto.
(WebCore::readReadyCallback): Ditto.
(WebCore::writeReadyCallback): Ditto.
2010-11-02 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed trivial fix.
* WebCore.pro: Remove inspector/InspectorResource.h after r71035.
2010-11-02 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: make xhr breakpoints editable
https://bugs.webkit.org/show_bug.cgi?id=48830
* inspector/front-end/BreakpointManager.js:
(WebInspector.Breakpoint.prototype.set sourceText):
(WebInspector.Breakpoint.prototype.click):
(WebInspector.Breakpoint.prototype.populateLabelElement):
(WebInspector.XHRBreakpoint.prototype.populateEditElement):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
(WebInspector.BreakpointsSidebarPane.prototype._breakpointItemClicked):
(WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
(WebInspector.BreakpointsSidebarPane.prototype._addListElement):
(WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
(WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
(WebInspector.XHRBreakpointsSidebarPane):
(WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
(WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
(WebInspector.XHRBreakpointsSidebarPane.prototype._breakpointItemClicked):
(WebInspector.BreakpointItem):
(WebInspector.BreakpointItem.prototype.get element):
(WebInspector.BreakpointItem.prototype.click):
(WebInspector.BreakpointItem.prototype.populateEditElement):
(WebInspector.BreakpointItem.prototype.remove):
(WebInspector.BreakpointItem.prototype._hitStateChanged):
(WebInspector.BreakpointItem.prototype._labelChanged):
(WebInspector.BreakpointItem.prototype._createLabelElement):
* inspector/front-end/inspector.js:
(WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
(WebInspector.createJSBreakpointsSidebarPane):
(WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
(WebInspector.createDOMBreakpointsSidebarPane):
(WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
(WebInspector.createXHRBreakpointsSidebarPane):
2010-11-02 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: fix for breakpoints not restored on live edit bug
https://bugs.webkit.org/show_bug.cgi?id=48833
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.debuggerPaused):
* inspector/front-end/inspector.js:
(WebInspector.pausedScript):
2010-11-02 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] Rule addition/selector editing result in unusable rules
https://bugs.webkit.org/show_bug.cgi?id=48826
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.setRuleSelector):
(WebInspector.CSSStyleModel.prototype.addRule):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
2010-11-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Andreas Kling.
[Qt] Don't include Objective-C sources in SOURCES
* WebCore.pro:
2010-11-02 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: persist native breakpoints in localStorage
https://bugs.webkit.org/show_bug.cgi?id=48711
* inspector/InspectorController.cpp:
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::clearNativeBreakpoints):
* inspector/InspectorController.h:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.DOMBreakpoint):
(WebInspector.EventListenerBreakpoint):
(WebInspector.EventListenerBreakpoint.eventNameForUI):
(WebInspector.EventListenerBreakpoint.prototype._uiEventName):
(WebInspector.XHRBreakpoint):
(WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
(WebInspector.BreakpointsSidebarPane.prototype._breakpointHit):
(WebInspector.BreakpointItem.prototype._hitStateChanged):
(WebInspector.EventListenerBreakpointsSidebarPane):
* inspector/front-end/ConsoleView.js:
* inspector/front-end/EventListenersSidebarPane.js:
* inspector/front-end/NetworkPanel.js:
* inspector/front-end/Panel.js:
* inspector/front-end/ResourceView.js:
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/Settings.js:
(WebInspector.Settings):
(WebInspector.Settings.prototype.inspectedURLChanged):
(WebInspector.Settings.prototype._formatProjectKey):
* inspector/front-end/StoragePanel.js:
* inspector/front-end/StylesSidebarPane.js:
* inspector/front-end/WatchExpressionsSidebarPane.js:
* inspector/front-end/inspector.css:
(.pane .breakpoint-hit):
* inspector/front-end/inspector.js:
(WebInspector.set currentPanel):
(WebInspector.doLoadedDone.onPopulateScriptObjects):
(WebInspector.doLoadedDone):
(WebInspector.reset):
(WebInspector.inspectedURLChanged):
2010-11-01 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: use mimeType from cached resource
in case response data contains none.
https://bugs.webkit.org/show_bug.cgi?id=48773
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveResponse):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._createTable):
2010-11-01 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [Extensions API] expose API to create properties watch sidebar panes
https://bugs.webkit.org/show_bug.cgi?id=48761
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
(WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane.callbackWrapper):
(WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane):
(WebInspector.injectedExtensionAPI):
(WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl):
(WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setExpression):
(WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
* inspector/front-end/ExtensionPanel.js: Added ExtensionWatchSidebarPane
(WebInspector.ExtensionWatchSidebarPane):
(WebInspector.ExtensionWatchSidebarPane.prototype.setObject):
(WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
(WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
(WebInspector.ExtensionWatchSidebarPane.prototype._setObject):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype.notifyExtensionWatchSidebarUpdated):
(WebInspector.ExtensionServer.prototype._onCreateSidebar):
(WebInspector.ExtensionServer.prototype._onCreateWatchExpressionSidebarPane):
(WebInspector.ExtensionServer.prototype._createSidebar):
(WebInspector.ExtensionServer.prototype._onSetWatchSidebarContent):
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.):
* inspector/front-end/RemoteObject.js: Added a wrapper for local JSON object to simulate RemoteObject interface.
(WebInspector.RemoteObject.fromLocalObject):
(WebInspector.LocalJSONObject):
(WebInspector.LocalJSONObject.prototype.get description):
(WebInspector.LocalJSONObject.prototype.get type):
(WebInspector.LocalJSONObject.prototype.get hasChildren):
(WebInspector.LocalJSONObject.prototype.getOwnProperties):
(WebInspector.LocalJSONObject.prototype.getProperties):
(WebInspector.LocalJSONObject.prototype.isError):
2010-11-02 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed build fix for EFL build with libcurl
[EFL] remove multiple definition with libcurl
https://bugs.webkit.org/show_bug.cgi?id=48499
Add macro to isolate setCookieStoragePrivateBrowsingEnabled from EFL
build because it was duplicated.
* platform/network/curl/CookieJarCurl.cpp:
2010-11-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: highlight frame on hover in resources panel.
https://bugs.webkit.org/show_bug.cgi?id=48760
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::highlightFrame):
* inspector/InspectorController.h:
(WebCore::InspectorController::hideFrameHighlight):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.showView):
(WebInspector.StoragePanel.prototype._onmousemove):
(WebInspector.StoragePanel.prototype._onmouseout):
(WebInspector.FrameTreeElement.prototype.onselect):
(WebInspector.FrameTreeElement.prototype.ondeselect):
(WebInspector.FrameTreeElement.prototype.set displayName):
(WebInspector.FrameTreeElement.prototype.set hovered):
* inspector/front-end/inspector.css:
(.storage.panel .sidebar li.selected .selection):
(.storage.panel .sidebar :focus li.selected .selection):
(body.inactive .storage.panel .sidebar li.selected .selection):
2010-11-02 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis.
Convert SVGPreserveAspectRatio to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48822
Convert the next type to use the SVGPropertyTearOffConcept. Just SVGAnimatedTransformList/SVGTransform/SVGStringList are missing.
Tests: svg/dom/SVGAnimatedPreserveAspectRatio.html
svg/dom/SVGPreserveAspectRatio.html
* GNUmakefile.am: Add SVGAnimatedPreserveAspectRatio.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedPreserveAspectRatio as new style animated type.
* bindings/scripts/CodeGeneratorJS.pm: Remove special SVGPreserveAspectRatio handling.
* bindings/scripts/CodeGeneratorObjC.pm: Always include the type wrapped by SVGPropertyTearOff<> - this was missing before, and now become visible as missing include.
* bindings/scripts/CodeGeneratorV8.pm: Remove special SVGPreserveAspectRatio handling.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGPreserveAspectRatio handling.
* svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
* svg/SVGAnimatedPreserveAspectRatio.h: Added.
* svg/SVGFEImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
* svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::viewBoxToViewTransform): SVGPreserveAspectRatio::getCTM doesn't need x/y parameters, they were not used anywhere, remove them.
* svg/SVGFitToViewBox.h: Replace includes by class forwards.
* svg/SVGImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
* svg/SVGLocatable.cpp: Add SVGNames.h include, to allow Qt to build (thanks ews!).
* svg/SVGMarkerElement.h: Ditto.
* svg/SVGPatternElement.h: Ditto.
* svg/SVGPreserveAspectRatio.cpp: Modernize code, add error handling for align/meetOrSlice covered by the new tests.
(WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
(WebCore::SVGPreserveAspectRatio::setAlign):
(WebCore::SVGPreserveAspectRatio::setMeetOrSlice):
(WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
(WebCore::SVGPreserveAspectRatio::transformRect):
(WebCore::SVGPreserveAspectRatio::getCTM):
(WebCore::SVGPreserveAspectRatio::valueAsString):
* svg/SVGPreserveAspectRatio.h: Reindented header.
(WebCore::SVGPreserveAspectRatio::align): Inlined.
(WebCore::SVGPreserveAspectRatio::meetOrSlice): Inlined.
* svg/SVGPreserveAspectRatio.idl: Enable StrictTypeChecking for the align/meetOrSlice properties.
* svg/SVGSVGElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
* svg/SVGStyledTransformableElement.h: Add SVGAnimatedPropertyMacros.h include, needed by efl to build (thanks ews!).
* svg/SVGSymbolElement.h: Ditto.
* svg/SVGViewElement.h: Ditto.
* svg/SVGViewSpec.h: Ditto.
2010-11-01 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
@spellcheck attribute at the child of contentEditable node is ignored.
https://bugs.webkit.org/show_bug.cgi?id=48418
Changed to check spellcheck availability against a node under the
selection (caret) instead of the focus. For shadow elements, the
check now refers its host node. Note that the original code didn't
care shadows because focus is never set on them.
Test: editing/spelling/spelling-attribute-at-child.html
* dom/Element.h:
* editing/Editor.cpp:
(WebCore::Editor::markMisspellingsOrBadGrammar):
(WebCore::Editor::isSpellCheckingEnabledFor):
(WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Now just calling isSpellCheckingEnabledFor()
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
* editing/Editor.h:
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::isSpellCheckingEnabled): Added.
* rendering/TextControlInnerElements.h:
2010-11-01 Martin Robinson <mrobinson@igalia.com>
Reviewed by Daniel Bates.
[GTK] PopupMenuGtk has a very confusing if-else block
https://bugs.webkit.org/show_bug.cgi?id=48816
Small code cleanup for PopupMenuGtk.
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::show):
2010-11-01 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
[Chromium] Add ICC support for PNG on Mac
https://bugs.webkit.org/show_bug.cgi?id=48170
This just pipes the ICC profile from libpng to CoreGraphics. This
patch would have been a lot prettier on Snow Leopard, but we have to
use a somewhat ugly API to get this to work on Leopard.
This is covered by about infinite tests.
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::RGBA32Buffer::setColorProfile):
* platform/image-decoders/ImageDecoder.h:
* platform/image-decoders/cg/ImageDecoderCG.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
* platform/image-decoders/qt/RGBA32BufferQt.cpp:
(WebCore::RGBA32Buffer::setColorProfile):
* platform/image-decoders/skia/ImageDecoderSkia.cpp:
(WebCore::RGBA32Buffer::setColorProfile):
2010-11-01 Chang Shu <chang.shu@nokia.com>
Reviewed by Antonio Gomes.
Leave SelectElement key handling without setting event default
handled when the selection reaches the boundary so focus can
move to neighbor nodes in spatial navigation.
https://bugs.webkit.org/show_bug.cgi?id=48145
* dom/SelectElement.cpp:
(WebCore::SelectElement::listBoxDefaultEventHandler):
2010-11-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r71080.
http://trac.webkit.org/changeset/71080
https://bugs.webkit.org/show_bug.cgi?id=48815
This change caused many crashes on the debug bot. (Requested
by mrobinson on #webkit).
* platform/network/soup/SocketStreamHandle.h:
* platform/network/soup/SocketStreamHandleSoup.cpp:
(WebCore::isActiveHandle):
(WebCore::deactivateHandle):
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::connected):
(WebCore::SocketStreamHandle::readBytes):
(WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
(WebCore::connectedCallback):
(WebCore::readReadyCallback):
(WebCore::writeReadyCallback):
2010-11-01 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
https://bugs.webkit.org/show_bug.cgi?id=48805
Track active WebSocket handles via a sequential id. This ensures
that when a handle is reallocated into a recently used segment of
memory, it doesn't trigger a false positive in the code which ensures
the original handle is active.
No new tests. This test should stop crashing on the bots, proving the fix.
* platform/network/soup/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::id): Added an m_id member and accessor
to SocketStreamHandle.
* platform/network/soup/SocketStreamHandleSoup.cpp:
(WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
SocketStreamHandle*.
(WebCore::deactivateHandle): Ditto.
(WebCore::activateHandle): Ditto.
(WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
(WebCore::SocketStreamHandle::connected): Ditto.
(WebCore::SocketStreamHandle::readBytes): Ditto.
(WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
(WebCore::connectedCallback): Ditto.
(WebCore::readReadyCallback): Ditto.
(WebCore::writeReadyCallback): Ditto.
2010-11-01 Kent Tamura <tkent@chromium.org>
Unreviewed. Run sort-Xcode-project-file.
* WebCore.xcodeproj/project.pbxproj:
2010-11-01 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Assertion failure in FrameView::layout when clicking on a YouTube video on youtube.com front page
https://bugs.webkit.org/show_bug.cgi?id=44287
When removing subframes, it's possible for layout() to get called on a FrameView
for a Frame that has been removed from the frame tree. This can happen if the parent
document happens to do a layout() while RenderView still has a reference to the widget
for the removed frame; updateWidgetPosition() will try to force a layout() on the
subframe.
Fix by checking that the FrameView's Frame still has a reference to the page before
calling layout() on the subframe.
Test: fast/frames/layout-after-destruction.html
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetPosition):
2010-11-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r71065.
http://trac.webkit.org/changeset/71065
https://bugs.webkit.org/show_bug.cgi?id=48801
Seem to breake a lot of tests on Chromium bots (Requested by
dimich on #webkit).
* platform/image-decoders/ImageDecoder.cpp:
* platform/image-decoders/ImageDecoder.h:
* platform/image-decoders/cg/ImageDecoderCG.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
* platform/image-decoders/qt/RGBA32BufferQt.cpp:
* platform/image-decoders/skia/ImageDecoderSkia.cpp:
2010-11-01 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Setting attr repeatDur=0 on SVG element causes hang
https://bugs.webkit.org/show_bug.cgi?id=48785
Test: svg/animations/repeatDur-zero.xhtml
* svg/animation/SVGSMILElement.cpp: Fixing bound checking for legal repeatDur values.
2010-10-31 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
[Chromium] Add ICC support for PNG on Mac
https://bugs.webkit.org/show_bug.cgi?id=48170
This just pipes the ICC profile from libpng to CoreGraphics. This
patch would have been a lot prettier on Snow Leopard, but we have to
use a somewhat ugly API to get this to work on Leopard.
This is covered by about infinite tests.
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::RGBA32Buffer::setColorProfile):
* platform/image-decoders/ImageDecoder.h:
* platform/image-decoders/cg/ImageDecoderCG.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
* platform/image-decoders/qt/RGBA32BufferQt.cpp:
(WebCore::RGBA32Buffer::setColorProfile):
* platform/image-decoders/skia/ImageDecoderSkia.cpp:
(WebCore::RGBA32Buffer::setColorProfile):
2010-11-01 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48776
Change isVertical() on InlineBox to isHorizontal() instead. This makes the horizontal code path come
first if you branch on isHorizontal() and makes the code read better (since that's the more common code
path).
* rendering/InlineBox.cpp:
(WebCore::InlineBox::logicalHeight):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::isHorizontal):
(WebCore::InlineBox::setIsHorizontal):
(WebCore::InlineBox::width):
(WebCore::InlineBox::height):
(WebCore::InlineBox::logicalLeft):
(WebCore::InlineBox::setLogicalLeft):
(WebCore::InlineBox::logicalTop):
(WebCore::InlineBox::setLogicalTop):
(WebCore::InlineBox::baselinePosition):
(WebCore::InlineBox::lineHeight):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::computeBlockDirectionOverflow):
(WebCore::InlineFlowBox::paintFillLayer):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::marginLogicalLeft):
(WebCore::InlineFlowBox::marginLogicalRight):
(WebCore::InlineFlowBox::borderLogicalLeft):
(WebCore::InlineFlowBox::borderLogicalRight):
(WebCore::InlineFlowBox::paddingLogicalLeft):
(WebCore::InlineFlowBox::paddingLogicalRight):
(WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
(WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::applyShadowToGraphicsContext):
(WebCore::paintTextWithShadows):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintDecoration):
* rendering/InlineTextBox.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::createLineBoxes):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::blockDirectionOverflow):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::hitTest):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::placeEllipsis):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::baselinePosition):
(WebCore::RootInlineBox::lineHeight):
2010-11-01 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Multiple background properties are not retrievable via DOM method getComputedStyle
https://bugs.webkit.org/show_bug.cgi?id=23203
Return lists of values from getComputedStyle() for multiple backgrounds,
and multiple masks.
Test: fast/backgrounds/multiple-backgrounds-computed-style.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::fillSizeToCSSValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2010-11-01 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48663
Make repaint invalidation work with vertical lines. Rewrite linesBoundingBox for RenderText and
RenderInline to give the correct rectangle back for vertical lines. Also patch linesVisibleOverflowBoundingBox
to give back the correct rectangle for vertical lines.
Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
Patch hit testing to also account for "rt" and "bt" blocks.
* rendering/InlineBox.cpp:
(WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
(WebCore::InlineFlowBox::logicalRightVisibleOverflow):
(WebCore::InlineFlowBox::bottomLayoutOverflow):
(WebCore::InlineFlowBox::rightLayoutOverflow):
(WebCore::InlineFlowBox::bottomVisualOverflow):
(WebCore::InlineFlowBox::rightVisualOverflow):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::hitTestContents):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::linesBoundingBox):
(WebCore::RenderInline::linesVisibleOverflowBoundingBox):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
* rendering/RenderText.cpp:
(WebCore::RenderText::linesBoundingBox):
2010-11-01 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
Context menu support for WebKit 2.
Add a "showContextMenu" call to Chrome/ChromeClient:
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::showContextMenu):
* page/Chrome.cpp:
(WebCore::Chrome::showContextMenu):
* page/Chrome.h:
* page/ChromeClient.h:
Add a "platform description to ContextMenuItem" creator, will be needed by WebKit2
* platform/ContextMenu.h:
* platform/mac/ContextMenuMac.mm:
(WebCore::contextMenuItemVector):
* platform/mac/ContextMenuItemMac.mm:
(WebCore::ContextMenuItem::checked): WebKit2 ports now need this implemented.
Stub these out to keep their WK2 ports building:
* platform/qt/ContextMenuItemQt.cpp:
(WebCore::ContextMenuItem::checked):
* platform/qt/ContextMenuQt.cpp:
(WebCore::contextMenuItemVector):
* platform/win/ContextMenuItemWin.cpp:
(WebCore::ContextMenuItem::checked):
* platform/win/ContextMenuWin.cpp:
(WebCore::contextMenuItemVector):
2010-11-01 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adam Roben.
Seeking by very small increment doesn't generate 'seeked' event
https://bugs.webkit.org/show_bug.cgi?id=48530
Test: media/video-seek-by-small-increment.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
avoid asking it to seek to the current time.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::mediaTimeForTimeValue): New.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTMovie.cpp:
(QTMovie::timeScale): Return the movie's time scale.
* platform/graphics/win/QTMovie.h:
2010-11-01 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: Chromium build fix. Adding missing transitive dependency.
* inspector/InspectorResourceAgent.cpp:
2010-11-01 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Removing references to removed file from project files.
* WebCore.gypi:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
2010-11-01 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: remove old resources panel.
https://bugs.webkit.org/show_bug.cgi?id=45657
* CMakeLists.txt:
* English.lproj/localizedStrings.js:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSInjectedScriptHostCustom.cpp:
* inspector/InjectedScriptHost.cpp:
* inspector/Inspector.idl:
* inspector/InspectorCSSStore.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::unbindAllResources):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::frameDetachedFromParent):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::markResourceAsCached):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
(WebCore::InspectorController::didCreateWebSocket):
(WebCore::InspectorController::willSendWebSocketHandshakeRequest):
(WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorController::didCloseWebSocket):
* inspector/InspectorController.h:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorResource.cpp: Removed.
* inspector/InspectorResource.h: Removed.
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setOverrideContent):
* inspector/InspectorResourceAgent.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.addMessage):
(WebInspector.ConsoleView.prototype.clearMessages):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
* inspector/front-end/Images/resourcesSilhouette.png: Removed.
* inspector/front-end/Resource.js:
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.getContent):
* inspector/front-end/ResourcesPanel.js: Removed.
* inspector/front-end/Settings.js:
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.get toolbarItemLabel):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
(WebInspector.get networkResources):
(WebInspector.forAllResources):
(WebInspector.resourceForURL):
(WebInspector.doLoadedDone.populateInspectorState):
(WebInspector.openResource):
(WebInspector.domContentEventFired):
(WebInspector.loadEventFired):
(WebInspector.reset):
(WebInspector._choosePanelToShowSourceLine):
2010-10-28 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Fix enum naming style violation in GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=48441
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::extractImageData):
(WebCore::GraphicsContext3D::extractTextureData):
(WebCore::doPacking):
(WebCore::GraphicsContext3D::packPixels):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::getSourceDataFormat):
(WebCore::GraphicsContext3D::getImageData):
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-11-01 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Pasting markup into Thunderbird compose window produces no text
https://bugs.webkit.org/show_bug.cgi?id=43737
Include a content-type meta tag prefix on all clipboard markup. Programs like
Thunderbird expect this meta tag and will not paste anything unless it is there.
This is covered by changes to WebKit/gtk/tests/testcopyandpaste.c. This patch was
written in such a way as to not affect layout test results, otherwise there
would be many new GTK+-specific results that say "FAIL").
* platform/gtk/PasteboardHelper.cpp:
(WebCore::removeMarkupPrefix): Added this helper which removes the prefix
when found on incoming clipboard and drag-and-drop text.
(WebCore::PasteboardHelper::getClipboardContents): Remove the meta tag prefix.
(WebCore::PasteboardHelper::fillSelectionData): Add the meta tag prefix.
(WebCore::PasteboardHelper::fillDataObjectFromDropData): Remove the meta tag prefix
2010-11-01 Justin Schuh <jschuh@chromium.org>
Reviewed by Dirk Schulze.
Check for NULL node in SVGUseElement::associateInstancesWithShadowTreeElements loop
https://bugs.webkit.org/show_bug.cgi?id=48741
Test: svg/custom/use-on-use-with-child-and-empty-target.svg
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2010-11-01 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Martin Robinson.
[Gtk] AtkHyperlink needs to be implemented
https://bugs.webkit.org/show_bug.cgi?id=33785
Implemented the AtkHyperlink/AtkHypertext stuff in the GTK port.
Even thought these kind of tasks are usually about implementing an
interface, in this case it was needed to implement some more
things due to the fact that AtkHyperlink is neither an interface
nor an AtkObject, but just an abstract class child of GObject that
needs to be redefined in a specific subclass of that one. On top
of that, it was needed to implement the AtkAction interface as
well for that new class, so exposed hyperlinks can work as
expected with Assistive Technologies based on ATK.
Furthermore, as there's no mechanism to get an instance of that
AtkHyperlink other than doing it through an AtkObject implementing
the AtkHypertext interface, it was needed to also add the code to
implement that one, so it makes possible to ask for the
'hyperlinks' under an 'hypertext' accessible object.
Finally, to complete the implementation of all this stuff and make
it all consistent, it was needed as well to implement the
AtkHyperlinkImpl interface (providing just one method only) so
that allows retrieving the AtkHyperlink object associated to an
AtkObject implementing such an interface.
* GNUmakefile.am: Add the new WebKitAccessibleHyperlink.[h|cpp]
files to the sources list for the GTK port.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(core): New function to return the core accessibility object
related to an AtkObject implementing the AtkHypertext interface.
(webkitAccessibleHypertextGetLink): New, part of the
implementation of the AtkHypertext interface.
(webkitAccessibleHypertextGetNLinks): New, likewise.
(webkitAccessibleHypertextGetLinkIndex): New, likewise.
(atkHypertextInterfaceInit): New, initialize the AtkHypertext
interface.
(webkitAccessibleHyperlinkImplGetHyperlink): New, part of the
implementation of the AtkHyperlinkImpl interface.
(atkHyperlinkImplInterfaceInit): New, initialize the
AtkHyperlinkImpl interface.
(GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_HYPERTEXT and
ATK_TYPE_HYPERLINK_IMPL to the list of recognized types.
(getInterfaceMaskFromObject): Decide when it's needed to add
WAI_HYPERTEXT and WAI_HYPERLINK to the interface mask.
* accessibility/gtk/WebKitAccessibleHyperlink.h: Added.
* accessibility/gtk/WebKitAccessibleHyperlink.cpp: Added.
(returnString): Return (const char*) from String variables.
(core): Return the associated AccessibilityObject.
(webkitAccessibleHyperlinkActionDoAction): Part of the
implementation of the AtkAction interface.
(webkitAccessibleHyperlinkActionGetNActions): Likewise.
(webkitAccessibleHyperlinkActionGetDescription): Likewise.
(webkitAccessibleHyperlinkActionGetKeybinding): Likewise.
(webkitAccessibleHyperlinkActionGetName): Likewise.
(atkActionInterfaceInit): Initialize the AtkAction interface.
(getRangeLengthForObject): Returns the length for a given Range,
considering special cases (e.g. List item markers).
(webkitAccessibleHyperlinkGetURI): Implementation of one of the
methods in the AtkHyperlink abstract class.
(webkitAccessibleHyperlinkGetObject): Likewise.
(webkitAccessibleHyperlinkGetStartIndex): Likewise.
(webkitAccessibleHyperlinkGetEndIndex): Likewise.
(webkitAccessibleHyperlinkIsValid): Likewise.
(webkitAccessibleHyperlinkGetNAnchors): Likewise.
(webkitAccessibleHyperlinkIsSelectedLink): Likewise.
(webkitAccessibleHyperlinkGetProperty): Getter method.
(webkitAccessibleHyperlinkSetProperty): Setter method.
(webkitAccessibleHyperlinkFinalize): Finalize method.
(webkitAccessibleHyperlinkClassInit): Initialize the
WebKitAccessibleHyperlink class.
(webkitAccessibleHyperlinkInit): Initialize the
WebKitAccessibleHyperlink instance.
(webkitAccessibleHyperlinkGetType): Implementation of the
get_type() function for the WebKitAccessibleHyperlink class.
(webkitAccessibleHyperlinkNew): Returns an instance of the class
associated to a given AtkHyperlinkImpl object.
(webkitAccessibleHyperlinkGetAccessibilityObject): Public function
returning the AccessibilityObject associated to the instance of
the WebKitAccessibleHyperlink class.
2010-11-01 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: simplify inspector styles test to make all bots happy.
(drive-by fix for overriden inspector styles in network panel).
* inspector/InspectorController.h:
* inspector/front-end/networkPanel.css:
2010-11-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis.
Enable StrictTypeChecking for all types using SVG(Animated)PropertyTearOff
https://bugs.webkit.org/show_bug.cgi?id=48715
Enable StrictTypeChecking for all readwrite attributes and function calls of all types using the new SVG(Animated)PropertyTearOff concept.
Also enable RequiresAllArguments=Raise for all function calls of these new types. Cover this functionality by tests for each of them.
When testing SVGLength it became obvious that quite a lot of functionality was missing.
Conversion from relative arguments (percentage, ems, exs) to user specified units was missing, added that functionality and tested it.
User units to pt conversion was wrong, fixed that.
Tests: svg/dom/SVGAnimatedAngle.html
svg/dom/SVGAnimatedBoolean.html
svg/dom/SVGAnimatedEnumeration.html
svg/dom/SVGAnimatedInteger.html
svg/dom/SVGAnimatedLength.html
svg/dom/SVGAnimatedLengthList.html
svg/dom/SVGAnimatedRect.html
svg/dom/SVGLength-px-with-context.html
svg/dom/SVGLength-px.html
svg/dom/SVGLength.html
* bindings/js/JSSVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that.
(WebCore::JSSVGLength::value):
(WebCore::JSSVGLength::setValue):
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/scripts/CodeGeneratorObjC.pm: Remove FIXMEs, pass real context instead off null pointer. DOMSVGLength::value is functional now.
* bindings/v8/custom/V8SVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that.
(WebCore::V8SVGLength::valueAccessorGetter):
(WebCore::V8SVGLength::valueAccessorSetter):
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
* rendering/style/SVGRenderStyle.h: Adapt to SVGLength API changes.
(WebCore::SVGRenderStyle::initialBaselineShiftValue):
(WebCore::SVGRenderStyle::initialKerning):
(WebCore::SVGRenderStyle::initialStrokeDashOffset):
(WebCore::SVGRenderStyle::initialStrokeWidth):
* svg/SVGAngle.idl: Add StrictTypeChecking, RequiresAllArguments=Raise to all methods.
* svg/SVGAnimatedBoolean.idl: Remove StrictTypeChecking from animVal, it's readonly so this is useless.
* svg/SVGAnimatedEnumeration.idl: Add StrictTypeChecking to all attributes.
* svg/SVGAnimatedInteger.idl: Ditto.
* svg/SVGLength.cpp: Implement all missing features of SVGLength. Conform to our style guide (s/.0f// etc)
(WebCore::lengthTypeToString):
(WebCore::SVGLength::SVGLength):
(WebCore::SVGLength::value): Throw NOT_SUPPORTED_ERR when trying to obtain to relative units, when no context is given (SVGLength created by createSVGLength()).
(WebCore::SVGLength::setValue): Ditto, for the setter.
(WebCore::SVGLength::valueAsPercentage): Use m_valueInSpecifiedUnits instead of valueInSpecifiedUnits().
(WebCore::SVGLength::setValueAsString): Throw SYNTAX_ERR if parsing failed.
(WebCore::SVGLength::valueAsString): Use makeString() instead of String and operator+.
(WebCore::SVGLength::newValueSpecifiedUnits): Add ExceptionCode parameter, throw NOT_SUPPORTED_ERR, if the given unit type is invalid.
(WebCore::SVGLength::convertToSpecifiedUnits): Ditto.
(WebCore::SVGLength::determineViewport): Added helper function used by convertValue*Percentage*.
(WebCore::SVGLength::convertValueFromUserUnitsToPercentage): Add new helper functions, used by value/setValue.
(WebCore::SVGLength::convertValueFromPercentageToUserUnits): Ditto.
(WebCore::SVGLength::convertValueFromUserUnitsToEMS): Ditto.
(WebCore::SVGLength::convertValueFromEMSToUserUnits): Ditto.
(WebCore::SVGLength::convertValueFromUserUnitsToEXS): Ditto.
(WebCore::SVGLength::convertValueFromEXSToUserUnits): Ditto.
(WebCore::SVGLength::fromCSSPrimitiveValue): Adapt to newValueSpecifiedUnits API change.
(WebCore::SVGLength::toCSSPrimitiveValue): Remove default switch case.
* svg/SVGLength.h:
(WebCore::SVGLength::valueInSpecifiedUnits): Inlined.
(WebCore::SVGLength::setValueInSpecifiedUnits): Ditto.
(WebCore::SVGLength::isRelative):
* svg/SVGLength.idl: Add StrictTypeChecking for all attributes/functions and RequiresAllArguments=Raise for all functions.
* svg/SVGLengthList.cpp: Adapt to SVGLength API changes.
(WebCore::SVGLengthList::parse):
2010-10-31 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: unhide new network and resources panels.
https://bugs.webkit.org/show_bug.cgi?id=48725
* English.lproj/localizedStrings.js:
* inspector/InspectorController.h:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
* inspector/front-end/Settings.js:
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addResourceToFrame):
(WebInspector.StoragePanel.prototype.addDocumentURL):
(WebInspector.StoragePanel.prototype.showFileSystem):
(WebInspector.FileSystemTreeElement):
(WebInspector.FileSystemTreeElement.prototype.get itemURL):
(WebInspector.FileSystemTreeElement.prototype.onselect):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
* inspector/front-end/networkPanel.css:
(#network-close-button):
(.network.panel.viewing-resource #network-close-button):
2010-10-26 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
Refactoring: Spellchecking related static functions could form a class
https://bugs.webkit.org/show_bug.cgi?id=48287
Extracted spellcheck related static functions to TextCheckingHelper class,
which has EditorClient and Range as its member.
No new tests. Just a refactoring.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* editing/EditingAllInOne.cpp
* editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::isSelectionUngrammatical):
(WebCore::Editor::guessesForUngrammaticalSelection):
(WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
(WebCore::Editor::markMisspellingsAfterTypingToPosition):
(WebCore::Editor::markMisspellingsOrBadGrammar):
(WebCore::Editor::markMisspellings):
(WebCore::Editor::markBadGrammar):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::Editor::changeBackToReplacedString):
* editing/Editor.h:
* editing/TextCheckingHelper.cpp: Added.
(WebCore::TextCheckingHelper::TextCheckingHelper):
(WebCore::TextCheckingHelper::~TextCheckingHelper):
(WebCore::TextCheckingHelper::paragraphAlignedRange):
(WebCore::TextCheckingHelper::findFirstMisspelling):
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::findFirstGrammarDetail):
(WebCore::TextCheckingHelper::findFirstBadGrammar):
(WebCore::TextCheckingHelper::isUngrammatical):
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
(WebCore::TextCheckingHelper::markAllMisspellings):
(WebCore::TextCheckingHelper::markAllBadGrammar):
* editing/TextCheckingHelper.h: Added.
2010-10-31 Xan Lopez <xlopez@igalia.com>
Try to fix the GTK+ build.
Do not use broken/deprecated functions that won't be available
with G_DISABLE_DEPRECATED (used in debug builds).
* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::fetchInfo):
2010-10-31 Kenichi Ishibashi <bashi@google.com>
Reviewed by Adam Barth.
V8 binding for DOMSettableTokenList
https://bugs.webkit.org/show_bug.cgi?id=47812
Tests for this change will be included in the change for supporting
the <output> element.
See https://bugs.webkit.org/show_bug.cgi?id=29363.
* bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Implemented.
(WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Just calls DOMSettableTokenList::item(index).
2010-10-31 Robert Hogan <robert@webkit.org>
Reviewed by Antonio Gomes.
[Qt] [Gtk] Plug-ins having upper case in mime type are failing to load
Qt and Gtk are case-sensitive when storing the declared mime-type
of plugins. Since plugin mime-types are lowercased prior to searching
for them in the plugin database, ensure they are loaded with the
mime-type in lower case too.
https://bugs.webkit.org/show_bug.cgi?id=36815
* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::fetchInfo):
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::setMIMEDescription):
2010-10-31 Robert Hogan <robert@webkit.org>
Reviewed by Antonio Gomes.
[Qt] Support nodesFromRect in DRT
Pass a Document object as a QWebElement.
https://bugs.webkit.org/show_bug.cgi?id=48716
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
2010-10-31 Peter Kasting <pkasting@google.com>
Reviewed by Adam Barth.
Treat GIFs with no loop count as "loop once".
https://bugs.webkit.org/show_bug.cgi?id=47302
Test: fast/images/gif-loop-count.html
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::gifComplete):
2010-10-31 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Andreas Kling.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
Build fix for X11.
No new tests; build fix.
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::invalidateRect):
(WebCore::PluginView::platformStart):
2010-10-31 Andreas Kling <kling@webkit.org>
Reviewed by Dirk Schulze.
Remove the unused GraphicsContext::clipOutEllipseInRect(IntRect)
https://bugs.webkit.org/show_bug.cgi?id=48727
This function was added in <http://trac.webkit.org/changeset/18654> for CSS3 box-shadows.
All use of the function was removed in <http://trac.webkit.org/changeset/21601>
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::clipOut):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clipOut):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
* platform/graphics/wx/GraphicsContextWx.cpp:
2010-10-31 Andreas Kling <kling@webkit.org>
Reviewed by Dirk Schulze.
[Qt] Respect the "antialiased" argument in clipConvexPolygon()
https://bugs.webkit.org/show_bug.cgi?id=48734
Set (or unset) the QPainter::Antialiased render hint for antialiased
clipping based on the "antialiased" argument.
No test since Qt doesn't have pixel tests yet.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
2010-10-31 Andreas Kling <kling@webkit.org>
Reviewed by Dirk Schulze.
Remove the unused GraphicsContext::strokeRect(FloatRect)
https://bugs.webkit.org/show_bug.cgi?id=48726
This function was only implemented by GraphicsContextOpenVG and not
called from anywhere.
* platform/graphics/GraphicsContext.h:
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2010-10-31 Andreas Kling <kling@webkit.org>
Reviewed by Dirk Schulze.
Remove the unused GraphicsContext::origin()
https://bugs.webkit.org/show_bug.cgi?id=48732
This method was not called from anywhere.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/wince/GraphicsContextWinCE.cpp:
2010-10-31 Andreas Kling <kling@webkit.org>
Reviewed by Dirk Schulze.
[Qt] Remove GraphicsContext::pen()
https://bugs.webkit.org/show_bug.cgi?id=48733
Have PathQt obtain the pen() through the platformContext() instead.
* platform/graphics/GraphicsContext.h:
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::strokeContains):
(WebCore::Path::strokeBoundingRect):
2010-10-31 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70959.
http://trac.webkit.org/changeset/70959
https://bugs.webkit.org/show_bug.cgi?id=48731
It broke fast/events/spatial-navigation tests (Requested by
Ossy on #webkit).
* WebCore.xcodeproj/project.pbxproj:
* rendering/InlineBox.cpp:
(WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::bottomLayoutOverflow):
(WebCore::InlineFlowBox::rightLayoutOverflow):
(WebCore::InlineFlowBox::bottomVisualOverflow):
(WebCore::InlineFlowBox::rightVisualOverflow):
* rendering/RenderBox.cpp:
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::linesBoundingBox):
(WebCore::RenderInline::linesVisibleOverflowBoundingBox):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
* rendering/RenderText.cpp:
(WebCore::RenderText::linesBoundingBox):
2010-10-30 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: new resources and network panel usability improvements.
https://bugs.webkit.org/show_bug.cgi?id=48680
By default, navigation clears network log, added 'preserve log' button,
that prevents log from being cleared.
Storing expanded state of all group items, restoring last selected item,
fall back to main frame's main resource by default.
Do not list XHRs and redirects in resources.
* English.lproj/localizedStrings.js:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype.get statusBarItems):
(WebInspector.NetworkPanel.prototype._positionSummaryBar):
(WebInspector.NetworkPanel.prototype._updateFilter):
(WebInspector.NetworkPanel.prototype._createStatusbarButtons):
(WebInspector.NetworkPanel.prototype._onPreserveLogClicked):
(WebInspector.NetworkPanel.prototype.reset):
(WebInspector.NetworkPanel.prototype.refreshResource):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
(WebInspector.ResourceManager.prototype.willSendRequest):
(WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
(WebInspector.ResourceManager.prototype.setOverrideContent):
(WebInspector.ResourceManager.prototype.didCreateWebSocket):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.show):
(WebInspector.StoragePanel.prototype._initDefaultSelection):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addResourceToFrame):
(WebInspector.StoragePanel.prototype.refreshResource):
(WebInspector.StoragePanel.prototype.showDatabase):
(WebInspector.BaseStorageTreeElement.prototype.onselect):
(WebInspector.StorageCategoryTreeElement):
(WebInspector.StorageCategoryTreeElement.prototype.get itemURL):
(WebInspector.StorageCategoryTreeElement.prototype.onselect):
(WebInspector.StorageCategoryTreeElement.prototype.onattach):
(WebInspector.StorageCategoryTreeElement.prototype.onexpand):
(WebInspector.StorageCategoryTreeElement.prototype.oncollapse):
(WebInspector.FrameTreeElement.prototype.get itemURL):
(WebInspector.FrameTreeElement.prototype.onselect):
(WebInspector.FrameResourceTreeElement.prototype.get itemURL):
(WebInspector.FrameResourceTreeElement.prototype.onselect):
(WebInspector.DatabaseTreeElement.prototype.get itemURL):
(WebInspector.DatabaseTreeElement.prototype.onselect):
(WebInspector.DatabaseTableTreeElement.prototype.get itemURL):
(WebInspector.DatabaseTableTreeElement.prototype.onselect):
(WebInspector.DOMStorageTreeElement.prototype.get itemURL):
(WebInspector.DOMStorageTreeElement.prototype.onselect):
(WebInspector.CookieTreeElement.prototype.get itemURL):
(WebInspector.CookieTreeElement.prototype.onselect):
(WebInspector.ApplicationCacheTreeElement.prototype.get itemURL):
(WebInspector.ApplicationCacheTreeElement.prototype.onselect):
2010-10-30 Patrick Gansterer <paroga@webkit.org>
Unreviewed, build fix after r70846.
* platform/graphics/wince/ImageWinCE.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
2010-10-30 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r70984.
http://trac.webkit.org/changeset/70984
https://bugs.webkit.org/show_bug.cgi?id=46015
Made media/audio-delete-while-slider-thumb-clicked.html crash.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* dom/ContainerNode.cpp:
(WebCore::notifyChildInserted):
* dom/EventContext.cpp: Removed.
* dom/EventContext.h: Removed.
* dom/Node.cpp:
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
(WebCore::Node::createRendererIfNeeded):
(WebCore::Node::eventParentNode):
(WebCore::Node::enclosingLinkEventParentOrSelf):
(WebCore::eventTargetAsSVGElementInstance):
(WebCore::eventTargetRespectingSVGTargetRules):
(WebCore::Node::eventAncestors):
(WebCore::Node::dispatchGenericEvent):
* dom/Node.h:
* dom/Text.cpp:
(WebCore::Text::createRenderer):
* dom/WindowEventContext.cpp: Removed.
* dom/WindowEventContext.h: Removed.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
* inspector/InspectorInstrumentation.cpp:
(WebCore::eventHasListeners):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willDispatchEvent):
* page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode):
* svg/SVGElement.cpp:
(WebCore::SVGElement::eventParentNode):
* svg/SVGElement.h:
2010-10-30 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
https://bugs.webkit.org/show_bug.cgi?id=46015
This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
* Android.mk: Added EventContext, WindowEventContext files.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/ContainerNode.cpp:
(WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
* dom/EventContext.cpp: Added.
* dom/EventContext.h: Added.
* dom/Node.cpp:
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
(WebCore::Node::createRendererIfNeeded): Ditto.
(WebCore::Node::parentOrHostNode): Added new helper method.
(WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
(WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
(WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
(WebCore::Node::topEventContext): Added.
(WebCore::eventHasListeners): Changed to use EventContexts.
(WebCore::Node::dispatchGenericEvent): Ditto.
* dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
and changed signature of eventAncestors to use EventContexts.
* dom/Text.cpp:
(WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
* page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
* svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
* svg/SVGElement.h: Ditto.
* dom/WindowEventContext.cpp: Added.
* dom/WindowEventContext.h: Added.
2010-10-30 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis.
Convert SVGAnimatedNumber/SVGAnimatedNumberList to the new SVGAnimatedPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48686
Convert the next set of primitives to use the new SVG(Animated)PropertyTearOff concept.
Tests: svg/dom/SVGAnimatedNumber.html
svg/dom/SVGAnimatedNumberList.html
svg/dom/SVGNumber.html
* GNUmakefile.am: Add SVGAnimatedNumber.h / SVGAnimatedNumberList.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedNumber/SVGAnimatedNumberList as new style SVG animated properties. Remove SVGNumber from PODType hash.
* bindings/scripts/CodeGeneratorJS.pm: Remove special SVGNumber handing, it's obsolete now.
* bindings/scripts/CodeGeneratorObjC.pm: Add special SVGNumber handling, as it's the first of the converted dynamic SVGAnimatedProperty types that's not in WebCore namespace.
* bindings/scripts/CodeGeneratorV8.pm: Use AvoidInclusionOfType method from CodeGenerator.pm, remove special SVGNumber handling, that's obsolete now.
* rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
(WebCore::extractFloatValuesFromSVGNumberList): Adapt to SVGNumberList change, which is a plain Vector<float> now.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedNumber/SVGAnimatedNumberList handling.
* svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
* svg/SVGAnimatedNumber.h: Added.
* svg/SVGAnimatedNumber.idl: Enable StrictTypeChecking.
* svg/SVGAnimatedNumberList.h: Added.
* svg/SVGAnimatedNumberList.idl: Ditto.
* svg/SVGComponentTransferFunctionElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
(WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
(WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
(WebCore::SVGComponentTransferFunctionElement::transferFunction):
* svg/SVGComponentTransferFunctionElement.h:
* svg/SVGFEColorMatrixElement.cpp: Ditto.
(WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
(WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
(WebCore::SVGFEColorMatrixElement::build):
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFECompositeElement.h: Ditto.
* svg/SVGFEConvolveMatrixElement.cpp: Ditto.
(WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier): Added, replacing char[] hack by a static atomic string.
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier): Ditto.
(WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
(WebCore::SVGFEConvolveMatrixElement::build):
* svg/SVGFEConvolveMatrixElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
* svg/SVGFEDiffuseLightingElement.cpp: Ditto.
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
* svg/SVGFEDiffuseLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
* svg/SVGFEDisplacementMapElement.h: Ditto.
* svg/SVGFEGaussianBlurElement.cpp: Ditto.
(WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Remove trailing whitespace.
(WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
* svg/SVGFEGaussianBlurElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
* svg/SVGFELightElement.h: Ditto.
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::radiusXIdentifier): Added, replacing char[] hack by a static atomic string.
(WebCore::SVGFEMorphologyElement::radiusYIdentifier): Ditto.
* svg/SVGFEMorphologyElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
* svg/SVGFEOffsetElement.h: Ditto.
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
* svg/SVGFESpecularLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Remove trailing whitespace.
(WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
* svg/SVGFETurbulenceElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::filterResXIdentifier): Remove trailing whitespace.
(WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
* svg/SVGLengthList.idl: Remove leftover [SVGListProperty] marker.
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orientTypeIdentifier): Remove trailing whitespace.
(WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
* svg/SVGNumber.idl: Remove [PODType] marker, add StrictTypeChecking.
* svg/SVGNumberList.cpp: Convert from SVGPODList<RefPtr<SVGPODListItem<float> > > to plain Vector<float>, just like it has been done for SVGLengthList before.
(WebCore::SVGNumberList::parse):
(WebCore::SVGNumberList::valueAsString):
* svg/SVGNumberList.h:
(WebCore::SVGNumberList::SVGNumberList):
* svg/SVGPathElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
* svg/SVGStopElement.h: Ditto.
* svg/SVGTextPositioningElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
(WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
(WebCore::SVGTextPositioningElement::parseMappedAttribute):
* svg/SVGTextPositioningElement.h: Ditto.
* svg/properties/SVGPropertyTraits.h: Add SVGNumberList handling.
2010-10-29 Daniel Bates <dbates@rim.com>
No review, rolling out 70971.
http://trac.webkit.org/changeset/70971
https://bugs.webkit.org/show_bug.cgi?id=6751
Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
it caused layout test failures on all bots. In particular, the
child count in a generated frame name differs after this patch. We need
to look into this further.
Test: fast/frames/iframe-set-inner-html.html
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::openURL):
(WebCore::HTMLFrameElementBase::setName):
* html/HTMLFrameElementBase.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::mainResource):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::commitProvisionalLoad):
* loader/HistoryController.cpp:
(WebCore::HistoryController::saveDocumentState):
(WebCore::HistoryController::restoreDocumentState):
(WebCore::HistoryController::createItem):
(WebCore::HistoryController::currentFramesMatchItem):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::progressCompleted):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
* page/FrameTree.cpp:
(WebCore::FrameTree::setName):
(WebCore::FrameTree::clearName):
(WebCore::FrameTree::uniqueChildName):
(WebCore::FrameTree::child):
(WebCore::FrameTree::find):
* page/FrameTree.h:
(WebCore::FrameTree::name):
2010-10-28 Antonio Gomes <agomes@rim.com>
Reviewed by Ojan Vafai.
Needs a "LinuxEditingBehavior", perhaps with a better name
https://bugs.webkit.org/show_bug.cgi?id=36627
Added EditingUnixBehavior editing type aim to cover the cases when
neither Mac or Windows behaviors are appropriated.
It was decided to name it Unix not Linux.
No new tests. The current editing tests that involve platform specific
bahaviors are coded so that they go through all editing behavior
types possible. There will be a follow up bug where all of them will
be updated to include the new editing behavior ("unix").
* editing/EditingBehaviorTypes.h:
* page/Settings.cpp:
(WebCore::editingBehaviorTypeForPlatform):
(WebCore::Settings::Settings):
2010-10-29 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
For unnamed frames, window.name returns a generated name
https://bugs.webkit.org/show_bug.cgi?id=6751
Fixes an issue where the window.name of an unnamed frame returns
a unique generated name that is used internally to identify the
frame. Instead, we should return an empty string as implied by
section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
This section describes that a browsing context can have no name or be
the empty string.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
frame name since this is valid as per the HTML5 spec.
(WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
since the loader code no longer depends on the frame name being unique.
* html/HTMLFrameElementBase.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
(WebCore::FrameLoader::commitProvisionalLoad): Ditto.
* loader/HistoryController.cpp:
(WebCore::HistoryController::saveDocumentState): Ditto.
(WebCore::HistoryController::restoreDocumentState): Ditto.
(WebCore::HistoryController::createItem):
(WebCore::HistoryController::currentFramesMatchItem): Ditto.
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::progressStarted): Ditto.
(WebCore::ProgressTracker::progressCompleted): Ditto.
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create): Ditto.
* page/FrameTree.cpp:
(WebCore::FrameTree::setName): Modified to store the DOM-specified
name of the frame.
(WebCore::FrameTree::clearName):
(WebCore::FrameTree::uniqueChildName): Use FrameTree::uniqueName().
(WebCore::FrameTree::child): Ditto.
(WebCore::FrameTree::find): Ditto.
* page/FrameTree.h:
(WebCore::FrameTree::uniqueName): Added.
2010-10-29 Darin Adler <darin@apple.com>
Try to fix build.
* page/ContextMenuController.cpp: Added include of BackForwardController.h.
* page/DOMWindow.cpp: Ditto.
* page/History.cpp: Ditto.
* platform/ContextMenu.cpp: Ditto.
2010-10-29 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
More back/forward refactoring
* WebCore.exp.in: Updated.
* GNUmakefile.am: Removed BackForwardControllerClient.h.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* history/BackForwardControllerClient.h: Removed.
* history/BackForwardController.cpp:
(WebCore::BackForwardController::BackForwardController):
Set up just m_client.
(WebCore::BackForwardController::~BackForwardController):
Removed call to backForwardControllerDestroyed.
(WebCore::BackForwardController::canGoBackOrForward): Added.
(WebCore::BackForwardController::goBackOrForward): Added.
(WebCore::BackForwardController::goBack): Added.
(WebCore::BackForwardController::goForward): Added.
(WebCore::BackForwardController::addItem): Added.
(WebCore::BackForwardController::setCurrentItem): Added.
(WebCore::BackForwardController::count): Added.
(WebCore::BackForwardController::backCount): Added.
(WebCore::BackForwardController::forwardCount): Added.
(WebCore::BackForwardController::itemAtIndex): Added.
(WebCore::BackForwardController::isActive): Added.
(WebCore::BackForwardController::close): Added.
* history/BackForwardController.h: Added functions from Page
and BackForwardList that should be called here instead.
Note that BackForwardList is to be renamed BackForwardClient soon.
* history/BackForwardList.h: Removed many now-unneeded
virtual functions.
* history/BackForwardListImpl.h: Moved BackForwardListClient
in here.
* history/PageCache.cpp:
(WebCore::logCanCachePageDecision): Use backForward().
(WebCore::PageCache::canCache): Ditto.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::transitionToCommitted): Removed unneeded
null check of backFowardList, which is never null.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Use backForward.
(WebCore::FrameLoader::didFirstLayout): Ditto.
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
(WebCore::FrameLoader::checkDidPerformFirstNavigation): Ditto.
* loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem): Ditto.
(WebCore::HistoryController::updateForStandardLoad): Ditto.
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
(WebCore::HistoryController::updateBackForwardListClippedAtTarget): Ditto.
(WebCore::HistoryController::pushState): Ditto.
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledHistoryNavigation::fire): Ditto.
(WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::close): Ditto.
* page/History.cpp:
(WebCore::History::length): Ditto.
* page/Page.cpp:
(WebCore::Page::Page): Use more adoptPtr. Use backForwardClient instead of
backForwardControllerClient.
(WebCore::Page::~Page): Use backForward.
(WebCore::Page::backForwardList): Ditto.
(WebCore::Page::goBack): Ditto.
(WebCore::Page::goForward): Ditto.
(WebCore::Page::canGoBackOrForward): Ditto.
(WebCore::Page::goBackOrForward): Ditto.
(WebCore::Page::getHistoryLength): Ditto.
(WebCore::Page::PageClients::PageClients): Made non-inline.
(WebCore::Page::PageClients::~PageClients): Ditto.
* page/Page.h: Made PageClients constructor and destructor non-inline.
Added backForward function. Marked old functions as deprecated.
* page/Settings.cpp:
(WebCore::Settings::setUsesPageCache): Use backForward.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate): Ditto.
(WebCore::ContextMenu::checkOrEnableIfNeeded): Ditto.
* wml/WMLDoElement.cpp:
(WebCore::WMLDoElement::defaultEventHandler): Ditto.
* wml/WMLDocument.cpp:
(WebCore::WMLDocument::finishedParsing): Ditto.
* wml/WMLPageState.cpp:
(WebCore::WMLPageState::reset): Ditto.
(WebCore::tryAccessHistoryURLs): Ditto.
* wml/WMLPrevElement.cpp:
(WebCore::WMLPrevElement::executeTask): Ditto.
2010-10-29 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=48663
Make repaint invalidation work with vertical lines. Rewrite linesBoundingBox for RenderText and
RenderInline to give the correct rectangle back for vertical lines. Also patch linesVisibleOverflowBoundingBox
to give back the correct rectangle for vertical lines.
Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
Added fast/repaint/inline-vertical-lr-overflow.html
* rendering/InlineBox.cpp:
(WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
(WebCore::InlineFlowBox::logicalRightVisibleOverflow):
(WebCore::InlineFlowBox::bottomLayoutOverflow):
(WebCore::InlineFlowBox::rightLayoutOverflow):
(WebCore::InlineFlowBox::bottomVisualOverflow):
(WebCore::InlineFlowBox::rightVisualOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::linesBoundingBox):
(WebCore::RenderInline::linesVisibleOverflowBoundingBox):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
* rendering/RenderText.cpp:
(WebCore::RenderText::linesBoundingBox):
2010-10-29 Mike Lawther <mikelawther@chromium.org>
Reviewed by James Robinson.
Fix canvas/philip/tests/2d.imageData.get.source.negative
https://bugs.webkit.org/show_bug.cgi?id=48277
Handle negative width/height.
See http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
2010-10-29 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: FileSystem integration
https://bugs.webkit.org/show_bug.cgi?id=45982
Adding filesystem support for Inspector under storage tab. This fetches root paths for
temporary and persistent filesystems and allows "reveal folder in OS" option that
launches native file browser. Currently this feature is disabled for non-chromium platforms.
* CMakeLists.txt:
* English.lproj/localizedStrings.js:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
* inspector/InspectorController.h:
(WebCore::InspectorController::fileSystemAgent):
* inspector/InspectorFileSystemAgent.cpp: Added.
* inspector/InspectorFileSystemAgent.h: Added.
* inspector/front-end/FileSystemView.js: Added.
* inspector/front-end/Settings.js:
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addFileSystem):
(WebInspector.StoragePanel.prototype.showFileSystem):
(WebInspector.StoragePanel.prototype.updateFileSystemPath):
(WebInspector.StoragePanel.prototype.updateFileSystemError):
(WebInspector.FileSystemTreeElement):
(WebInspector.FileSystemTreeElement.prototype.onselect):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.file-system-storage-tree-item .icon):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
(WebInspector._addFileSystemOrigin):
(WebInspector.didGetFileSystemPath):
(WebInspector.didGetFileSystemError):
(WebInspector.reset):
* platform/AsyncFileSystem.h:
(WebCore::AsyncFileSystem::root):
* platform/FileSystem.h:
* platform/chromium/ChromiumBridge.h:
* platform/chromium/FileSystemChromium.cpp:
(WebCore::revealFolderInOS):
2010-10-29 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Remove RenderTextControl::setSelectionRange
https://bugs.webkit.org/show_bug.cgi?id=47870
Made RenderTextControl::setSelectionRange a global function.
Removed setSelectionStart, setSelectionEnd, and select from RenderTextControl.
No new tests are added since there is no behavioral change.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedTextRange): Calls setSelectedTextRange.
* dom/InputElement.cpp:
(WebCore::InputElement::updateSelectionRange): Ditto.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setSelectionStart): Ditto.
(WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
(WebCore::HTMLTextFormControlElement::select): Ditto.
(WebCore::HTMLTextFormControlElement::setSelectionRange): Ditto.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hasVisibleTextArea): Added.
(WebCore::setSelectionRange): See above.
* rendering/RenderTextControl.h:
2010-10-29 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Andreas Kling.
[GTK] Crash in TextEncoding.cpp when using glib unicode
https://bugs.webkit.org/show_bug.cgi?id=48521
When the conversion to UTF-8 fails, try to encode the original string
without normalizing. Fixes tests cases:
fast/url/anchor.html
fast/url/query.html
fast/url/standard-url.html
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode):
2010-10-29 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Antonio Gomes.
TextureMapperGL get the driver info log but do not use it
https://bugs.webkit.org/show_bug.cgi?id=48247
Remove the call to glGetProgramInfoLog().
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::TexmapShaderInfo::createShaderProgram):
2010-10-29 Benjamin Kalman <kalman@google.com>
Reviewed by Tony Chang.
Deleting contenteditable text to the left of a non-contenteditable span inserts unnecessary placeholder <br/>
https://bugs.webkit.org/show_bug.cgi?id=48658
* WebCore.exp.in: Update is{Start,End}OfParagraph symbols.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::doApply): Cross editability boundaries when determining whether to insert placeholder.
* editing/visible_units.cpp: Allow editability boundary to be crossed in {start,end,isStart,isEnd}OfParagraph.
(WebCore::startOfParagraph): Also, avoid returning a position where renderer can't accept caret, like in endOfParagraph.
(WebCore::endOfParagraph):
(WebCore::isStartOfParagraph):
(WebCore::isEndOfParagraph):
* editing/visible_units.h: Ditto.
2010-10-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: last active panel is not restored upon opening inspector.
https://bugs.webkit.org/show_bug.cgi?id=48668
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspect):
(WebCore::InspectorController::showPanel):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::populateScriptObjects):
* inspector/InspectorController.h:
* inspector/InspectorState.cpp:
(WebCore::InspectorState::InspectorState):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
* inspector/front-end/inspector.js:
(WebInspector.set currentPanel):
(WebInspector.doLoadedDone.onPopulateScriptObjects):
(WebInspector.doLoadedDone):
(WebInspector.documentClick.followLink):
(WebInspector.documentClick):
2010-10-28 Michael Nordman <michaeln@google.com>
Reviewed by ap.
[Chrome] Fix an appcache regression introduced in r69226
https://bugs.webkit.org/show_bug.cgi?id=48592
Define a new ApplicationCacheHost method for the specific case of main resource redirect handling.
Tests: the existing layout test applies
* loader/MainResourceLoader.cpp: use the newly introduced method
(WebCore::MainResourceLoader::willSendRequest):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadMainResourceForRedirect):
* loader/appcache/ApplicationCacheHost.h:
2010-10-29 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adam Roben.
Navigating to a .wav file creates a plugin document but should create a media document
https://bugs.webkit.org/show_bug.cgi?id=48546
<rdar://problem/8606105>
Test: media/media-can-play-wav-audio.html
* platform/MIMETypeRegistry.cpp: Add mapping from ".wav" to "audio/x-wav".
2010-10-29 Aaron Colwell <acolwell@chromium.org>
Reviewed by James Robinson.
Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha()
to centralize alpha rounding & clipping logic.
https://bugs.webkit.org/show_bug.cgi?id=48094
Test: media/video-canvas-alpha.html
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::paintSkBitmap):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::getNormalizedAlpha):
* platform/graphics/skia/PlatformContextSkia.h:
2010-10-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
ASSERT when SVGAnimatedProperty instance is assigned to multiple elements.
https://bugs.webkit.org/show_bug.cgi?id=48555
Test: svg/custom/insertItemBefore-from-non-list-origin.svg
* bindings/scripts/CodeGeneratorJS.pm: Include SVGAnimatedPropertyTearOff.h instead of SVGPropertyTearOff.h
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* svg/properties/SVGAnimatedListPropertyTearOff.h:
(WebCore::SVGAnimatedListPropertyTearOff::isAnimatedListTearOff): Return true.
(WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): Devirtualize function.
* svg/properties/SVGAnimatedProperty.h:
(WebCore::SVGAnimatedProperty::isAnimatedListTearOff): Return false.
* svg/properties/SVGListPropertyTearOff.h:
(WebCore::SVGListPropertyTearOff::removeItemFromListIfNeeded): Only try to remove the passed item from its list, if its actually a list and not just a SVGAnimatedProperty.
2010-10-29 David Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=48444
Fix the dirty rect checks in RenderBoxLineList, InlineFlowBox, InlineTextBox. They were still assuming horizontal-tb writing-mode.
This patch makes the checks directionally abstract and also refactors the checks in RenderLineBoxList to share code.
No tests yet, since the invalidation code for inlines still assumes horizontal-tb. That will be fixed in a follow-up bug,
and then repaint tests will be easy to write.
* rendering/InlineBox.cpp:
(WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
* rendering/InlineBox.h:
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::convertFromFlippedWritingMode):
* rendering/RenderBox.h:
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsDirtyRect):
(WebCore::RenderLineBoxList::anyLineIntersectsDirtyRect):
(WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
(WebCore::RenderLineBoxList::paint):
(WebCore::RenderLineBoxList::hitTest):
* rendering/RenderLineBoxList.h:
2010-10-29 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Cleanup createGlobalImageFileDescriptor in ClipboardWin
https://bugs.webkit.org/show_bug.cgi?id=48189
* platform/win/ClipboardWin.cpp:
(WebCore::createGlobalURLContent):
(WebCore::createGlobalUrlFileDescriptor):
(WebCore::ClipboardWin::writeURL):
2010-10-29 Dmitry Titov <dimich@chromium.org>
[Chromium clang] Unreviewed fix removing compiler warning.
If GIFImageReader is a struct, don't call it a class.
* platform/image-decoders/gif/GIFImageDecoder.h:
2010-10-29 Alexey Proskuryakov <ap@apple.com>
Fix the world (d'oh!)
https://bugs.webkit.org/show_bug.cgi?id=48576
Let WebKit2 client know when a frame is a frameset
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::insertedIntoDocument):
(WebCore::HTMLFrameSetElement::removedFromDocument):
Call base class version.
2010-10-29 Jian Li <jianli@chromium.org>
Unreviewed. Fix chromium build break.
* bindings/v8/custom/V8FileReaderCustom.cpp:
(WebCore::V8FileReader::resultAccessorGetter):
2010-10-29 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Support readAsArrayBuffer in FileReader and FileReaderSync
https://bugs.webkit.org/show_bug.cgi?id=47691
Merge the similar code in FileReader and FileReaderSync into
FileReaderLoader.
Test cases have been added to read-file-test-cases.js.
* Android.jscbindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/v8/custom/V8FileReaderCustom.cpp: Added.
* fileapi/FileReader.cpp:
(WebCore::FileReader::FileReader):
(WebCore::FileReader::readAsArrayBuffer):
(WebCore::FileReader::readAsBinaryString):
(WebCore::FileReader::readAsText):
(WebCore::FileReader::readAsDataURL):
(WebCore::FileReader::readInternal):
(WebCore::FileReader::doAbort):
(WebCore::FileReader::terminate):
(WebCore::FileReader::start):
(WebCore::FileReader::didStartLoading):
(WebCore::FileReader::didReceiveData):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::didFail):
(WebCore::FileReader::fireEvent):
(WebCore::FileReader::arrayBufferResult):
(WebCore::FileReader::stringResult):
* fileapi/FileReader.h:
(WebCore::FileReader::readType):
* fileapi/FileReader.idl:
* fileapi/FileReaderLoader.cpp: Added.
* fileapi/FileReaderLoader.h: Added.
* fileapi/FileReaderLoaderClient.h: Added.
* fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSync::FileReaderSync):
(WebCore::FileReaderSync::readAsArrayBuffer):
(WebCore::FileReaderSync::readAsBinaryString):
(WebCore::FileReaderSync::readAsText):
(WebCore::FileReaderSync::readAsDataURL):
(WebCore::FileReaderSync::startLoading):
* fileapi/FileReaderSync.h:
* fileapi/FileReaderSync.idl:
* html/canvas/ArrayBuffer.cpp:
(WebCore::ArrayBuffer::create):
* html/canvas/ArrayBuffer.h:
* loader/ThreadableLoaderClient.h:
2010-10-29 Tony Chang <tony@chromium.org>
Unreviewed, rolling out r70850.
http://trac.webkit.org/changeset/70850
https://bugs.webkit.org/show_bug.cgi?id=45640
chromium and qt pixel test regressions
* dom/Document.cpp:
* dom/Document.h:
* page/FrameView.cpp:
(WebCore::FrameView::invalidateRect):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::doDeferredRepaints):
* page/FrameView.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintContents):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
2010-10-29 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=48576
Let WebKit2 client know when a frame is a frameset
This can change in two cases, when document changes, and when frame is navigated to another
document.
* dom/Document.cpp: (WebCore::Document::documentDidBecomeActive): Update the client when
a document is restored from page cache.
* loader/FrameLoaderClient.h: Added a new client call to notify client.
* html/HTMLFrameSetElement.h:
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::insertedIntoDocument):
(WebCore::HTMLFrameSetElement::removedFromDocument):
Update the client when document changes, potentially becoming a frameset. Per WebCore
definition, a document is a frameset when it has a FRAMESET element as direct child of
document element (it may also have body elements).
* loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidBecomeFrameset):
Added an empty implementation.
2010-10-29 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed fix. Touch WebCorePrefix.h to fix incremental build failure after r70878.
* WebCorePrefix.h:
2010-10-29 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Handle surrogate pairs in TextBreakIteratorGtk
https://bugs.webkit.org/show_bug.cgi?id=48227
TextBreakIteratorGtk uses UTF-8 because it's what pango expects, but we
need to return indices for the given input string that are in UTF-16.
The number of characters is the same for both UTF-16 and UTF-8 except when
the input string contains surrogate pairs. We need to keep both, the
index for the UTF-8 string to be used internally, and the index for the
UTF-16 string to be used as return value of the iterator interface. It
fixes test fast/forms/textarea-maxlength.html
* platform/text/gtk/TextBreakIteratorGtk.cpp:
(WebCore::CharacterIterator::getText):
(WebCore::CharacterIterator::getLength):
(WebCore::CharacterIterator::getSize):
(WebCore::CharacterIterator::getIndex):
(WebCore::CharacterIterator::getUTF16Index):
(WebCore::CharacterIterator::getUTF16Length):
(WebCore::CharacterIterator::characterSize):
(WebCore::CharacterIterator::setText):
(WebCore::CharacterIterator::setIndex):
(WebCore::CharacterIterator::setUTF16Index):
(WebCore::CharacterIterator::first):
(WebCore::CharacterIterator::last):
(WebCore::CharacterIterator::next):
(WebCore::CharacterIterator::previous):
(WebCore::setUpIterator):
(WebCore::textBreakFirst):
(WebCore::textBreakLast):
(WebCore::textBreakNext):
(WebCore::textBreakPrevious):
(WebCore::textBreakPreceding):
(WebCore::textBreakFollowing):
(WebCore::textBreakCurrent):
(WebCore::isTextBreak):
2010-10-29 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] Addition of a new (blank) style property does not work
https://bugs.webkit.org/show_bug.cgi?id=48631
Test: inspector/styles-add-blank-property.html
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
(WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2010-10-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: add close button to network view, make tests pass for
resource manager on all ports.
https://bugs.webkit.org/show_bug.cgi?id=48628
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::frameDetachedFromParent):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::markResourceAsCached):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
(WebCore::InspectorController::didCreateWebSocket):
(WebCore::InspectorController::willSendWebSocketHandshakeRequest):
(WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorController::didCloseWebSocket):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.addResourceToFrame):
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
* inspector/front-end/networkPanel.css:
(.network-close-button):
2010-10-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGAnimatedEnumeration/Integer to the new SVGAnimatedPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48623
Besides converting SVGAnimatedEnumeration/Integer to the new animated property tear off concept, fix support
for multiple wrappers within the new concept, which was broken - covered by existing svg/dynamic-updates/ tests.
Replace all 'extern char[]' usage when using the multiple wrappers macro, by static AtomicStrings.
* GNUmakefile.am: Add SVGAnimatedEnumeration.h / SVGAnimatedInteger.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedEnumeration / SVGAnimatedInteger as animated types using the new concept.
* bindings/scripts/CodeGeneratorObjC.pm: Touched, to force regenerating ObjC bindings, dependency tracking is obviously broken.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedBoolean/Enumeration/Integer handling.
* svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
* svg/SVGAnimatedEnumeration.h: Added.
* svg/SVGAnimatedEnumeration.idl:
* svg/SVGAnimatedInteger.h: Added.
* svg/SVGClipPathElement.h: Adapted all code to create new style animated property tear offs for long & int types.
* svg/SVGComponentTransferFunctionElement.h:
* svg/SVGFEBlendElement.h:
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFECompositeElement.h:
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Replaced extern[] char hack using a static AtomicString.
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
* svg/SVGFEDiffuseLightingElement.h:
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Ditto.
(WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEMorphologyElement.h:
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Ditto.
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Ditto.
(WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
* svg/SVGFETurbulenceElement.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::filterResXIdentifier): Ditto.
(WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
* svg/SVGFilterElement.h:
* svg/SVGGradientElement.h:
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orientTypeIdentifier): Ditto.
(WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.h:
* svg/SVGPatternElement.h:
* svg/SVGTextContentElement.h:
* svg/SVGTextPathElement.h:
* svg/properties/SVGAnimatedPropertyMacros.h: Add new macro for multiple wrappers using static properties.
2010-10-29 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Make GraphicsContext cheaper to construct
https://bugs.webkit.org/show_bug.cgi?id=48626
Do less unnecessary things when creating the Qt GraphicsContext:
- Don't create a black QBrush that's immediately discarded.
- Don't call setPlatform*(), set the painter brush and pen directly.
- Call setRenderHints() once instead of multiple setRenderHint().
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::GraphicsContext):
2010-10-29 Andreas Kling <kling@webkit.org>
Reviewed by Simon Hausmann.
[Qt] GraphicsLayer: Don't notifySyncRequired() more than necessary
https://bugs.webkit.org/show_bug.cgi?id=48624
Don't queue multiple meta method invocations for notifySyncRequired()
4% speedup on <http://ariya.github.com/clock.htm>
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
(WebCore::GraphicsLayerQtImpl::notifySyncRequired):
(WebCore::GraphicsLayerQtImpl::notifyChange):
2010-10-29 Zhenyao Mo <zmo@google.com>
Reviewed by Chris Marrin.
drawArrays/drawElements with first/offset out of range but size==0 should generate no error
https://bugs.webkit.org/show_bug.cgi?id=48601
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::drawElements):
2010-10-29 Leandro Gracia Gil <leandrogracia@google.com>
Reviewed by Jeremy Orlow.
Patch the current speech input implementation to use the nearest
language tag. The language is now passed to the startRecognition
methods so that language-specific recognition could be used. Also added
a second parameter to setMockSpeechInputResult for the language used in
speech recognition.
https://bugs.webkit.org/show_bug.cgi?id=47089
This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
details see http://codereview.chromium.org/3615005/show,
http://codereview.chromium.org/3595018/show and
https://bugs.webkit.org/show_bug.cgi?id=47420.
Test: fast/speech/input-text-language-tag.html
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
(WebCore::SearchFieldCancelButtonElement::detach):
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::detach):
2010-10-29 Mads Ager <ager@chromium.org>
Reviewed by Pavel Feldman.
[V8] The DateExtension cannot handle overwritten Date
https://bugs.webkit.org/show_bug.cgi?id=48621
Check that the Date property is an object before attempting to get
hidden properties from it.
Test: fast/dom/Window/slow-unload-handler-overwritten-date.html
* bindings/v8/DateExtension.cpp:
(WebCore::DateExtension::setAllowSleep):
2010-10-27 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGAnimatedBoolean to the new SVGAnimatedPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48469
Convert the next SVG animated primitive type to use the SVGAnimatedPropertyTearOff concept: SVGAnimatedBoolean.
Added new test verifying that StrictTypeChecking is enabled for SVGAnimatedBooleans. It also tests that this type is "static", see LayoutTests/ChangeLog for details.
Add support for StrictTypeChecking for boolean types.
Test: svg/dom/SVGExternalResourcesRequired.html
* GNUmakefile.am: Add SVGAnimatedBoolean.h and SVGAnimatedStaticPropertyTearOff.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: Add SVGAnimatedBoolean to the new style svg animated bindings list.
* bindings/scripts/CodeGeneratorJS.pm: Add StrictTypeChecking support for boolean types.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto. Only generate kit() usage for new style animated types, if the wrapped type needs a tear off.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedBoolean handling.
* svg/SVGAElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_STATIC_PROPERTY_NEW/ for boolean types everywhere. Include SVGAnimatedPropertyMacros.h where needed.
* svg/SVGAnimatedBoolean.h: Added.
* svg/SVGAnimatedBoolean.idl:
* svg/SVGAnimationElement.h:
* svg/SVGCircleElement.h:
* svg/SVGClipPathElement.h:
* svg/SVGCursorElement.h:
* svg/SVGDefsElement.h:
* svg/SVGEllipseElement.h:
* svg/SVGExternalResourcesRequired.cpp:
* svg/SVGExternalResourcesRequired.h:
(WebCore::SVGExternalResourcesRequired::~SVGExternalResourcesRequired):
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEImageElement.h:
* svg/SVGFilterElement.h:
* svg/SVGFontElement.h:
* svg/SVGForeignObjectElement.h:
* svg/SVGGElement.h:
* svg/SVGGradientElement.h:
* svg/SVGImageElement.h:
* svg/SVGLineElement.h:
* svg/SVGMPathElement.h:
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.h:
* svg/SVGPathElement.h:
* svg/SVGPatternElement.h:
* svg/SVGPolyElement.h:
* svg/SVGRectElement.h:
* svg/SVGSVGElement.h:
* svg/SVGScriptElement.h:
* svg/SVGSwitchElement.h:
* svg/SVGSymbolElement.h:
* svg/SVGTextContentElement.h:
* svg/SVGUseElement.h:
* svg/SVGViewElement.h:
* svg/properties/SVGAnimatedListPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
* svg/properties/SVGAnimatedProperty.h: Remove m_baseVal/m_animVal.
(WebCore::SVGAnimatedProperty::commitChange): New method to share code between the SVGAnimated*PropertyTearOff classes.
* svg/properties/SVGAnimatedPropertyMacros.h: Add new DECLARE_ANIMATED_STATIC_PROPERTY_NEW macro which creates SVGAnimatedStaticPropertyTearOff types.
* svg/properties/SVGAnimatedPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
* svg/properties/SVGAnimatedStaticPropertyTearOff.h: Added.
(WebCore::SVGAnimatedStaticPropertyTearOff::baseVal): Directly returns the stored m_property as reference, no tear off is created.
(WebCore::SVGAnimatedStaticPropertyTearOff::animVal): Ditto.
(WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Directly updates the stored m_property reference, and invalidates the SVG attributes.
(WebCore::SVGAnimatedStaticPropertyTearOff::setAnimVal): Not implemented.
(WebCore::SVGAnimatedStaticPropertyTearOff::create):
(WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
* svg/properties/SVGListPropertyTearOff.h:
(WebCore::SVGListPropertyTearOff::commitChange): Share code, use SVGAnimatedProperty::commitChange.
* svg/properties/SVGPropertyTearOff.h:
(WebCore::SVGPropertyTearOff::commitChange): Ditto.
2010-10-28 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
<meter min=0 max=100 value=100> should be optimum.
https://bugs.webkit.org/show_bug.cgi?id=48613
Changed to make the condition inclusive for better case consistently.
- Values on the border between optimum and subsequntial go optimum.
- Values on the border between suboptimal and even-less-than-good go suboptimal.
Test: fast/dom/HTMLMeterElement/meter-boundary-values.html
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::gaugeRegion):
2010-10-29 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
[HTML5] Add DOMSettableTokenList
https://bugs.webkit.org/show_bug.cgi?id=47810
Adds DOMSettableTokenList interface to support <output> element.
The DOMTokenList interface was refactored since its was tightly coupled
with HTMLElement.classList property.
* Android.derived.jscbindings.mk: Added JSDOMSettableTokenList.h file.
* Android.derived.v8bindings.mk: Added V8DOMSettableTokenList.h file.
* Android.jscbindings.mk: Added JSDOMSettableTokenList.cpp file.
* Android.mk: Added ClassList.cpp file.
* CMakeLists.txt: Added DOMSettableTokenList.{cpp,idl} and ClassList.cpp files.
* DerivedSources.cpp: Added JSDOMSettableTokenList.cpp file.
* DerivedSources.make: Added DOMSettableTokenList entry.
* GNUmakefile.am: Added JSDOMSettableTokenList.{h,cpp} and ClassList.{h,cpp} files.
* WebCore.gypi: Added DOMSettableTokenList.{h,cpp,idl}, V8DOMSettableTokenListCustom.cpp and ClassList.{h,cpp} files.
* WebCore.pri: Added DOMSettableTokenList.idl file.
* WebCore.pro: Added V8DOMSettableTokenListCustom.cpp, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
* WebCore.vcproj/WebCore.vcproj: Added JSDOMSettableTokenList.{h,cpp}, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
* WebCore.xcodeproj/project.pbxproj: Added ClassList.{h,cpp}, DOMSettabletokenList.{h,cpp} and JSDOMSettableTokenList.{h,cpp}
* bindings/gobject/GNUmakefile.am: Added WebKitDOMDOMSettableTokenList.{h,cpp} and WebKitDOMDOMSettableTokenListPrivate.cpp files.
* bindings/scripts/CodeGeneratorJS.pm: Modified IndexGetterReturnsStrings() returns 1 for DOMSettableTokenList.
* bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Added.
(WebCore::V8DOMSettableTokenList::indexedPropertyGetter):
* dom/Element.cpp: Replaced DOMTokenList to ClassList.
(WebCore::Element::classList):
* dom/ElementRareData.h: ditto.
* dom/SpaceSplitString.cpp: Added add() and remove() functions.
(WebCore::SpaceSplitStringData::add):
(WebCore::SpaceSplitStringData::remove):
(WebCore::SpaceSplitString::add):
(WebCore::SpaceSplitString::remove):
* dom/SpaceSplitString.h: Added add() and remove() functions.
* dom/StyledElement.cpp: Replaced DOMTokenList to ClassList.
(WebCore::StyledElement::classAttributeChanged):
* dom/StyledElement.h: ditto.
* html/ClassList.cpp: Added, mostly from original DOMTokenList.cpp.
(WebCore::ClassList::ClassList):
(WebCore::ClassList::ref):
(WebCore::ClassList::deref):
(WebCore::ClassList::length):
(WebCore::ClassList::item):
(WebCore::ClassList::contains):
(WebCore::ClassList::containsInternal):
(WebCore::ClassList::add):
(WebCore::ClassList::addInternal):
(WebCore::ClassList::remove):
(WebCore::ClassList::removeInternal):
(WebCore::ClassList::toggle):
(WebCore::ClassList::toString):
(WebCore::ClassList::reset):
(WebCore::ClassList::classNames):
* html/ClassList.h: Added, mostly from original DOMTokenList.h.
(WebCore::ClassList::create):
(WebCore::ClassList::element):
* html/DOMSettableTokenList.cpp: Added.
(WebCore::DOMSettableTokenList::DOMSettableTokenList):
(WebCore::DOMSettableTokenList::~DOMSettableTokenList):
(WebCore::DOMSettableTokenList::item):
(WebCore::DOMSettableTokenList::contains):
(WebCore::DOMSettableTokenList::add):
(WebCore::DOMSettableTokenList::addInternal):
(WebCore::DOMSettableTokenList::remove):
(WebCore::DOMSettableTokenList::removeInternal):
(WebCore::DOMSettableTokenList::toggle):
(WebCore::DOMSettableTokenList::setValue):
* html/DOMSettableTokenList.h: Added.
(WebCore::DOMSettableTokenList::create):
(WebCore::DOMSettableTokenList::ref):
(WebCore::DOMSettableTokenList::deref):
(WebCore::DOMSettableTokenList::length):
(WebCore::DOMSettableTokenList::toString):
(WebCore::DOMSettableTokenList::value):
* html/DOMSettableTokenList.idl: Added.
* html/DOMTokenList.cpp: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
(WebCore::DOMTokenList::validateToken): Changed to be a static member function of DOMTokenList.
(WebCore::DOMTokenList::addToken): Added, mostly from original DOMTokenList::addInternal().
(WebCore::DOMTokenList::removeToken): Added, mostly from original DOMTokenList::removeInternal().
* html/DOMTokenList.h: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
(WebCore::DOMTokenList::~DOMTokenList):
(WebCore::DOMTokenList::element):
* page/DOMWindow.cpp: Added an entry for DOMSettableTokenList.
* page/DOMWindow.idl: ditto.
2010-10-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: make legacy resource tracking optional in the native code,
make cookeis work against new resource manager.
https://bugs.webkit.org/show_bug.cgi?id=48532
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::resourceStyleSheetText):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::unbindAllResources):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::frameDetachedFromParent):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::markResourceAsCached):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
(WebCore::InspectorController::setResourceTrackingEnabled):
(WebCore::InspectorController::getCookies):
(WebCore::InspectorController::deleteCookie):
(WebCore::InspectorController::didCreateWebSocket):
(WebCore::InspectorController::willSendWebSocketHandshakeRequest):
(WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorController::didCloseWebSocket):
(WebCore::InspectorController::breakpointsSettingKey):
(WebCore::InspectorController::getResourceContent):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::markFailed):
* inspector/InspectorResource.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::populateObjectWithFrameResources):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype._updateWithCookies):
(WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
(WebInspector.Resource.prototype._checkWarning):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype._updateResourceWithResponse):
(WebInspector.ResourceManager.prototype.didFailLoading):
* inspector/front-end/inspector.js:
(WebInspector.forAllResources):
(WebInspector.updateResource):
2010-10-29 MORITA Hajime <morrita@google.com>
Unreviewed attempt for fixing build break for http://trac.webkit.org/changeset/70847
* editing/EditingAllInOne.cpp:
2010-10-29 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
Support RegExp in V8 implementation of SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=44809
Add RegExp serialization/deserialization now that V8 provides API access
to the RegExp type.
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::ZigZag::Writer::writeRegExp):
(WebCore::ZigZag::Serializer::writeRegExp):
(WebCore::ZigZag::Serializer::doSerialize):
(WebCore::ZigZag::Reader::read):
(WebCore::ZigZag::Reader::readRegExp):
2010-10-13 MORITA Hajime <morrita@google.com>
Reviewed by David Hyatt.
Navigating dark background websites results in blinding white flashes between pages.
https://bugs.webkit.org/show_bug.cgi?id=45640
This FOUC is caused by an early layout request before the <body> is ready,
and the page's background style given for <body>, instead of <html>.
So many sites have such stylesheets that we should care them.
- Some DOM operation such as 'element.offsetLeft' causes page layout.
- The page layout results page repaint
- The page page repaint makes a white screen. because there is nothing to paint
before <body> is available.
This change:
- extracted existing FOUC check on RenderBlock and RenderLayer to
Document::mayCauseFlashOfUnstyledContent(),
- checked <body> availability on mayCauseFlashOfUnstyledContent(), and
- added FOUC guards before requesting reapint on FrameView.
No new tests. The data loading speed matters and it cannot be
captured by DRT.
* dom/Document.cpp:
(WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
* dom/Document.h:
* page/FrameView.cpp:
(WebCore::FrameView::invalidateRect): Added a guard.
(WebCore::FrameView::repaintContentRectangle): Added a guard.
(WebCore::FrameView::doDeferredRepaints): Added a guard.
(WebCore::FrameView::shouldUpdate): Added.
* page/FrameView.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
2010-10-29 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48618
Backgrounds should clip to the border radius properly for vertical lines. The code that does this still assumes horizontal lines.
The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
box tree.
Added fast/blockflow/border-radius-clipping-vertical-lr.html.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::createLineBoxes):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
2010-10-26 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
Refactoring: Spellchecking related static functions could form a class
https://bugs.webkit.org/show_bug.cgi?id=48287
Extracted spellcheck related static functions to TextCheckingHelper class,
which has EditorClient and Range as its member.
No new tests. Just a refactoring.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::isSelectionUngrammatical):
(WebCore::Editor::guessesForUngrammaticalSelection):
(WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
(WebCore::Editor::markMisspellingsAfterTypingToPosition):
(WebCore::Editor::markMisspellingsOrBadGrammar):
(WebCore::Editor::markMisspellings):
(WebCore::Editor::markBadGrammar):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::Editor::changeBackToReplacedString):
* editing/Editor.h:
* editing/TextCheckingHelper.cpp: Added.
(WebCore::TextCheckingHelper::TextCheckingHelper):
(WebCore::TextCheckingHelper::~TextCheckingHelper):
(WebCore::TextCheckingHelper::paragraphAlignedRange):
(WebCore::TextCheckingHelper::findFirstMisspelling):
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::findFirstGrammarDetail):
(WebCore::TextCheckingHelper::findFirstBadGrammar):
(WebCore::TextCheckingHelper::isUngrammatical):
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
(WebCore::TextCheckingHelper::markAllMisspellings):
(WebCore::TextCheckingHelper::markAllBadGrammar):
* editing/TextCheckingHelper.h: Added.
2010-10-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
(Eric reviewed the CoreGraphics interactions, Peter reviewed the image
decoder interaction, and Darin Fisher SGTMed the policy decision.)
[chromium] Chromium Mac should use WebKit's image decoders
https://bugs.webkit.org/show_bug.cgi?id=47974
This patch teaches WebKit's image decoders how to talk to CoreGraphics.
This patch doesn't handle color profiles, but that will come in a
subsequent patch.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
* platform/graphics/ImageSource.h:
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::RGBA32Buffer::clear):
(WebCore::RGBA32Buffer::zeroFill):
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::setSize):
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::getAddr):
* platform/image-decoders/cg: Added.
* platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::setSize):
(WebCore::RGBA32Buffer::asNewNativeImage):
2010-10-28 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Xan Lopez.
[GTK] GObject bindings generator issues
https://bugs.webkit.org/show_bug.cgi?id=48135
GObject code generator must not generate conditional API's. This
patch also adds an alternative return value for non-void
conditional methods. With this change the conditionalMethods hack
is no longer needed.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-10-28 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48569
Box shadows on vertical inlines don't paint properly. Fix the paintBoxShadow method to treat the edges to include as
logical (so that top/bottom are used instead of left/right for vertical lines). In order to make my box-shadow tests
work I had to fix a bug in the transform code of InlineTextBox that was causing the baselines of vertical lines to
be wrong.
Added fast/blockflow/box-shadow-* tests
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow):
* rendering/RenderBoxModelObject.h:
2010-10-28 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
iframes forced into slow scrolling mode by containing RenderLayer sometimes
https://bugs.webkit.org/show_bug.cgi?id=48570
Only performs the overlap test for RenderLayers that paint themselves. This
prevents marking RenderWidgets as being overlapped unnecessarily.
Test: fast/repaint/iframe-scroll-repaint.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
2010-10-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70814.
http://trac.webkit.org/changeset/70814
https://bugs.webkit.org/show_bug.cgi?id=48612
Caused media/controls-drag-timebar.html to fail on multiple
platforms (Requested by aroben on #webkit).
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seek):
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTMovie.cpp:
* platform/graphics/win/QTMovie.h:
2010-10-28 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/8597430> Crash triggered by incremental layout of block truncated by line-clamp
https://bugs.webkit.org/show_bug.cgi?id=48602
Test: fast/flexbox/line-clamp-crash.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::applyLineClamp): Even if the child needs layout, call clearTruncation(),
since layout itself may be partial and not touch the truncated line (but touch its markup box).
2010-10-28 Jian Li <jianli@chromium.org>
Reviewed by Dmitry Titov.
[chromium] UUID generation does not work in Linux that has sandbox
turned on
https://bugs.webkit.org/show_bug.cgi?id=48571
This is because we cannot access /proc when sandbox is on. The fix is to
use random numbers to construct UUID.
* platform/UUID.cpp:
(WebCore::createCanonicalUUIDString):
2010-10-28 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Editing a word with misspell or autocorrection underline should remove the underline when the editing changes the word.
https://bugs.webkit.org/show_bug.cgi?id=48078
<rdar://problem/8579155>
Tests: platform/mac/editing/spelling/editing-multiple-words-with-markers.html
platform/mac/editing/spelling/editing-word-with-marker-1.html
platform/mac/editing/spelling/editing-word-with-marker-2.html
This patch is part of on-going improvement of autocorrection feature on Mac OS X. When an editing
occurs, if it affects words (by deleting/inserting characters, spliting word, merging words) that
have Spelling and/or CorrectionIndicator markers, we want to remove the markers. If subsequntial
spelling checking finds spelling error in newlly formed words, it will add the markers back in.
* dom/DocumentMarker.h: Changed MarkerType to bit masks to make search multiple types easier.
* dom/DocumentMarkerController.cpp: Refactored two removeMarkers() methods to support remove
markers with specific type from a node.
(WebCore::DocumentMarkerController::removeMarkers): Changed signature to remove marker with specific type.
(WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Refactoring.
(WebCore::DocumentMarkerController::hasMarkers): Convenience method to search markers in range.
* dom/DocumentMarkerController.h: Added new methods and matched new signature of removeMarkers().
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedContents): Remove existing markers if the change formed new word.
(WebCore::Editor::cut): Remove markers on words that will be modified by this editing.
(WebCore::Editor::paste): Ditto.
(WebCore::Editor::pasteAsPlainText): Ditto.
(WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): Main logic for removing
markers on words affected by editing.
* editing/Editor.h: Added removeSpellAndCorrectionMarkersFromWordsToBeEdited(). Added
REMOVE_MARKERS_UPON_EDITING and SUPPORT_AUTOCORRECTION_PANEL macro to improve readability.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertText): Remove markers on words that will be modified by this editing.
(WebCore::TypingCommand::deleteKeyPressed): Ditto.
(WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2010-10-28 Brian Weinstein <bweinstein@apple.com>
Reviewed by Brady Eidson.
Part of <https://bugs.webkit.org/show_bug.cgi?id=45980>
userscripts/user-script-*-document.html tests are flaky on Windows
In WebFrameLoaderClient::committedLoad on Windows, we call through to PluginStream::didRecieveData
if our manual loader is a plugin stream, and we can call didRecieveData with a 0 length.
We shouldn't ASSERT that length is 0, because code paths exists where we call it with a 0 length.
This is tested by re-enabling user-script-plugin-document.html on Windows.
* plugins/PluginStream.cpp:
(WebCore::PluginStream::didReceiveData):
2010-10-28 Mihai Parparita <mihaip@chromium.org>
Reviewed by Darin Adler.
[Chromium] History related tests REGRESSED after r70723
https://bugs.webkit.org/show_bug.cgi?id=48513
Remove backItem(), forwardItem() and currentItem() from the Chromium
BackForwardList implementation, since they can use the base class
behavior now (which call itemAtIndex with -1, 1, and 0 respectively).
* history/BackForwardList.h:
* history/BackForwardListChromium.cpp:
2010-10-28 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
chrome.dll!WebCore::Node::shadowAncestorNode ReadAV@NULL (98643190851b5662363449cc7303d8a5)
https://bugs.webkit.org/show_bug.cgi?id=47888
The crash was caused by the while loop in ApplyStyleCommand::fixRangeAndApplyInlineStyle
not considering the case where startNode is the root editable element.
Fixed the bug by not entering the loop when startNode is the editable root.
Test: editing/style/fix-range-from-root-editable-crash.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
2010-10-28 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Ariya Hidayat.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
Build fix, some wrong changes slipped into the previous patch.
No new tests: build fix.
* platform/graphics/GraphicsLayer.h:
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::BitmapTextureGL::setContentsToImage):
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::TextureMapperNode::uploadTextureFromContent):
(WebCore::TextureMapperNode::paintRecursive):
* platform/qt/QWebPageClient.h:
(QWebPageClient::setRootGraphicsLayer):
2010-10-28 David Hyatt <hyatt@apple.com>
Reviewed by James Robinson.
https://bugs.webkit.org/show_bug.cgi?id=48568
Backgrounds don't work right with vertical RenderInlines. Make background painting
do the right thing for vertical strips.
Added fast/blockflow/background-* tests
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintFillLayer):
2010-10-28 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adam Roben.
Seeking by very small increment doesn't generate 'seeked' event
https://bugs.webkit.org/show_bug.cgi?id=48530
Test: media/video-seek-by-small-increment.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
avoid asking it to seek to the current time.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::mediaTimeForTimeValue): New.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTMovie.cpp:
(QTMovie::timeScale): Return the movie's time scale.
* platform/graphics/win/QTMovie.h:
2010-10-28 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=48443
Border images don't work right with vertical RenderInlines. Make border/mask/background painting
do the right thing for vertical strips.
Added fast/blockflow/border-image-* tests.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
2010-10-28 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Port ContextMenuItemWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=48407
* platform/win/ContextMenuItemWin.cpp:
2010-10-28 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
queryCommandValue should fall back to queryCommandState
https://bugs.webkit.org/show_bug.cgi?id=48479
Added a fallback to Command::value so that commands with a state function without a value function
returns the value returned by the state function as a string.
* editing/EditorCommand.cpp:
(WebCore::Editor::Command::value):
2010-10-28 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Rolling out r70800.
2010-10-28 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48551
HTMLDocument::isFrameSet() should not depend on renderer
No change in functionality, so no new tests.
* html/HTMLDocument.cpp: (WebCore::HTMLDocument::isFrameSet): Omit the check for renderer.
* rendering/RenderLayer.h: Removed unneeded includes and forward declarations.
2010-10-28 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: make legacy resource tracking optional in the native code,
make cookeis work against new resource manager.
https://bugs.webkit.org/show_bug.cgi?id=48532
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::resourceStyleSheetText):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::unbindAllResources):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::frameDetachedFromParent):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::markResourceAsCached):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
(WebCore::InspectorController::setResourceTrackingEnabled):
(WebCore::InspectorController::getCookies):
(WebCore::InspectorController::deleteCookie):
(WebCore::InspectorController::didCreateWebSocket):
(WebCore::InspectorController::willSendWebSocketHandshakeRequest):
(WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorController::didCloseWebSocket):
(WebCore::InspectorController::breakpointsSettingKey):
(WebCore::InspectorController::getResourceContent):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::markFailed):
* inspector/InspectorResource.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::populateObjectWithFrameResources):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype._updateResourceWithResponse):
(WebInspector.ResourceManager.prototype.didFailLoading):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
2010-10-28 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: fix pausing on next JavaScript statement
https://bugs.webkit.org/show_bug.cgi?id=48534
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
(WebCore::InspectorDebuggerAgent::pause):
(WebCore::InspectorDebuggerAgent::didPause):
* inspector/InspectorDebuggerAgent.h:
2010-10-28 Yuzo Fujishima <yuzo@google.com>
Reviewed by David Hyatt.
Fix for Bug 14550 - Non-layout style change does not update nested first-letter
https://bugs.webkit.org/show_bug.cgi?id=14550
If a render text fragment is accompanied by a first letter, update the
first letter's style when the fragment's style is changed.
Test: fast/css/first-letter-nested.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange): Stop calling updateFirstLetter
from here.
* rendering/RenderBlock.h: Make updateFirstLetter accessbile from
RenderTextFragment.
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::styleDidChange): If appropriate, update
first letter after removing stale cached pseudo style.
(WebCore::RenderTextFragment::blockForAccompanyingFirstLetter): Helper
to get the block for the first letter.
* rendering/RenderTextFragment.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::removeCachedPseudoStyle): Remove the specified
pseudo style from cache.
* rendering/style/RenderStyle.h:
2010-10-28 Benoit Jacob <bjacob@mozilla.com>
Reviewed by Kenneth Russell.
Ensure that WebGL stencil buffers are correctly initialized
https://bugs.webkit.org/show_bug.cgi?id=48351
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::initializeRenderbuffers):
2010-10-28 Chris Fleizach <cfleizach@apple.com>
Reviewed by Adele Peterson.
AX: multi select group option does not handle setting of AXSelectedChildren correctly
https://bugs.webkit.org/show_bug.cgi?id=48464
Ensure that when selecting an item from a <select> element, it accounts for <optgroups>.
Test: platform/mac/accessibility/select-element-selection-with-optgroups.html
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::setSelected):
2010-10-28 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
No longer soft-link zlib
https://bugs.webkit.org/show_bug.cgi?id=48004
* platform/graphics/WOFFFileFormat.cpp:
(WebCore::convertWOFFToSfnt): Removed Windows-speciific code to soft-link
zlib.
2010-10-27 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Work around a Mac driver bug in generateMipmap
https://bugs.webkit.org/show_bug.cgi?id=48489
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::generateMipmap): Make sure minFilter is set to NEAREST_MIPMAP_LINEAR before generateMipmap, and after the call, set it back to the original value.
* html/canvas/WebGLTexture.h:
(WebCore::WebGLTexture::getMinFilter): Return the cached minFilter value.
2010-10-28 Mikhail Naganov <mnaganov@chromium.org>
[Chromium clang] Unreviewed. Fix forward declaration of 'struct FileMetadata'.
See http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Linux%20Debug%20Clang/builds/753/steps/compile/logs/stdio
* fileapi/FileSystemCallbacks.h:
* platform/AsyncFileSystemCallbacks.h:
2010-10-28 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Bring backend-frontend message format to follow the protocol specification
https://bugs.webkit.org/show_bug.cgi?id=48406
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getStyles):
(WebCore::InspectorDOMAgent::applyStyleText):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
(WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
(WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.parseRuleArrayPayload):
(WebInspector.CSSStyleModel.prototype.getStylesAsync):
(WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
(WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
(WebInspector.CSSStyleModel.prototype.setCSSText):
* inspector/front-end/DOMAgent.js:
(WebInspector.CSSStyleDeclaration):
(WebInspector.CSSStyleDeclaration.parsePayload):
(WebInspector.CSSStyleDeclaration.prototype.get allProperties):
(WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
(WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
(WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
(WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
(WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
(WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
(WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
(WebInspector.CSSStyleDeclaration.prototype.appendProperty):
(WebInspector.CSSStyleDeclaration.prototype.propertyAt):
(WebInspector.CSSRule):
(WebInspector.CSSRule.parsePayload):
(WebInspector.CSSRule.prototype.get isUserAgent):
(WebInspector.CSSRule.prototype.get isUser):
(WebInspector.CSSRule.prototype.get isViaInspector):
(WebInspector.CSSRule.prototype.get isRegular):
(WebInspector.CSSProperty):
(WebInspector.CSSProperty.parsePayload):
(WebInspector.CSSProperty.prototype.get propertyText):
(WebInspector.CSSProperty.prototype.get isLive):
(WebInspector.CSSProperty.prototype.get active):
(WebInspector.CSSProperty.prototype.get styleBased):
(WebInspector.CSSProperty.prototype.get inactive):
(WebInspector.CSSProperty.prototype.get disabled):
(WebInspector.CSSProperty.prototype.setText):
(WebInspector.CSSProperty.prototype.setValue):
(WebInspector.CSSProperty.prototype.setDisabled.callback):
(WebInspector.CSSProperty.prototype.setDisabled):
* inspector/front-end/MetricsSidebarPane.js:
(WebInspector.MetricsSidebarPane.prototype.update.callback):
(WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
(WebInspector.MetricsSidebarPane.prototype.update):
(WebInspector.MetricsSidebarPane.prototype._update):
(WebInspector.MetricsSidebarPane.prototype.editingCommitted.callback):
(WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
(WebInspector.MetricsSidebarPane.prototype.editingCommitted):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.update):
(WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
(WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
(WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
(WebInspector.StylesSidebarPane.prototype._markUsedProperties):
(WebInspector.StylesSidebarPane.prototype._containsInherited):
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
(WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
(WebInspector.StylePropertiesSection.prototype.onpopulate):
(WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
(WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
(WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
(WebInspector.StylePropertyTreeElement):
(WebInspector.StylePropertyTreeElement.prototype.get disabled):
(WebInspector.StylePropertyTreeElement.prototype.get name):
(WebInspector.StylePropertyTreeElement.prototype.get priority):
(WebInspector.StylePropertyTreeElement.prototype.get value):
(WebInspector.StylePropertyTreeElement.prototype.get parsedOk):
(WebInspector.StylePropertyTreeElement.prototype):
(WebInspector.StylePropertyTreeElement.prototype.):
2010-10-27 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
WebKit needs to expose an Element::spellcheck attribute to javascript.
https://bugs.webkit.org/show_bug.cgi?id=25536
Published Element.spellcheck property on IDL, implemented it.
Tests: editing/spelling/spelling-attribute-change.html
fast/dom/HTMLElement/spellcheck.html
* html/HTMLElement.cpp:
(WebCore::HTMLElement::spellcheck):
(WebCore::HTMLElement::setSpellcheck):
* html/HTMLElement.h:
* html/HTMLElement.idl:
2010-10-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: make debugger work against new resource manager.
https://bugs.webkit.org/show_bug.cgi?id=48376
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::identifierForInitialRequest):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::identifierForInitialRequest):
* inspector/InspectorResourceAgent.h:
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set content):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager):
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
(WebInspector.ResourceManager.prototype._createResource):
(WebInspector.ResourceManager.prototype.willSendRequest):
(WebInspector.ResourceManager.prototype._updateResourceWithRequest):
(WebInspector.ResourceManager.prototype.didFinishLoading):
(WebInspector.ResourceManager.prototype.didFailLoading):
(WebInspector.ResourceManager.prototype.setOverrideContent):
(WebInspector.ResourceManager.prototype._processCachedResources):
(WebInspector.ResourceManager.prototype._addFramesRecursively):
(WebInspector.ResourceManager.prototype.resourceForURL):
(WebInspector.ResourceManager.prototype.addConsoleMessage):
(WebInspector.ResourceManager.prototype.clearConsoleMessages):
(WebInspector.ResourceManager.prototype.forAllResources):
(WebInspector.ResourceManager.prototype._bindResourceURL):
(WebInspector.ResourceManager.prototype._unbindResourceURL):
(WebInspector.ResourceManager.getContent):
(WebInspector.ResourceTreeModel):
(WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
(WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
(WebInspector.ResourceTreeModel.prototype._clearResources):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.addOrUpdateFrame):
* inspector/front-end/networkPanel.css:
(.network.panel .resources-dividers):
2010-10-28 Andy Estes <aestes@apple.com>
One more Qt fix due to r70754.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::hasValidClassId):
2010-10-28 Pascal Massimino <pascal.massimino@gmail.com>
Reviewed by Adam Barth.
fix setSize() call flow: it was only called the first
time (when onlySize is true)
Bug URL: https://bugs.webkit.org/show_bug.cgi?id=48494
Testing: difficult to exercise the bug, as it requires
some manual flow (change tab, scroll,...)
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decode):
fix: call setSize() even when onlySize is false
2010-10-28 Andy Estes <aestes@apple.com>
Fix the Qt build after r70754.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::hasValidClassId):
(WebCore::HTMLObjectElement::updateWidget):
* html/HTMLObjectElement.h:
2010-10-28 Andy Estes <aestes@apple.com>
Reviewed by Adam Barth.
Fix a test failure introduced in r70748 by supporting Qt's non-standard
use of classid.
https://bugs.webkit.org/show_bug.cgi?id=45679
* html/HTMLObjectElement.cpp:
(WebCore::objectHasSupportedClassId): Return true if the object's
serviceType is 'application/x-qt-plugin'.
(WebCore::HTMLObjectElement::updateWidget): Do not render fallback
content if a non-empty classid is specified for a Qt plugin object.
2010-10-28 Ivan Krstić <ike@apple.com>
Reviewed by Mark Rowe.
Remove unused experimental proxied panel interface.
<rdar://problem/7237059>
* WebCore.exp.in:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2010-10-27 Andy Estes <aestes@apple.com>
Reviewed by Adam Barth.
r66156 broke AtlasCT library, formerly affected http://map.d.co.il/
https://bugs.webkit.org/show_bug.cgi?id=45679
This patch removes WebKit's map of classid values to MIME types. It also
changes the behavior of object elements to render fallback content when
a non-empty classid attribute is specified, which is the behavior HTML5
specifies when a UA encounters a classid it doesn't understand.
Test: fast/replaced/object-with-non-empty-classid-triggers-fallback.html
* html/HTMLObjectElement.cpp: Remove serviceTypeForClassId(),
createClassIdToTypeMap(), and the ClassIdToTypeMap typedef.
(WebCore::HTMLObjectElement::updateWidget): Do not call
serviceTypeForClassId() when there is no type attribute, and render
fallback content if the classid attribute is non-empty.
2010-10-27 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
[Chromium] Metadata queries should return full file info, not just modification time
https://bugs.webkit.org/show_bug.cgi?id=48098
LayoutTests that use this functionality via WorkerAsyncFileWriter are in review.
Build file changes to add FileMetadata.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
The rest of the changes here just pass the new FileMetadata object through calls that used to take a modification time.
* platform/FileMetadata.h: Added.
(WebCore::FileMetadata::FileMetadata):
* fileapi/FileSystemCallbacks.cpp:
(WebCore::FileSystemCallbacksBase::didReadMetadata):
(WebCore::MetadataCallbacks::didReadMetadata):
* fileapi/FileSystemCallbacks.h:
* platform/AsyncFileSystemCallbacks.h:
2010-10-27 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add VectorMath files
https://bugs.webkit.org/show_bug.cgi?id=48467
No new tests since audio API is not yet implemented.
* platform/audio/VectorMath.cpp: Added.
(WebCore::VectorMath::vsmul):
(WebCore::VectorMath::vadd):
* platform/audio/VectorMath.h: Added.
2010-10-27 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Fixup files affected by VectorMath and related API changes
https://bugs.webkit.org/show_bug.cgi?id=48481
No new tests since audio API is not yet implemented.
* platform/audio/AudioBus.cpp:
* platform/audio/AudioChannel.cpp:
* platform/audio/Biquad.cpp:
* platform/audio/FFTConvolver.cpp:
* platform/audio/FFTConvolver.h:
* platform/audio/Panner.cpp:
(WebCore::Panner::create):
* platform/audio/Reverb.cpp:
(WebCore::calculateNormalizationScale):
(WebCore::Reverb::initialize):
(WebCore::Reverb::process):
* platform/audio/ReverbAccumulationBuffer.cpp:
* platform/audio/ReverbAccumulationBuffer.h:
* platform/audio/ReverbConvolver.cpp:
(WebCore::ReverbConvolver::ReverbConvolver):
(WebCore::ReverbConvolver::process):
* platform/audio/ReverbConvolver.h:
* platform/audio/ReverbConvolverStage.cpp:
(WebCore::ReverbConvolverStage::ReverbConvolverStage):
* platform/audio/ReverbConvolverStage.h:
* platform/audio/ReverbInputBuffer.h:
2010-10-27 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
DOMFileSystem's reference should be kept while there're any active Entries/callbacks
https://bugs.webkit.org/show_bug.cgi?id=47535
Changed to keep DOMFileSystem's reference in each EntryBase, DirectoryReaderBase, EntryCallbacks and EntriesCallbacks.
Test: fast/filesystem/filesystem-reference.html
* fileapi/DOMFileSystemBase.cpp:
(WebCore::DOMFileSystemBase::readDirectory): Changed to pass/take
PassRefPtr but not a raw pointer.
* fileapi/DOMFileSystemBase.h:
* fileapi/DirectoryEntry.cpp:
(WebCore::DirectoryEntry::DirectoryEntry): Ditto.
(WebCore::DirectoryEntry::createReader):
* fileapi/DirectoryEntry.h:
(WebCore::DirectoryEntry::create): Ditto.
* fileapi/DirectoryEntrySync.cpp:
(WebCore::DirectoryEntrySync::DirectoryEntrySync): Ditto.
* fileapi/DirectoryEntrySync.h:
(WebCore::DirectoryEntrySync::create): Ditto.
* fileapi/DirectoryReader.h:
(WebCore::DirectoryReader::filesystem):
* fileapi/DirectoryReaderBase.h:
(WebCore::DirectoryReaderBase::filesystem):
* fileapi/Entry.cpp:
(WebCore::Entry::Entry): Ditto.
* fileapi/Entry.h:
(WebCore::Entry::filesystem):
* fileapi/EntryBase.h:
(WebCore::EntryBase::filesystem):
(WebCore::EntryBase::EntryBase): Ditto.
* fileapi/EntrySync.cpp:
(WebCore::EntrySync::create): Ditto.
(WebCore::EntrySync::getParent):
(WebCore::EntrySync::EntrySync): Ditto.
* fileapi/EntrySync.h:
(WebCore::EntrySync::filesystem):
* fileapi/FileEntry.cpp:
(WebCore::FileEntry::FileEntry): Ditto.
* fileapi/FileEntry.h:
(WebCore::FileEntry::create): Ditto.
* fileapi/FileEntrySync.cpp:
(WebCore::FileEntrySync::FileEntrySync): Ditto.
* fileapi/FileEntrySync.h:
(WebCore::FileEntrySync::create): Ditto.
* fileapi/FileSystemCallbacks.cpp:
(WebCore::EntriesCallbacks::create): Ditto.
(WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
* fileapi/FileSystemCallbacks.h:
2010-10-27 Yuzo Fujishima <yuzo@google.com>
Reviewed by Eric Seidel.
Fix for Bug 48310 - SVG font-face-name without name attribute causes a crash
https://bugs.webkit.org/show_bug.cgi?id=48310
Test: svg/custom/font-face-name-without-name-attr.svg
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace): Don't create src
property if the src value list is empty.
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::srcValue): Don't add empty src
values to the src value list.
2010-10-27 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Allow AudioDSPKernel to function without an AudioDSPKernelProcessor
https://bugs.webkit.org/show_bug.cgi?id=48472
No new tests since audio API is not yet implemented.
* platform/audio/AudioDSPKernel.h:
(WebCore::AudioDSPKernel::AudioDSPKernel):
(WebCore::AudioDSPKernel::sampleRate):
2010-10-27 Enrica Casucci <enrica@apple.com>
Reviewed by Alexey Proskuryakov.
Support Appkit key bindings and custom key bindings in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=48271
<rdar://problem/7660723>
* dom/KeyboardEvent.h:
(WebCore::KeypressCommand::KeypressCommand): Added default constructor and modified assert for text
insertion command constructor to support WebKit2 scenarios.
The default constructor is needed to support the generated WebKit2 message processing code.
2010-10-26 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=42322
rdar://problem/8193631
WebKitTestRunner needs to support layoutTestController.clearBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=42333
rdar://problem/8193643
* WebCore.exp.in: Updated exports.
* history/BackForwardList.h: Added comments about future refactoring.
Moved functions that are not called inside WebCore into a separate
section, to be removed later. Added an isActive function to replace the
use of enabled() and entries().
* history/BackForwardListImpl.h: Removed isBackForwardListImpl.
Marked virtual function overrides virtual explicitly, except for the
ones that will be non-virtual once we make the changes above.
Added the isActive function.
* history/PageCache.cpp:
(WebCore::logCanCachePageDecision): Use isActive.
(WebCore::PageCache::canCache): Ditto.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkDidPerformFirstNavigation): Check
using currentItem, backItem, and forwardItem instead of
using entries.
* page/Settings.cpp:
(WebCore::Settings::setUsesPageCache): Loop through the back/forward
list entries using backListCount and forwardListCount instead of
using entries.
2010-10-27 Chris Rogers <crogers@google.com>
Reviewed by Chris Marrin.
Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
https://bugs.webkit.org/show_bug.cgi?id=48279
No new tests since flag is disabled.
* Configurations/FeatureDefines.xcconfig:
2010-10-27 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioResamplerKernel files
https://bugs.webkit.org/show_bug.cgi?id=47624
No new tests since audio API is not yet implemented.
* platform/audio/AudioResamplerKernel.cpp: Added.
(WebCore::AudioResamplerKernel::AudioResamplerKernel):
(WebCore::AudioResamplerKernel::getSourcePointer):
(WebCore::AudioResamplerKernel::process):
(WebCore::AudioResamplerKernel::reset):
(WebCore::AudioResamplerKernel::rate):
* platform/audio/AudioResamplerKernel.h: Added.
2010-10-27 Adam Barth <abarth@webkit.org>
Reviewed by Ojan Vafai.
REGRESSION(66511): CORDYS Process Factory doesn't work
https://bugs.webkit.org/show_bug.cgi?id=48453
When Ojan refactored this function in 66511, he missed an "else",
which causes us to generated HIERARCHY_REQUEST_ERR in some cases where
we're not supposed to. This patch restores the "else" behavior (using
an early return) and adds a test for the cases that caused problems in
the field.
Test: fast/dom/allowed-children.html
* dom/Node.cpp:
(WebCore::isChildTypeAllowed):
2010-10-27 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit
SPI to scale a WebView
-and corresponding-
<rdar://problem/8107667>
This patch adds SPI to Mac WebKit that scales the page by the given
scale factor. The scale factor is factored into the RenderStyle's
transform.
Set the current pageScale for the document.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
Frame keeps track of the page scale factor. When
scalePage() is called, it modifies the RenderView's style to
include a transform of the appropriate scale and forces a style
recalc.
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::scalePage):
* page/Frame.h:
(WebCore::Frame::pageScaleFactor):
* WebCore.exp.in:
Add a scale to the transformation matrix.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setPageScaleTransform):
* rendering/style/RenderStyle.h:
2010-10-27 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
REGRESSION (r70335): Incorrect article layout in Safari Reader
https://bugs.webkit.org/show_bug.cgi?id=48436
* page/DOMWindow.cpp:
(WebCore::DOMWindow::getMatchedCSSRules): Return rules from all origins if the cross-origin
check is disabled.
* page/Settings.cpp:
(WebCore::Settings::Settings): Initialize m_crossOriginCheckInGetMatchedCSSRulesDisabled.
* page/Settings.h:
(WebCore::Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled): Added this accessor.
(WebCore::Settings::crossOriginCheckInGetMatchedCSSRulesDisabled): Ditto.
2010-10-27 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
refactor the nested large switch statements in GraphicsContext3DCG.cpp:getImageData()
https://bugs.webkit.org/show_bug.cgi?id=47027
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::doPacking): ASSERT false if undefined format is passed in.
* platform/graphics/GraphicsContext3D.h: Add kSourceFormatUndefined enum.
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::getSourceDataFormat): Decide source data format from componentsPerPixel, alpha format, bitsPerComponet, etc.
(WebCore::GraphicsContext3D::getImageData): Refactor the code to use getSourceDataFormat and remove nested switches.
2010-10-27 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Barth.
Use WTF::StringHasher::createBlobHash where possible
https://bugs.webkit.org/show_bug.cgi?id=48228
Replace StringImpl::computeHash with StringHasher::createBlobHash.
This removes many duplicated code.
* bindings/js/JSSVGPODTypeWrapper.h:
(WebCore::PODTypeWrapperCacheInfoHash::hash):
* page/SecurityOriginHash.h:
(WebCore::SecurityOriginHash::hash):
* platform/cf/SchedulePair.h:
(WebCore::SchedulePairHash::hash):
* platform/graphics/FontCache.cpp:
(WebCore::computeHash):
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
(WebCore::FontPlatformData::RefCountedHFONT::hash):
* platform/graphics/cocoa/FontPlatformData.h:
(WebCore::FontPlatformData::hash):
* platform/graphics/gtk/FontPlatformDataPango.h:
(WebCore::FontPlatformData::hash):
* platform/graphics/wince/FontPlatformData.cpp:
(WebCore::FixedSizeFontDataKeyHash::hash):
* platform/graphics/wx/FontPlatformDataWx.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::computeHash):
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::hash):
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::hash):
* svg/DeprecatedSVGAnimatedTemplate.h:
(WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
* svg/properties/SVGAnimatedPropertyDescription.h:
(WebCore::SVGAnimatedPropertyDescriptionHash::hash):
2010-10-27 Tony Chang <tony@chromium.org>
Unreviewed, build fix after r70692.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):
2010-10-27 Leandro Pereira <leandro@profusion.mobi>
Unreviewed. Build fix after r70651.
* CMakeListsEfl.txt: Add SoupURIUtils.cpp.
2010-10-27 Crystal Zhang <haizhang@rim.com>
Reviewed by Eric Carlson.
https://bugs.webkit.org/show_bug.cgi?id=48446
Fix an issue where we were passing the wrong parameter
to MIMETypeRegistry::getMIMETypeForExtension().
* platform/MIMETypeRegistry.cpp:
2010-10-27 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=48449
Make border drawing work correctly with vertical inline flows. The top and bottom edge have to be omitted
rather than the left and right edges.
Also discovered that border-radius is broken with the new path-based-drawing code for all inline flows. This
is a regression from the old drawing code. I patched the code to be correct rather than clipping out stuff
that it shouldn't and applying border-radii on lines that don't even have them.
Added fast/blockflow/border-vertical-lr.html and fast/borders/border-radius-inline-flow.html
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
* rendering/RenderBoxModelObject.h:
2010-10-27 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[Cairo] Font fallback determination is very ineffecient
https://bugs.webkit.org/show_bug.cgi?id=42052
When choosing a fallback font in FontCache::getFontDataForCharacters, use FontConfig's
mechanism for searching the fallback list directly, instead of scanning the list manually.
If the font is a custom font or any other font with no FontConfig pattern associated with
it, as FontConfig for a font that can supply the missing glyphs.
Test: platform/gtk/fonts/custom-font-missing-glyphs.html
* platform/graphics/cairo/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters): Added this helper which turns
a collection of unicode characters into a FontConfig pattern.
(WebCore::findBestFontGivenFallbacks): Using a FontConfig pattern created with th
above helper and a FcFontSet of fallback fonts, this helper will find a font in
the set which fulfills the requirments.
(WebCore::FontCache::getFontDataForCharacters): Given an existing font with missing
glyphs, either find an appropriate fallback font from the list of FontConfig fallbacks
or ask FontConfig directly for an appropriate font.
* platform/graphics/cairo/FontPlatformDataFreeType.h: Made a member mutable, as it is
initialized lazily.
2010-10-27 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: "Reload Page and Audit on Load" fails to run audits when resource tracking is disabled
https://bugs.webkit.org/show_bug.cgi?id=48431
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype._reloadResources):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._createPanelEnabler):
(WebInspector.ResourcesPanel.prototype._enableResourceTracking):
2010-10-27 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Add a function to make sure child is allowed before adding to a
render view.
https://bugs.webkit.org/show_bug.cgi?id=48328
Test: fast/inline/inline-child-height-width-calc-crash.html
* rendering/RenderView.cpp:
(WebCore::RenderView::isChildAllowed):
* rendering/RenderView.h:
2010-10-27 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] r69296 includes a cast from GdkWindow* to GtkWindow*
https://bugs.webkit.org/show_bug.cgi?id=48445
Pass the pageClient GtkWidget* to gtk_xtbin_new instead of the
GdkWindow*. The pageClient is used to get the proper visual for the
plugin container widget.
No new tests. This patch should prevent plugins/null-npp-getvalue-pointer.html
from crashing.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::platformStart): Pass the widget instead of the window.
* plugins/gtk/gtk2xtbin.c: Accept the widget instead of the window.
(gtk_xtbin_new):
* plugins/gtk/gtk2xtbin.h: Update the declaration.
2010-10-27 Kwang Yul Seo <skyul@company100.net>
Reviewed by James Robinson.
[BREWMP] Port graphics backend
https://bugs.webkit.org/show_bug.cgi?id=40275
Add PLATFORM(BREWMP) guard to skia's FontCustomPlatformData
to share OS(LINUX) implementation.
* loader/CachedFont.cpp:
* platform/graphics/skia/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::createFontCustomPlatformData):
* platform/graphics/skia/FontCustomPlatformData.h:
2010-10-27 Satish Sampath <satish@chromium.org>
Unreviewed, rolling out r70665.
http://trac.webkit.org/changeset/70665
https://bugs.webkit.org/show_bug.cgi?id=47089
Need to address Alexey's review comments.
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
(WebCore::SearchFieldCancelButtonElement::detach):
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::detach):
2010-10-27 ZHenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Must enable GL_POINT_SPRITE in GraphicsContext3D implementations
https://bugs.webkit.org/show_bug.cgi?id=45908
* platform/graphics/mac/GraphicsContext3DMac.mm: Enable for Mac port.
(WebCore::GraphicsContext3D::GraphicsContext3D):
2010-10-27 Leandro Gracia Gil <leandrogracia@google.com>
Reviewed by Jeremy Orlow.
Patch the current speech input implementation to use the nearest
language tag. The language is now passed to the startRecognition
methods so that language-specific recognition could be used. Also added
a second parameter to setMockSpeechInputResult for the language used in
speech recognition.
https://bugs.webkit.org/show_bug.cgi?id=47089
This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
details see http://codereview.chromium.org/3615005/show and
http://codereview.chromium.org/3595018/show. The last of the 4 patches
depends also on the language tag validation provided by this patch:
https://bugs.webkit.org/show_bug.cgi?id=48225.
Test: fast/speech/input-text-language-tag.html
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
(WebCore::SearchFieldCancelButtonElement::detach):
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::detach):
2010-10-27 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48381
Make basic layer positioning work with vertical-lr writing-mode.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::paintFloats):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
(WebCore::RenderBox::locationOffsetIncludingFlipping):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
2010-10-27 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
object-deletion-behaviour.html fails with mesa backend
https://bugs.webkit.org/show_bug.cgi?id=46667
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): If object_type is 0, we return early because object_name should be always be 0.
2010-10-27 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
If WebGL is running on top of a strict version of OpenGL ES it should make sure attribs have buffers assigned at all times
https://bugs.webkit.org/show_bug.cgi?id=47964
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateRenderingState): Minimum checking: if input <= 0, only check if each enabled vertex attribute is bound to a buffer.
(WebCore::WebGLRenderingContext::drawArrays): If underlying GL performs bounds checking, we still need to do the minimum checking using validateRenderingState.
(WebCore::WebGLRenderingContext::drawElements): Ditto.
* html/canvas/WebGLRenderingContext.h: Add a comment for input <= 0 in validateRenderingState.
2010-10-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Accelerated animation with missing values in keyframes is broken
https://bugs.webkit.org/show_bug.cgi?id=48395
r66339 changed the behavior of keyframe animations such that if a property
is missing from a keyframe, the property will be interpolated between those
keyframes that do have a value for the property. If a value is missing
from the first or last keyframes, the element's unanimated style supplies
that value.
However, accelerated animations had a bug where if a value was missing
from the first (and maybe subsequent) or last (and maybe preceding) keyframes,
the animation data given to the GraphicsLayer would be missing the style from the
first or final keyframe.
Tests: animations/missing-values-first-keyframe.html
animations/missing-values-last-keyframe.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
2010-10-27 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Dirk Schulze.
Calling the super class of RenderSVGImage::updateFromElement is missing
https://bugs.webkit.org/show_bug.cgi?id=48347
RenderSVGImage::updateFromElement is an inherited function of RenderSVGModelObject what needs calling its ancestor.
Lack of this call caused filters were not invalidated at SVGImage objects.
No new tests, because this modification is covered by SVGFEConvolveMatrixElement's dynamic update tests.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::updateFromElement):
2010-10-27 Justin Schuh <jschuh@chromium.org>
Reviewed by Dirk Schulze.
Ignore invalid blend modes
https://bugs.webkit.org/show_bug.cgi?id=48371
Test: svg/filters/feBlend-invalid-mode.xhtml
* platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::apply):
2010-10-27 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
[Gtk] http/tests/xmlhttprequest/basic-auth-default.html fails
https://bugs.webkit.org/show_bug.cgi?id=38956
Added a new utility function that turns SoupURIs into
KURLs. That addresses some issues with SoupURIs like for example
soup_uri_to_string ignoring the URI password. Basic authentication
using URL credentials should work now.
* GNUmakefile.am:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateFromSoupMessage):
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):
* platform/network/soup/SoupURIUtils.cpp: Added.
(WebCore::soupURIToKURL):
* platform/network/soup/SoupURIUtils.h: Added.
2010-10-27 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
Reviewed by Andreas Kling.
Remove references to ancient QGVLauncher and QtLauncher
https://bugs.webkit.org/show_bug.cgi?id=48430
* manual-tests/plugins/windowed.html: change to QtTestBrowser
* manual-tests/plugins/windowless.html: ditto
2010-10-27 Patrick Gansterer <paroga@webkit.org>
Reviewed by Csaba Osztrogonác.
[WINCE] Buildfix after r70400.
https://bugs.webkit.org/show_bug.cgi?id=48419
* platform/wince/TemporaryLinkStubs.cpp: Added.
(WebCore::setCookieStoragePrivateBrowsingEnabled):
2010-10-27 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Add runtime flag check before enabling speech input in code.
https://bugs.webkit.org/show_bug.cgi?id=48426
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isSpeechEnabled): Added runtime flag check.
2010-10-27 Adam Roben <aroben@apple.com>
Only decompress pixel buffers when needed (and fix a crash in the
process)
Fixes <http://webkit.org/b/48417> Crash when running
compositing/video/video-background-color.html on Windows
Reviewed by Anders Carlsson.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Only
decompress the pixel buffer when it has an incompatible format. This
also has the benefit of only decompressing the buffer when a
QTDecompressionSession has been created! (I assume this was just a typo
from when this code was added in r70252.)
2010-10-27 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Martin Robinson.
getTextAtOffset returns incorrect results if a link includes text and an image
https://bugs.webkit.org/show_bug.cgi?id=47365
Properly consider text under a non-text renderer in textForObject.
We need to check all the children under a non-text renderer, if
any, to consider when current object is not a text object but some
of its children are, in order not to miss those portions of text
by not properly handling those situations.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(textForRenderer): New. Get the text for a RenderObject's children.
(textForObject): Use the new textForRenderer function.
2010-10-26 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis.
Convert SVGRect to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48204
Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.
Test: svg/dom/SVGRect.html
* GNUmakefile.am: Add SVGAnimatedRect.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
* bindings/scripts/CodeGeneratorJS.pm: Ditto.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
* svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
* svg/SVGAngle.idl: Remove [SVGProperty] flag.
* svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
* svg/SVGAnimatedLength.idl: Ditto.
* svg/SVGAnimatedLengthList.idl: Ditto.
* svg/SVGAnimatedRect.h: Added.
* svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
* svg/SVGLength.idl: Remove [SVGProperty] flag.
* svg/SVGMarkerElement.h:
* svg/SVGPatternElement.h:
* svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
* svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
(WebCore::SVGSVGElement::currentView):
(WebCore::SVGSVGElement::inheritViewAttributes):
* svg/SVGSVGElement.h:
* svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
* svg/SVGSymbolElement.h:
* svg/SVGViewElement.h:
* svg/SVGViewSpec.cpp: Take a SVGElement as context element.
(WebCore::SVGViewSpec::SVGViewSpec):
* svg/SVGViewSpec.h: Ditto.
(WebCore::SVGViewSpec::contextElement):
* svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
* svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.
2010-10-27 Pavel Podivilov <podivilov@chromium.org>
Unreviewed, fix line endings in InspectorState.h
* inspector/InspectorState.h:
2010-10-27 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: move frontend settings to local storage
https://bugs.webkit.org/show_bug.cgi?id=47715
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::didCommitLoad):
* inspector/InspectorController.h:
* inspector/InspectorState.cpp:
(WebCore::InspectorState::InspectorState):
* inspector/InspectorState.h:
* inspector/front-end/ConsoleView.js:
* inspector/front-end/EventListenersSidebarPane.js:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._createStatusbarButtons):
* inspector/front-end/Panel.js:
(WebInspector.Panel):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
(WebInspector.Settings.prototype.installApplicationSetting):
(WebInspector.Settings.prototype.installProjectSetting):
(WebInspector.Settings.prototype._get):
(WebInspector.Settings.prototype._set):
(WebInspector.Settings.prototype._getProjectSetting):
(WebInspector.Settings.prototype._setProjectSetting):
(WebInspector.Settings.prototype._formatProjectKey):
* inspector/front-end/StylesSidebarPane.js:
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSidebarPane):
(WebInspector.WatchExpressionsSidebarPane.prototype.reset):
* inspector/front-end/inspector.js:
(WebInspector.reset):
2010-10-27 Andy Estes <aestes@apple.com>
Reviewed by David Hyatt.
Siblings of floated elements should be cleared below the float if they
are too wide to fit in the containing block.
https://bugs.webkit.org/show_bug.cgi?id=48396
Test: fast/block/float/clear-element-too-wide-for-containing-block.html
WebKit did not clear elements adjacent to floats if they were wider than
the containing block, instead keeping them on the same line and allowing
them to spill out the right side of the containing block. We should
match the spec in this regard and clear the element below the float even
if it is too wide for the containing block. Doing this seems to also
match IE's and Firefox's behavior.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::getClearDelta): Continue to compute the clear
delta even if the child's minimum preferred width is greater than the
containing block's available width.
2010-10-26 Rob Buis <rwlbuis@gmail.com>
Reviewed by Nikolas Zimmermann.
Title-Element has no popup on <svg>-Elements, but on <g>
https://bugs.webkit.org/show_bug.cgi?id=47669
Allow tooltips on non-root svg elements.
No new tests.
* svg/SVGStyledElement.cpp:
2010-10-26 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
constraint validation: stepMismatch (rounding error)
https://bugs.webkit.org/show_bug.cgi?id=48220
1. Changed the computation to achieve difference from a integral
multiple of the allowed value step.
The previous fmod(doubleValue, step) sometimes returned unacceptable
remainder. For example,
double doubleValue = 1.005; // Actually, near to 1.005
double step = 0.005; // Actually, near to 0.005
fmod(doubleValue, step) ==> (near to) 0.005
It's a case that doubleValue is a little smaller than 1.005 and step is
a little larger than 0.005.
2. Changed the error threshold.
Number values in HTML5 are expressed in IEEE 754 single-precision.
Too precise comparison sometimes leads unintended errors.
For example, I found a case :
remainder = 0.00000000000000022204460
acceptableError = 0.00000000000000007105427
* html/NumberInputType.cpp:
(WebCore::NumberInputType::stepMismatch):
2010-10-26 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add DelayNode files
https://bugs.webkit.org/show_bug.cgi?id=47516
No new tests since audio API is not yet implemented.
* webaudio/DelayNode.cpp: Added.
(WebCore::DelayNode::DelayNode):
(WebCore::DelayNode::delayTime):
* webaudio/DelayNode.h: Added.
(WebCore::DelayNode::create):
(WebCore::DelayNode::delayProcessor):
* webaudio/DelayNode.idl: Added.
2010-10-26 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
AudioContext and AudioNode followup changes for AudioNodeInput/AudioNodeOutput thread safety
https://bugs.webkit.org/show_bug.cgi?id=47504
No new tests since audio API is not yet implemented.
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::isAudioThread):
(WebCore::AudioContext::isGraphOwner):
(WebCore::AudioContext::handlePreRenderTasks):
(WebCore::AudioContext::handlePostRenderTasks):
(WebCore::AudioContext::deleteMarkedNodes):
(WebCore::AudioContext::markAudioNodeInputDirty):
(WebCore::AudioContext::markAudioNodeOutputDirty):
(WebCore::AudioContext::handleDirtyAudioNodeInputs):
(WebCore::AudioContext::handleDirtyAudioNodeOutputs):
* webaudio/AudioContext.h:
* webaudio/AudioNode.cpp:
* webaudio/AudioNode.h:
(WebCore::AudioNode::isMarkedForDeletion):
* webaudio/AudioNode.idl:
2010-10-26 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add DelayProcessor files
https://bugs.webkit.org/show_bug.cgi?id=47517
No new tests since audio API is not yet implemented.
* webaudio/DelayProcessor.cpp: Added.
(WebCore::DelayProcessor::DelayProcessor):
(WebCore::DelayProcessor::~DelayProcessor):
(WebCore::DelayProcessor::createKernel):
* webaudio/DelayProcessor.h: Added.
(WebCore::DelayProcessor::delayTime):
2010-10-26 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioNodeOutput files
https://bugs.webkit.org/show_bug.cgi?id=45581
No new tests since audio API is not yet implemented.
* webaudio/AudioNodeOutput.cpp: Added.
(WebCore::AudioNodeOutput::AudioNodeOutput):
(WebCore::AudioNodeOutput::setNumberOfChannels):
(WebCore::AudioNodeOutput::setInternalBus):
(WebCore::AudioNodeOutput::updateRenderingState):
(WebCore::AudioNodeOutput::updateNumberOfChannels):
(WebCore::AudioNodeOutput::propagateChannelCount):
(WebCore::AudioNodeOutput::pull):
(WebCore::AudioNodeOutput::bus):
(WebCore::AudioNodeOutput::renderingFanOutCount):
(WebCore::AudioNodeOutput::fanOutCount):
(WebCore::AudioNodeOutput::addInput):
(WebCore::AudioNodeOutput::removeInput):
(WebCore::AudioNodeOutput::disconnectAllInputs):
(WebCore::AudioNodeOutput::disable):
(WebCore::AudioNodeOutput::enable):
* webaudio/AudioNodeOutput.h: Added.
(WebCore::AudioNodeOutput::node):
(WebCore::AudioNodeOutput::context):
(WebCore::AudioNodeOutput::numberOfChannels):
(WebCore::AudioNodeOutput::isChannelCountKnown):
2010-10-26 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioNodeInput files
https://bugs.webkit.org/show_bug.cgi?id=45577
No new tests since audio API is not yet implemented.
* webaudio/AudioNodeInput.cpp: Added.
(WebCore::AudioNodeInput::AudioNodeInput):
(WebCore::AudioNodeInput::connect):
(WebCore::AudioNodeInput::disconnect):
(WebCore::AudioNodeInput::disable):
(WebCore::AudioNodeInput::enable):
(WebCore::AudioNodeInput::changedOutputs):
(WebCore::AudioNodeInput::updateRenderingState):
(WebCore::AudioNodeInput::numberOfChannels):
(WebCore::AudioNodeInput::numberOfRenderingChannels):
(WebCore::AudioNodeInput::bus):
(WebCore::AudioNodeInput::internalSummingBus):
(WebCore::AudioNodeInput::sumAllConnections):
(WebCore::AudioNodeInput::pull):
* webaudio/AudioNodeInput.h: Added.
(WebCore::AudioNodeInput::node):
(WebCore::AudioNodeInput::context):
(WebCore::AudioNodeInput::numberOfRenderingConnections):
(WebCore::AudioNodeInput::renderingOutput):
(WebCore::AudioNodeInput::isConnected):
(WebCore::AudioNodeInput::numberOfConnections):
2010-10-26 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
Rolling in r70512 again, added missing null-check to
Editor::isSpellCheckingEnabled().
http://trac.webkit.org/changeset/70512
spellcheck='' should be the same as spellcheck="true"
https://bugs.webkit.org/show_bug.cgi?id=25539
* dom/Element.cpp:
(WebCore::Element::spellcheckAttributeState):
(WebCore::Element::isSpellCheckingEnabled):
* dom/Element.h:
* editing/Editor.cpp:
(WebCore::markMisspellingsOrBadGrammar):
(WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
* editing/Editor.h:
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
2010-10-26 Brent Fulgham <bfulgham@webkit.org>
Unreviewed build fixes.
* WebCore.vcproj/WebCore.vcproj: Turn off several non-WinCairo
files. We don't support CoreAnimation!
* WebCore.vcproj/WebCoreCairo.vsprops: Add missing include path
for 'image-decoders/webp'
* platform/network/curl/CookieJarCurl.cpp:
(WebCore::setCookieStoragePrivateBrowsingEnabled): Add build stub.
2010-10-26 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
Crash in CompositeEditCommand::splitTreeToNode
https://bugs.webkit.org/show_bug.cgi?id=48349
The bug was caused by indentIntoBlockquote's passing null pointer to splitTreeToNode.
Fixed the crash by adding early exits.
Test: editing/execCommand/indent-node-to-split-to-crash.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::splitTreeToNode):
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::indentIntoBlockquote):
2010-10-26 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
REGRESSION(r67170): crash in removeImplicitlyStyledElement
https://bugs.webkit.org/show_bug.cgi?id=48389
Fixed the crash by adding a null pointer check.
Test: editing/style/invalid-font-size.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
2010-10-26 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r70573.
http://trac.webkit.org/changeset/70573
https://bugs.webkit.org/show_bug.cgi?id=48204
Broke 39 tests on Chromium
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* svg/DeprecatedSVGAnimatedPropertyTraits.h:
* svg/DeprecatedSVGAnimatedTemplate.h:
* svg/SVGAngle.idl:
* svg/SVGAnimatedAngle.idl:
* svg/SVGAnimatedLength.idl:
* svg/SVGAnimatedLengthList.idl:
* svg/SVGAnimatedRect.h: Removed.
* svg/SVGFitToViewBox.h:
* svg/SVGLength.idl:
* svg/SVGMarkerElement.h:
* svg/SVGPatternElement.h:
* svg/SVGRect.idl:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentView):
(WebCore::SVGSVGElement::inheritViewAttributes):
* svg/SVGSVGElement.h:
* svg/SVGSVGElement.idl:
* svg/SVGSymbolElement.h:
* svg/SVGViewElement.h:
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::SVGViewSpec):
* svg/SVGViewSpec.h:
(WebCore::SVGViewSpec::contextElement):
* svg/SVGZoomEvent.idl:
* svg/properties/SVGAnimatedPropertyMacros.h:
2010-10-26 Anders Carlsson <andersca@apple.com>
Fix 32-bit build.
* platform/graphics/mac/FontMac.mm:
(WebCore::showGlyphsWithAdvances):
2010-10-26 Jenn Braithwaite <jennb@chromium.org>
Reviewed by Dmitry Titov.
Resource tracking failure when trying to move a frame between documents
https://bugs.webkit.org/show_bug.cgi?id=44713
Test: fast/frames/iframe-reparenting-fail-load.html
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::transferLoadingResourcesFromPage):
Added method that notifies the client to update resource tracking for
loading resources that have been transferred to a different page.
* loader/DocumentLoader.h:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
Empty method.
* loader/FrameLoader.h:
* loader/FrameLoader.cpp:
Added method that triggers resource tracking updates. This wraps
the DocumentLoader method as it appears DocumentLoader is opaque
to Frame.
* loader/FrameLoaderClient.h:
Added API to notify the client to update resource tracking for
a loading resource that has been transferred to a different page.
* page/Frame.cpp:
(WebCore::Frame::transferChildFrameToNewDocument):
Update resource tracking if page has changed.
2010-10-26 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis.
Convert SVGRect to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=48204
Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.
Test: svg/dom/SVGRect.html
* GNUmakefile.am: Add SVGAnimatedRect.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
* bindings/scripts/CodeGeneratorJS.pm: Ditto.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
* svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
* svg/SVGAngle.idl: Remove [SVGProperty] flag.
* svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
* svg/SVGAnimatedLength.idl: Ditto.
* svg/SVGAnimatedLengthList.idl: Ditto.
* svg/SVGAnimatedRect.h: Added.
* svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
* svg/SVGLength.idl: Remove [SVGProperty] flag.
* svg/SVGMarkerElement.h:
* svg/SVGPatternElement.h:
* svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
* svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
(WebCore::SVGSVGElement::currentView):
(WebCore::SVGSVGElement::inheritViewAttributes):
* svg/SVGSVGElement.h:
* svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
* svg/SVGSymbolElement.h:
* svg/SVGViewElement.h:
* svg/SVGViewSpec.cpp: Take a SVGElement as context element.
(WebCore::SVGViewSpec::SVGViewSpec):
* svg/SVGViewSpec.h: Ditto.
(WebCore::SVGViewSpec::contextElement):
* svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
* svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.
2010-10-26 takano takumi <takano1@asia.apple.com>
Reviewed by Dave Hyatt.
Advances are wrong and glyphs are rotated improperly in vertical writing
https://bugs.webkit.org/show_bug.cgi?id=48315
We shouldn't use vertical metrics for Roman fonts. Also, we should rotate vertical variant
glyphs back on drawing as the whole run has already been rotated beforehand.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData): Changed to ignore vertical orientation when the font doesn't support vertical metrics.
* platform/graphics/mac/FontMac.mm:
(WebCore::showGlyphsWithAdvances): Changed to rotate glyphs -90 degree for vertical variants.
(WebCore::Font::drawGlyphs):
2010-10-26 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Add a 'grammar' attribute for speech input.
https://bugs.webkit.org/show_bug.cgi?id=48339
To differentiate between various types of speech input, we add a 'x-webkit-grammar' attribute to a
speech enabled input element. This is passed without validation to the speech recognizer. Typical values
could be "builtin:search", "builtin:dictation" and even an externally hosted SRGS grammar XML file URI.
It is up to the recognizer to interpret the value and use it as an aid in recognition.
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled):
* html/HTMLAttributeNames.in:
* html/HTMLInputElement.idl:
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2010-10-26 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: console does not work after two reloads.
https://bugs.webkit.org/show_bug.cgi?id=48318
* inspector/InspectorController.cpp:
(WebCore::InspectorController::disconnectFrontend):
2010-10-26 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: console doesn't work in closures when window is overrode
https://bugs.webkit.org/show_bug.cgi?id=48320
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.):
2010-10-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Fix an assert with QtPixmapInstance creation.
https://bugs.webkit.org/show_bug.cgi?id=48323
This places the newly refcounted QtPixmapInstance in a RefPtr
to prevent an assert on the first ref() call.
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
2010-10-26 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
Input Method inserts conversion candidates unexpectedly
https://bugs.webkit.org/show_bug.cgi?id=46868
Calls updateStyleIfNeeded() before setting selection for the composition to
avoid inserting the previous composition text into a content editable element
which has an event handler that changes the style of the element.
Test: platform/chromium/fast/text/chromium-mac-duplicate-ime-composition.html
* editing/Editor.cpp:
(WebCore::Editor::setComposition): calls updateStyleIfNeeded() before setting selection.
2010-10-26 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
[Gtk] Layout tables should indicate that they are not data tables via an object attribute
https://bugs.webkit.org/show_bug.cgi?id=35422
Set the 'layout-guess' attribute to 'true' for data tables.
Reorganized some code in AccessibilityTable so now the function
isDataTable() is more coherent by just answering that very
specific question, regardless of whether the table is being
exposed or not to Assistive Technologies.
Hence, now it's possible to make two questions separately instead
of just one, meaning that the new function isAccessibleTable() is
now what we formerly defined as the isDataTable() function.
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isAccessibilityTable):
New function to allow asking tables both whether they are
exposed and whether they are data tables, which are different
questions whose answers might be the same in many situations,
but different sometimes (as it can happen in the GTK port).
* accessibility/AccessibilityTable.h:
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::hasARIARole):
New, checks whether the table has a valid ARIA role.
(WebCore::AccessibilityTable::isAccessibilityTable):
New, returns the value of m_isAccessibilityTable. It's
basically the former isDataTable() function renamed.
(WebCore::AccessibilityTable::isDataTable):
Changed behaviour. Instead of just returning the value of
m_isAccessibilityTable as it did so far (which was confusing
because of that's not what the name suggests), focus on
checking whether it's a data table or not and return a bool
value accordingly. It's basically a rename of the former
isTableExposableThroughAccessibility() function, but withouth
the GTK-specific if-endif region (which didn't make sense
here now, because that was answering the question "is the table
exposed in the GTK port?", instead of "is it a data table?").
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
Uses the hasAriaRole(), and isDataTable() to determine whether
a table should be exposed or not. Also includes the GTK-specific
if-region coming from the former implementation of the function
isTableExposableThroughAccessibility() not to check whether it's
a data table in case the rest of the checks succeeded (all
tables are exposed in the GTK port).
(WebCore::AccessibilityTable::addChildren):
Replace usage of isDataTable() with isAccessibilityTable(), to
keep exactly the same behaviour happening before this patch.
(WebCore::AccessibilityTable::roleValue): Ditto.
(WebCore::AccessibilityTable::accessibilityIsIgnored): Ditto.
(WebCore::AccessibilityTable::title): Ditto.
Updated usage of the former function isDataTable() everywhere
else, replacing it with the new isAccessibilityTable(), so keeping
exactly the same behaviour happening before this patch.
* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addChildren):
Use isAccessibilityTable() instead of isDataTable().
* accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::parentTable): Ditto.
* accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::disclosedRows): Ditto.
(WebCore::AccessibilityARIAGridRow::disclosedByRow): Ditto.
(WebCore::AccessibilityARIAGridRow::parentTable): Ditto.
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::isTableCell):
Use isAccessibilityTable() instead of isDataTable().
* accessibility/AccessibilityTableHeaderContainer.cpp:
(WebCore::AccessibilityTableHeaderContainer::addChildren): Ditto.
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::isTableRow): Ditto
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
Use isAccessibilityTable() instead of isDataTable().
(-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
(-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): Ditto.
(-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): Ditto.
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Ditto.
Use the new function isAccessibilityTable() together with the
modified implementation of isDataTable() to set the 'layout-guess'
attribute when needed.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_get_attributes):
Set the 'layout-guess' attribute to 'true' to help Assistive
Technologies guessing which tables are not data tables.
2010-10-26 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Resuming animations causes webkitAnimationStart events to be fired
https://bugs.webkit.org/show_bug.cgi?id=46540
Added a flag that makes sure start animation event is only ever
fired once.
Test: animations/suspend-resume-animation-events.html
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::sendAnimationEvent):
* page/animation/KeyframeAnimation.h:
2010-10-26 Abhishek Arya <inferno@chromium.org>
Reviewed by Dimitri Glazkov.
Added checks to ensure that events types are right before casting.
https://bugs.webkit.org/show_bug.cgi?id=48345
* html/ImageDocument.cpp:
(WebCore::ImageEventListener::handleEvent):
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::handleEvent):
2010-10-26 Dai Mikurube <dmikurube@google.com>
Reviewed by Kent Tamura.
Number values for form controls should be in the range of IEEE 754
single-precision floating point number
https://bugs.webkit.org/show_bug.cgi?id=48221
Changed the range of number values to fit in IEEE 754 single-precision
* html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDoubleForNumberType):
* html/NumberInputType.cpp:
2010-10-26 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=48157
Direction and writing-mode should propagate from the <body> to the <html> to the initial containing block.
Modify the existing code that propagates from the document element to also propagate from the body.
Fix the buggy code that was trying to dirty the body when the view changed size if it stretched to fill the
viewport. The code didn't consider the root element, and it only worked with one axis. I pulled it
out of calculateScrollbarModesForLayout, since it should never have been put there in the first place.
Added four new tests in fast/blockflow.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::initElement):
(WebCore::CSSStyleSelector::styleForDocument):
(WebCore::CSSStyleSelector::applyProperty):
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Document::directionSetOnDocumentElement):
(WebCore::Document::writingModeSetOnDocumentElement):
(WebCore::Document::setDirectionSetOnDocumentElement):
(WebCore::Document::setWritingModeSetOnDocumentElement):
* page/FrameView.cpp:
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::layout):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
* rendering/RenderBox.h:
(WebCore::RenderBox::stretchesToViewport):
2010-10-26 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Fix Cache::dumpStats formatting
https://bugs.webkit.org/show_bug.cgi?id=48286
This updates the column width in the dumpStats output to be wide enough
for all the titles. Previously one of the titles was too wide and crept
into later column space.
* loader/Cache.cpp:
(WebCore::Cache::dumpStats): make columns 13 characters wide.
2010-10-26 Alexey Marinichev <amarinichev@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Check getGraphicsResetStatusARB and reinitialize the
renderer in an error is returned.
https://bugs.webkit.org/show_bug.cgi?id=47848
Tested by failure injection (stopping in the debugger and issuing a
jump as if an error has occurred).
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerRenderer):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::transferRootLayer): added
2010-10-26 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Touching inspector controller to kick gtk build, removing comments.
* inspector/InspectorController.cpp:
* inspector/front-end/ResourceManager.js:
* inspector/front-end/ScriptsPanel.js:
2010-10-26 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: continue making resources panel optional.
https://bugs.webkit.org/show_bug.cgi?id=48261
This refactoring makes console, audits and extensions tests pass while taking data from
resources panel. Network panel as a source is to follow.
* inspector/front-end/AuditLauncherView.js:
(WebInspector.AuditLauncherView.prototype._createLauncherUI):
* inspector/front-end/AuditsPanel.js:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.addMessage):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
(WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
(WebInspector.ExtensionServer.prototype._onGetResources):
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
* inspector/front-end/HAREntry.js:
(WebInspector.HARLog.prototype.build):
(WebInspector.HARLog.prototype.buildMainResourceTimings):
(WebInspector.HARLog.prototype._convertResource):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype._reset):
(WebInspector.NetworkPanel.prototype.get resources):
(WebInspector.NetworkPanel.prototype.addResource):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set category):
* inspector/front-end/ResourceCategory.js:
(WebInspector.ResourceCategory):
(WebInspector.ResourceCategory.prototype.toString):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
(WebInspector.ResourceManager.prototype.willSendRequest):
(WebInspector.ResourceManager.prototype.didFinishLoading):
(WebInspector.ResourceManager.prototype.didFailLoading):
(WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
(WebInspector.ResourceManager.prototype.setOverrideContent):
(WebInspector.ResourceTreeModel.prototype._callForFrameResources):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype.addResource):
(WebInspector.ResourcesPanel.prototype.removeResource):
(WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.addScript):
(WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
* inspector/front-end/inspector.js:
(WebInspector._updateFocusedNode):
(WebInspector.get networkResources):
(WebInspector.forAllResources):
(WebInspector.resourceForURL):
(WebInspector.updateResource):
(WebInspector.domContentEventFired):
(WebInspector.loadEventFired):
(WebInspector.removeResource):
(WebInspector.reset):
(WebInspector.displayNameForURL):
(WebInspector.linkifyStringAsFragment):
(WebInspector.resourceURLForRelatedNode.callback):
(WebInspector.resourceURLForRelatedNode):
2010-10-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Fix IndexedDB crashes
https://bugs.webkit.org/show_bug.cgi?id=48266
If IDBKey returns null, type conversion failed. Handle this case
in the bindings.
Change UNKNOWN_ERR to be 1 since 0 is hard coded to mean no error.
This is just a stop-gap move until we get it figured out in standards
land.
IDBObjectStore needs to handle null ranges.
It's actually OK for m_transaction to be non-null when hitting the
destructor. We just need to then remove it from the set of pending
transactions.
The transaction can become aborted in the middle of processing a
list of tasks. Fix this.
All changes (except the last 2 races) are tested in LayoutTests.
I couldn't find a way to reliably reproduce the races.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::idbKeyCallback):
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* storage/IDBDatabaseException.h:
* storage/IDBDatabaseException.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::~IDBRequest):
(WebCore::IDBRequest::timerFired):
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::taskTimerFired):
2010-10-25 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Show cookie data in the request headers in network pane
https://bugs.webkit.org/show_bug.cgi?id=16531
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView): Factor out common cookies grid logic to CookiesTable
(WebInspector.CookieItemsView.prototype._populateDataGrid):
* inspector/front-end/CookieParser.js: Store cookie type (request/response) within a cookie.
(WebInspector.CookieParser.prototype.parseCookie):
(WebInspector.CookieParser.prototype.parseSetCookie):
(WebInspector.CookieParser.prototype._addCookie):
(WebInspector.Cookie):
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid.prototype.autoSizeColumns): Optionally, traverse nested nodes when looking for max field widths.
(WebInspector.DataGrid.prototype._enumerateChildren):
(WebInspector.DataGrid.prototype.updateWidths): Skip attempt to calculate column widths if grid is not attached to DOM tree yet.
* inspector/front-end/FontView.js:
(WebInspector.FontView.prototype.resize):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype.resize):
(WebInspector.ResourceView.prototype._selectTab):
(WebInspector.ResourceView.prototype._selectCookiesTab):
(WebInspector.ResourceView.prototype._innerSelectContentTab):
(WebInspector.ResourceView.prototype._refreshRequestHeaders):
(WebInspector.ResourceView.prototype._refreshResponseHeaders):
(WebInspector.ResourceView.prototype._refreshHeaders):
(WebInspector.ResourceView.prototype._refreshCookies):
(WebInspector.ResourceCookiesTab):
(WebInspector.ResourceCookiesTab.prototype.set requestCookies):
(WebInspector.ResourceCookiesTab.prototype.set responseCookies):
(WebInspector.ResourceCookiesTab.prototype._populateDataGrid):
(WebInspector.ResourceCookiesTab.prototype._populateCookies):
(WebInspector.ResourceCookiesTab.prototype._createFolder):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.resize):
* inspector/front-end/inspector.css:
(.resource-view .resource-view-cookies):
(.resource-view.headers-visible .resource-view-cookies):
(.resource-view-cookies.table .data-grid):
(.resource-view-cookies .data-grid .row-group):
2010-10-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70518.
http://trac.webkit.org/changeset/70518
https://bugs.webkit.org/show_bug.cgi?id=48332
Breaks inspector tests. (Requested by pfeldman on #webkit).
* inspector/front-end/AuditLauncherView.js:
(WebInspector.AuditLauncherView.prototype._createLauncherUI):
* inspector/front-end/AuditsPanel.js:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.addMessage):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
(WebInspector.ExtensionServer.prototype._onGetResources):
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
* inspector/front-end/HAREntry.js:
(WebInspector.HARLog.prototype.build):
(WebInspector.HARLog.prototype.buildMainResourceTimings):
(WebInspector.HARLog.prototype._convertResource):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype._reset):
(WebInspector.NetworkPanel.prototype.addResource):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set category):
* inspector/front-end/ResourceCategory.js:
(WebInspector.ResourceCategory):
(WebInspector.ResourceCategory.prototype.toString):
(WebInspector.ResourceCategory.prototype.addResource):
(WebInspector.ResourceCategory.prototype.removeResource):
(WebInspector.ResourceCategory.prototype.removeAllResources):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
(WebInspector.ResourceManager.prototype.willSendRequest):
(WebInspector.ResourceManager.prototype.didFinishLoading):
(WebInspector.ResourceManager.prototype.didFailLoading):
(WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
(WebInspector.ResourceManager.prototype.setOverrideContent):
(WebInspector.ResourceTreeModel.prototype._callForFrameResources):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype.addResource):
(WebInspector.ResourcesPanel.prototype.removeResource):
(WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.addScript):
(WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
* inspector/front-end/inspector.js:
(WebInspector._updateFocusedNode):
(WebInspector.updateResource):
(WebInspector.domContentEventFired):
(WebInspector.loadEventFired):
(WebInspector.removeResource):
(WebInspector.reset):
(WebInspector.displayNameForURL):
(WebInspector.resourceForURL):
(WebInspector.linkifyStringAsFragment):
(WebInspector.resourceURLForRelatedNode):
2010-10-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Quota for IndexedDB should be per origin not per database
https://bugs.webkit.org/show_bug.cgi?id=48064
Merge all databases for each origin into a single SQLiteDatabase.
Replace the awkward metaData table with a Database table.
Create a new IDBSQLiteDatabase class that wraps SQLiteDatabase
and implements weak pointer semantics for IDBFactory. It's ref
counted so multiple IDBDatabaseBackendImpls can share one.
Fix uniqueness constraints that were overly conservitive.
Get rid of the code that blows away existing data every time
the database is opened.
Get rid of the fairly useless indexedDB manual test and replace
it with one that verifies data persists.
Use name+origin (not just name) in our cache of IDBDatabaseBackend
objects (so one origin can't access anothers' data).
Test: storage/indexeddb/duplicates.html
* WebCore.gypi:
* manual-tests/indexed-database.html: Removed.
* manual-tests/indexeddb-persists.html: Added.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::extractMetaData):
(WebCore::setMetaData):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::setDescription):
(WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
* storage/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::create):
(WebCore::IDBDatabaseBackendImpl::id):
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
(WebCore::openSQLiteDatabase):
(WebCore::createTables):
(WebCore::IDBFactoryBackendImpl::open):
(WebCore::IDBFactoryBackendImpl::databaseFileName):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::putObjectStoreData):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
* storage/IDBSQLiteDatabase.cpp: Added.
(WebCore::IDBSQLiteDatabase::IDBSQLiteDatabase):
(WebCore::IDBSQLiteDatabase::~IDBSQLiteDatabase):
* storage/IDBSQLiteDatabase.h: Added.
(WebCore::IDBSQLiteDatabase::create):
(WebCore::IDBSQLiteDatabase::db):
2010-10-20 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Inspector needs to use cached resources to display image resources.
https://bugs.webkit.org/show_bug.cgi?id=16395
* inspector/Inspector.idl: Add base64Encode parameter to getContent
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::resourceContent):
* inspector/InspectorResourceAgent.h:
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
* inspector/front-end/ImageView.js:
(WebInspector.ImageView.prototype.contentTabSelected.onResourceContent):
(WebInspector.ImageView.prototype.contentTabSelected):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.prototype._refreshNameCell.):
(WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
* inspector/front-end/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.set finished):
(WebInspector.Resource.prototype.getContent):
(WebInspector.Resource.prototype.get contentURL):
(WebInspector.Resource.prototype._requestContent.onResourceContent):
(WebInspector.Resource.prototype._requestContent):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourceSidebarTreeElement.prototype.createIconElement.):
(WebInspector.ResourceSidebarTreeElement.prototype.createIconElement):
* inspector/front-end/Settings.js: Added useDataURLForResourceImageIcons
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2010-10-26 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: continue making resources panel optional.
https://bugs.webkit.org/show_bug.cgi?id=48261
This refactoring makes console, audits and extensions tests pass while taking data from
resources panel. Network panel as a source is to follow.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
* inspector/front-end/AuditLauncherView.js:
(WebInspector.AuditLauncherView.prototype._createLauncherUI):
* inspector/front-end/AuditsPanel.js:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.addMessage):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype._filterCookiesForDomain.populateResourcesForDocuments):
(WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
(WebInspector.ExtensionServer.prototype._onGetResources):
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
* inspector/front-end/HAREntry.js:
(WebInspector.HARLog.prototype.build):
(WebInspector.HARLog.prototype.buildMainResourceTimings):
(WebInspector.HARLog.prototype._convertResource):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype._reset):
(WebInspector.NetworkPanel.prototype.get resources):
(WebInspector.NetworkPanel.prototype.addResource):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set category):
* inspector/front-end/ResourceCategory.js:
(WebInspector.ResourceCategory):
(WebInspector.ResourceCategory.prototype.toString):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
(WebInspector.ResourceManager.prototype.willSendRequest):
(WebInspector.ResourceManager.prototype.didFinishLoading):
(WebInspector.ResourceManager.prototype.didFailLoading):
(WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
(WebInspector.ResourceManager.prototype.setOverrideContent):
(WebInspector.ResourceTreeModel.prototype._callForFrameResources):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype.addResource):
(WebInspector.ResourcesPanel.prototype.removeResource):
(WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.addScript):
(WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
* inspector/front-end/Settings.js:
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
* inspector/front-end/inspector.js:
(WebInspector._updateFocusedNode):
(WebInspector.get networkResources):
(WebInspector.forAllResources):
(WebInspector.resourceForURL):
(WebInspector.updateResource):
(WebInspector.domContentEventFired):
(WebInspector.loadEventFired):
(WebInspector.removeResource):
(WebInspector.reset):
(WebInspector.displayNameForURL):
(WebInspector.linkifyStringAsFragment):
(WebInspector.resourceURLForRelatedNode.callback):
(WebInspector.resourceURLForRelatedNode):
2010-10-26 Abhishek Arya <inferno@chromium.org>
Reviewed by Adam Barth.
Protect the frame from being blown away in loadWithDocumentLoader function call.
dispatchBeforeLoadEvent can cause the frame to be freed, which gets later used in
continueLoadAfterNavigationPolicy call.
https://bugs.webkit.org/show_bug.cgi?id=48281
Test: fast/events/form-iframe-target-before-load-crash.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadWithDocumentLoader):
2010-10-26 Xan Lopez <xlopez@igalia.com>
Restore another mix-up in copy&paste error. Use height for the
vertical adjustments instead of width.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setVerticalAdjustment):
2010-10-26 Xan Lopez <xlopez@igalia.com>
Restore early return accidentally removed in previous
patch. Should make API tests pass again.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setHorizontalAdjustment):
(WebCore::ScrollView::setVerticalAdjustment):
2010-10-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Port to new GtkScrollable interface in GTK+ 3.x
https://bugs.webkit.org/show_bug.cgi?id=48202
The new GtkScrollable API sets the adjustments individually, so
adjust the code for this fact.
* platform/ScrollView.h:
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setHorizontalAdjustment): new method to set the horizontal adjustment.
(WebCore::ScrollView::setVerticalAdjustment): new method to set the vertical adjustment.
(WebCore::ScrollView::setGtkAdjustments): make this just call the other two methods.
2010-10-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70512.
http://trac.webkit.org/changeset/70512
https://bugs.webkit.org/show_bug.cgi?id=48314
crashes many tests (Requested by inferno-sec on #webkit).
* dom/Element.cpp:
* dom/Element.h:
* editing/Editor.cpp:
(WebCore::markMisspellingsOrBadGrammar):
(WebCore::Editor::spellCheckingEnabledInFocusedNode):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
* editing/Editor.h:
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
2010-10-24 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
spellcheck='' should be the same as spellcheck="true"
https://bugs.webkit.org/show_bug.cgi?id=25539
- Added a check for empty string and missing attribute.
- Extracted the check to Element::spellCheckingEnabled()
- Introduced SpellcheckAttributeState enum to represent the
states for spellcheck attributes.
* dom/Element.cpp:
(WebCore::Element::spellcheckAttributeState): Added.
(WebCore::Element::isSpellCheckingEnabled): Added.
* dom/Element.h:
* editing/Editor.cpp:
(WebCore::markMisspellingsOrBadGrammar):
(WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Renamed, partly extracted to Element::isSpellCheckingEnabled()
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
* editing/Editor.h:
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
2010-10-25 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Refactor HTMLInputElement: Move createRender(), appendFormData(),
saveFormControlState() and restoreFormControlState() to InputTypes.
https://bugs.webkit.org/show_bug.cgi?id=47834
This change adds BaseButtonInputType and BaseCheckableInputType. They
are super classes of some concrete InputType classes.
No new tests. Just a code refactoring.
* CMakeLists.txt: Add BaseButtonInputType and BaseCheckableInputType files.
* GNUmakefile.am: ditto.
* WebCore.gypi: ditto.
* WebCore.pro: ditto.
* WebCore.vcproj/WebCore.vcproj: ditto.
* WebCore.xcodeproj/project.pbxproj: ditto.
* html/BaseButtonInputType.cpp: Added.
(WebCore::BaseButtonInputType::appendFormData):
(WebCore::BaseButtonInputType::createRenderer):
* html/BaseButtonInputType.h: Added.
(WebCore::BaseButtonInputType::BaseButtonInputType):
* html/BaseCheckableInputType.cpp: Added.
(WebCore::BaseCheckableInputType::saveFormControlState):
(WebCore::BaseCheckableInputType::restoreFormControlState):
(WebCore::BaseCheckableInputType::appendFormData):
* html/BaseCheckableInputType.h: Added.
(WebCore::BaseCheckableInputType::BaseCheckableInputType):
* html/ButtonInputType.h: Change the super class.
(WebCore::ButtonInputType::ButtonInputType):
* html/CheckboxInputType.h: Change the super class.
(WebCore::CheckboxInputType::CheckboxInputType):
* html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData):
(WebCore::FileInputType::createRenderer):
* html/FileInputType.h: Change the super class.
(WebCore::FileInputType::FileInputType):
* html/HTMLFormControlElement.h:
Make placeholderShouldBeVisible() public for access from TextFieldInputType.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::saveFormControlState):
(WebCore::HTMLInputElement::restoreFormControlState):
(WebCore::HTMLInputElement::createRenderer):
(WebCore::HTMLInputElement::appendFormData):
* html/HTMLInputElement.h:
Add the following functions for ImageInputType and SubmitInputType.
(WebCore::HTMLInputElement::xPosition):
(WebCore::HTMLInputElement::yPosition):
* html/HiddenInputType.cpp:
(WebCore::HiddenInputType::createRenderer):
* html/HiddenInputType.h:
* html/ImageInputType.cpp:
(WebCore::ImageInputType::isFormDataAppendable):
(WebCore::ImageInputType::appendFormData):
(WebCore::ImageInputType::createRenderer):
* html/ImageInputType.h: Change the super class.
(WebCore::ImageInputType::ImageInputType):
* html/InputType.cpp:
(WebCore::InputType::saveFormControlState):
(WebCore::InputType::restoreFormControlState):
(WebCore::InputType::isFormDataAppendable):
(WebCore::InputType::appendFormData):
(WebCore::InputType::createRenderer):
* html/InputType.h:
* html/PasswordInputType.cpp:
(WebCore::PasswordInputType::saveFormControlState):
(WebCore::PasswordInputType::restoreFormControlState):
* html/PasswordInputType.h:
* html/RadioInputType.h: Change the super class.
(WebCore::RadioInputType::RadioInputType):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::createRenderer):
* html/RangeInputType.h:
* html/ResetInputType.h:
(WebCore::ResetInputType::ResetInputType):
* html/SubmitInputType.cpp:
(WebCore::SubmitInputType::appendFormData):
* html/SubmitInputType.h: Change the super class.
(WebCore::SubmitInputType::SubmitInputType):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createRenderer):
* html/TextFieldInputType.h:
2010-10-25 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Fix scrolling of noncomposited iframes within composited document
https://bugs.webkit.org/show_bug.cgi?id=47391
When an iframe that is painting into a compositing layer is scrolled,
we need to repaint via the RenderObject (which dirties the compositing layer contents),
rather than going out to hostWindow.
Test: compositing/iframes/composited-iframe-scroll.html
* page/FrameView.cpp:
(WebCore::FrameView::scrollContentsSlowPath):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::scrollContentsSlowPath):
* platform/ScrollView.h:
2010-10-25 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed Qt build fix for r70496.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::numberValue):
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapWidthField::valueFromInstance):
(JSC::Bindings::QtPixmapHeightField::valueFromInstance):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
(JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
2010-10-25 Andy Estes <aestes@apple.com>
Reviewed by Simon Fraser.
Source change by Simon Fraser.
Setting an element's visibility property to visible has no effect when
it has a hidden parent.
https://bugs.webkit.org/show_bug.cgi?id=48267
Test: fast/layers/visible-layer-with-hidden-parent.html
When a layer is hidden, there is an optimization that removes it from
the layer tree. If the layer is made visible again, it would only mark
its own stacking context's z-order list as dirty. If there are hidden
parent layers, they need to be marked dirty as well so layers with
visible descendents are re-added to the layer tree.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setHasVisibleContent): Dirty the z-order lists of
all parent stacking context render layers up to and including the first
visible stacking context.
2010-10-25 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough.
Remove exec and globalData arguments from jsNumber
https://bugs.webkit.org/show_bug.cgi?id=48270
Mechanical removal of exec parameter to jsNumber.
* bindings/js/JSAudioConstructor.cpp:
(WebCore::JSAudioConstructor::JSAudioConstructor):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::nameGetter):
* bindings/js/JSCoordinatesCustom.cpp:
(WebCore::JSCoordinates::altitude):
(WebCore::JSCoordinates::altitudeAccuracy):
(WebCore::JSCoordinates::heading):
(WebCore::JSCoordinates::speed):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::createAccelerationObject):
(WebCore::createRotationRateObject):
(WebCore::JSDeviceMotionEvent::interval):
* bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::alpha):
(WebCore::JSDeviceOrientationEvent::beta):
(WebCore::JSDeviceOrientationEvent::gamma):
* bindings/js/JSGeolocationCustom.cpp:
(WebCore::JSGeolocation::watchPosition):
* bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::JSHTMLInputElement::selectionStart):
(WebCore::JSHTMLInputElement::selectionEnd):
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::length):
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::createInjectedScript):
(WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
* bindings/js/JSOptionConstructor.cpp:
(WebCore::JSOptionConstructor::JSOptionConstructor):
* bindings/js/JSSQLResultSetRowListCustom.cpp:
(WebCore::JSSQLResultSetRowList::item):
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::value):
* bindings/js/JSScriptProfileNodeCustom.cpp:
(WebCore::JSScriptProfileNode::callUID):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::setTimeout):
(WebCore::JSWorkerContext::setInterval):
* bindings/js/JSWorkerContextErrorHandler.cpp:
(WebCore::JSWorkerContextErrorHandler::handleEvent):
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptCallArgumentHandler::appendArgument):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readTerminal):
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::numberValue):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertNPVariantToValue):
* bridge/jni/jsc/JNIBridgeJSC.cpp:
(JavaField::valueFromInstance):
(JavaArray::valueAt):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::numberValue):
(JavaInstance::invokeMethod):
* bridge/objc/objc_instance.mm:
(ObjcInstance::numberValue):
* bridge/objc/objc_utility.mm:
(JSC::Bindings::convertObjcValueToValue):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
2010-10-21 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Allow embedder to pass on all the speech recognition results to the input element.
https://bugs.webkit.org/show_bug.cgi?id=48068
No new tests added as functionality has not changed, tests will be added in the next
patch where these results are exposed as an attribute to scripts.
* Android.mk: Added new source files.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* page/SpeechInput.cpp:
(WebCore::SpeechInput::setRecognitionResult): Accept an array instead of a single string.
* page/SpeechInput.h:
* page/SpeechInputListener.h:
* page/SpeechInputResult.cpp: Added, defines a class for managing a speech input result.
(WebCore::SpeechInputResult::create):
(WebCore::SpeechInputResult::SpeechInputResult):
(WebCore::SpeechInputResult::confidence):
(WebCore::SpeechInputResult::utterance):
* page/SpeechInputResult.h: Added.
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::timerFired):
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
* rendering/TextControlInnerElements.h:
2010-10-25 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Support appending an ArrayBuffer object in BlobBuilder
https://bugs.webkit.org/show_bug.cgi?id=47701
Test cases have been added to read-blob-test-cases.js.
* fileapi/BlobBuilder.cpp:
(WebCore::BlobBuilder::getBuffer):
(WebCore::BlobBuilder::append): Removed bool return values since they
weren't used.
* fileapi/BlobBuilder.h:
* fileapi/BlobBuilder.idl:
2010-10-25 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
the compositor and by the page client.
Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)
No new tests: the existing tests under LayoutTests/compositing already cover this.
* platform/graphics/GraphicsLayer.h:
* platform/qt/QWebPageClient.h:
(QWebPageClient::setRootGraphicsLayer):
2010-10-25 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
Add a config flag and a define (WTF_USE_TEXTURE_MAPPER) to WebCore, to enable opt-in compilation of texture-mapper with Qt.
No new tests: WIP for a new implementation.
* WebCore.pro:
2010-10-25 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Calling FileReader.abort during reading could cause crash
https://bugs.webkit.org/show_bug.cgi?id=48163
Test: fast/files/file-reader-abort.html
* fileapi/FileReader.cpp:
(WebCore::delayedAbort):
(WebCore::FileReader::abort): Schedule to do the abort later to work
around the case that abort() could be called from event handler.
(WebCore::FileReader::doAbort):
(WebCore::FileReader::didFail): Do not go with normal error handling
when we are in the process of aborting.
(WebCore::FileReader::failed):
(WebCore::FileReader::readyState):
* fileapi/FileReader.h:
2010-10-25 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Buildfix for NetworkStateNotifier
https://bugs.webkit.org/show_bug.cgi?id=48240
WinCE does not support RegisterWaitForSingleObject, so disable it for now.
* platform/network/win/NetworkStateNotifierWin.cpp:
(WebCore::NetworkStateNotifier::NetworkStateNotifier):
2010-10-25 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48257
Make "rl" and "bt" writing-modes work for blocks and lines. InlineTextBox is refactored to compute the correct
top left corner and left baseline edge once so that can be passed down to all the painting functions instead of
tx and ty.
adjustment helpers have been added that can be called before painting children or lines and that fix up
the coordinates from flipped to physical.
Added fast/blockflow/english-rl-text.html and fast/blockflow/english-bt-text.html
* rendering/InlineBox.cpp:
(WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
* rendering/InlineBox.h:
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
* rendering/InlineTextBox.cpp:
(WebCore::paintTextWithShadows):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::paintDocumentMarkers):
(WebCore::InlineTextBox::paintCompositionUnderline):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::paintFloats):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
* rendering/RenderBox.h:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::isFlippedBlocksWritingMode):
2010-10-25 Ben Murdoch <benm@google.com>
Reviewed by Steve Block.
Build break with ENABLE(BLOB) and not ENABLE(3D_CANVAS)
https://bugs.webkit.org/show_bug.cgi?id=48243
Build fix only so no new tests.
* bindings/generic/RuntimeEnabledFeatures.h: Guard appropriately.
* bindings/v8/custom/V8ArrayBufferViewCustom.h: ditto.
2010-10-25 Cris Neckar <cdn@chromium.org>
Reviewed by Dimitri Glazkov.
Added check to ensure that events with the type "mousedown" are mouse events before dispatching.
https://bugs.webkit.org/show_bug.cgi?id=48159
Test: fast/events/keyboardevent-mousedown-crash.html
* dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
2010-10-25 Kwang Yul Seo <skyul@company100.net>
Unreviewed build fix for r70400.
Add dummy setCookieStoragePrivateBrowsingEnabled.
* platform/brew/TemporaryLinkStubs.cpp: Added.
(WebCore::setCookieStoragePrivateBrowsingEnabled):
2010-10-25 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Use default implementation of AXObjectCache::platformGenerateAXID
https://bugs.webkit.org/show_bug.cgi?id=48239
WinCE does not support NotifyWinEvent, so use the default implementation.
* accessibility/AXObjectCache.cpp:
2010-10-25 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Need WebKit2 API to figure out if a frame can provide source
<rdar://problem/8424632>
https://bugs.webkit.org/show_bug.cgi?id=48252
* WebCore.exp.in:
2010-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70451.
http://trac.webkit.org/changeset/70451
https://bugs.webkit.org/show_bug.cgi?id=48249
Broke set-unloaded-frame-location.html under Qt (Requested by
caseq on #webkit).
* ForwardingHeaders/wtf/text/TextPosition.h: Removed.
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerLineNumber):
(WebCore::ScriptController::eventHandlerColumnNumber):
* bindings/v8/ScriptController.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::startLine):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::V8LazyEventListener):
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8LazyEventListener.h:
(WebCore::V8LazyEventListener::create):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::evaluate):
(WebCore::V8Proxy::runScript):
* bindings/v8/V8Proxy.h:
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::runScript):
* bindings/v8/WorkerContextExecutionProxy.h:
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* dom/PendingScript.cpp:
(WebCore::PendingScript::releaseElementAndClear):
* dom/PendingScript.h:
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::operator=):
(WebCore::PendingScript::startingLineNumber):
* dom/ScriptableDocumentParser.h:
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::lineNumber):
(WebCore::XMLDocumentParser::columnNumber):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseEndElement):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
(WebCore::HTMLDocumentParser::columnNumber):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::takeScriptToProcess):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/HTMLTreeBuilder.h:
2010-10-25 Kwang Yul Seo <skyul@company100.net>
Unreviewed build fix for r70095.
Provide platformDefaultLanguage().
* platform/brew/LanguageBrew.cpp: Added.
(WebCore::platformDefaultLanguage):
* platform/brew/LocalizedStringsBrew.cpp:
2010-10-25 Patrick Gansterer <paroga@webkit.org>
Reviewed by David Kilzer.
Replace _countof with WTF_ARRAY_LENGTH
https://bugs.webkit.org/show_bug.cgi?id=48229
* platform/win/FileSystemWin.cpp:
(WebCore::openTemporaryFile):
* platform/wince/FileSystemWinCE.cpp:
(WebCore::openTemporaryFile):
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::addPluginPathsFromRegistry):
(WebCore::addWindowsMediaPlayerPluginDirectory):
(WebCore::addMacromediaPluginDirectories):
2010-10-25 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=48246
Make selectionRect() on InlineTextBox give the right value for a vertical line. Selection is still too broken
to test anything though.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
2010-10-25 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Antonio Gomes.
Typo in the TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=48241
Fix the typo.
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::TextureMapperGL):
2010-10-25 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: slowly make old resources panel optional (continued).
https://bugs.webkit.org/show_bug.cgi?id=48207
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set url):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.get toolbarItemLabel):
(WebInspector.StoragePanel.prototype.showResource):
(WebInspector.StoragePanel.prototype.searchMatchFound):
(WebInspector.StoragePanel.prototype._findTreeElementForResource):
(WebInspector.StoragePanel.prototype._findTreeElementForResource.getParent):
(WebInspector.BaseStorageTreeElement.prototype.onattach):
* inspector/front-end/inspector.css:
(.storage.panel .sidebar):
(.storage.panel .sidebar li):
(.storage.panel .sidebar li.parent):
(.storage.panel .sidebar li.selected):
(.storage.panel .sidebar li .selection):
(.storage.panel .sidebar :focus li .selection):
(body.inactive .storage.panel .sidebar li .selection):
(.storage.panel .sidebar .icon):
2010-10-25 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
This patch adds the OpenGL implementation of TextureMapper. See the other entries from bug 47070 for details.
https://bugs.webkit.org/show_bug.cgi?id=47070
No new tests. Part of a new implementation.
* platform/graphics/opengl/TextureMapperGL.cpp: Added.
* platform/graphics/opengl/TextureMapperGL.h: Added.
2010-10-25 Peter Rybin <peter.rybin@gmail.com>
Reviewed by Adam Barth.
HTML parser should provide script column position within HTML document to JavaScript engine
https://bugs.webkit.org/show_bug.cgi?id=45271
Replaces line number with TextPosition struct so that script engine
gets script starting line/column.
* ForwardingHeaders/wtf/text/TextPosition.h: Added.
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerPosition):
* bindings/v8/ScriptController.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::startLine):
(WebCore::ScriptSourceCode::startPosition):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::V8LazyEventListener):
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8LazyEventListener.h:
(WebCore::V8LazyEventListener::create):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::evaluate):
(WebCore::V8Proxy::runScript):
* bindings/v8/V8Proxy.h:
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::runScript):
* bindings/v8/WorkerContextExecutionProxy.h:
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* dom/PendingScript.cpp:
(WebCore::PendingScript::releaseElementAndClear):
* dom/PendingScript.h:
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::operator=):
(WebCore::PendingScript::startingPosition):
* dom/ScriptableDocumentParser.h:
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::lineNumber):
(WebCore::XMLDocumentParser::columnNumber):
(WebCore::XMLDocumentParser::textPosition):
(WebCore::XMLDocumentParser::textPositionOneBased):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::textPosition):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseEndElement):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
(WebCore::HTMLDocumentParser::textPosition):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::uninitializedPositionValue1):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::takeScriptToProcess):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/HTMLTreeBuilder.h:
2010-10-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: slowly make old resources panel optional.
https://bugs.webkit.org/show_bug.cgi?id=48207
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype._reloadResources):
(WebInspector.AuditsPanel.prototype.show):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
* inspector/front-end/ResourcesPanel.js:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
(WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
(WebInspector.doLoadedDone.populateInspectorState):
(WebInspector.doLoadedDone):
(WebInspector.openResource):
(WebInspector.updateResource):
(WebInspector.domContentEventFired):
(WebInspector.loadEventFired):
(WebInspector.removeResource):
(WebInspector.displayNameForURL):
(WebInspector._choosePanelToShowSourceLine):
(WebInspector.doPerformSearch):
2010-10-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: add support for errors, warnings and search to the storage panel.
https://bugs.webkit.org/show_bug.cgi?id=48206
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.addMessage):
(WebInspector.ConsoleView.prototype.clearMessages):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set errors):
(WebInspector.Resource.prototype.set warnings):
(WebInspector.Resource.prototype.get searchMatches):
(WebInspector.Resource.prototype.set searchMatches):
(WebInspector.Resource.prototype.clearErrorsAndWarnings):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager):
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
(WebInspector.ResourceManager.prototype._createResource):
(WebInspector.ResourceManager.prototype._appendRedirect):
(WebInspector.ResourceManager.prototype.didReceiveResponse):
(WebInspector.ResourceManager.prototype.didFinishLoading):
(WebInspector.ResourceManager.prototype.didFailLoading):
(WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
(WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
(WebInspector.ResourceManager.prototype.frameDetachedFromParent):
(WebInspector.ResourceManager.prototype._addFramesRecursively):
(WebInspector.ResourceManager.prototype.resourceForURL):
(WebInspector.ResourceManager.prototype.addConsoleMessage):
(WebInspector.ResourceManager.prototype.clearConsoleMessages):
(WebInspector.ResourceTreeModel):
(WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
(WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
(WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
(WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
(WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
(WebInspector.ResourceTreeModel.prototype._clearResources):
(WebInspector.ResourceTreeModel.prototype._bindResourceURL):
(WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
(WebInspector.ResourceTreeModel.prototype.resourceForURL):
(WebInspector.ResourceTreeModel.prototype.forAllResources):
(WebInspector.ResourceTreeModel.prototype._callForFrameResources):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.get toolbarItemLabel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.removeFrame):
(WebInspector.StoragePanel.prototype.canShowSourceLine):
(WebInspector.StoragePanel.prototype.showSourceLine):
(WebInspector.StoragePanel.prototype.showResource):
(WebInspector.StoragePanel.prototype._showResourceView):
(WebInspector.StoragePanel.prototype.updateMainViewWidth):
(WebInspector.StoragePanel.prototype.get searchableViews.callback):
(WebInspector.StoragePanel.prototype.get searchableViews):
(WebInspector.StoragePanel.prototype._forAllResourceTreeElements):
(WebInspector.StoragePanel.prototype.searchMatchFound):
(WebInspector.StoragePanel.prototype.searchCanceled.callback):
(WebInspector.StoragePanel.prototype.searchCanceled):
(WebInspector.StoragePanel.prototype.performSearch):
(WebInspector.StoragePanel.prototype.showView):
(WebInspector.BaseStorageTreeElement.prototype.onattach):
(WebInspector.BaseStorageTreeElement.prototype.set titleText):
(WebInspector.BaseStorageTreeElement.prototype.isEventWithinDisclosureTriangle):
(WebInspector.FrameResourceTreeElement):
(WebInspector.FrameResourceTreeElement.prototype.onselect):
(WebInspector.FrameResourceTreeElement.prototype.ondblclick):
(WebInspector.FrameResourceTreeElement.prototype.onattach):
(WebInspector.FrameResourceTreeElement.prototype._ondragstart):
(WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
(WebInspector.FrameResourceTreeElement.prototype._resetBubble):
(WebInspector.FrameResourceTreeElement.prototype._searchMatchesUpdated):
(WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
* inspector/front-end/inspector.css:
(.storage.panel .sidebar):
(.storage.panel .outline-disclosure li):
(.storage.panel .outline-disclosure li.parent):
(.storage.panel .outline-disclosure li .selection):
(.storage.panel .outline-disclosure .icon):
(.storage.panel .base-storage-tree-element-title):
(.storage.panel .status):
(.storage.panel li .status .bubble):
(li .status):
(li .status:empty):
(li .status .bubble):
(li .status .bubble:empty):
(li.selected .status .bubble):
(:focus li.selected .status .bubble):
(body.inactive li.selected .status .bubble):
(li.selected .bubble.search-matches):
(:focus li.selected .bubble.search-matches):
(body.inactive li.selected .bubble.search-matches):
2010-10-24 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by David Kilzer.
Fix Qt minimal build break revealed by r70413.
https://bugs.webkit.org/show_bug.cgi?id=48185
* rendering/RenderMeter.h: Missing include added, needless include removed.
2010-10-20 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Renumber FileError/FileException error codes per latest File API spec changes
https://bugs.webkit.org/show_bug.cgi?id=47936
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException): Added FileExceptionType case.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException): Added FileExceptionType case.
* dom/ExceptionCode.cpp:
(WebCore::getExceptionCodeDescription): Added code for FileException.
* dom/ExceptionCode.h:
* fileapi/AsyncFileWriterClient.h:
* fileapi/DirectoryEntry.cpp:
(WebCore::DirectoryEntry::getFile):
(WebCore::DirectoryEntry::getDirectory):
(WebCore::DirectoryEntry::removeRecursively):
* fileapi/DirectoryEntrySync.cpp:
(WebCore::DirectoryEntrySync::getFile):
(WebCore::DirectoryEntrySync::getDirectory):
(WebCore::DirectoryEntrySync::removeRecursively):
* fileapi/DirectoryReaderSync.cpp:
(WebCore::DirectoryReaderSync::readEntries):
* fileapi/Entry.cpp:
(WebCore::Entry::getMetadata):
(WebCore::Entry::moveTo):
(WebCore::Entry::copyTo):
(WebCore::Entry::remove):
(WebCore::Entry::getParent):
* fileapi/EntrySync.cpp:
(WebCore::EntrySync::getMetadata):
(WebCore::EntrySync::moveTo):
(WebCore::EntrySync::copyTo):
(WebCore::EntrySync::remove):
* fileapi/FileError.h: Added error code enum.
(WebCore::FileError::create):
(WebCore::FileError::code):
(WebCore::FileError::FileError):
* fileapi/FileError.idl: Rebased error code numbers.
* fileapi/FileException.h: Added exception code enum.
(WebCore::FileException::ErrorCodeToExceptionCode): Added.
* fileapi/FileException.idl: Rebased exception code numbers.
* fileapi/FileReader.cpp:
(WebCore::FileReader::abort):
(WebCore::FileReader::failed):
(WebCore::FileReader::httpStatusCodeToErrorCode): Changed from
httpStatuCodeToExceptionCode.
* fileapi/FileReader.h:
* fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSyncLoader::start):
* fileapi/FileSystemCallbacks.cpp:
(WebCore::FileSystemCallbacksBase::didFail):
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::write):
(WebCore::FileWriter::seek):
(WebCore::FileWriter::truncate):
(WebCore::FileWriter::abort):
(WebCore::FileWriter::didFail):
(WebCore::FileWriter::setError):
* fileapi/FileWriter.h:
* fileapi/SyncCallbackHelper.h:
(WebCore::SyncCallbackHelper::SyncCallbackHelper):
(WebCore::SyncCallbackHelper::getResult):
(WebCore::SyncCallbackHelper::setError):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::requestFileSystem):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::requestFileSystem):
(WebCore::WorkerContext::requestFileSystemSync):
2010-10-24 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Expose HitTestResult::absoluteMediaURL() via WebKit API
https://bugs.webkit.org/show_bug.cgi?id=48219
* WebCore.exp.in: Export HitTestResult::absoluteMediaURL().
2010-10-24 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Need a way to determine the screen rect for a form control in WebKit2
<rdar://problem/8530670>
https://bugs.webkit.org/show_bug.cgi?id=48216
* WebCore.exp.in: Add export.
* dom/Element.cpp:
(WebCore::Element::boundsInWindowSpace):
* dom/Element.h:
Add function to return the bounding box in window (in ScrollView terminology) space,
this is the same space as the root viewport.
2010-10-24 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] ImageBuffer::platformTransformColorSpace is unnecessarily slow
https://bugs.webkit.org/show_bug.cgi?id=48211
Grab the QImage::bits() and do direct access instead of going through
QImage::pixel() and QImage::setPixel().
This is a performance optimization, so no new tests.
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::platformTransformColorSpace):
2010-10-24 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Filter example Chiseled from SVG Wow! is slow
https://bugs.webkit.org/show_bug.cgi?id=48174
Use a pointer to the ByteArray instead of the ref counted CanvasPixelArray or ImageData directly
to access the data for pixel manipulation on SVG Filters or SVG Masker. This is a
performance increase since the recurring use of the -> operator can be avoided.
FEConvolveMatrix and FELighting still need to change in a followup patch.
No functionality was changed. So, no new tests.
* platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::apply):
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::luminance):
(WebCore::effectType):
(WebCore::FEColorMatrix::apply):
* platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::apply):
* platform/graphics/filters/FEComposite.cpp:
(WebCore::arithmetic):
(WebCore::FEComposite::apply):
* platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::apply):
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::boxBlur):
(WebCore::FEGaussianBlur::apply):
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::apply):
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::apply):
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2010-10-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: polish network panel UI.
https://bugs.webkit.org/show_bug.cgi?id=48205
* inspector/front-end/Images/frame.png:
* inspector/front-end/Images/networkIcon.png:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._createTable):
(WebInspector.NetworkPanel.prototype._setLargerResources):
(WebInspector.NetworkPanel.prototype._toggleGridMode):
* inspector/front-end/networkPanel.css:
(.network.panel .data-grid td):
(.network.panel .data-grid.small td):
(#network-views .resource-view.headers-visible .resource-view-content):
(#network-views.small .resource-view.headers-visible .resource-view-content):
(#network-views .resource-view-headers):
(#network-views.small .resource-view-headers):
(#network-views .resource-view .tabbed-pane-header):
(#network-views.small .resource-view .tabbed-pane-header):
2010-10-24 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dimitri Glazkov.
Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
https://bugs.webkit.org/show_bug.cgi?id=48179
Fix WebGL tests. Accept 'boolean' as valid numeric type in StrictTypeChecking mode.
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
2010-10-24 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
https://bugs.webkit.org/show_bug.cgi?id=48179
Speculative fix for the WebGL tests, I was not aware they're not run on Leopard, so I missed the breakage.
* bindings/scripts/CodeGeneratorJS.pm: Restore the order of type checking in the 'StrictTypeChecking' code.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
2010-10-23 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGAngle to the new SVGPropertyTearOff concept, reimplement it properly
https://bugs.webkit.org/show_bug.cgi?id=48179
Rewrite SVGAngle to use the new SVGPropertyTearOff concept, and consume much less memory.
Down from two floats, one string and an ushort to one float and one ushort. Synchronize value/valueInSpecifiedUnits/valueAsString on demand.
Adding an extensive SVGAngle test, that required to implement 'StrictTypeChecking' for attribute setters (was only implemented in V8/JSC for function cals so far).
Test: svg/dom/SVGAngle.html
* GNUmakefile.am: Add SVGAnimatedAngle.h to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/scripts/CodeGenerator.pm: Split IsPrimitiveType in IsPrimitiveType and IsNumericType.
* bindings/scripts/CodeGeneratorJS.pm: Implement 'StrictTypeChecking' for setters and recognize SVGAngle as new SVGPropertyTearOff type.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAngle handling.
* svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedAngle handling.
* svg/SVGAngle.cpp: Rewrite, to consume less memory and to operate more efficient.
* svg/SVGAngle.h: Ditto.
* svg/SVGAngle.idl: Add 'StrictTypeChecking' to the value/valueInSpecifiedUnits methods.
* svg/SVGAnimatedAngle.h: Added.
* svg/SVGAnimatedAngle.idl: Mark as [SVGAnimatedProperty].
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::parseMappedAttribute): SVGAngle::setValueAsString() now takes an ExceptionCode parameter.
* svg/SVGMarkerElement.h: s/ANIMATED_PROPERTY/ANIMATED_PROPERTY_NEW/ for the SVGAngle type.
* svg/SVGNumber.idl: Remove exception setter exceptions, which aren't needed. As we're now generating exception handlers in the bindings, it would lead to compile errors.
* svg/SVGPoint.idl: Ditto.
* svg/SVGRect.idl: Ditto.
* svg/SVGSVGElement.idl: Remove obsolete [SVGLiveProperty] flag.
2010-10-23 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
Remove unused method HTMLFrameElementBase::setNameAndOpenURLCallback()
https://bugs.webkit.org/show_bug.cgi?id=48197
With the landing of the patch for bug #45365 in
changeset 67182 <http://trac.webkit.org/changeset/67182>,
HTMLFrameElementBase::setNameAndOpenURLCallback() is not needed.
Therefore, we remove it.
Before changeset 67182, HTMLFrameElementBase::attach() set up a post-attach
callback to HTMLFrameElementBase::setNameAndOpenURLCallback(). Changeset 67182
removed this callback.
No functionality was changed. So, no new tests.
* html/HTMLFrameElementBase.cpp: Remove HTMLFrameElementBase::setNameAndOpenURLCallback().
* html/HTMLFrameElementBase.h: Ditto.
2010-10-23 Xan Lopez <xlopez@igalia.com>
Reviewed by Sam Weinig.
Unify globalData APIs
https://bugs.webkit.org/show_bug.cgi?id=47969
Adapt code to JSGlobalObject::globalData returning a reference
instead of a pointer.
* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::markChildren):
* bindings/js/JSWorkerContextErrorHandler.cpp:
(WebCore::JSWorkerContextErrorHandler::handleEvent):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* bridge/NP_jsobject.cpp:
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_Construct):
2010-10-23 Alexey Proskuryakov <ap@apple.com>
Windows debug build fix.
* platform/network/cf/CookieStorageCFNet.cpp: Include MainThread.h for isMainThread().
2010-10-23 Alexey Proskuryakov <ap@apple.com>
Windows build fix.
* platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::setCookieStoragePrivateBrowsingEnabled): It's adoptCF, not adoptPtr.
2010-10-23 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=48083
<rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
Added CookieStorage.h to build files that contain headers.
* WebCore.xcodeproj/project.pbxproj: Added CookieStorage.h and CookieStorageMac.mm.
* WebCore.exp.in: Export _wkSetCookieStoragePrivateBrowsingEnabled (WebKit initializes WKSI
on WebCore's behalf).
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
More work for passing the function pointer down to WebCore.
* page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): Tell cookie manager to
when to use private browsing mode. Note that although this is a per-page setting, it
actually has global effect.
* page/Settings.h: Extended a comment about what private browsing does.
* platform/android/TemporaryLinkStubs.cpp: (setCookieStoragePrivateBrowsingEnabled):
* platform/chromium/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
* platform/efl/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
* platform/gtk/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
* platform/haiku/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
* platform/qt/TemporaryLinkStubsQt.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
Added an empty implementation for ports that don't implement private browsing, or implement
it in ways I cannot discover.
* platform/network/CookieStorage.h: Added. I'm not entirely sure how this is different from
CookieJar.h, just following a precedent already set by Windows port with CookieStorageWin.h.
* platform/network/mac/CookieStorageMac.mm: Added.
(WebCore::setCookieStoragePrivateBrowsingEnabled): Call a WKSI function to enable private
browsing mode for cookies.
* platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::currentCookieStorage): Added ASSERT(isMainThread()).
(WebCore::setCurrentCookieStorage): Ditto.
(WebCore::setCookieStoragePrivateBrowsingEnabled): Set cookie storage to a private one
when in private browsing mode. ResourceHandle applies the storage to each individual request.
* platform/network/cf/CookieStorageCFNet.h: Added a comment explaining that these functions
are only for WebKit1.
2010-10-23 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/48181> Add missing include of MacErrors.h
Reviewed by Alexey Proskuryakov.
* platform/network/mac/FormDataStreamMac.mm: Added #import of
<MacErrors.h> for iOS since the formOpen() method uses "fnfErr",
which was added in r55670. The same header is included through
<CoreServices/CoreServices.h> on Mac OS X.
2010-10-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by David Kilzer.
[WINCE] Port COMPtr.h to WinCE
https://bugs.webkit.org/show_bug.cgi?id=48190
Don't include guiddef.h on WinCE. It's not required and only creates build problems.
* platform/win/COMPtr.h:
2010-10-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by David Kilzer.
[WINCE] Rename SharedBitmap::createInstance to SharedBitmap::create
https://bugs.webkit.org/show_bug.cgi?id=48180
Also use better arguments for the create function.
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContextPlatformPrivate::getTransparentLayerBitmap):
(WebCore::TransparentLayerDC::TransparentLayerDC):
(WebCore::GraphicsContext::drawFrameControl):
* platform/graphics/wince/ImageBufferWinCE.cpp:
(WebCore::ImageBufferData::ImageBufferData):
* platform/graphics/wince/ImageWinCE.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
2010-10-23 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r70369.
http://trac.webkit.org/changeset/70369
https://bugs.webkit.org/show_bug.cgi?id=47974
Caused weird artifacts in expected results.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
* platform/graphics/ImageSource.h:
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::RGBA32Buffer::operator=):
(WebCore::RGBA32Buffer::clear):
(WebCore::RGBA32Buffer::zeroFill):
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::setSize):
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::getAddr):
* platform/image-decoders/cairo/ImageDecoderCairo.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
* platform/image-decoders/cg/ImageDecoderCG.cpp: Removed.
* platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
* platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
* platform/image-decoders/wx/ImageDecoderWx.cpp:
(WebCore::RGBA32Buffer::asNewNativeImage):
2010-10-23 Adam Barth <abarth@webkit.org>
Reviewed by Andreas Kling.
WebP decoding hits ASSERT
https://bugs.webkit.org/show_bug.cgi?id=48168
Calling reserveCapacity only allocates the memory. It doesn't actually
set the length. When you try to access the zeroth element, you hit an
ASSERT.
Covered by fast/images/webp-image-decoding.html in debug.
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decode):
2010-10-23 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Menu list buttons do react properly to CSS styling
https://bugs.webkit.org/show_bug.cgi?id=48099
Correct the way that menu list buttons get their necessary padding from
GTK+. Instead of resetting the padding to these values, return them via
the popupInternalPadding* methods. Add implementations for *MenuListButton*
methods.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::getComboBoxPadding): Added.
(WebCore::RenderThemeGtk::popupInternalPaddingLeft): Added.
(WebCore::RenderThemeGtk::popupInternalPaddingRight): Added.
(WebCore::RenderThemeGtk::popupInternalPaddingTop): Added.
(WebCore::RenderThemeGtk::popupInternalPaddingBottom): Added.
(WebCore::RenderThemeGtk::adjustMenuListStyle): Do not reset CSS
properties, instead rely on the poupInternalPadding* methods.
(WebCore::RenderThemeGtk::adjustMenuListButtonStyle): Added.
(WebCore::RenderThemeGtk::paintMenuListButton): Added.
* platform/gtk/RenderThemeGtk.h: Added new method declarations.
2010-10-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by David Kilzer.
Add Gradient::hasAlpha
https://bugs.webkit.org/show_bug.cgi?id=48183
WinCE can do some performance improvements if the gradient is opaque.
* platform/graphics/Gradient.cpp:
(WebCore::Gradient::hasAlpha):
* platform/graphics/Gradient.h:
2010-10-23 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by David Kilzer.
[EFL] Implement platformDefaultLanguage()
https://bugs.webkit.org/show_bug.cgi?id=48113
Implement the platformDefaultLanguage() function for EFL port.
* platform/efl/LanguageEfl.cpp:
(WebCore::platformDefaultLanguage):
2010-10-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70367.
http://trac.webkit.org/changeset/70367
https://bugs.webkit.org/show_bug.cgi?id=48176
It made 8-10 tests crash on Qt bot (Requested by Ossy on
#webkit).
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::setDefersLoading):
* loader/MainResourceLoader.h:
2010-10-22 Andy Estes <aestes@apple.com>
Reviewed by Adam Roben and Sam Weinig.
WebKit shouldn't load a plug-in based on file extension if a MIME type
is specified.
https://bugs.webkit.org/show_bug.cgi?id=48046
The fix landed in r70332 only covered the Mac port. Implement this fix
for other ports as well.
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::findPlugin):
2010-10-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
(Eric reviewed the CoreGraphics interactions, Peter reviewed the image
decoder interaction, and Darin Fisher SGTMed the policy decision.)
[chromium] Chromium Mac should use WebKit's image decoders
https://bugs.webkit.org/show_bug.cgi?id=47974
This patch teaches WebKit's image decoders how to talk to CoreGraphics.
This patch doesn't handle color profiles, but that will come in a
subsequent patch.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
* platform/graphics/ImageSource.h:
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::RGBA32Buffer::clear):
(WebCore::RGBA32Buffer::zeroFill):
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::setSize):
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::getAddr):
* platform/image-decoders/cg: Added.
* platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::setSize):
(WebCore::RGBA32Buffer::asNewNativeImage):
2010-10-20 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Barth and Darin Adler.
Using the decidePolicyForMIMEType delegate message in an asynchronous manner does not work
https://bugs.webkit.org/show_bug.cgi?id=48014
<rdar://problem/8202716>
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterContentPolicy):
Resume loading.
(WebCore::MainResourceLoader::didReceiveResponse):
Defer loading until we hear back from the policy client.
2010-10-22 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
REGRESSION(66391): http://ligth-arts.all-up.com/ crashes in EventHandler::selectCursor
https://bugs.webkit.org/show_bug.cgi?id=47942
Add checks for a NULL StyleImage in a CursorList.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::loadPendingImages):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
* rendering/style/CursorList.h:
(WebCore::CursorList::at):
* manual-tests/cursor-empty-url.html: Added.
* manual-tests/resources/cursor-empty-url.css: Added.
2010-10-22 David Hyatt <hyatt@apple.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=48156
Make vertical lines hit test properly and show a vertical i-beam cursor. Numerous bugs with overflow were discovered while getting this to work,
so these are in the patch as well. The broken layout tests are fixed by the overflow bug fixes as well (which just restore the old behavior).
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
* rendering/InlineBox.h:
(WebCore::InlineBox::width):
(WebCore::InlineBox::height):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::computeBlockDirectionOverflow):
(WebCore::InlineFlowBox::nodeAtPoint):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::logicalTopVisibleOverflow):
(WebCore::InlineFlowBox::logicalBottomVisibleOverflow):
(WebCore::InlineFlowBox::visibleOverflowRect):
(WebCore::InlineFlowBox::layoutOverflowRect):
(WebCore::InlineFlowBox::logicalTopLayoutOverflow):
(WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
(WebCore::InlineFlowBox::visualOverflowRect):
(WebCore::InlineFlowBox::logicalTopVisualOverflow):
(WebCore::InlineFlowBox::logicalBottomVisualOverflow):
(WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::blockDirectionOverflow):
* rendering/RenderBox.h:
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::hitTest):
2010-10-22 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8251616> Layout not updating in a subtree when a scrollbar is hidden in a flexbox descendant
https://bugs.webkit.org/show_bug.cgi?id=48154
Test: scrollbars/hidden-scrollbar-prevents-layout.html
updateScrollInfoAfterLayout() calling setHasHorizontalScrollbar() caused updateScrollbarParts()
to call setChildNeedsLayout() on the overflow, because the RenderScrollbar was created with
the default thickness instead of the thickness specified in style. This led to the the overflows
parent to be re-marked for layout during its own parents finishDelayUpdateScrollInfo(), and
the result was that at the end of RenderView::layout(), there was a dirty renderer.
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::RenderScrollbar): Set the frame size in the 'display: none' and
'visibility: hidden' cases as well.
2010-10-22 Patrick Gansterer <paroga@webkit.org>
Unreviewed.
[WINCE] Build fix after r70143.
* platform/graphics/wince/ImageBufferWinCE.cpp:
(WebCore::ImageBuffer::ImageBuffer):
2010-10-22 Adam Roben <aroben@apple.com>
Windows build fix
r70319 added Windows-native versions of the various platform/network
headers to platform/network/win. WebCoreGenerated was copying these
headers over the CFNetwork-specific versions in $WebKitOutputDir,
leading to the wrong headers being used in WebKit.
This patch changes WebCoreGenerated not to copy any headers from
platform/network/win into $WebKitOutputDir. Instead, only headers from
platform/network/cf or platform/network/curl (as specified) are copied.
There were some CFNetwork-specific files still hanging around in
platform/network/win; these have been moved to platform/network/cf.
* WebCore.vcproj/WebCore.vcproj: Updated for file moves and let VS
* format the file as it saw fit.
* WebCore.vcproj/WebCoreGenerated.vcproj: Added the various scripts
* this project uses to make editing them easier.
* WebCore.vcproj/copyForwardingHeaders.cmd: Changed not to copy any
* headers from platform/network/win.
* platform/network/cf/CookieJarCFNet.cpp: Renamed from WebCore/platform/network/win/CookieJarCFNetWin.cpp.
* platform/network/cf/CookieStorageCFNet.cpp: Renamed from WebCore/platform/network/win/CookieStorageWin.cpp.
* platform/network/cf/CookieStorageCFNet.h: Renamed from WebCore/platform/network/win/CookieStorageWin.h.
* platform/network/cf/ResourceHandleCFNet.cpp: Updated for rename.
* platform/network/cf/AuthenticationChallenge.h:
* platform/network/cf/ResourceError.h:
* platform/network/cf/ResourceRequest.h:
* platform/network/cf/ResourceResponse.h:
* platform/network/cf/SocketStreamError.h:
* platform/network/cf/SocketStreamHandle.h:
Touched to force a re-copy.
2010-10-22 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Add code in getMatchedCSSRules to block cross origin access to stylesheet data. Prevent access
in Javascript to non author stylesheets.
https://bugs.webkit.org/show_bug.cgi?id=46853
Tests: http/tests/security/cross-origin-getMatchedCSSRules.html
http/tests/security/cross-origin-getMatchedCSSRules2.html
* css/CSSRule.h:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchRulesForList):
(WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
(WebCore::CSSStyleSelector::styleRulesForElement):
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
* css/CSSStyleSelector.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::getMatchedCSSRules):
* page/DOMWindow.idl:
2010-10-22 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
WebKit2 needs to pass the current event modifier flags when requesting a new window
https://bugs.webkit.org/show_bug.cgi?id=48140
Store the NavigationAction used for the newWindowPolicyDecision in the PolicyCallback
so that it can be used after the decision has been made in further callbacks.
* WebCore.exp.in: Fix export name for new function signature.
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::createWindow):
(WebCore::EmptyFrameLoaderClient::dispatchCreatePage):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::createWindow):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/PolicyCallback.cpp:
(WebCore::PolicyCallback::set):
(WebCore::PolicyCallback::call):
(WebCore::PolicyCallback::cancel):
* loader/PolicyCallback.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
* page/Chrome.cpp:
(WebCore::Chrome::createWindow):
* page/Chrome.h:
* page/ChromeClient.h:
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
2010-10-22 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=48149
Update block direction line overflow computation to be writing-mode-aware.
* rendering/InlineBox.h:
(WebCore::InlineBox::logicalBottom):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeBlockDirectionOverflow):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
(WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::blockDirectionOverflow):
* rendering/RenderBox.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::addHighlightOverflow):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
(WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
(WebCore::InheritedFlags::getShadowBlockDirectionExtent):
2010-10-22 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
ASSERT while viewing Google C++ style guide
https://bugs.webkit.org/show_bug.cgi?id=48148
This code used to stop the parser twice. Instead of reaching in an
trying to stop the parser manually, we now just let close() do the work
for us.
Test: fast/xsl/transform-to-html.xml
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
2010-10-22 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Implement GraphicsContext::(get|release)WindowsContext
https://bugs.webkit.org/show_bug.cgi?id=48136
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::getWindowsContext):
(WebCore::GraphicsContext::releaseWindowsContext):
2010-10-22 Adam Roben <aroben@apple.com>
Attempt to fix the Windows build
* platform/network/win/CookieJarCFNetWin.cpp: Add a missing #include.
2010-10-22 Cosmin Truta <ctruta@chromium.org>
Reviewed by Dirk Schulze.
getBoundingClientRect does not work with SVG <text>
https://bugs.webkit.org/show_bug.cgi?id=46775
Added back to SVGStyledTransformableElement overloads of the following
methods: nearestViewportElement, farthestViewportElement, getBBox.
This was necessary to appease the Visual C++ compiler, which warned on
inheritance via dominance.
* svg/SVGStyledTransformableElement.cpp:
* svg/SVGStyledTransformableElement.h:
(SVGStyledTransformableElement::nearestViewportElement):
(SVGStyledTransformableElement::farthestViewportElement):
(SVGStyledTransformableElement::getBBox):
2010-10-21 Chris Marrin <cmarrin@apple.com>
Reviewed by Adam Roben.
Content in <iframe> doesn't appear when going back to http://webkit.org/blog/386/3d-transforms/
https://bugs.webkit.org/show_bug.cgi?id=32447
Added documentDidBecomeActive() when document comes back from cache to cause compositing
layers in iframes to be reattached.
There is no layout test, but I added a manual test. This test is ready to be a layout test
but currently DRT disables the WebCore page cache, so the back/forward essentially do a
page load which does not exhibit the bug.
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* manual-tests/compositing/show-composited-iframe-on-back-button.html: Added.
2010-10-22 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WIN] Add Windows specific files for platform/network/win
https://bugs.webkit.org/show_bug.cgi?id=27376
* platform/network/win/AuthenticationChallenge.h: Added.
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
* platform/network/win/ResourceError.h: Added.
(WebCore::ResourceError::ResourceError):
* platform/network/win/ResourceRequest.h: Added.
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
* platform/network/win/ResourceResponse.h: Added.
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
2010-10-22 Adam Barth <abarth@webkit.org>
Unreviewed, rolling out r70290.
http://trac.webkit.org/changeset/70290
https://bugs.webkit.org/show_bug.cgi?id=48111
Undelete Android build files.
* Android.mk: Added.
2010-10-22 Cosmin Truta <ctruta@chromium.org>
Reviewed by Nikolas Zimmermann.
getBoundingClientRect does not work with SVG <text>
https://bugs.webkit.org/show_bug.cgi?id=46775
Dispatched the calls from Element::getBoundingClientRect to getBBox
through SVGElement::boundingBox.
Recognized SVGTextElement in addition to SVGStyledLocatableElement
as a class that provides getBBox.
Fixed the result of zooming: adjusted the getBoundingClientRect rectangle
for absolute zoom, even for SVG elements.
Additional cleanup task:
Removed redundant overloads of SVGStyledTransformableElement
methods: nearestViewportElement, farthestViewportElement, getBBox.
These methods are already inherited from SVGStyledLocatableElement.
Test: css3/zoom-coords.xhtml
* WebCore.xcodeproj/project.pbxproj: Set role of SVGLocatable.h to private.
* dom/Element.cpp:
(Element::getBoundingClientRect): Used SVGElement::boundingBox.
Adjusted coordinates for absolute zoom, for all kinds of elements.
* svg/SVGElement.cpp:
* svg/SVGElement.h:
(SVGElement::boundingBox): Added.
* svg/SVGStyledTransformableElement.cpp:
* svg/SVGStyledTransformableElement.h:
(SVGStyledTransformableElement::nearestViewportElement): Removed.
(SVGStyledTransformableElement::farthestViewportElement): Removed.
(SVGStyledTransformableElement::getBBox): Removed.
2010-10-22 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WIN] Add stubs for SocketStream classes
https://bugs.webkit.org/show_bug.cgi?id=47983
* platform/network/win/SocketStreamError.h: Copied from WebCore/platform/network/curl/SocketStreamError.h.
(WebCore::SocketStreamError::SocketStreamError):
* platform/network/win/SocketStreamHandle.h: Copied from WebCore/platform/network/curl/SocketStreamHandle.h.
(WebCore::SocketStreamHandle::create):
* platform/network/win/SocketStreamHandleWin.cpp: Copied from WebCore/platform/network/curl/SocketStreamHandleCurl.cpp.
2010-10-22 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Disable cache in ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=48128
The caching of windows does not work correctly, so disable it for now.
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
2010-10-22 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Regression (r69548): cancelled autocorrection suggestion is still applied.
https://bugs.webkit.org/show_bug.cgi?id=48081
<rdar://problem/8579765>
The test requires a 0.3 second delay using setTimeout(). So we put it in manual-tests.
* editing/Editor.cpp:
(WebCore::Editor::handleRejectedCorrection): Clear autocorrection info when user dismissed the panel.
* manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Added.
2010-10-22 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Gtk] Fix canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
https://bugs.webkit.org/show_bug.cgi?id=48133
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::contains): Return false if any x or y are nonfinite.
2010-10-22 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Implement property toggling in InspectorCSSAgent
This change implements enablement/disablement and setting of style properties.
Disabled properties are persisted in the (top-level) scope of InspectorStyleSheet.
https://bugs.webkit.org/show_bug.cgi?id=47339
Drive-by: fixes for the Web Inspector Protocol format.
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getComputedStyleForNode2):
(WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
(WebCore::InspectorCSSAgent::setPropertyText2):
(WebCore::InspectorCSSAgent::toggleProperty2):
(WebCore::InspectorCSSAgent::setRuleSelector2):
(WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyle::toggleProperty):
(WebCore::InspectorStyle::disabledIndexByOrdinal):
(WebCore::InspectorStyle::styleText):
(WebCore::InspectorStyle::disableProperty):
(WebCore::InspectorStyle::enableProperty):
(WebCore::InspectorStyle::populateAllProperties):
(WebCore::InspectorStyle::populateObjectWithStyleProperties):
(WebCore::InspectorStyle::shiftDisabledProperties):
(WebCore::InspectorStyle::replacePropertyInStyleText):
(WebCore::InspectorStyle::shorthandValue):
(WebCore::InspectorStyle::shorthandPriority):
(WebCore::InspectorStyle::longhandProperties):
(WebCore::InspectorStyleSheet::setText):
(WebCore::InspectorStyleSheet::setRuleSelector):
(WebCore::InspectorStyleSheet::addRule):
(WebCore::InspectorStyleSheet::ruleForId):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::setPropertyText):
(WebCore::InspectorStyleSheet::toggleProperty):
(WebCore::InspectorStyleSheet::styleForId):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyleSheet::rememberInspectorStyle):
(WebCore::InspectorStyleSheet::forgetInspectorStyle):
(WebCore::InspectorStyleSheet::ruleOrStyleId):
(WebCore::InspectorStyleSheet::ensureText):
(WebCore::InspectorStyleSheet::setStyleText):
(WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
(WebCore::InspectorStyleSheet::ruleId):
(WebCore::InspectorStyleSheet::revalidateStyle):
(WebCore::InspectorStyleSheet::originalStyleSheetText):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
(WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::createFromParts):
(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorCSSId::styleSheetId):
(WebCore::InspectorCSSId::ordinal):
(WebCore::InspectorCSSId::isEmpty):
(WebCore::InspectorCSSId::asString):
(WebCore::InspectorStyleProperty::InspectorStyleProperty):
(WebCore::InspectorStyle::create):
(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::cssStyle):
(WebCore::InspectorStyle::hasDisabledProperties):
(WebCore::InspectorStyleSheet::styleId):
(WebCore::InspectorStyleSheetForInlineStyle::styleForId):
(WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
(WebCore::InspectorStyleSheetForInlineStyle::rememberInspectorStyle):
(WebCore::InspectorStyleSheetForInlineStyle::forgetInspectorStyle):
2010-10-22 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: update resources tree in storage panel upon network events.
https://bugs.webkit.org/show_bug.cgi?id=48121
* inspector/Inspector.idl:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForDocumentLoader):
(WebCore::buildObjectForFrameTree):
(WebCore::InspectorResourceAgent::didCommitLoad):
(WebCore::InspectorResourceAgent::frameDetachedFromParent):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager):
(WebInspector.ResourceManager.prototype._createResource):
(WebInspector.ResourceManager.prototype.didReceiveResponse):
(WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
(WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
(WebInspector.ResourceManager.prototype._addResourceToStorageFrame):
(WebInspector.ResourceManager.prototype.frameDetachedFromParent):
(WebInspector.ResourceManager.prototype._clearResources):
(WebInspector.ResourceManager.prototype._processCachedResources):
(WebInspector.ResourceManager.prototype._addFramesRecursively):
(WebInspector.ResourceManager.getContents):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.addOrUpdateFrame):
(WebInspector.StoragePanel.prototype.removeFrame):
(WebInspector.StoragePanel.prototype.addResourceToFrame):
(WebInspector.StoragePanel.prototype.removeResourcesFromFrame):
(WebInspector.BaseStorageTreeElement.prototype.onattach):
(WebInspector.BaseStorageTreeElement.prototype.onreveal):
(WebInspector.BaseStorageTreeElement.prototype.set titleText):
(WebInspector.FrameTreeElement):
(WebInspector.FrameTreeElement.prototype.onselect):
(WebInspector.FrameTreeElement.prototype.get displayName):
(WebInspector.FrameTreeElement.prototype.set displayName):
2010-10-22 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Fix wrong xHeight() value for Apple Symbols font.
https://bugs.webkit.org/show_bug.cgi?id=41535
Test: mathml/xHeight.xhtml
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformInit):
2010-10-22 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Further preparations to deploy the new SVGAnimatedProperty concept for the rest of the SVG datatypes
https://bugs.webkit.org/show_bug.cgi?id=48125
Model SVGListPropertyTearOff similar to SVGPropertyTearOff, allow it to be used for SVGXXXList datatypes, that are not animated. (SVGStringList)
Recognize all SVG primitive datatypes in SVGPropertyTraits.
Add a new - temporary - macro to support multiple animated properties that map to a single DOM attribute (kernelUnitLength attribute vs. kernelUnitLengthX/Y properties).
These macros will all be removed and expanded by their content, as soon as the transition to the new SVGAnimatedProperty concept is done.
Doesn't affect any tests yet, as the code is still unused.
* svg/properties/SVGAnimatedProperty.h:
(WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
(WebCore::SVGAnimatedProperty::lookupWrapper):
* svg/properties/SVGAnimatedPropertyMacros.h:
* svg/properties/SVGAnimatedPropertySynchronizer.h:
* svg/properties/SVGListPropertyTearOff.h:
(WebCore::SVGListPropertyTearOff::create):
(WebCore::SVGListPropertyTearOff::removeItemFromList):
(WebCore::SVGListPropertyTearOff::detachListWrappers):
(WebCore::SVGListPropertyTearOff::clear):
(WebCore::SVGListPropertyTearOff::numberOfItems):
(WebCore::SVGListPropertyTearOff::initialize):
(WebCore::SVGListPropertyTearOff::getItem):
(WebCore::SVGListPropertyTearOff::insertItemBefore):
(WebCore::SVGListPropertyTearOff::replaceItem):
(WebCore::SVGListPropertyTearOff::removeItem):
(WebCore::SVGListPropertyTearOff::appendItem):
(WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
(WebCore::SVGListPropertyTearOff::~SVGListPropertyTearOff):
(WebCore::SVGListPropertyTearOff::commitChange):
* svg/properties/SVGPropertyTearOff.h:
* svg/properties/SVGPropertyTraits.h:
2010-10-22 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70301.
http://trac.webkit.org/changeset/70301
https://bugs.webkit.org/show_bug.cgi?id=48126
"Lang attribute layout tests failing" (Requested by satish on
#webkit).
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage):
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
(WebCore::SearchFieldCancelButtonElement::detach):
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::detach):
2010-10-22 Leandro Gracia Gil <leandrogracia@google.com>
Reviewed by Jeremy Orlow.
Patch the current speech input implementation to use and validate the
nearest language tag. The language is now passed to the startRecognition
methods so that language-specific recognition could be used. Also added
a second parameter to setMockSpeechInputResult for the language used in
speech recognition.
https://bugs.webkit.org/show_bug.cgi?id=47089
This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
details see http://codereview.chromium.org/3615005/show and
http://codereview.chromium.org/3595018/show.
Test: fast/speech/input-text-language-tag.html
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage): includes a brief character
validation for the BCP 47 language tag.
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult): results are now
stored by language using a hash map.
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
(WebCore::SearchFieldCancelButtonElement::detach):
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::detach):
2010-10-21 Yury Semikhatsky <yurys@chromium.org>
Unreviewed, rolling out r70298.WebKit win compilation failure.
http://trac.webkit.org/changeset/70298
https://bugs.webkit.org/show_bug.cgi?id=48122
2010-10-21 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: decouple ScriptArguments from ScriptCallStack
https://bugs.webkit.org/show_bug.cgi?id=48058
ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
The factory functions that allow to create ScriptCallStack from VM-specific
objects are defined in ScriptCallStackFactory.cpp.
ScriptArguments class is used for passing arguments from JS code to the native
part.
No new tests. This refactoring is covered with existing Console tests.
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptCallFrame.cpp: Removed.
* bindings/js/ScriptCallFrame.h: Removed.
* bindings/js/ScriptCallStack.cpp: Removed.
* bindings/js/ScriptCallStack.h: Removed.
* bindings/js/ScriptCallStackFactory.cpp: Added.
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
(WebCore::ScriptCallStack::stackTrace):
* bindings/js/ScriptCallStackFactory.h: Added.
* bindings/js/ScriptState.h:
(WebCore::ScriptStateProtectedPtr::get):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptCallFrame.cpp: Removed.
* bindings/v8/ScriptCallFrame.h: Removed.
* bindings/v8/ScriptCallStack.cpp: Removed.
* bindings/v8/ScriptCallStack.h: Removed.
* bindings/v8/ScriptCallStackFactory.cpp: Added.
(WebCore::toScriptCallFrame):
(WebCore::toScriptCallFramesVector):
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
(WebCore::ScriptCallStack::stackTrace):
* bindings/v8/ScriptCallStackFactory.h: Added.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
* bindings/v8/ScriptState.h:
(WebCore::ScriptStateProtectedPtr::get):
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
(WebCore::V8ConsoleMessage::dispatchNow):
* bindings/v8/V8ConsoleMessage.h:
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::updateRepeatCountInConsole):
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::startGroup):
* inspector/InspectorController.h:
* inspector/ScriptArguments.cpp: Added.
(WebCore::ScriptArguments::ScriptArguments):
(WebCore::ScriptArguments::~ScriptArguments):
(WebCore::ScriptArguments::argumentAt):
(WebCore::ScriptArguments::globalState):
(WebCore::ScriptArguments::getFirstArgumentAsString):
(WebCore::ScriptArguments::isEqual):
* inspector/ScriptArguments.h: Added.
(WebCore::ScriptArguments::argumentCount):
* inspector/ScriptCallFrame.cpp: Added.
(WebCore::ScriptCallFrame::ScriptCallFrame):
(WebCore::ScriptCallFrame::~ScriptCallFrame):
(WebCore::ScriptCallFrame::isEqual):
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h: Added.
(WebCore::ScriptCallFrame::functionName):
(WebCore::ScriptCallFrame::sourceURL):
(WebCore::ScriptCallFrame::lineNumber):
* inspector/ScriptCallStack.cpp: Added.
(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::~ScriptCallStack):
(WebCore::ScriptCallStack::at):
(WebCore::ScriptCallStack::size):
(WebCore::ScriptCallStack::isEqual):
(WebCore::ScriptCallStack::buildInspectorObject):
* inspector/ScriptCallStack.h: Added.
* page/Console.cpp:
(WebCore::Console::addMessage):
(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::count):
(WebCore::Console::markTimeline):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::shouldCaptureFullStackTrace):
(WebCore::Console::warn):
* page/Console.h:
2010-10-22 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Simon Hausmann.
[Qt] All widgets are rendered incorrectly when rendered through a cache
https://bugs.webkit.org/show_bug.cgi?id=47767
When a widget is not available to the RenderTheme, default
value are used for the state.
* platform/qt/RenderThemeQt.cpp:
(WebCore::initStyleOption):
(WebCore::RenderThemeQt::paintButton):
(WebCore::RenderThemeQt::paintTextField):
(WebCore::RenderThemeQt::paintMenuList):
(WebCore::RenderThemeQt::paintMenuListButton):
(WebCore::RenderThemeQt::paintProgressBar):
(WebCore::RenderThemeQt::paintSliderTrack):
2010-10-22 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
Moving all bounding box related calculation to RenderSVGResourceFilterPrimitive
https://bugs.webkit.org/show_bug.cgi?id=47174
The primitive sub-region calculation was spread in many
files across in WebKit source code, and all of them are moved
to RenderSVGResourceFilterPrimitive, where they should be.
In this patch the calculation is a static method which will
be turned to a real member function in the near future.
* platform/graphics/filters/FETile.cpp:
* platform/graphics/filters/FETile.h:
(WebCore::FETile::filterEffectType):
* platform/graphics/filters/Filter.h:
* platform/graphics/filters/FilterEffect.cpp:
* platform/graphics/filters/FilterEffect.h:
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
* rendering/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
* rendering/RenderSVGResourceFilterPrimitive.h:
(WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
* svg/graphics/filters/SVGFilter.cpp:
* svg/graphics/filters/SVGFilter.h:
(WebCore::SVGFilter::mapLocalRectToAbsoluteRect):
(WebCore::SVGFilter::targetBoundingBox):
2010-10-21 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Add a String constructor which takes AECHAR*
https://bugs.webkit.org/show_bug.cgi?id=45043
Implement String(const AECHAR*) constructor.
* platform/text/brew/StringBrew.cpp: Added.
(WTF::String::String):
2010-10-21 James Simonsen <simonjam@chromium.org>
Reviewed by Adam Barth.
HTMLTreeBuilder's InForeignContent code needs a re-write
Foreign Content mode was changed significantly by:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314
The differences can be seen here:
http://html5.org/tools/web-apps-tracker?from=5520&to=5522
This bug addresses all spec changes in the diff except the select scope
changes, which have already been fixed in a separate bug.
https://bugs.webkit.org/show_bug.cgi?id=46676
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker): Add foreign elements to list.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processDoctypeToken): Switch mode before reprocessing any tokens.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto. Remove secondary insertion mode.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Switch mode before reprocessing any tokens.
(WebCore::HTMLTreeBuilder::processStartTag): Ditto. Remove secondary insertion mode.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Remove foreign var. Use hasTagName() instead of == localName() to fix bug with foreign elements.
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Switch mode before reprocessing any tokens.
(WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto.
(WebCore::HTMLTreeBuilder::prepareToReprocessToken): Added.
(WebCore::HTMLTreeBuilder::reprocessStartTag): Added.
(WebCore::HTMLTreeBuilder::reprocessEndTag): Added.
(WebCore::HTMLTreeBuilder::processForeignContentUsingInBodyModeAndResetMode): Added.
(WebCore::HTMLTreeBuilder::resetForeignInsertionMode): Added.
(WebCore::HTMLTreeBuilder::processComment): Switch mode before reprocessing any tokens.
(WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
(WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
* html/parser/HTMLTreeBuilder.h: Functions and member for tracking potential switch from InForeignContentMode.
2010-10-21 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
Remove Android build system
https://bugs.webkit.org/show_bug.cgi?id=48111
As far as I can tell, these files are not maintained. They are a
mantaince burden on the project. If folks would like to come out of
the woodwork and maintain these files, that's great. At the moment,
they seem like dead weight for the project.
* Android.mk: Removed.
2010-10-21 Kwang Yul Seo <skyul@company100.net>
Reviewed by James Robinson.
Make sure skia is not Chromium specific
https://bugs.webkit.org/show_bug.cgi?id=39672
GlyphPageTreeNodeLinux does not depend on Linux or Chromium.
Move GlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
GlyphPageTreeNodeSkia.cpp so that other ports can use it.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
* platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.
2010-10-21 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
removeFormat needs to be reimplemented
https://bugs.webkit.org/show_bug.cgi?id=43017
Reimplemented execCommand('RemoveFormat', false, null). New implementation removes
the same elements removed by Internet Explorer. Because WebKit supports StyleWithCSS
we also reset any editing styles to match that of the root editable element
while Internet Explorer does not remove any CSS styles.
New implementation uses ApplyStyleCommand to remove appropriate elements and reset the style.
Added new constructor and member variable to ApplyStyleCommand to support mass-removal of elements
since it's inefficient to call ApplyStyleCommand on each element we're removing.
To avoid an infinite loop in pushDownInlineStyleAroundNode when mass-removing, WebKit no longer
push down element one level at a time. Instead, we keep a stack of styled elements to be applied,
and apply wrap siblings of targetNode's ancestors by all of them at once.
Tests: editing/execCommand/remove-format-elements.html
editing/execCommand/remove-format-multiple-elements.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand): Added; this version takes style and a function pointer
to a boolean function that determines which element needs to removed, and set m_removeOnly to true.
(WebCore::ApplyStyleCommand::doApply): Added support for m_isInlineElementToRemoveFunction.
(WebCore::ApplyStyleCommand::applyBlockStyle): Ditto.
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Exits early if m_removeOnly is true.
(WebCore::ApplyStyleCommand::isStyledInlineElementToRemove): Added.
(WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls isStyledInlineElementToRemove.
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Ditto.
(WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): See above.
* editing/ApplyStyleCommand.h:
(WebCore::ApplyStyleCommand::create): Added.
* editing/RemoveFormatCommand.cpp:
(WebCore::isElementForRemoveFormatCommand): Added.
(WebCore::RemoveFormatCommand::doApply): Rewritten.
2010-10-21 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Ignore document.write() when it comes from a network task
https://bugs.webkit.org/show_bug.cgi?id=47560
This implements the update to the spec made by:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767
It also matches the latest Firefox 4 beta. The notable change is that
document.write from a deferred script no longer works. This avoids
blowing the patch away.
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::write):
* dom/Document.h:
(WebCore::DestructiveWriteCountIncrementer::DestructiveWriteCountIncrementer):
(WebCore::Document::ignoreDestructiveWriteCountIncrementer):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::insertedIntoDocument):
(WebCore::ScriptElementData::ScriptElementData):
(WebCore::ScriptElementData::evaluateScript):
* dom/ScriptElement.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
2010-10-21 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed Leopard build fix attempt.
Explicitly cast the return value of deg2rad to float.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
2010-10-21 Mihai Parparita <mihaip@chromium.org>
Reviewed by James Robinson.
[Chromium] Fix Chromium Mac build
https://bugs.webkit.org/show_bug.cgi?id=48096
Fix Chromium Mac build after r70225 (Chromium uses Core Text but is not
PLATFORM(MAC)).
* platform/graphics/SimpleFontData.h:
2010-10-21 Xiaomei Ji <xji@chromium.org>
Reviewed by David Levin.
Performance improvement for FontLinux.
https://bugs.webkit.org/show_bug.cgi?id=47019
Reduce the number of calls for the normalization function because converting
to NFC form is very expensive.
Combine space normalization and character mirroring into one text scan.
Test: platform/chromium/fast/text/font-linux-normalize.html
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::~TextRunWalker):
(WebCore::TextRunWalker::getNormalizedTextRun):
(WebCore::TextRunWalker::normalizeSpacesAndMirrorChars):
2010-10-21 David Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=48085
Make basic vertical text painting work. This includes the text itself, underlines, overlines, line-throughs and shadows.
Added fast/blockflow/english-lr-text.html
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::applyShadowToGraphicsContext):
(WebCore::paintTextWithShadows):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/InlineTextBox.h:
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintTextWithShadows):
2010-10-21 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Simon Hausmann.
[Qt] When doing rendering through tiling, it seems the tiles are not initialized before rendering
https://bugs.webkit.org/show_bug.cgi?id=48070
No new tests. Auto-tests for Tiled Backing Store should be added, see bug 48082
* page/Frame.cpp:
(WebCore::Frame::tiledBackingStoreBackgroundColor):
* page/Frame.h:
* platform/graphics/TiledBackingStoreClient.h:
* platform/graphics/qt/TileQt.cpp:
(WebCore::Tile::updateBackBuffer):
2010-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Use GCharsetConverter instead of g_iconv in TextCodecGtk
https://bugs.webkit.org/show_bug.cgi?id=47896
It makes error handling easier. Fixes tests:
fast/encoding/invalid-multi-byte-over-consumption.html
fast/encoding/invalid-xml.html
fast/encoding/japanese-encoding-mix.html
when building with glib unicode
* platform/text/gtk/TextCodecGtk.cpp:
(WebCore::TextCodecGtk::TextCodecGtk):
(WebCore::TextCodecGtk::~TextCodecGtk):
(WebCore::TextCodecGtk::createIConvDecoder):
(WebCore::TextCodecGtk::createIConvEncoder):
(WebCore::TextCodecGtk::decode):
(WebCore::TextCodecGtk::encode):
* platform/text/gtk/TextCodecGtk.h:
2010-10-21 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: contenteditable nodes do not return correct AXSelectedText* attributes
https://bugs.webkit.org/show_bug.cgi?id=48080
The ariaSelectedDOMTextRange() method was not returning the correct values.
The fix is to return a plain text range that represents the current selection.
Test: platform/mac/accessibility/content-editable-range-properties.html
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::accessibilityDescription):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::ariaSelectedTextRange):
(WebCore::AccessibilityRenderObject::selectedText):
(WebCore::AccessibilityRenderObject::selectedTextRange):
* accessibility/AccessibilityRenderObject.h:
2010-10-20 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Video -> Canvas doesn't work on Windows
https://bugs.webkit.org/show_bug.cgi?id=47996
rdar://problem/7884690
* WebCore.vcproj/QTMovieWin.vcproj: Added QTDecompressionSession.{cpp,h}
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Create a
QTDecompressionSession if necessary and convert the QTPixelBuffer
into a CG-compatible one.
* platform/graphics/win/QTDecompressionSession.cpp: Added.
* platform/graphics/win/QTDecompressionSession.h: Added.
* platform/graphics/win/QTPixelBuffer.cpp:
(SetNumberValue): Moved from QTMovieVisualContext.
(QTPixelBuffer::createPixelBufferAttributesDictionary): Moved from inside
QTMovieVisualContext::createPixelBufferOptionsDictionary().
* platform/graphics/win/QTPixelBuffer.h: Moved the Type enum
from QTMovieVisualContext.h.
2010-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] TextBreakIteratorGtk should initialize its internal index to 0
https://bugs.webkit.org/show_bug.cgi?id=48065
It fixes the following tests when using glib unicode:
fast/forms/ValidityState-tooLong-input.html
fast/forms/ValidityState-tooLong-textarea.html
fast/forms/input-appearance-maxlength.html
fast/forms/input-implicit-length-limit.html
fast/forms/input-maxlength.html
fast/forms/textarea-live-pseudo-selectors.html
fast/forms/mailto/advanced-get.html
fast/forms/mailto/advanced-put.html
* platform/text/gtk/TextBreakIteratorGtk.cpp:
(WebCore::setUpIterator):
2010-10-21 takano takumi <takano1@asia.apple.com>
Reviewed by Dan Bernstein.
Need to swap glyphs for vertical writing
https://bugs.webkit.org/show_bug.cgi?id=46973
Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
and ultimately to CoreText APIs in both font complex path and fast path.
Tests: fast/text/international/vertical-text-glyph-test.html
fast/text/international/vertical-text-metrics-test.html
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
when writing-mode is being specified.
* loader/CachedFont.cpp:
(WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
* loader/CachedFont.h:
* platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
(WebCore::FontPlatformDataCacheKey::operator==):
(WebCore::computeHash):
(WebCore::FontCache::getCachedFontPlatformData):
* platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::orientation):
(WebCore::FontDescription::setOrientation):
(WebCore::FontDescription::operator==):
* platform/graphics/FontOrientation.h: Added.
* platform/graphics/SimpleFontData.h:
* platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::orientation):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::operator==):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
(WebCore::FontPlatformData::description):
* platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
* platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
(WebCore::SimpleFontData::getCFStringAttributes):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
(WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
to get vertical metrics when the font orientation is vertical.
* platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
2010-10-21 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: provide resource tree in the Storage panel (behind the flag).
https://bugs.webkit.org/show_bug.cgi?id=48069
* WebCore.gypi:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::frameDetachedFromParent):
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForDocumentLoader):
(WebCore::buildObjectForFrameResource):
(WebCore::buildObjectForCachedResource):
(WebCore::populateObjectWithFrameResources):
(WebCore::InspectorResourceAgent::identifierForInitialRequest):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::buildObjectForFrameTree):
(WebCore::InspectorResourceAgent::didCommitLoad):
(WebCore::InspectorResourceAgent::frameDetachedFromParent):
(WebCore::InspectorResourceAgent::cachedResources):
(WebCore::InspectorResourceAgent::resourceContent):
* inspector/InspectorResourceAgent.h:
* inspector/front-end/Images/frame.png: Added.
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype.refreshResource):
(WebInspector.NetworkPanel.prototype._showResource):
* inspector/front-end/Resource.js:
(WebInspector.Resource.Type.toString):
(WebInspector.Resource.prototype.getContents):
* inspector/front-end/ResourceManager.js:
(WebInspector.ResourceManager):
(WebInspector.ResourceManager.prototype.identifierForInitialRequest):
(WebInspector.ResourceManager.prototype._createResource):
(WebInspector.ResourceManager.prototype.willSendRequest):
(WebInspector.ResourceManager.prototype._appendRedirect):
(WebInspector.ResourceManager.prototype.markResourceAsCached):
(WebInspector.ResourceManager.prototype.didReceiveResponse):
(WebInspector.ResourceManager.prototype._updateResourceWithResponse):
(WebInspector.ResourceManager.prototype.didReceiveContentLength):
(WebInspector.ResourceManager.prototype.didFinishLoading):
(WebInspector.ResourceManager.prototype.didFailLoading):
(WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
(WebInspector.ResourceManager.prototype._updateResourceWithCachedResource):
(WebInspector.ResourceManager.prototype.setOverrideContent):
(WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
(WebInspector.ResourceManager.prototype.frameDetachedFromParent):
(WebInspector.ResourceManager.prototype._clearResources):
(WebInspector.ResourceManager.prototype.didCreateWebSocket):
(WebInspector.ResourceManager.prototype.willSendWebSocketHandshakeRequest):
(WebInspector.ResourceManager.prototype.didReceiveWebSocketHandshakeResponse):
(WebInspector.ResourceManager.prototype.didCloseWebSocket):
(WebInspector.ResourceManager.prototype._processCachedResources):
(WebInspector.ResourceManager.prototype._appendFramesRecursively.comparator):
(WebInspector.ResourceManager.prototype._appendFramesRecursively):
(WebInspector.ResourceManager.createResourceView):
(WebInspector.ResourceManager.resourceViewTypeMatchesResource):
(WebInspector.ResourceManager.resourceViewForResource):
(WebInspector.ResourceManager.getContents):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.get searchableViews):
(WebInspector.ResourcesPanel.prototype.addMessageToResource):
(WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
(WebInspector.ResourcesPanel.prototype.showResource):
(WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._showScriptOrResource):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.addFrame):
(WebInspector.StoragePanel.prototype.removeFrame):
(WebInspector.StoragePanel.prototype.addFrameResource):
(WebInspector.StoragePanel.prototype.removeFrameResources):
(WebInspector.StoragePanel.prototype.showResource):
(WebInspector.BaseStorageTreeElement.prototype.onattach):
(WebInspector.BaseStorageTreeElement.prototype.onreveal):
(WebInspector.FrameTreeElement):
(WebInspector.FrameTreeElement.prototype.onselect):
(WebInspector.FrameResourceTreeElement):
(WebInspector.FrameResourceTreeElement.prototype.onselect):
(WebInspector.FrameResourceTreeElement.prototype.onattach):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.frame-storage-tree-item .icon):
(.storage.panel .sidebar.outline-disclosure > ol):
(.resources-category-images .image-resource-icon-preview):
(.children.small .resources-category-images .image-resource-icon-preview):
* inspector/front-end/inspector.js:
2010-10-21 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/48047> Fix warnings found by check-Xcode-source-file-types
Reviewed by Adam Roben.
Fixes the following warning:
WARNING: Unknown file type 'sourcecode' for file 'CSSPrimitiveValue.idl'.
1 issues found for WebCore/WebCore.xcodeproj/project.pbxproj.
* WebCore.xcodeproj/project.pbxproj: Removed explicit file type
for CSSPrimitiveValue.idl to make it match other IDL files.
2010-10-21 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: decouple ScriptArguments from ScriptCallStack
https://bugs.webkit.org/show_bug.cgi?id=48058
ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
The factory functions that allow to create ScriptCallStack from VM-specific
objects are defined in ScriptCallStackFactory.cpp.
ScriptArguments class is used for passing arguments from JS code to the native
part.
No new tests. This refactoring is covered with existing Console tests.
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptCallFrame.cpp: Removed.
* bindings/js/ScriptCallFrame.h: Removed.
* bindings/js/ScriptCallStack.cpp: Removed.
* bindings/js/ScriptCallStack.h: Removed.
* bindings/js/ScriptCallStackFactory.cpp: Added.
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
(WebCore::ScriptCallStack::stackTrace):
* bindings/js/ScriptCallStackFactory.h: Added.
* bindings/js/ScriptState.h:
(WebCore::ScriptStateProtectedPtr::get):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptCallFrame.cpp: Removed.
* bindings/v8/ScriptCallFrame.h: Removed.
* bindings/v8/ScriptCallStack.cpp: Removed.
* bindings/v8/ScriptCallStack.h: Removed.
* bindings/v8/ScriptCallStackFactory.cpp: Added.
(WebCore::toScriptCallFrame):
(WebCore::toScriptCallFramesVector):
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
(WebCore::ScriptCallStack::stackTrace):
* bindings/v8/ScriptCallStackFactory.h: Added.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
* bindings/v8/ScriptState.h:
(WebCore::ScriptStateProtectedPtr::get):
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
(WebCore::V8ConsoleMessage::dispatchNow):
* bindings/v8/V8ConsoleMessage.h:
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::updateRepeatCountInConsole):
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::startGroup):
* inspector/InspectorController.h:
* inspector/ScriptArguments.cpp: Added.
(WebCore::ScriptArguments::ScriptArguments):
(WebCore::ScriptArguments::~ScriptArguments):
(WebCore::ScriptArguments::argumentAt):
(WebCore::ScriptArguments::globalState):
(WebCore::ScriptArguments::getFirstArgumentAsString):
(WebCore::ScriptArguments::isEqual):
* inspector/ScriptArguments.h: Added.
(WebCore::ScriptArguments::argumentCount):
* inspector/ScriptCallFrame.cpp: Added.
(WebCore::ScriptCallFrame::ScriptCallFrame):
(WebCore::ScriptCallFrame::~ScriptCallFrame):
(WebCore::ScriptCallFrame::isEqual):
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h: Added.
(WebCore::ScriptCallFrame::functionName):
(WebCore::ScriptCallFrame::sourceURL):
(WebCore::ScriptCallFrame::lineNumber):
* inspector/ScriptCallStack.cpp: Added.
(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::~ScriptCallStack):
(WebCore::ScriptCallStack::at):
(WebCore::ScriptCallStack::size):
(WebCore::ScriptCallStack::isEqual):
(WebCore::ScriptCallStack::buildInspectorObject):
* inspector/ScriptCallStack.h: Added.
* page/Console.cpp:
(WebCore::Console::addMessage):
(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::count):
(WebCore::Console::markTimeline):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::shouldCaptureFullStackTrace):
(WebCore::Console::warn):
* page/Console.h:
2010-10-21 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Revert r70232. Chromium compilation failure.
2010-10-21 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Revert r70233. Too many failures.
2010-10-21 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Remove references to deleted headers from WebCore.pro
* WebCore.pro:
2010-10-21 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: decouple ScriptArguments from ScriptCallStack
https://bugs.webkit.org/show_bug.cgi?id=48058
ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
The factory functions that allow to create ScriptCallStack from VM-specific
objects are defined in ScriptCallStackFactory.cpp.
ScriptArguments class is used for passing arguments from JS code to the native
part.
No new tests. This refactoring is covered with existing Console tests.
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptCallFrame.cpp: Removed.
* bindings/js/ScriptCallFrame.h: Removed.
* bindings/js/ScriptCallStack.cpp: Removed.
* bindings/js/ScriptCallStack.h: Removed.
* bindings/js/ScriptCallStackFactory.cpp: Added.
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
(WebCore::ScriptCallStack::stackTrace):
* bindings/js/ScriptCallStackFactory.h: Added.
* bindings/js/ScriptState.h:
(WebCore::ScriptStateProtectedPtr::get):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptCallFrame.cpp: Removed.
* bindings/v8/ScriptCallFrame.h: Removed.
* bindings/v8/ScriptCallStack.cpp: Removed.
* bindings/v8/ScriptCallStack.h: Removed.
* bindings/v8/ScriptCallStackFactory.cpp: Added.
(WebCore::toScriptCallFrame):
(WebCore::toScriptCallFramesVector):
(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):
(WebCore::ScriptCallStack::stackTrace):
* bindings/v8/ScriptCallStackFactory.h: Added.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
* bindings/v8/ScriptState.h:
(WebCore::ScriptStateProtectedPtr::get):
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
(WebCore::V8ConsoleMessage::dispatchNow):
* bindings/v8/V8ConsoleMessage.h:
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::updateRepeatCountInConsole):
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::startGroup):
* inspector/InspectorController.h:
* inspector/ScriptArguments.cpp: Added.
(WebCore::ScriptArguments::ScriptArguments):
(WebCore::ScriptArguments::~ScriptArguments):
(WebCore::ScriptArguments::argumentAt):
(WebCore::ScriptArguments::globalState):
(WebCore::ScriptArguments::getFirstArgumentAsString):
(WebCore::ScriptArguments::isEqual):
* inspector/ScriptArguments.h: Added.
(WebCore::ScriptArguments::argumentCount):
* inspector/ScriptCallFrame.cpp: Added.
(WebCore::ScriptCallFrame::ScriptCallFrame):
(WebCore::ScriptCallFrame::~ScriptCallFrame):
(WebCore::ScriptCallFrame::isEqual):
(WebCore::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h: Added.
(WebCore::ScriptCallFrame::functionName):
(WebCore::ScriptCallFrame::sourceURL):
(WebCore::ScriptCallFrame::lineNumber):
* inspector/ScriptCallStack.cpp: Added.
(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::~ScriptCallStack):
(WebCore::ScriptCallStack::at):
(WebCore::ScriptCallStack::size):
(WebCore::ScriptCallStack::isEqual):
(WebCore::ScriptCallStack::buildInspectorObject):
* inspector/ScriptCallStack.h: Added.
* page/Console.cpp:
(WebCore::Console::addMessage):
(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::count):
(WebCore::Console::markTimeline):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::shouldCaptureFullStackTrace):
(WebCore::Console::warn):
* page/Console.h:
2010-10-21 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Chromium: use dedicated event listener type in EventListenerWrapper.
https://bugs.webkit.org/show_bug.cgi?id=48059
This change introduces new EventListener::Type NativeEventListenerType.
This new type is intended to be used by any code that wants to protect
itself from unsafe casts to particular event listener implementations.
* dom/EventListener.h:
2010-10-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70225.
http://trac.webkit.org/changeset/70225
https://bugs.webkit.org/show_bug.cgi?id=48061
Build breakage on Leopard. (Requested by pfeldman on #webkit).
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* loader/CachedFont.cpp:
(WebCore::CachedFont::platformDataFromCustomData):
* loader/CachedFont.h:
* platform/graphics/FontCache.cpp:
(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
(WebCore::FontPlatformDataCacheKey::operator==):
(WebCore::computeHash):
(WebCore::FontCache::getCachedFontPlatformData):
* platform/graphics/FontDescription.h:
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::operator==):
* platform/graphics/FontOrientation.h: Removed.
* platform/graphics/SimpleFontData.h:
* platform/graphics/cairo/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/cocoa/FontPlatformData.h:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::operator==):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::allowsLigatures):
(WebCore::FontPlatformData::description):
* platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/haiku/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/haiku/FontCustomPlatformData.h:
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::SimpleFontData::getCFStringAttributes):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformBoundsForGlyph):
(WebCore::SimpleFontData::platformWidthForGlyph):
* platform/graphics/qt/FontCustomPlatformData.h:
* platform/graphics/qt/FontCustomPlatformDataQt.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/skia/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/skia/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformDataCairo.h:
* platform/graphics/wince/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/wince/FontCustomPlatformData.h:
* platform/graphics/wx/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/wx/FontCustomPlatformData.h:
2010-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Tests LayoutTests/fast/encoding/utf-32* fail when using glib unicode
https://bugs.webkit.org/show_bug.cgi?id=47805
Register UTF-32 encodings in TextCodecGtk.
* platform/text/gtk/TextCodecGtk.cpp:
(WebCore::TextCodecGtk::registerBaseEncodingNames):
(WebCore::TextCodecGtk::registerBaseCodecs):
2010-10-21 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Adler.
Adding MediaQueryListListener binding test cases
https://bugs.webkit.org/show_bug.cgi?id=48028
MediaQueryListListener type will need special handling of the code generators. Adding the test cases.
* bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Added.
(WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListenerPrivate::WebDOMTestMediaQueryListListenerPrivate):
(WebDOMTestMediaQueryListListener::WebDOMTestMediaQueryListListener):
(WebDOMTestMediaQueryListListener::operator=):
(WebDOMTestMediaQueryListListener::impl):
(WebDOMTestMediaQueryListListener::~WebDOMTestMediaQueryListListener):
(WebDOMTestMediaQueryListListener::method):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Added.
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp: Added.
(WebKit::kit):
(webkit_dom_test_media_query_list_listener_method):
(WebKit::core):
(webkit_dom_test_media_query_list_listener_finalize):
(webkit_dom_test_media_query_list_listener_set_property):
(webkit_dom_test_media_query_list_listener_get_property):
(webkit_dom_test_media_query_list_listener_constructed):
(webkit_dom_test_media_query_list_listener_class_init):
(webkit_dom_test_media_query_list_listener_init):
(WebKit::wrapTestMediaQueryListListener):
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h: Added.
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h: Added.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Added.
(WebCore::JSTestMediaQueryListListenerConstructor::classInfo):
(WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
(WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
(WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestMediaQueryListListenerPrototype::self):
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
(WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
(WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
(WebCore::JSTestMediaQueryListListener::createPrototype):
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
(WebCore::jsTestMediaQueryListListenerConstructor):
(WebCore::JSTestMediaQueryListListener::getConstructor):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
(WebCore::toJS):
(WebCore::toTestMediaQueryListListener):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Added.
(WebCore::JSTestMediaQueryListListener::classInfo):
(WebCore::JSTestMediaQueryListListener::createStructure):
(WebCore::JSTestMediaQueryListListener::impl):
(WebCore::JSTestMediaQueryListListenerPrototype::classInfo):
(WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
(WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: Added.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Added.
(-[DOMTestMediaQueryListListener dealloc]):
(-[DOMTestMediaQueryListListener finalize]):
(-[DOMTestMediaQueryListListener method:]):
(core):
(kit):
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: Added.
* bindings/scripts/test/TestMediaQueryListListener.idl: Added.
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Added.
(WebCore::TestMediaQueryListListenerInternal::V8_USE):
(WebCore::TestMediaQueryListListenerInternal::methodCallback):
(WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
(WebCore::V8TestMediaQueryListListener::GetRawTemplate):
(WebCore::V8TestMediaQueryListListener::GetTemplate):
(WebCore::V8TestMediaQueryListListener::HasInstance):
(WebCore::V8TestMediaQueryListListener::wrapSlow):
(WebCore::V8TestMediaQueryListListener::derefObject):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Added.
(WebCore::V8TestMediaQueryListListener::toNative):
(WebCore::V8TestMediaQueryListListener::wrap):
(WebCore::toV8):
2010-10-21 takano takumi <takano1@asia.apple.com>
Reviewed by Dan Bernstein.
Need to swap glyphs for vertical writing
https://bugs.webkit.org/show_bug.cgi?id=46973
Made changes to pass the writing-mode orientation flag in RenderStyle down to FontPlatformData,
and ultimately to CoreText APIs in both font complex path and fast path.
Tests: fast/text/international/vertical-text-glyph-test.html
fast/text/international/vertical-text-metrics-test.html
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj: Added platform/graphics/FontOrientation.h.
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData): Added font orientation parameter to SimpleFontData.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Set appropriate font orientation to the font description
when writing-mode is being specified.
* loader/CachedFont.cpp:
(WebCore::CachedFont::platformDataFromCustomData): Made to pass font orientation to FontPlatformData.
* loader/CachedFont.h:
* platform/graphics/FontCache.cpp: Added font orientation to FontPlatformDataCacheKey
(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
(WebCore::FontPlatformDataCacheKey::operator==):
(WebCore::computeHash):
(WebCore::FontCache::getCachedFontPlatformData):
* platform/graphics/FontDescription.h: Added font orientation support to FontDescription class
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::orientation):
(WebCore::FontDescription::setOrientation):
(WebCore::FontDescription::operator==):
* platform/graphics/FontOrientation.h: Added.
* platform/graphics/SimpleFontData.h:
* platform/graphics/cairo/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/cairo/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/cocoa/FontPlatformData.h: Added font orientation support to FontPlatformData class
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::orientation):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::operator==):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm: Added font orientation support
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::allowsLigatures): Don't allow ligatures when the font is vertical orientation.
(WebCore::FontPlatformData::description):
* platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/haiku/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/haiku/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/mac/FontCacheMac.mm: Added font orientation parameter when creating FontPlatformData object.
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.cpp: Added font orientation parameter when creating FontPlatformData object.
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.h: Changed to pass font orientation parameter to fontPlatformData()
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::GlyphPage::fill): Changed to use CoreText to extract glyphs when the current font is vertical orientation.
CoreText automatically swaps glyphs with vertical variants when the font orientation is vertical.
* platform/graphics/mac/SimpleFontDataCoreText.cpp: Added vertical form attribute to the attribute dictionary for a CTLine.
(WebCore::SimpleFontData::getCFStringAttributes):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformBoundsForGlyph): Changed to use CoreText (from CG) to support vertical metrics.
(WebCore::SimpleFontData::platformWidthForGlyph): Made to use CoreText, instead of wkGetGlyphTransformedAdvances,
to get vertical metrics when the font orientation is vertical.
* platform/graphics/qt/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/qt/FontCustomPlatformDataQt.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/skia/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/skia/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/win/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/win/FontCustomPlatformDataCairo.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformDataCairo.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/wince/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/wince/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
* platform/graphics/wx/FontCustomPlatformData.cpp: Changed to pass font orientation to fontPlatformData()
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/wx/FontCustomPlatformData.h: Changed to pass font orientation to fontPlatformData()
2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings)
https://bugs.webkit.org/show_bug.cgi?id=47905
Tests: svg/dom/SVGLengthList-appendItem.xhtml
svg/dom/SVGLengthList-basics.xhtml
svg/dom/SVGLengthList-getItem.xhtml
svg/dom/SVGLengthList-initialize.xhtml
svg/dom/SVGLengthList-insertItemBefore.xhtml
svg/dom/SVGLengthList-removeItem.xhtml
svg/dom/SVGLengthList-replaceItem.xhtml
svg/dom/SVGLengthList-xml-dom-modifications.xhtml
Introduce a more lightweight, less intrusive way to expose SVGAnimated* DOM bindings.
Concrete example:
The SVG DOM defines a 'SVGAnimatedLength' object, that's used to represent the x / y / width / height attributes of a 'SVGRectElement'.
Each 'SVGAnimatedLength' object exposes a baseVal (markup defined attribute value) and an animVal (reflects the current state during animations),
both of type 'SVGLength'. These objects are all _live_. That means you can do:
var foobar = rect.x.baseVal; foobar.value += 150;
If we'd implement the SVG DOM straightforward, we'd have to store a refcounted SVGAnimatedLength object, containing two refcounted SVGLength objects
in SVGRectElement, for each of the x/y/width/height attributes. Our solution, to reduce memory footprint and increase performance is to store
SVGLength stack-allocated, non refcounted types in SVGRectElement for x/y/width/height, and don't implement the SVGAnimatedLength object at all.
In the past the JS bindings had to expose wrappers for SVGAnimatedLength on their own, and wrap each SVGLength object in an object called JSSVGPODTypeWrapper<SVGLength>.
When JS changed the 'value' of the 'SVGLength', we constructed a copy of the SVGLength object, modified it, and called rectElement->setXBaseValue(newLength).
This is not efficient at all, as we have to construct several copies of the SVGLength object, utilize callbacks to propagate the value changes in the SVG DOM.
Furthermore, all bindings had to expose a similar concept, otherwhise SVG DOM wouldn't work. Up until now, only JSC and V8 bindings were available, that worked properly.
The new SVGAnimatedProperty concept removes the need for JSSVGPODTypeWrapper (and friends like JSSVGContextCache, that associated a SVGLength with its SVGRectElement).
Instead a solution is offered, that all bindings can use simultaneously, without adding new types or special concepts like JSSVGPODTypeWrapper.
It works like this:
A new refcounted SVGAnimatedProperty<PropertyType> template class is available, that stores a QualifiedName to associate the SVG DOM property with a XML DOM attribute.
It also stores a RefPtr to the SVGElement that created it.
In SVGRectElement we still store SVGLength m_x/m_y/m_width/m_height members, and offer a new "xAnimated()" method which looks up or creates a SVGAnimatedProperty<SVGLength>
object. The JS/V8/ObjC bindings call this method whenever someone requests "rect.x/y/width/height", and a new wrapper is created, and stored in a HashMap.
The SVGAnimatedProperty<PropertyType> is a base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff, the latter is used for all types of lists (SVGLengthList).
SVGAnimatedProperty contains two methods used in the bindings: SVGProperty* baseVal and SVGProperty* animVal. SVGProperty is a base class for SVGPropertyTearOff and
SVGListPropertyTearOff. Upon invocation of the baseVal/animVal methods a new SVG(List)PropertyTearOff object is created and stored in a RefPtr.
The SVGPropertyTearOff objects stores a _reference_ to the type it wraps. Concrete example:
When calling rect.x, a SVGAnimatedPropertyTearOff<SVGLength> is created, that stores a pointer to the SVGRectElement, and a SVGNames::xAttr.
When calling rect.x.baseVal, a SVGPropertyTearOf<SVGLength> is created, that stores a reference to the "m_x" member variable of the SVGRectElement.
Any changes applied to the SVGLength object, through the wrapper, are immediately live, as no copies are involved anymore, nor the need to fire any callback methods.
This is the key concept of the new tear offs, no copies, no callbacks, no virtual methods (except one, needed for lists, but it's a detail).
The SVGAnimatedListPropertyTearOff and SVGListPropertyTearOff work the same, but for SVG*List objects. The whole SVG*List API is _removed_ from the SVG DOM classes
like SVGLengthList. It now inherits from Vector<SVGLength>, where it used to store a Vector<RefPtr<SVGListItem<SVGLength> > >. The SVGList API (insertItemBefore, appendItem, etc.)
is exposed through SVGListPropertyTearOff, and there's no need anymore for SVGLengthList to deal with it at all.
SVGLengthList is live just like most other SVG DOM object. Concrete example:
var item0 = text.x.baseVal.getItem(0); item0.value += 150;
Previously we chose to store a refcounted SVGListItem object, which wrapped the SVGLength object, to achieve liveness. We could change a single list item from DOM
w/o copying the whole list. The drawback is that a simple type likeSVGLengthList, was heavy to store, as it contained a list of RefPtrs around a wrapper object
around the real object 'SVGLength'. This complexity is completly gone.
The SVGListPropertyTearOff<SVGLengthList> stores a reference to the SVGLengthList object (eg. SVGTextElement::m_x) and maintains a list of SVGPropertyTearOff<SVGLength>
wrappers, that are created when necessary (getItem(2), will create a wrapper around the third list item), and cached. These SVGPropertyTearOff<SVGLength> objects
store references to the SVGLength object _in the SVGLengthList_. One has to be extra carefully, to keep those lists synchronized.
The SVGLengthList API is fully implemented for the first time, including moving items between lists, and is extensively tested with 8 new testcases.
This patch only changed SVGLength/SVGLengthList to the new concept. All other types remain using the old DeprecatedSVGAnimatedProperty* concept.
This will change in follow-up patches.
* GNUmakefile.am: Add new files from svg/properties to build.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSSVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
(WebCore::JSSVGLength::value):
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/scripts/CodeGenerator.pm: Add new isSVGNewStyleAnimatedProperty() helper method, return true for "SVGAnimatedLength" and "SVGAnimatedLengthList".
* bindings/scripts/CodeGeneratorJS.pm: Generate new style SVG JS bindings, that don't need JSSVGContextCache / JSSVGPODTypeWrapper.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto. (+ Finally expose a working set of SVG DOM API for Objective C).
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* bindings/v8/custom/V8SVGLengthCustom.cpp: Adapt to context cache removal for SVGLength.
(WebCore::V8SVGLength::valueAccessorGetter):
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
* rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
(WebCore::extractFloatValuesFromSVGLengthList): SVGLengthList is a POD type now, passed as const reference.
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove handling for SVGLength/SVGLengthList, those are converted to the new SVGAnimatedProperty design now.
* svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
* svg/SVGAnimatedLength.h: Added.
* svg/SVGAnimatedLength.idl: Mark as [SVGAnimatedProperty].
* svg/SVGAnimatedLengthList.h: Added.
* svg/SVGAnimatedLengthList.idl: Mark as [SVGAnimatedProperty].
* svg/SVGCircleElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
* svg/SVGCursorElement.h: Ditto.
* svg/SVGEllipseElement.h: Ditto.
* svg/SVGFilterElement.h: Ditto.
* svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
* svg/SVGForeignObjectElement.h: Ditto.
* svg/SVGImageElement.h: Ditto.
* svg/SVGLength.idl: Mark as [SVGProperty].
* svg/SVGLengthList.cpp: Use Vector API (appendItem -> append). No need to ever use the SVGList API internally. SVGLengthList is a Vector<SVGLength> now.
(WebCore::SVGLengthList::parse):
(WebCore::SVGLengthList::valueAsString):
* svg/SVGLengthList.h: Inherit from Vector<SVGLength> - not from the SVGList base class. It's a simple, non-refcounted POD type now.
(WebCore::SVGLengthList::SVGLengthList):
* svg/SVGLengthList.idl: Mark as [SVGListProperty].
* svg/SVGLineElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
* svg/SVGLinearGradientElement.h: Ditto.
* svg/SVGMarkerElement.h: Ditto.
* svg/SVGMaskElement.h: Ditto.
* svg/SVGPatternElement.h: Ditto.
* svg/SVGRadialGradientElement.h: Ditto.
* svg/SVGRectElement.h: Ditto.
* svg/SVGSVGElement.h: Ditto.
* svg/SVGSVGElement.idl: Mark createSVGLength() as [SVGLiveProperty] - a wrapper for the returned object has to be created.
* svg/SVGTextContentElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished.
* svg/SVGTextPathElement.h: Ditto.
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
(WebCore::SVGTextPositioningElement::parseMappedAttribute): Detach wrappers pointing to the old x/y/dx/dy list, if the underlying list changes via XML DOM.
(WebCore::listContainsRelativeValue): Adapt to SVGLengthList interface changes, it's a POD type now.
* svg/SVGTextPositioningElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_LIST_PROPERTY_NEW/ until the transition to the new concept is finished.
* svg/SVGUseElement.h:
* svg/properties/SVGAnimatedListPropertyTearOff.h: Added.
* svg/properties/SVGAnimatedProperty.h: Added. This is the base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff.
* svg/properties/SVGAnimatedPropertyDescription.h: Added. Refactored from DeprecatedSVGAnimatedProperty.h.
* svg/properties/SVGAnimatedPropertyMacros.h: Added. These macros will be _removed_ as soon as the transition to the new concept is finished.
* svg/properties/SVGAnimatedPropertyTearOff.h: Added.
* svg/properties/SVGListPropertyTearOff.h: Added.
* svg/properties/SVGProperty.h: Added. This is the base class for SVGPropertyTearOff and SVGListPropertyTearOff.
* svg/properties/SVGPropertyTearOff.h: Added.
* svg/properties/SVGPropertyTraits.h: Added.
2010-10-21 Alex Milowski <alex@milowski.com>
Reviewed by Kenneth Rohde Christiansen.
Changed the layout algorithm for rows to avoid unnecessary recursion
into child rows. This solves the long rendering time experienced in
https://bugs.webkit.org/show_bug.cgi?id=43462 as well as reports in
various other bugs. The change in the algorithm required some
tweaks to other rendering objects to make sure that the baseline
alignment still works.
In addition, an attempt was made to go through the various
rendering objects for MathML and reduce unnecessary calls that
mark the tree in need of layout.
* mathml/RenderMathMLFenced.cpp:
* mathml/RenderMathMLFenced.h:
* mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::layout):
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::stretchToHeight):
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layout):
* mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):
* mathml/RenderMathMLRow.h:
(WebCore::RenderMathMLRow::stretchToHeight):
* mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::addChild):
(WebCore::RenderMathMLSubSup::stretchToHeight):
(WebCore::RenderMathMLSubSup::nonOperatorHeight):
(WebCore::RenderMathMLSubSup::layout):
(WebCore::RenderMathMLSubSup::baselinePosition):
* mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::stretchToHeight):
(WebCore::RenderMathMLUnderOver::layout):
(WebCore::RenderMathMLUnderOver::nonOperatorHeight):
* mathml/mathtags.in:
2010-10-21 Evan Martin <evan@chromium.org>
Reviewed by Tony Chang.
sqlite: show extended error codes in error logs
https://bugs.webkit.org/show_bug.cgi?id=47859
SQLite can provide "extended" error codes, where extra information
about the error is potentially encoded in the high bits of the error
code. It's only off by default in case older apps rely on equality
testing on the older error codes, which WebKit doesn't do.
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::step):
2010-10-21 Yuta Kitamura <yutak@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Handle WebSocket events via InspectorInstrumentation
https://bugs.webkit.org/show_bug.cgi?id=47968
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
Now we do not depend on InspectorController to generate a resource identifier.
(WebCore::WebSocketChannel::disconnect):
Check if m_identifier is valid in case we could not obtain an identifier.
(WebCore::WebSocketChannel::didOpen):
(WebCore::WebSocketChannel::didClose):
(WebCore::WebSocketChannel::processBuffer):
* websockets/WebSocketChannel.h:
2010-10-20 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Convert sidebar into the browsing tree in the Storage panel.
https://bugs.webkit.org/show_bug.cgi?id=47988
* English.lproj/localizedStrings.js:
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._formatMessage):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView):
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype._queryFinished):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addDatabase):
(WebInspector.StoragePanel.prototype.addCookieDomain):
(WebInspector.StoragePanel.prototype.addDOMStorage):
(WebInspector.StoragePanel.prototype.addApplicationCache):
(WebInspector.StoragePanel.prototype.showDatabase):
(WebInspector.StoragePanel.prototype.showDOMStorage):
(WebInspector.StoragePanel.prototype.showCookies):
(WebInspector.StoragePanel.prototype.showApplicationCache):
(WebInspector.StoragePanel.prototype.showCategoryView):
(WebInspector.StoragePanel.prototype._innerShowView):
(WebInspector.BaseStorageTreeElement):
(WebInspector.BaseStorageTreeElement.prototype.onattach):
(WebInspector.StorageCategoryTreeElement):
(WebInspector.StorageCategoryTreeElement.prototype.onselect):
(WebInspector.DatabaseTreeElement):
(WebInspector.DatabaseTreeElement.prototype.onselect):
(WebInspector.DatabaseTreeElement.prototype.onpopulate.tableNamesCallback):
(WebInspector.DatabaseTreeElement.prototype.onpopulate):
(WebInspector.DatabaseTableTreeElement):
(WebInspector.DatabaseTableTreeElement.prototype.onselect):
(WebInspector.DOMStorageTreeElement):
(WebInspector.DOMStorageTreeElement.prototype.onselect):
(WebInspector.CookieTreeElement):
(WebInspector.CookieTreeElement.prototype.onselect):
(WebInspector.ApplicationCacheTreeElement):
(WebInspector.ApplicationCacheTreeElement.prototype.onselect):
(WebInspector.StorageCategoryView):
(WebInspector.StorageCategoryView.prototype.setText):
* inspector/front-end/inspector.css:
(.properties-tree ol):
(.properties-tree ol.expanded):
(.database-storage-tree-item .icon):
(.database-table-storage-tree-item .icon):
(.domstorage-storage-tree-item.local-storage .icon):
(.domstorage-storage-tree-item.session-storage .icon):
(.cookie-storage-tree-item .icon):
(.application-cache-storage-tree-item .icon):
(.storage.panel .sidebar):
(.storage.panel .outline-disclosure > ol):
(.storage.panel .outline-disclosure li):
(.storage.panel .outline-disclosure li .selection):
(.storage.panel .sidebar-resizer-vertical):
(.storage-base-tree-element-title):
(.storage.panel .outline-disclosure ol):
(.storage.panel .outline-disclosure li.selected):
(.storage.panel .outline-disclosure .icon):
(.storage-empty-view, .storage-view.table .storage-table-error):
2010-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Replace encodings multi-dimensional array with calls to registrar method
https://bugs.webkit.org/show_bug.cgi?id=47990
* platform/text/gtk/TextCodecGtk.cpp:
(WebCore::isEncodingAvailable):
(WebCore::registerEncodingNameIfAvailable):
(WebCore::registerEncodingAliasIfAvailable):
(WebCore::registerCodecIfAvailable):
(WebCore::TextCodecGtk::registerBaseEncodingNames):
(WebCore::TextCodecGtk::registerBaseCodecs):
(WebCore::TextCodecGtk::registerExtendedEncodingNames):
(WebCore::TextCodecGtk::registerExtendedCodecs):
(WebCore::TextCodecGtk::createIConvDecoder):
(WebCore::TextCodecGtk::createIConvEncoder):
* platform/text/gtk/TextCodecGtk.h:
2010-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70040.
http://trac.webkit.org/changeset/70040
https://bugs.webkit.org/show_bug.cgi?id=48042
"Reverting a performance regression detected by page_cycler"
(Requested by hayato on #webkit).
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
(WebCore::CSSStyleSelector::checkSelector):
* css/CSSStyleSelector.h:
2010-10-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Gavin Barraclough.
https://bugs.webkit.org/show_bug.cgi?id=47851
Avoid buffer overflows in CSSPrimitiveValue's use of
DecimalNumber, and pass the buffer size in InspectorBasicValue.
Test: fast/css/large-value-csstext.html
* css/CSSPrimitiveValue.cpp:
(WebCore::formatNumber):
* inspector/InspectorValues.cpp:
(WebCore::InspectorBasicValue::writeJSON):
2010-10-20 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by David Levin.
Add SecurityOrigin::threadsafeCopy() to the list of exported symbols.
https://bugs.webkit.org/show_bug.cgi?id=40655
* WebCore.exp.in:
2010-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70165.
http://trac.webkit.org/changeset/70165
https://bugs.webkit.org/show_bug.cgi?id=48007
It broke tests on Qt bot (Requested by Ossy on #webkit).
* ForwardingHeaders/wtf/text/TextPosition.h: Removed.
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerLineNumber):
(WebCore::ScriptController::eventHandlerColumnNumber):
* bindings/v8/ScriptController.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::startLine):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::V8LazyEventListener):
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8LazyEventListener.h:
(WebCore::V8LazyEventListener::create):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::evaluate):
(WebCore::V8Proxy::runScript):
* bindings/v8/V8Proxy.h:
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::runScript):
* bindings/v8/WorkerContextExecutionProxy.h:
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* dom/PendingScript.cpp:
(WebCore::PendingScript::releaseElementAndClear):
* dom/PendingScript.h:
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::operator=):
(WebCore::PendingScript::startingLineNumber):
* dom/ScriptableDocumentParser.h:
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::lineNumber):
(WebCore::XMLDocumentParser::columnNumber):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseEndElement):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
(WebCore::HTMLDocumentParser::columnNumber):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::takeScriptToProcess):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/HTMLTreeBuilder.h:
2010-10-20 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48001
Make boxes place themselves properly in the block direction. Get basic painting working for spans and add a test that
verifies that span painting and replaced element painting (like images) works correctly.
Added fast/blockflow/basic-vertical-line.html
* rendering/InlineBox.cpp:
(WebCore::InlineBox::logicalHeight):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::verticalPositionForBox):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::flipLinesInBlockDirection):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
* rendering/InlineFlowBox.h:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::isFlippedLinesWritingMode):
2010-10-20 Beth Dakin <bdakin@apple.com>
Reviewed by Dave Hyatt.
Fix for https://bugs.webkit.org/show_bug.cgi?id=47514 CSS
transforms should affect scrolling
This patch causes topmostPosition, lowestPosition,
leftmostPosition, and rightmostPosition to take transforms into
account.
Compute the topmost/lowest/leftmost/rightmost position without
factoring in the block's transform until the end.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::topmostPosition):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
* rendering/RenderBlock.h:
transformedFrameRect() returns the frameRect() transformed to the
layer's transform. applyLayerTransformToRect() does the same thing
for the input rect.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::applyLayerTransformToRect):
(WebCore::RenderBox::transformedFrameRect):
(WebCore::RenderBox::topmostPosition):
(WebCore::RenderBox::lowestPosition):
(WebCore::RenderBox::rightmostPosition):
(WebCore::RenderBox::leftmostPosition):
* rendering/RenderBox.h:
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::topmostPosition):
(WebCore::RenderMedia::lowestPosition):
(WebCore::RenderMedia::rightmostPosition):
(WebCore::RenderMedia::leftmostPosition):
* rendering/RenderMedia.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::topmostPosition):
(WebCore::RenderTableSection::lowestPosition):
(WebCore::RenderTableSection::rightmostPosition):
(WebCore::RenderTableSection::leftmostPosition):
* rendering/RenderTableSection.h:
2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed.
Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
https://bugs.webkit.org/show_bug.cgi?id=47973
Copy headers from svg/properties, otherwhise builds from scratch on win are broken.
* WebCore.vcproj/copyForwardingHeaders.cmd:
2010-10-20 Peter Rybin <peter.rybin@gmail.com>
Reviewed by Adam Barth.
HTML parser should provide script column position within HTML document to JavaScript engine
https://bugs.webkit.org/show_bug.cgi?id=45271
Replaces line number with TextPosition struct so that script engine
gets script starting line/column.
* ForwardingHeaders/wtf/text/TextPosition.h: Added.
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerPosition):
* bindings/v8/ScriptController.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::startLine):
(WebCore::ScriptSourceCode::startPosition):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::V8LazyEventListener):
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8LazyEventListener.h:
(WebCore::V8LazyEventListener::create):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::evaluate):
(WebCore::V8Proxy::runScript):
* bindings/v8/V8Proxy.h:
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::runScript):
* bindings/v8/WorkerContextExecutionProxy.h:
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* dom/PendingScript.cpp:
(WebCore::PendingScript::releaseElementAndClear):
* dom/PendingScript.h:
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::operator=):
(WebCore::PendingScript::startingPosition):
* dom/ScriptableDocumentParser.h:
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::lineNumber):
(WebCore::XMLDocumentParser::columnNumber):
(WebCore::XMLDocumentParser::textPosition):
(WebCore::XMLDocumentParser::textPositionOneBased):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::textPosition):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseEndElement):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
(WebCore::HTMLDocumentParser::textPosition):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::uninitializedPositionValue1):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::takeScriptToProcess):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/HTMLTreeBuilder.h:
2010-10-20 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=47994
Make computeBlockDirectionPositionsForLine writing-mode-aware. None of the functions it calls are patched yet.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
2010-10-20 John Abd-El-Malek <jam@chromium.org>
Reviewed by Darin Fisher.
[chromium] Fix crash when mousing over scrollview
https://bugs.webkit.org/show_bug.cgi?id=47956
Test: plugins/mouse-move-over-plugin-in-frame.html
* platform/Widget.h:
(WebCore::Widget::isPluginContainer):
2010-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70149.
http://trac.webkit.org/changeset/70149
https://bugs.webkit.org/show_bug.cgi?id=47989
"Build breaks in mac and win" (Requested by satish on
#webkit).
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage):
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
(WebCore::SearchFieldCancelButtonElement::detach):
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::detach):
2010-10-20 Leandro Gracia Gil <leandrogracia@google.com>
Reviewed by Jeremy Orlow.
Patch the current speech input implementation to use and validate the
nearest language tag. The language is now passed to the startRecognition
methods so that language-specific recognition could be used. Also added
a second parameter to setMockSpeechInputResult for the language used in
speech recognition.
https://bugs.webkit.org/show_bug.cgi?id=47089
This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
details see http://codereview.chromium.org/3615005/show and
http://codereview.chromium.org/3595018/show.
Test: fast/speech/input-text-language-tag.html
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage): includes a brief character
validation for the BCP 47 language tag.
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult): results are now
stored by language using a hash map.
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
(WebCore::SearchFieldCancelButtonElement::detach):
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::detach):
2010-10-20 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Merge ColorSpace and ImageColorSpace enums
https://bugs.webkit.org/show_bug.cgi?id=47922
Merging these two enums makes it easier to implement color-interpolation as well as
color-interpolation-filter for SVG.
Added ColorSpaceLinearRGB to the ColorSpace enum and changed ImageColorSpace to ColorSpace in all related
files. Renamed enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
to follow webkit style rules.
Removed gray scale support in ImageBuffer since it is not used anymore on WebKit.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColorSpace):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* editing/SelectionController.cpp:
(WebCore::SelectionController::paintCaret):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::applyShadow):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::drawImageFromRect):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
* inspector/InspectorController.cpp:
(WebCore::drawOutlinedQuad):
(WebCore::InspectorController::drawElementTitle):
* mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::paint):
* mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::paint):
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
* mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::paint):
* page/FrameView.cpp:
(WebCore::FrameView::paintContents):
* page/PrintContext.cpp:
(WebCore::PrintContext::spoolAllPagesWithBoundaries):
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
* platform/ScrollbarTheme.h:
(WebCore::ScrollbarTheme::paintScrollCorner):
* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::paintScrollCorner):
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupContainer::paintBorder):
(WebCore::PopupListBox::paint):
(WebCore::PopupListBox::paintRow):
* platform/chromium/ScrollbarThemeChromium.cpp:
(WebCore::ScrollbarThemeChromium::paintTickmarks):
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::paint):
* platform/graphics/ColorSpace.h:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
* platform/graphics/GraphicsContextPrivate.h:
(WebCore::GraphicsContextState::GraphicsContextState):
* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::transformColorSpace):
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColorSpace):
(WebCore::cachedCGColor):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::linearRGBColorSpaceRef):
* platform/graphics/cg/GraphicsContextCG.h:
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::cgImage):
(WebCore::ImageBuffer::draw):
* platform/graphics/cg/ImageBufferData.h:
* platform/graphics/cg/ImageCG.cpp:
(WebCore::imageWithColorSpace):
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::clearRect):
(WebCore::GLES2Canvas::fillRect):
* platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::setupLayerForWhiteLayer):
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::apply):
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::apply):
* platform/graphics/filters/FEFlood.cpp:
(WebCore::FEFlood::apply):
* platform/graphics/filters/FEMerge.cpp:
(WebCore::FEMerge::apply):
* platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::apply):
* platform/graphics/filters/FETile.cpp:
(WebCore::FETile::apply):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::effectContext):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::apply):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::apply):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::paint):
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::Font::drawComplexText):
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::setLayerBorderColor):
(WebCore::setLayerBackgroundColor):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::GraphicsContext):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::draw):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/win/GraphicsLayerCACF.cpp:
(WebCore::setLayerBorderColor):
(WebCore::setLayerBackgroundColor):
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
* platform/graphics/win/ImageCairoWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
* platform/graphics/win/WebLayer.cpp:
(WebCore::WebLayer::drawInContext):
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::fillRect):
* platform/graphics/wince/ImageWinCE.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::GraphicsContext):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::paintMediaButton):
(WebCore::RenderThemeGtk::paintMediaSliderTrack):
(WebCore::RenderThemeGtk::paintMediaSliderThumb):
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::paint):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::paint):
* platform/win/WebCoreTextRenderer.cpp:
(WebCore::doDrawTextAtPoint):
* platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
(WebCore::drawTextWithSpacing):
* plugins/PluginView.cpp:
(WebCore::PluginView::paintMissingPluginIcon):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintResizer):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaButton):
(WebCore::paintMediaSlider):
(WebCore::paintMediaVolumeSlider):
(WebCore::paintMediaTimelineContainer):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/RenderSVGResourceSolidColor.cpp:
(WebCore::RenderSVGResourceSolidColor::applyResource):
* rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::paintScrollCorner):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButton):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::paintMenuListButton):
* rendering/RenderThemeWinCE.cpp:
(WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
(WebCore::RenderThemeWinCE::paintSliderTrack):
(WebCore::RenderThemeWinCE::paintSliderThumb):
* rendering/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::createImageBuffer):
* rendering/SVGImageBufferTools.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::build):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::nativeImageForCurrentFrame):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::apply):
2010-10-20 Dirk Schulze <krit@webkit.org>
Reviewed by Andreas Kling.
Remove left over code after moving Cairo port to ShadowContext
https://bugs.webkit.org/show_bug.cgi?id=47929
ImageBufferFilter is not needed anymore, since Cairo is using ShadowContext now.
Made kernelPosition() in FEGaussianBlur a inline function instead of a static function.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::kernelPosition):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/ImageBufferFilter.cpp: Removed.
* platform/graphics/filters/ImageBufferFilter.h: Removed.
2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed.
Fix efl build, by adding the new svg/properties include directory.
* CMakeLists.txt:
2010-10-19 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: expose request/response cookies in HAR
https://bugs.webkit.org/show_bug.cgi?id=47894
Test: inspector/cookie-parser.html
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/CookieParser.js: Added.
* inspector/front-end/HAREntry.js:
(WebInspector.HAREntry.prototype._buildRequest):
(WebInspector.HAREntry.prototype._buildResponse):
(WebInspector.HAREntry.prototype._buildCookies):
(WebInspector.HAREntry.prototype._buildCookie):
* inspector/front-end/Resource.js: Parse Cookie/Set-Cookie headers and expose cookies.
(WebInspector.Resource.prototype.set requestHeaders):
(WebInspector.Resource.prototype.get requestCookies):
(WebInspector.Resource.prototype.set responseHeaders):
(WebInspector.Resource.prototype.get responseCookies):
(WebInspector.Resource.prototype._parseRequestCookies):
(WebInspector.Resource.prototype._parseResponseCookies):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed.
Fix non-mac builds, by adding the new svg/properties include directory.
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.pro:
* WebCore.vcproj/WebCoreCommon.vsprops:
2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Adam Roben.
Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty*
https://bugs.webkit.org/show_bug.cgi?id=47973
Prepare fixing bug 47905, redesigning SVGAnimatedProperty. As we're going to move type by type
to the new animated property concept, keep the old one around, marked deprecated, until the
transition is finished.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* svg/DeprecatedSVGAnimatedProperty.h: Copied from svg/SVGAnimatedProperty.h.
(WebCore::DeprecatedSVGAnimatedPropertyTearOff::DeprecatedSVGAnimatedPropertyTearOff):
(WebCore::DeprecatedSVGAnimatedPropertyTearOff::~DeprecatedSVGAnimatedPropertyTearOff):
(WebCore::DeprecatedSVGAnimatedProperty::~DeprecatedSVGAnimatedProperty):
(WebCore::DeprecatedSVGAnimatedProperty::DeprecatedSVGAnimatedProperty):
(WebCore::DeprecatedSVGAnimatedProperty::value):
(WebCore::DeprecatedSVGAnimatedProperty::baseValue):
* svg/DeprecatedSVGAnimatedPropertyTraits.h: Copied from svg/SVGAnimatedPropertyTraits.h.
* svg/DeprecatedSVGAnimatedTemplate.h: Copied from svg/SVGAnimatedTemplate.h.
(WebCore::DeprecatedSVGAnimatedTypeWrapperKey::DeprecatedSVGAnimatedTypeWrapperKey):
(WebCore::DeprecatedSVGAnimatedTypeWrapperKey::operator==):
(WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
(WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::equal):
(WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue):
(WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue):
(WebCore::DeprecatedSVGAnimatedTemplate::~DeprecatedSVGAnimatedTemplate):
(WebCore::DeprecatedSVGAnimatedTemplate::forgetWrapper):
(WebCore::lookupOrCreateWrapper):
* svg/SVGAnimatedProperty.h: Removed.
* svg/SVGAnimatedPropertySynchronizer.h: Removed.
* svg/SVGAnimatedPropertyTraits.h: Removed.
* svg/SVGAnimatedTemplate.h: Removed.
* svg/SVGElement.h:
* svg/SVGExternalResourcesRequired.h:
* svg/SVGFitToViewBox.h:
* svg/SVGURIReference.h:
* svg/properties: Added.
* svg/properties/SVGAnimatedPropertySynchronizer.h: Copied from svg/SVGAnimatedPropertySynchronizer.h.
2010-10-20 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Kent Tamura.
absolutely positioned list in inline element crashes
https://bugs.webkit.org/show_bug.cgi?id=45095
Add a NULL check to avoid crash. The rendering result isn't ideal yet.
Test: fast/lists/positioned-count-crash.html
* rendering/RenderListItem.cpp:
(WebCore::previousListItem):
2010-10-19 Adam Roben <aroben@apple.com>
Remove uses of CACFContextRef and CARender* from WebCore
These types are now wrapped in a WKCACFContext type exported by
WebKitSystemInterface.
Fixes <http://webkit.org/b/43244>.
Reviewed by Sam Weinig.
* platform/graphics/win/WKCACFContextFlusher.cpp:
(WebCore::WKCACFContextFlusher::addContext):
(WebCore::WKCACFContextFlusher::removeContext):
(WebCore::WKCACFContextFlusher::flushAllContexts):
* platform/graphics/win/WKCACFContextFlusher.h:
Changed to use WKCACFContext. We don't retain/release the context when
putting it into/taking it out of the set. WKCACFContext is not a
ref-counted type, so we can't retain/release it, but the
retain/release was also unnecessary as WKCACFLayerRenderer calls
removeContext before the context is destroyed.
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::becomeRootLayerForContext):
* platform/graphics/win/WKCACFLayer.h:
Changed to use WKCACFContext.
* platform/graphics/win/WKCACFLayerRenderer.cpp:
(WebCore::WKCACFLayerRenderer::didFlushContext):
(WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
(WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
(WebCore::WKCACFLayerRenderer::layerTreeDidChange):
(WebCore::WKCACFLayerRenderer::createRenderer):
(WebCore::WKCACFLayerRenderer::destroyRenderer):
(WebCore::WKCACFLayerRenderer::render): Also replaced uses of
CGSRegion with WebKitSystemInterface functions/types.
(WebCore::WKCACFLayerRenderer::resetDevice):
* platform/graphics/win/WKCACFLayerRenderer.h:
Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
with a single WKCACFContext, which wraps all three. We hold a bare
pointer to it and destroy it in our destructor.
2010-10-19 Yongjun Zhang <yongjun_zhang@apple.com>
Reviewed by Dan Bernstein.
Pixel cracks when using background image sprite on transformed element at certain scales.
https://bugs.webkit.org/show_bug.cgi?id=47868
The pixel bleeding happens when the current context has scale and interpolation is kCGInterpolationHigh
or kCGInterpolationDefault. If the source rect size is smaller than the intrinsic image size, some
pixels outside of the clip rect will also be used to interpolate the color value for clip edges, which
results in unwanted thin lines around the painted area. We need to use sub-image patch to get rid of
the artifacts in this case.
Test: fast/images/pixel-crack-image-background-webkit-transform-scale.html
* platform/graphics/cg/ImageCG.cpp:
(WebCore::BitmapImage::draw):
2010-10-19 Evan Martin <evan@chromium.org>
Reviewed by Tony Chang.
sqlite: remove unused member variable
https://bugs.webkit.org/show_bug.cgi?id=47957
There's no need to save the error code into a member variable
because nobody ever looks at it.
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
* platform/sql/SQLiteDatabase.h:
2010-10-19 Jia Pu <jpu@apple.com>
Reviewed by James Robinson.
Moving cursor back to autocorrected word in the same line shouldn't remove the underline
https://bugs.webkit.org/show_bug.cgi?id=47629
<rdar://problem/8546758>
Patch <http://trac.webkit.org/changeset/70071> breaks some Chromium Mac hehavior. This patch
fixes that.
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedSelection): Add "!PLATFORM(MAC)" to make sure nothing changes
on non-Mac platforms.
2010-10-19 Alexey Proskuryakov <ap@apple.com>
Build fix (EFL, maybe more).
* CMakeLists.txt: Added platform/Language.cpp here, too.
2010-10-19 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
Rename createBlobURL to createObjectURL and revokeBlobURL to
revokeObjectURL per the latest File API spec.
https://bugs.webkit.org/show_bug.cgi?id=47934
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._contextMenu):
* inspector/front-end/utilities.js:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createObjectURL):
(WebCore::DOMWindow::revokeObjectURL):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::createObjectURL):
(WebCore::WorkerContext::revokeObjectURL):
* workers/WorkerContext.h:
* workers/WorkerContext.idl:
2010-10-19 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=47933
<rdar://problem/8494337> navigator.language doesn't work in WebKit2
* CMakeListsEfl.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/chromium/Language.cpp: Removed.
* platform/chromium/LanguageChromium.cpp: Copied from WebCore/platform/chromium/Language.cpp.
* platform/efl/Language.cpp: Removed.
* platform/efl/LanguageEfl.cpp: Copied from WebCore/platform/efl/Language.cpp.
* platform/gtk/Language.cpp: Removed.
* platform/gtk/LanguageGtk.cpp: Copied from WebCore/platform/gtk/Language.cpp.
* platform/qt/Language.cpp: Removed.
* platform/qt/LanguageQt.cpp: Copied from WebCore/platform/qt/Language.cpp.
* platform/win/Language.cpp: Removed.
* platform/win/LanguageWin.cpp: Copied from WebCore/platform/win/Language.cpp.
* platform/Language.cpp: Added.
Cross platform code is now in platform/Language.cpp. So, I renamed platform files to match
the common pattern.
* WebCore.exp.in: Exported new functions.
* platform/Language.h: Added an ability to force the language, and an ability to set up
listeners for changes (if the platform implements that). Web process will always use the
forced language, as sent to it from UI process.
* platform/mac/Language.mm: Moved code from WebKit.
(WebCore::platformDefaultLanguage): Added code to synchronize user defaults. For some reason,
they come unsynchronized in WebKit2 here, unlike WebKit1.
* page/mac/WebCoreViewFactory.h: Removed defaultLanguageCode. WebCore no longer goes to WebKit
to ask for that.
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
Added wkCopyCFLocalizationPreferredName().
2010-10-19 James Simonsen <simonjam@chromium.org>
Reviewed by Adam Barth.
Add "in select" insertion mode to parser.
This was added to the spec in:
http://html5.org/tools/web-apps-tracker?from=5520&to=5522
And as a result of:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314
https://bugs.webkit.org/show_bug.cgi?id=47706
No new tests. Open to ideas.
* html/parser/HTMLElementStack.cpp: Added "in select" mode.
(WebCore::HTMLNames::isSelectScopeMarker): Ditto.
(WebCore::HTMLElementStack::inSelectScope): Ditto.
* html/parser/HTMLElementStack.h: Ditto.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag): Use "in select" instead of "in table."
(WebCore::HTMLTreeBuilder::processEndTag): Ditto.
2010-10-19 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Nate Chapin.
Fix multiple index support in IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=47919
Fix 2 bugs that caused the IndexData of all but the last index to be
properly updated:
* The objectStoreDataId is NOT unique if there are multiple indexes. So
remove the constraint.
* Do not delete all existing entries with that objectStoreDataId before
adding an entry for each index. Only do it once at the beginning.
Test: storage/indexeddb/queued-commands.html
+ index-basics.html modified
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::createTables):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::deleteIndexData):
(WebCore::putIndexData):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
2010-10-19 Martin Robinson <mrobinson@igalia.com>
Fix the GTK+ build after r70072. The logic looks incorrect, but
this fix tries to preserves it, even so.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(baselinePositionForAccessibilityRenderObject):
(getAttributeSetForAccessibilityObject):
2010-10-06 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Windows: Implement 'preload=none'
https://bugs.webkit.org/show_bug.cgi?id=47317
<rdar://problem/7718442>
Implement the 'preload=none' identically to the mac implementation. Add three new
ivars: m_preload, m_delayLoad and m_movieURL; and override the MediaPlayerPrivate
functions: prepareToPlay() and setPreload().
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
Initialize new ivars m_delayLoad and m_preload.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::resumeLoad): Added; new.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Split contents between
load and loadInternal.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Added; new.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::prepareToPlay): Added; overrides MediaPlayerPrivate.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPreload): Added; overrides MediaPlayerPrivate.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2010-10-19 Enrica Casucci <enrica@apple.com>
Reviewed by Alexey Proskuryakov.
Upstream support of KeyCodes for iOS
https://bugs.webkit.org/show_bug.cgi?id=47857
* platform/cocoa/KeyEventCocoa.mm:
(WebCore::windowsKeyCodeForCharCode): Added special handling of keyCodes for iOS.
2010-10-19 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
iOS: ASSERT in Cache::adjustSize running layout tests
https://bugs.webkit.org/show_bug.cgi?id=47873
Inside Cache::pruneDeadResources we loop over the LRU lists and make resources purgeable
with Cache::makeResourcePurgeable(). This wasn't taking into account whether the resource
was already purgeable or not, and the makeResourcePurgeable call was always calling
adjustSize(). Now we make sure makeResourcePurgable only adjusts the size of the Cache's
dead sizes when it first marks the resource purgeable. Likewise, if a resource is marked
as purgeable and then evicted, we should not adjust the size again.
The balancing call is when we have a resource that has been marked as purgeable and we
successfully mark it as no longer purgeable in Cache::resourceForURL.
No test added because this requires testing purgeable memory.
* loader/Cache.cpp:
(WebCore::Cache::makeResourcePurgeable):
(WebCore::Cache::evict):
2010-10-19 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Disable mipmapping for ImageLayer's to prevent memory use and
performance regression.
https://bugs.webkit.org/show_bug.cgi?id=47913
This patch is a straight revert of the patch committed with issue 46493
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::SharedValues::SharedValues):
(WebCore::ContentLayerChromium::updateTextureRect):
* platform/graphics/chromium/ContentLayerChromium.h:
(WebCore::ContentLayerChromium::SharedValues::initialized):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContents):
2010-10-18 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
gl-teximage.html fails on chromium webkit mac bot
https://bugs.webkit.org/show_bug.cgi?id=47034
* platform/graphics/GraphicsContext3D.cpp: Deal with endians in 16 bit image data.
(WebCore::convertColor16LittleTo8):
(WebCore::convertColor16BigTo8):
(WebCore::doPacking):
* platform/graphics/GraphicsContext3D.h: Ditto.
* platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
(WebCore::GraphicsContext3D::getImageData):
2010-10-19 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47841
Rework baselinePosition and lineHeight to be writing-mode-aware. There's a lot of refactoring here to clean up
the method parameters to be more readable and to simplify the subclassing of the various methods in order to
keep the horizontal/vertical querying to a minimum.
* WebCore.xcodeproj/project.pbxproj:
* mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::baselinePosition):
* mathml/RenderMathMLFraction.h:
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::baselinePosition):
* mathml/RenderMathMLOperator.h:
* mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::baselinePosition):
* mathml/RenderMathMLRow.h:
* mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::baselinePosition):
* mathml/RenderMathMLSubSup.h:
* mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::layout):
(WebCore::RenderMathMLUnderOver::baselinePosition):
* mathml/RenderMathMLUnderOver.h:
* rendering/InlineBox.h:
(WebCore::InlineBox::baselinePosition):
(WebCore::InlineBox::lineHeight):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::baselinePosition):
(WebCore::InlineTextBox::lineHeight):
* rendering/InlineTextBox.h:
* rendering/RenderBR.cpp:
(WebCore::RenderBR::lineHeight):
* rendering/RenderBR.h:
(WebCore::toRenderBR):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::lineHeight):
(WebCore::RenderBlock::baselinePosition):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):
(WebCore::RenderBlock::localCaretRect):
* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::lineHeight):
(WebCore::RenderBox::baselinePosition):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::verticalPosition):
* rendering/RenderBoxModelObject.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::lineHeight):
(WebCore::RenderInline::baselinePosition):
* rendering/RenderInline.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::baselinePosition):
* rendering/RenderListBox.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::lineHeight):
(WebCore::RenderListMarker::baselinePosition):
* rendering/RenderListMarker.h:
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
* rendering/RenderReplaced.h:
* rendering/RenderSVGRoot.cpp:
* rendering/RenderSVGRoot.h:
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::baselinePosition):
* rendering/RenderSlider.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::baselinePosition):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.h:
(WebCore::RenderTableCol::isTableCol):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.h:
* rendering/RenderText.cpp:
* rendering/RenderText.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeLogicalHeight):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::baselinePosition):
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::createInnerTextStyle):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::baselinePosition):
(WebCore::RootInlineBox::lineHeight):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::calculateBoundaries):
2010-10-19 Jia Pu <jpu@apple.com>
Reviewed by Adele Peterson.
Moving cursor back to autocorrected word in the same line shouldn't remove the underline
https://bugs.webkit.org/show_bug.cgi?id=47629
<rdar://problem/8546758>
Tests: platform/mac/editing/spelling/click-autocorrected-word.html
platform/mac/editing/spelling/delete-into-autocorrected-word.html
platform/mac/editing/spelling/delete-into-misspelled-word.html
platform/mac/editing/spelling/forward-delete-into-autocorrected-word.html
platform/mac/editing/spelling/move-cursor-around-misspelled-word.html
platform/mac/editing/spelling/move-cursor-to-autocorrected-word.html
platform/mac/editing/spelling/move-cursor-to-beginning-of-autocorrected-word.html
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedSelection): Don't remove misspelling or autocorrection
underlines when cursor is moved onto a word.
2010-10-19 Eric Carlson <eric.carlson@apple.com>
Not reviewed. Build fix.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild): Initialize variable to avoid Windows
"potentially uninitialized local variable" warning.
2010-10-19 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46763
CRASH in WebCore::ThreadTimers::sharedTimerFiredInternal
Fix crashes caused by moving and deleting <source> element(s) of active media element.
Tests: media/video-source-moved.html
media/video-source-removed.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Add logging. Initialize selectNextSourceChild.
(WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
(WebCore::HTMLMediaElement::insertedIntoDocument): Ditto.
(WebCore::HTMLMediaElement::removedFromDocument): Ditto.
(WebCore::HTMLMediaElement::scheduleLoad): Ditto.
(WebCore::HTMLMediaElement::setNetworkState): Deal with m_currentSourceNode being null when
the media engine signals a failure by skipping the error message and continuing as usual.
(WebCore::HTMLMediaElement::setVolume): Fix logging typo.
(WebCore::HTMLMediaElement::havePotentialSourceChild): Save and restore m_nextChildNodeToConsider
around call to selectNextSourceChild because they are both significant.
(WebCore::HTMLMediaElement::selectNextSourceChild): Use m_nextChildNodeToConsider to pick
the first node to consider. Bail immediately if it signals that we have already processed
every <source> node. Stach the node following the current source element in m_nextChildNodeToConsider
so we can resume the search even if m_currentSourceNode is removed while it is being processed.
(WebCore::HTMLMediaElement::sourceWasAdded): New, move logic from HTMLSourceElement::insertedIntoTree
here and correct it to deal with a <source> node being inserted immediately after the
current <source> node and a new <source> node being inserted at the end of the list after
all candidates have failed.
(WebCore::HTMLMediaElement::sourceWillBeRemoved): New, deal with current source node and next
potential node being removed.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::sourceChildEndOfListValue): New, define sentinal value used to indicate
that all nodes have been processed.
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::HTMLSourceElement): Add logging.
(WebCore::HTMLSourceElement::insertedIntoTree): Call mediaElement->sourceWasAdded instead
of having logic here.
(WebCore::HTMLSourceElement::willRemove): New, call mediaElement->sourceWillBeRemoved
(WebCore::HTMLSourceElement::scheduleErrorEvent): Add logging.
(WebCore::HTMLSourceElement::cancelPendingErrorEvent): Add logging.
* html/HTMLSourceElement.h:
2010-10-19 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Antti Koivisto.
[Qt] WebKit2 MacOS build fix
https://bugs.webkit.org/show_bug.cgi?id=47897
Qt WebKit2 MacOS build fix.
* bridge/npapi.h:
2010-10-19 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GTK] Soup cache code still has some warnings
https://bugs.webkit.org/show_bug.cgi?id=47733
Fixed some compilation warnings happening with gcc 4.4.5 on
64-bits architecture.
* platform/network/soup/cache/webkit/soup-cache.c:
(webkit_soup_cache_entry_set_freshness):
(close_ready_cb):
2010-10-19 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: crash while trying to step over a function using inspector
https://bugs.webkit.org/show_bug.cgi?id=47902
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.reset): reset scripts panel to resumed state on navigation.
2010-10-19 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed attempt to remove warning in EFL build.
Fix #if to #ifdef.
No new features, so no tests added.
* platform/efl/WidgetEfl.cpp:
(WebCore::Widget::applyFallbackCursor):
2010-10-19 Andreas Kling <kling@webkit.org>
Reviewed by Tor Arne Vestbø.
[Qt] getImageData returns wrong data for non-0,0 source offset
https://bugs.webkit.org/show_bug.cgi?id=47898
Test: fast/canvas/canvas-getImageData-negative-source.html
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::getImageData): Add missing *4's to get correct pixel offset.
2010-10-19 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Correct initial state of ImageBuffer QPen
https://bugs.webkit.org/show_bug.cgi?id=47804
Have the QPen on ImageBuffers start in Qt::SvgMiterJoin mode.
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBufferData::ImageBufferData):
2010-10-19 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
https://bugs.webkit.org/show_bug.cgi?id=46790
Simple API addition to PlatformVideoWindow to allow
implementations to optionally prepare their own PlatformWidget
before applying the GStreamer XOverlay to it. This will likely be
needed on Mac OSX only.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::setWindowOverlay):
* platform/graphics/gstreamer/PlatformVideoWindow.h:
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
(PlatformVideoWindow::prepareForOverlay):
* platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
(PlatformVideoWindow::prepareForOverlay):
2010-10-19 Ben Murdoch <benm@google.com>
Reviewed by Steve Block.
Missing support for document.createTouch and document.createTouchList
https://bugs.webkit.org/show_bug.cgi?id=47676
These APIs are used by many sites to detect support for touch events.
Implement the APIs according to the documentation at:
http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/DocumentAdditionsReference/DocumentAdditions/DocumentAdditions.html
Tests: fast/events/touch/document-create-touch-list.html
fast/events/touch/document-create-touch.html
* bindings/js/JSBindingsAllInOne.cpp: Add new files to list.
* bindings/js/JSTouchCustom.cpp: Added.
(WebCore::toJSNewlyCreated):
* bindings/js/JSTouchListCustom.cpp: Added.
(WebCore::toJSNewlyCreated):
* bindings/scripts/CodeGeneratorJS.pm:
* dom/Document.cpp:
(WebCore::Document::createTouch):
(WebCore::Document::createTouchList):
* dom/Document.h:
* dom/Document.idl: Add createTouch and createTouchList functions.
* Android.jscbindings.mk: Update makefiles.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
2010-10-19 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: migrate from legacy Object.properties to Object.keys, remove dead code.
https://bugs.webkit.org/show_bug.cgi?id=47890
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._reportCompletions):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onGetResources):
* inspector/front-end/HAREntry.js:
(WebInspector.HARLog.prototype.build):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.):
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/front-end/utilities.js:
2010-10-19 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: do not access ResourcePanel from resources directly.
https://bugs.webkit.org/show_bug.cgi?id=47892
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.set documentURL):
(WebInspector.Resource.prototype.set startTime):
(WebInspector.Resource.prototype.set responseReceivedTime):
(WebInspector.Resource.prototype.set endTime):
(WebInspector.Resource.prototype.set resourceSize):
(WebInspector.Resource.prototype.set expectedContentLength):
(WebInspector.Resource.prototype.set category):
(WebInspector.Resource.prototype.set cached):
(WebInspector.Resource.prototype.set mimeType):
(WebInspector.Resource.prototype.get requestHeaders):
(WebInspector.Resource.prototype.set requestHeaders):
(WebInspector.Resource.prototype.get responseHeaders):
(WebInspector.Resource.prototype.set responseHeaders):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.addResource):
(WebInspector.ResourcesPanel.prototype.refreshResource):
(WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded):
(WebInspector.ResourcesPanel.prototype._resourceViewIsConsistentWithCategory):
(WebInspector.ResourceGraph):
(WebInspector.ResourceGraph.prototype.refresh):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
2010-10-19 Yuta Kitamura <yutak@chromium.org>
Reviewed by Pavel Feldman.
Make sure WebSocket resource has the url field when it is created.
Web Inspector: Uncaught TypeError when connection to WebSocket server is refused
https://bugs.webkit.org/show_bug.cgi?id=47891
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::createWebSocket):
2010-10-19 Hayato Ito <hayato@chromium.org>
Reviewed by Darin Adler.
Make CSS style selector non-recursive.
https://bugs.webkit.org/show_bug.cgi?id=43783
This change is one of the required changes to fix the following master bug:
https://bugs.webkit.org/show_bug.cgi?id=42806
To avoid recursion, we prepare a call stack and maintain a list of
function call state by ourselves and try matching iteratively.
Test: fast/css/long-css-selector-matches.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
(WebCore::CSSStyleSelector::checkSelector):
* css/CSSStyleSelector.h:
2010-10-19 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r70034.
http://trac.webkit.org/changeset/70034
https://bugs.webkit.org/show_bug.cgi?id=47889
"Gustavo's bot is lame" (Requested by xan_ on #webkit).
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::defaultCookieJar):
(WebCore::setCookies):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::prepareForURL):
(WebCore::restartedCallback):
(WebCore::startHttp):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::toSoupMessage):
(WebCore::ResourceRequest::updateFromSoupMessage):
2010-10-19 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Bump minimum requirement for libsoup to 2.30
https://bugs.webkit.org/show_bug.cgi?id=46176
Bump minimum required libsoup version to 2.30.
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::defaultCookieJar):
(WebCore::setCookies):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::prepareForURL):
(WebCore::restartedCallback):
(WebCore::startHttp):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::toSoupMessage):
(WebCore::ResourceRequest::updateFromSoupMessage):
2010-10-19 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
Fix distcheck, take 2.
* GNUmakefile.am: also move the generated CSS hash files to the
build dir.
2010-10-18 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Should not save state of a detached form control.
https://bugs.webkit.org/show_bug.cgi?id=47811
Test: fast/forms/state-save-of-detached-control.html
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
If the node is detached, don't save the state.
2010-10-18 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
* GNUmakefile.am: add missing files.
2010-10-18 Oliver Hunt <oliver@apple.com>
Reviewed by Sam Weinig.
REGRESSION: Feedly extension crashes Webkit
https://bugs.webkit.org/show_bug.cgi?id=45811
The basic problem was the deserializer was holding a pointer into
the constant pool, but if you were sufficiently unlucky then the
constant pool would be moved while still relying on the pointer,
which leads to badness.
I looked at just making all the sites this could happen extract the
right string/jsstring before any possible allocations, but it seemed
too fragile so i've gone for a forwarding object as the solution.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::CachedStringRef::CachedStringRef):
(WebCore::CloneDeserializer::CachedStringRef::operator->):
(WebCore::CloneDeserializer::readStringData):
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::CloneDeserializer::deserialize):
2010-10-18 Chris Rogers <crogers@google.com>
Reviewed by Chris Fleizach.
Add AudioResampler files
https://bugs.webkit.org/show_bug.cgi?id=47623
No new tests since audio API is not yet implemented.
* platform/audio/AudioResampler.cpp: Added.
(WebCore::AudioResampler::AudioResampler):
(WebCore::AudioResampler::configureChannels):
(WebCore::AudioResampler::process):
(WebCore::AudioResampler::setRate):
(WebCore::AudioResampler::reset):
* platform/audio/AudioResampler.h: Added.
(WebCore::AudioResampler::~AudioResampler):
(WebCore::AudioResampler::rate):
2010-10-18 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by James Robinson.
[chromium] Prevent the creation of very large textures for layers by switching
to "large layer" mode when a texture is larger than some fixed reasonable size
(set to 2000 pixels for now).
https://bugs.webkit.org/show_bug.cgi?id=47751
The code also changes the large layer logic to use the current scissor rect used
by the compositor instead of the visible rect to determine how to clip large layers.
This will provide additional texture savings. In addition, the various layer rects
have been converted to use integers instead of floats to preserve uniformity in the code.
Tests: Existing large layer layout tests including huge-layer and huge-layer-img
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::requiresClippedUpdateRect):
(WebCore::ContentLayerChromium::calculateClippedUpdateRect):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::getDrawRect):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::drawLayersRecursive):
(WebCore::LayerRendererChromium::scissorToRect):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::currentScissorRect):
2010-10-18 Jia Pu <jpu@apple.com>
Reviewed by Stephanie Lewis.
Correct the description of manual test: autocorrection-cancelled-by-typing-1.html
https://bugs.webkit.org/show_bug.cgi?id=47722
<rdar://problem/8556206>
* manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Update description
to match the test content.
2010-10-18 Martin Robinson <mrobinson@igalia.com>
Build fix for newer versions of GTK+ 2.0. Instead of using GDK_DISPLAY()
use GDK_DRAWABLE_XDISPLAY(gdk_display_get_default()). GDK_DISPLAY() was
recently deprecated and the latter method has been available since GTK+
2.2.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):
(WebCore::PluginView::initXEvent):
(WebCore::PluginView::platformGetValue):
(WebCore::getVisualAndColormap):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::platformDestroy):
2010-10-18 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Adam Barth.
elementCannotHaveEndTag should be a member function of MarkupAccumulator
https://bugs.webkit.org/show_bug.cgi?id=47846
Moved elementCannotHaveEndTag into MarkupAccumulator.
No new tests are added since this is a cleanup.
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added.
* editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag.
* editing/markup.cpp: Removed elementCannotHaveEndTag.
* editing/markup.h: Removed elementCannotHaveEndTag.
2010-10-18 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
Set the right referent sourceURL for the script with force user gesture.
https://bugs.webkit.org/show_bug.cgi?id=37138
Because empty sourceURL indicates running script with force user gesture,
make WebKit use document.url() as referent sourceURL (Since it uses blank
URL instead empty if the input URL is empty) if WebKit isn't running the
script from a hyper-link.
Test: fast/events/popup-blocked-from-window-open.html
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeScript):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld):
2010-10-18 Darin Adler <darin@apple.com>
* dom/Node.h: Fix ancient typo in just-modified comment.
2010-10-18 Darin Adler <darin@apple.com>
Reviewed by Alexey Proskuryakov.
Remove some functions from class Node and make a few others non-virtual
https://bugs.webkit.org/show_bug.cgi?id=47735
Refactoring. No new tests.
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::markChildren): Added a FIXME about the use of the virtual
ownerDocument function.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren): Removed the unused return value.
* dom/ContainerNode.h: Made insertBefore, replaceChild, removeChild, and
appendChild non-virtual for clarity and performance. Made removeChildren
non-virtual and removed its return value. Moved the inline Node functions
that call through to ContainerNode into this file since the old way involved
an extra level of inline function but otherwise had no advantages.
* dom/Element.h: Moved isMathMLElement here because there is no call site
that needs to call it on a Node*. We can always move it back if we need to,
but it's better to have less in the Node class.
* dom/Node.cpp:
(WebCore::Node::insertBefore): Added an isContainerNode check so this can
be non-virtual. There are very few callers who call this function on Node.
If we want to optimize them further we can make the isContainerNode check
inline in the future.
(WebCore::Node::replaceChild): Ditto.
(WebCore::Node::removeChild): Ditto.
(WebCore::Node::appendChild): Ditto.
(WebCore::Node::remove): Removed unneeded ref/unref because
ContainerNode::removeChild already does this.
(WebCore::Node::createRendererIfNeeded): Removed #if around call to
childShouldCreateRenderer since it's needed even without SVG and XHTMLMP.
* dom/Node.h: Moved definitions of inline functions that depend on
ContainerNode to the ContainerNode.h header. They already required inclusion
of that header, so there is no functional change. Made insertBefore,
replaceChild, removeChild, and appendChild non-virtual. There are very few
callers of these functions on this class. Moved isMathMLElement to Element.
Added a FIXME about the name of eventAncestors. Fixed comment formatting.
Eliminated unused isEditableBlock function. Moved the body of the
enclosingInlineElement function to the editing file that was the only
call site. Removed the previousEditable and nextEditable functions,
incorporating their bodies into the one place they were called.
Took the childShouldCreateRenderer function out of #if since it's
now used by the implementation of the <noscript> element.
* dom/Position.cpp:
(WebCore::nextRenderedEditable): Rewrote the function to use nextLeafNode
instead of nextEditable.
(WebCore::previousRenderedEditable): Rewrote the function to use
previousLeafNode instead of previousEditable.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::enclosingInline): Moved function here from the Node class. Also
fixed an incorrect cast this function did, which assumed the function
result was always an element, which the function does not guarantee.
(WebCore::ReplaceSelectionCommand::doApply): Call the function above.
* history/HistoryItem.cpp: Added include of MathExtras.h.
2010-10-18 Yongjun Zhang <yongjun_zhang@apple.com>
Reviewed by Darin Adler.
Missing support for document.createEvent("OrientationEvent")
https://bugs.webkit.org/show_bug.cgi?id=32492
Add support for document.createEvent("OrientationEvent") to help unit testing of
onOrientationChange event.
Test: fast/dom/DeviceOrientation/create-event-onorientationchange.html
* dom/Document.cpp:
(WebCore::Document::createEvent):
2010-10-18 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Adler.
DOMStringList should return null if the index is out of range
https://bugs.webkit.org/show_bug.cgi?id=47829
When item() returns a null string, it needs to be passed to JS as
null. The indexed getter will then magically do the right thing.
So all that's left is having DOMStringList::item() return null when
the index is out of bounds.
* dom/DOMStringList.cpp:
(WebCore::DOMStringList::item):
* dom/DOMStringList.h:
* dom/DOMStringList.idl:
2010-10-18 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Ariya Hidayat.
[Qt] Implement Accelerated Composition for NPAPI Plugins.
https://bugs.webkit.org/show_bug.cgi?id=35524
* plugins/PluginView.h:
(WebCore::PluginView::platformLayer):
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
(WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
(WebCore::PluginGraphicsLayerQt::paint):
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):
(WebCore::PluginView::invalidateRect):
(WebCore::PluginView::invalidateRegion):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::platformLayer):
2010-10-18 Stuart Morgan <stuartmorgan@chromium.org>
Reviewed by Eric Seidel.
Switch to using the new Carbon NPAPI event declarations, and remove
the old ones.
https://bugs.webkit.org/show_bug.cgi?id=40784
* bridge/npapi.h:
* plugins/mac/PluginViewMac.mm:
(WebCore::PluginView::setFocus):
(WebCore::PluginView::handleMouseEvent):
2010-10-18 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: comment out resource manager instantiation on front-end side.
https://bugs.webkit.org/show_bug.cgi?id=47823
* inspector/front-end/inspector.js:
2010-10-18 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
The description parameter of IDBFactory::open() should be mandatory.
https://bugs.webkit.org/show_bug.cgi?id=47835
Makes the description parameter mandatory, as per the IndexedDatabase specification.
Modified existing tests to cover this change.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::extractMetaData):
(WebCore::setMetaData):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* storage/IDBFactory.h:
* storage/IDBFactory.idl:
2010-10-18 Xiaomei Ji <xji@chromium.org>
Reviewed by David Levin.
Code cleanup: Move most function members in TextRunWorker from inlined.
https://bugs.webkit.org/show_bug.cgi?id=47732
No functionality change, so no tests added.
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::setWordSpacingAdjustment):
(WebCore::TextRunWalker::setLetterSpacingAdjustment):
(WebCore::TextRunWalker::setXOffsetToZero):
(WebCore::TextRunWalker::rtl):
(WebCore::TextRunWalker::glyphs):
(WebCore::TextRunWalker::length):
(WebCore::TextRunWalker::xPositions):
(WebCore::TextRunWalker::advances):
(WebCore::TextRunWalker::width):
(WebCore::TextRunWalker::logClusters):
(WebCore::TextRunWalker::numCodePoints):
(WebCore::TextRunWalker::fontPlatformDataForScriptRun):
(WebCore::TextRunWalker::isCodepointSpace):
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::~TextRunWalker):
(WebCore::TextRunWalker::isWordBreak):
(WebCore::TextRunWalker::setPadding):
(WebCore::TextRunWalker::reset):
(WebCore::TextRunWalker::setBackwardsIteration):
(WebCore::TextRunWalker::nextScriptRun):
(WebCore::TextRunWalker::widthOfFullRun):
(WebCore::TextRunWalker::getTextRun):
(WebCore::TextRunWalker::getNormalizedTextRun):
(WebCore::TextRunWalker::setupFontForScriptRun):
(WebCore::TextRunWalker::allocHarfbuzzFont):
(WebCore::TextRunWalker::deleteGlyphArrays):
(WebCore::TextRunWalker::createGlyphArrays):
(WebCore::TextRunWalker::resetGlyphArrays):
(WebCore::TextRunWalker::shapeGlyphs):
(WebCore::TextRunWalker::setGlyphXPositions):
(WebCore::TextRunWalker::mirrorCharacters):
2010-10-18 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Andreas Kling.
[Qt] AC rendering bugs
There were a few missing connections in Qt AC between GraphicsLayer and plugins, like changing the plugin's geometry to the layer's
contentsRect, and making sure media layers handle ParentChange events and setContentsNeedsDisplay. Now media layers behave correctly.
https://bugs.webkit.org/show_bug.cgi?id=47571
No new tests. This is in preparation for fixing AC+plugins, which already has tests that don't work yet with Qt.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::flushChanges):
(WebCore::GraphicsLayerQt::setContentsNeedsDisplay):
* platform/graphics/qt/GraphicsLayerQt.h:
2010-10-18 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Simon Fraser.
Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
https://bugs.webkit.org/show_bug.cgi?id=46224
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorClient.cpp: Added.
(WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
* inspector/InspectorClient.h:
(WebCore::InspectorClient::InspectorClient):
2010-10-18 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBKeyTree.h is no longer used.
https://bugs.webkit.org/show_bug.cgi?id=47824
No new tests, just removing unused files.
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* storage/IDBKeyTree.h: Removed.
2010-10-18 Andreas Kling <kling@webkit.org>
Unreviewed buildfix for Qt + V8.
Add missing <wtf/text/CString.h> include.
* inspector/InspectorInstrumentation.cpp:
2010-10-18 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: toJSON serialization for Numbers should be fixed.
DecimalNumber is used instead of printf.
https://bugs.webkit.org/show_bug.cgi?id=43832
* inspector/InspectorValues.cpp:
(WebCore::InspectorBasicValue::writeJSON):
2010-10-18 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [REGRESSION] Inspector window visible during run-webkit-tests.
The initial state of an inspector setting should stay untouched
if the profile has no value for it.
https://bugs.webkit.org/show_bug.cgi?id=47785
* inspector/InspectorState.cpp:
(WebCore::InspectorState::loadFromSettings):
2010-10-18 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: tab headers on resource panel are 1px off on Mac.
https://bugs.webkit.org/show_bug.cgi?id=47798
* inspector/front-end/inspector.css:
(.tabbed-pane-header li):
2010-10-18 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Build fix.
* inspector/InspectorResourceAgent.cpp:
(WebCore::cachedResourceTypeString):
2010-10-17 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Introduce InspectorResourceAgent.h/cpp and ResourceManager.js to
fill network panel with data.
https://bugs.webkit.org/show_bug.cgi?id=47779
InspectorResourceAgent instance / JS part are introduced in this patch. Agent's lifetime is equal
to the front-end's. This new resource agent does not have state, instead it covers two functions:
1) forwards loader client messages to the front-end 2) is capable of building a tree of cached resources.
(1) feeds network panel with data, (2) shows the resource tree in the new ResourcesPanel concept.
This bug is for extracting this new InspectorResourceAgent class and its javascript counterpart.
Once resources panel is refactored for the new concept, InspectorResource, InspectorController's
resource-related routines, inspector.js's code dealing with resources, they all will be gone.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::frameDetachedFromParent):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::markResourceAsCached):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
(WebCore::InspectorController::didCreateWebSocket):
(WebCore::InspectorController::willSendWebSocketHandshakeRequest):
(WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorController::didCloseWebSocket):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateResponse):
(WebCore::cachedResourceType):
(WebCore::InspectorResource::type):
(WebCore::InspectorResource::sourceString):
(WebCore::InspectorResource::sourceBytes):
(WebCore::InspectorResource::endTiming):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::resourceContent):
(WebCore::InspectorResourceAgent::resourceContentBase64):
(WebCore::InspectorResourceAgent::resourceData):
(WebCore::InspectorResourceAgent::cachedResource):
(WebCore::buildObjectForHeaders):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForMainResource):
(WebCore::cachedResourceTypeString):
(WebCore::buildObjectForCachedResource):
(WebCore::buildObjectForFrameResources):
(WebCore::InspectorResourceAgent::~InspectorResourceAgent):
(WebCore::InspectorResourceAgent::identifierForInitialRequest):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::markResourceAsCached):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveContentLength):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::setOverrideContent):
(WebCore::InspectorResourceAgent::didCommitLoad):
(WebCore::InspectorResourceAgent::frameDetachedFromParent):
(WebCore::createReadableStringFromBinary):
(WebCore::InspectorResourceAgent::didCreateWebSocket):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didCloseWebSocket):
(WebCore::InspectorResourceAgent::cachedResources):
(WebCore::InspectorResourceAgent::InspectorResourceAgent):
* inspector/InspectorResourceAgent.h:
(WebCore::InspectorResourceAgent::create):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.get responseReceivedTime):
(WebInspector.Resource.prototype.set endTime):
* inspector/front-end/Settings.js:
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.tabbed-pane-header li):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didReceiveResponse):
2010-10-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: brush up URL parsing on the front-end.
https://bugs.webkit.org/show_bug.cgi?id=47772
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateScriptObject):
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.getDomainToResourcesMap):
(WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
(WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
(WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
(WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
(WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
* inspector/front-end/DOMAgent.js:
(WebInspector.Cookies.cookieMatchesResourceURL):
* inspector/front-end/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.set url):
(WebInspector.Resource.prototype.get displayName):
* inspector/front-end/ResourceCategory.js:
(WebInspector.ResourceCategory.prototype.addResource):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
* inspector/front-end/inspector.js:
(WebInspector.documentClick.followLink):
(WebInspector.documentClick):
(WebInspector.updateResource):
(WebInspector.linkifyStringAsFragment):
(WebInspector.resourceURLForRelatedNode):
(WebInspector.completeURL):
* inspector/front-end/utilities.js:
(String.prototype.asParsedURL):
2010-10-17 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Support custom open() verbs/methods in XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=40476
Fall back to QNetworkAccessManager::CustomOperation for any HTTP verb
that's not specifically supported by QNetworkAccessManager.
This prevents the infinite loop that otherwise occurs after sending
an UnknownOperation request.
This change is covered by existing (skipped) tests that will be
unskipped once the Qt bots are running Qt 4.7.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::httpMethod):
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
* platform/network/qt/QNetworkReplyHandler.h:
2010-10-17 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
Remove explicit passing of user gesture in NavigationScheduler
https://bugs.webkit.org/show_bug.cgi?id=47786
As requested by Mr. Glazkov, remove more explicit passing of the user
gesture state. We now use a static to pass this information around.
* bindings/generic/BindingFrame.h:
(WebCore::::navigateIfAllowed):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::reload):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadCallback):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setResourceTrackingEnabled):
(WebCore::InspectorController::reloadPage):
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledNavigation::ScheduledNavigation):
(WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
(WebCore::ScheduledRedirect::ScheduledRedirect):
(WebCore::ScheduledLocationChange::ScheduledLocationChange):
(WebCore::ScheduledRefresh::ScheduledRefresh):
(WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
(WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
(WebCore::NavigationScheduler::scheduleRedirect):
(WebCore::NavigationScheduler::mustLockBackForwardList):
(WebCore::NavigationScheduler::scheduleLocationChange):
(WebCore::NavigationScheduler::scheduleFormSubmission):
(WebCore::NavigationScheduler::scheduleRefresh):
(WebCore::NavigationScheduler::scheduleHistoryNavigation):
* loader/NavigationScheduler.h:
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadOrRedirectSubframe):
2010-10-17 Julien Chaffraix <jchaffraix@codeaurora.org>
Reviewed by Andreas Kling.
'transparent' should be a valid color
https://bugs.webkit.org/show_bug.cgi?id=45482
Test: svg/animations/svg-animate-color-transparent.svg
Based on previous work by Jan Erik Hanssen <jhanssen@codeaurora.org>
* platform/ColorData.gperf: Added 'transparent' to the list of colors.
Added the alpha to all the colors as it was needed to support the new color.
* platform/graphics/Color.cpp:
(WebCore::Color::Color):
(WebCore::Color::setNamedColor): Avoid setting the alpha as now it is not
always 0xFF.
2010-10-17 Justin Schuh <jschuh@chromium.org>
Reviewed by Nikolas Zimmermann.
Duplicate use element children in shadow tree.
https://bugs.webkit.org/show_bug.cgi?id=47561
Test: svg/custom/use-nested-children.svg
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
2010-10-17 Hyung Song <beergun@company100.net>
Reviewed by David Levin.
Add !SINGLE_THREADED guard.
https://bugs.webkit.org/show_bug.cgi?id=47608
For SINGLE_THREADED ports LockingMutex.tryLock() returns false.
This will prevent interrupt() from falling into infinite loop.
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::interrupt):
2010-10-17 Simon Fraser <simon.fraser@apple.com>
Reviewed by Nikolas Zimmermann.
Very large and small numbers fail to round-trip through CSS
https://bugs.webkit.org/show_bug.cgi?id=20674
Use the new DecimalNumber functionality to convert CSS numberic values to strings
using decimal notation, rather than %g (which can output scientific notation).
Test: fast/css/round-trip-values.html
* css/CSSPrimitiveValue.cpp:
(WebCore::formatNumber):
(WebCore::CSSPrimitiveValue::cssText):
2010-10-17 Cosmin Truta <ctruta@chromium.org>
Reviewed by Nikolas Zimmermann.
Crash while processing ill-formed SVG with cycles
https://bugs.webkit.org/show_bug.cgi?id=47498
Test: svg/custom/invalid-paint-shape-mask.svg
* rendering/SVGResources.cpp:
(paintingResourceFromSVGPaint): Ensured that the painting resource is
either a pattern resource or a gradient resource.
(SVGResources::setClipper):
(SVGResources::setFilter):
(SVGResources::setMarkerStart):
(SVGResources::setMarkerMid):
(SVGResources::setMarkerEnd):
(SVGResources::setMasker):
(SVGResources::setFill):
(SVGResources::setStroke): Added ASSERT statements for previously-unchecked
preconditions.
2010-10-17 Alex Milowski <alex@milowski.com>
Reviewed by Kenneth Rohde Christiansen.
Fixed extra whitespace above operators when they aren't stretched
yet the stretch height is large. Also, the baseline alignment
was changed so that rows and operators interact appropriately now
that operators don't have the extra white space.
* mathml/RenderMathMLOperator.cpp:
* mathml/RenderMathMLRow.cpp:
2010-10-17 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Fix focusing of control elements on mouse click.
Brings GTK fix to Qt platform.
https://bugs.webkit.org/show_bug.cgi?id=40641
Test: fast/events/click-focus-control.html
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isMouseFocusable):
2010-10-17 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
FrameLoader doesn't need an explicit userGesture parameter
https://bugs.webkit.org/show_bug.cgi?id=47777
We used to pass around the user gesture state explicitly. Now we use
static state. Explicitly passing the user gesture state to FrameLoader
in these methods is pretty out-dated.
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeIfJavaScriptURL):
* bindings/generic/BindingDOMWindow.h:
(WebCore::::createWindow):
(WebCore::::open):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::createWindow):
(WebCore::JSDOMWindow::open):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::setLocation):
* bindings/js/ScriptController.h:
* bindings/v8/ScriptController.h:
* html/HTMLAnchorElement.cpp:
(WebCore::handleLinkClick):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::openInInspectedWindow):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::submitForm):
* loader/FrameLoader.h:
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledURLNavigation::fire):
(WebCore::ScheduledRefresh::fire):
(WebCore::ScheduledHistoryNavigation::fire):
(WebCore::NavigationScheduler::scheduleLocationChange):
2010-10-17 Sergey A. Sukiyazov <sergey.sukiyazov@gmail.com>
Reviewed by Andreas Kling
[Qt] Hovering the mouse over links produce a trail of underlined links (X11 paint engine)
https://bugs.webkit.org/show_bug.cgi?id=42248
The problem will appear because coordinates of points may increase by 0.05f (if line width is odd) inside
method GraphicsContext::adjustLineToPixelBoundaries(...) and become outside of text bounding rect htere,
then the new point coordinates will be passed to Qt graphics engine.
The solution decreases Y cordinates of points inside drawLineForText(...) method only if Qt graphics engine
is X11. The Y coordinates will be increase by 0.5f inside method adjustLineToPixelBoundaries(...), which
called from drawLine(...), and then inside Qt painting engine will be rounded to next greater integer value.
NOTE: This changes will affect only Qt X11 verision and if only X11 Painting Engine will be used.
No new tests.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawLineForText):
2010-10-17 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dirk Schulze.
Text under nested link dropped
https://bugs.webkit.org/show_bug.cgi?id=46460
Allow links inside of tspan and textPath elements.
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::childShouldCreateRenderer):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::childShouldCreateRenderer):
2010-10-16 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Port TextCodec
https://bugs.webkit.org/show_bug.cgi?id=45797
Implement TextCodec with Brew MP's ICharsetConv.
Only UTF-8 is supported for now.
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode):
* platform/text/TextEncodingRegistry.cpp:
(WebCore::buildBaseTextCodecMaps):
* platform/text/brew/TextCodecBrew.cpp: Added.
(WebCore::newTextCodecBrew):
(WebCore::TextCodecBrew::registerBaseEncodingNames):
(WebCore::TextCodecBrew::registerBaseCodecs):
(WebCore::TextCodecBrew::registerExtendedEncodingNames):
(WebCore::TextCodecBrew::registerExtendedCodecs):
(WebCore::TextCodecBrew::TextCodecBrew):
(WebCore::TextCodecBrew::~TextCodecBrew):
(WebCore::TextCodecBrew::decode):
(WebCore::TextCodecBrew::encode):
* platform/text/brew/TextCodecBrew.h: Added.
2010-10-16 Patrick Gansterer <paroga@webkit.org>
Unreviewed.
Build fix for !ENABLE(INSPECTOR) after r69844.
* inspector/InspectorState.h: Added ENABLE(INSPECTOR) guard.
2010-10-16 Patrick Gansterer <paroga@webkit.org>
Unreviewed, build fix.
WinCE build fix for r69798.
* platform/text/wince/TextCodecWinCE.cpp: Added missing include.
2010-10-16 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
Requires a user gesture when opening file choose dialog.
https://bugs.webkit.org/show_bug.cgi?id=47593
Test: fast/forms/input-file-not-open-without-gesture.html
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::click):
2010-10-16 Alex Milowski <alex@milowski.com>
Reviewed by Kenneth Rohde Christiansen.
Changed the vertical alignment within mfenced to baseline to
match the rest of the containers (e.g. mrow) and adjusted the
operator spacing to 0.1em.
Test: mathml/presentation/fenced-mi.xhtml
* css/mathml.css:
* mathml/RenderMathMLFenced.cpp:
2010-10-16 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Barth.
Rename StringHasherFunctions.h to StringHasher.h
https://bugs.webkit.org/show_bug.cgi?id=47200
* ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
* ForwardingHeaders/wtf/StringHasher.h: Copied from WebCore/ForwardingHeaders/wtf/StringHashFunctions.h.
2010-10-15 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
unlink removes inline style of anchor elements
https://bugs.webkit.org/show_bug.cgi?id=47424
The bug was caused by our not extracting styles when the anchor element is removed by removeInlineStyle.
Because we removed the element without pushing its inline style down, we lost style information.
Fixed the bug by pushing down styles in removeInlineStyle as done in pushDownInlineStyleAroundNode.
Also fixed a bug in addInlineStyleIfNeeded where StyleChange incorrectly removed styles of the container
node as supposed to that of startNode from the style to apply when startNode is not an element.
Test: editing/execCommand/toggle-unlink.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement): To prevent a similar bug in the future,
added an assert that extractedStyle is specified whenever we're removing a styled element.
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2010-10-15 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
serializeNodesWithNamespaces should be in MarkupAccumulator
https://bugs.webkit.org/show_bug.cgi?id=47749
Moved serializeNodesWithNamespaces to MarkupAccumulator, and renamed it to serializeNodes.
MarkupAccumulator::serializeNode now returns the resultant string instead of having a separate takeResults().
Added several helper functions to MarkupAccumulator.
No new tests are added since this is a cleanup.
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::serializeNodes): Wrapper for serializeNodes and concatenateMarkup.
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Moved from markup.cpp
(WebCore::MarkupAccumulator::appendStartTag): Calls appendString instead of appending into m_succeedingMarkup directly.
(WebCore::MarkupAccumulator::appendEndTag): Ditto.
(WebCore::MarkupAccumulator::totalLength): Added; extracted from takeResults.
(WebCore::MarkupAccumulator::concatenateMarkup): Ditto.
* editing/MarkupAccumulator.h:
(WebCore::MarkupAccumulator::length): Added; calls totalLength.
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendString): Added; calls MarkupAccumulator's appendString.
(WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendString.
(WebCore::StyledMarkupAccumulator::takeResults): Calls length, totalLength, and concatenateMarkup.
(WebCore::StyledMarkupAccumulator::serializeNodes): Became a member function.
(WebCore::createMarkup): Uses MarkupAccumulator.
2010-10-15 Kinuko Yasuda <kinuko@google.com>
Reviewed by Jian Li.
Implement FileEntrySync.file() in FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=47310
Tests: fast/filesystem/workers/file-from-file-entry-sync.html
fast/filesystem/workers/file-from-file-entry.html
* fileapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::createFile): Added.
* fileapi/DOMFileSystem.h:
* fileapi/DOMFileSystemSync.cpp:
(WebCore::DOMFileSystemSync::createFile): Added.
* fileapi/DOMFileSystemSync.h:
* fileapi/DirectoryReaderBase.h: Added 'virtual path' comment.
* fileapi/EntryBase.h: Added 'virtual path' comment.
* fileapi/FileEntry.cpp:
(WebCore::FileEntry::file): Changed to use DOMFileSystem::createFile.
* fileapi/FileEntrySync.cpp:
(WebCore::FileEntrySync::file): Implemented.
* fileapi/FileEntrySync.h:
* fileapi/FileEntrySync.idl: Added file().
2010-10-15 Nico Weber <thakis@chromium.org>
Reviewed by Eric Carlson.
Make sure to update the current graphics context when calling out to AppKit.
https://bugs.webkit.org/show_bug.cgi?id=47757
Like r57741, but for the spellchecking highlight
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLineForTextChecking):
2010-10-15 Brian Weinstein <bweinstein@apple.com>
Reviewed by Sam Weinig.
REGRESSION(r69850) Loading apple.com/startpage in WebKit on Windows gets a bad request.
https://bugs.webkit.org/show_bug.cgi?id=47753
<rdar://problem/8558242>
r69850 switched over to a different way of concatenating WebCore strings, but ran into an issue
where some Windows calls were returning null terminated strings, and this breaks the new
method of concatenation.
GetLocaleInfo returns a null-terminated string, but WebCore strings are non-null terminated,
so once we create our WebCore string, we want to trim off the null terminating character before
we return the localeInfo.
Test: fast/dom/navigator-userAgent.html
* platform/win/Language.cpp:
(WebCore::localeInfo):
2010-10-15 Alexey Proskuryakov <ap@apple.com>
Trying to fix crashes on Leopard buildbot.
* loader/loader.cpp:
(WebCore::Loader::Host::didFinishLoading):
(WebCore::Loader::Host::didFail):
Moved logging higher in the function - it seems that CachedResource can be already destroyed.
* platform/Logging.cpp: (WebCore::getChannelFromName):
* platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
Initialize the new channel (oops).
2010-10-15 Mike Lawther <mikelawther@chromium.org>
Reviewed by James Robinson.
Prevent scrollbars from appearing in iframes with scrolling=no
when the embedded content has overflow:scroll set on the html
or body tags.
iframes keep getting scrollbars with scrolling="no"
https://bugs.webkit.org/show_bug.cgi?id=29240
Test: fast/frames/iframe-scrolling-attribute-overflowscroll.html
* page/FrameView.cpp:
(WebCore::FrameView::calculateScrollbarModesForLayout)
(WebCore::FrameView::updateCanHaveScrollbars):
(WebCore::FrameView::layout):
* page/FrameView.h:
(WebCore::FrameView::calculateScrollbarModesForLayout)
2010-10-15 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
Clean up RenderFlexibleBox::applyLineClamp()
https://bugs.webkit.org/show_bug.cgi?id=47743
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::applyLineClamp):
2010-10-15 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=47736
<rdar://problem/8429396> WebCore cache gets corrupted if revalidation request starts at an inopportune time
Test: http/tests/cache/stopped-revalidation.html
* loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): Copied logic for
revalidation requests from didFail().
2010-10-15 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler in <https://bugs.webkit.org/show_bug.cgi?id=47736>.
Add a logging channel for WebCore cache and resource loading.
Test: http/tests/cache/stopped-revalidation.html
* platform/Logging.cpp:
* platform/Logging.h:
Added a logging channel for Cache and Loader.
* loader/Cache.cpp:
(WebCore::Cache::requestResource):
(WebCore::Cache::revalidateResource):
(WebCore::Cache::revalidationFailed):
(WebCore::Cache::evict):
* loader/CachedResource.cpp:
(WebCore::CachedResource::setResourceToRevalidate):
(WebCore::CachedResource::switchClientsToRevalidatedResource):
(WebCore::CachedResource::mustRevalidate):
Added logging.
* loader/loader.cpp:
(WebCore::Loader::load): Added logging.
(WebCore::Loader::scheduleServePendingRequests): Ditto.
(WebCore::Loader::requestTimerFired): Ditto.
(WebCore::Loader::servePendingRequests): Ditto.
(WebCore::Loader::Host::servePendingRequests): Changed logging to use the new channel.
(WebCore::Loader::Host::didFinishLoading): Changed logging to use the new channel.
(WebCore::Loader::Host::didFail): Added logging.
2010-10-15 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Simon Fraser.
Add public functions to serialize TransformOperations.
https://bugs.webkit.org/show_bug.cgi?id=47728
Added public accessors to the internal data of the TransformOperations.
No new tests. These functions are enablers for WebKit2.
* platform/graphics/transforms/Matrix3DTransformOperation.h:
(WebCore::Matrix3DTransformOperation::matrix):
* platform/graphics/transforms/MatrixTransformOperation.h:
(WebCore::MatrixTransformOperation::matrix):
* platform/graphics/transforms/PerspectiveTransformOperation.h:
(WebCore::PerspectiveTransformOperation::perspective):
* platform/graphics/transforms/RotateTransformOperation.h:
(WebCore::RotateTransformOperation::x):
(WebCore::RotateTransformOperation::y):
(WebCore::RotateTransformOperation::z):
* platform/graphics/transforms/SkewTransformOperation.h:
(WebCore::SkewTransformOperation::angleX):
(WebCore::SkewTransformOperation::angleY):
* platform/graphics/transforms/TranslateTransformOperation.h:
(WebCore::TranslateTransformOperation::x):
(WebCore::TranslateTransformOperation::y):
(WebCore::TranslateTransformOperation::z):
2010-10-15 Jian Li <jianli@chromium.org>
Reviewed by Dmitry Titov.
FileReader.readAsDataURL should take Blob object
https://bugs.webkit.org/show_bug.cgi?id=47679
Test cases have been added into read-blob-test-cases.js.
* fileapi/FileReader.idl: Update per the latest File API spec.
2010-10-15 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move MarkupAccumulator from markup.cpp to its own file
https://bugs.webkit.org/show_bug.cgi?id=47734
This patch moves the MarkupAccumulator class into its own file.
There's a lot of clean up left to do, but this patch is a step in the
right direction.
No behavior change.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* editing/markup.cpp:
(WebCore::elementCannotHaveEndTag):
* editing/markup.h:
* editing/MarkupAccumulator.h: Added.
* editing/MarkupAccumulator.cpp: Added.
2010-10-15 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Match the elements supported by execCommand('formatBlock') and queryCommandValue('formatBlock')
https://bugs.webkit.org/show_bug.cgi?id=47712
Extended queryCommandValue('formatBlock', false, null) to support article, aside, blockquote, dd, dl,
div, dl, dt, dl, footer, header, hgroup, nav, and section. Because this makes isElementForFormatBlockCommand
in Editor.cpp and FormatBlockCommand::isElementToApplyInFormatBlockCommand identical, they are merged and moved
to FormatBlockCommand.cpp
Tests are added to editing/execCommand/query-format-block.html
* editing/Editor.cpp: Removed isElementForFormatBlockCommand and Editor::elementForFormatBlockCommand.
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::executeFormatBlock): Removed the check of tag name; the check is moved into FormatBlockCommand.
(WebCore::valueFormatBlock): Calls FormatBlockCommand::elementForFormatBlockCommand.
* editing/FormatBlockCommand.cpp:
(WebCore::isElementForFormatBlock):
(WebCore::FormatBlockCommand::FormatBlockCommand):
(WebCore::FormatBlockCommand::formatSelection): Added to check the tag name. Exit early if the specified tag name
is not what FormatBlock should apply. Set m_didApply true if m_didApply did apply the element.
(WebCore::FormatBlockCommand::formatRange): Moved from Editor.cpp. Takes Range* instead of accessing selection directly.
(WebCore::FormatBlockCommand::elementForFormatBlockCommand): Moved from Editor.cpp
(WebCore::enclosingBlockToSplitTreeTo): Calls isElementForFormatBlock.
* editing/FormatBlockCommand.h:
(WebCore::FormatBlockCommand::didApply): Added.
2010-10-15 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
carto.net Dock example redraws *way* too often
https://bugs.webkit.org/show_bug.cgi?id=16090
Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change.
Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after
setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries
differ, do nothing if not.
Also added caching of the repaint rect to avoid multiple calculations.
Test: svg/custom/repaint-on-constant-size-change.svg
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::RenderSVGImage):
(WebCore::RenderSVGImage::layout): Update repaint rect on layout.
(WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update.
* rendering/RenderSVGImage.h:
(WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect.
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height.
2010-10-15 Martin Robinson <mrobinson@igalia.com>
Build fix for GTK+.
* platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro
in a file that does not include config.h
2010-10-15 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add FindIndicatorWindow class
https://bugs.webkit.org/show_bug.cgi?id=47731
Export symbols needed by the FindIndicator in WebKit2.
* WebCore.exp.in:
2010-10-15 Leandro Pereira <leandro@profusion.mobi>
[EFL] Unreviewed. Build fix.
Add new files needed by the Soup network backend, and #ifdef a
GTK+-port only include in soup-cache.h.
* CMakeListsEfl.txt:
* platform/network/soup/cache/webkit/soup-cache.h:
2010-10-14 Darin Adler <darin@apple.com>
Reviewed by Alexey Proskuryakov.
Use more specific types for node pointers, especially when calling node insertion and removal functions
https://bugs.webkit.org/show_bug.cgi?id=47702
Refactoring. No new tests.
While developing this patch I temporarily removed the node insertion and
removal member functions from the Node class and fixed almost all call sites
so they call it directly on the ContainerNode class, which will be important
once we make the functions non-virtual.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
* dom/Document.cpp:
(WebCore::Document::caretRangeFromPoint):
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::itemWithName):
* dom/Position.cpp:
(WebCore::Position::previous):
(WebCore::Position::next):
* dom/Text.cpp:
(WebCore::Text::replaceWholeText):
* dom/TreeWalker.cpp:
(WebCore::TreeWalker::firstChild):
(WebCore::TreeWalker::lastChild):
(WebCore::TreeWalker::previousNode):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/CompositeEditCommand.h:
* editing/DeleteButtonController.cpp:
(WebCore::isDeletableElement):
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::outdentParagraph):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
* editing/JoinTextNodesCommand.cpp:
(WebCore::JoinTextNodesCommand::doApply):
(WebCore::JoinTextNodesCommand::doUnapply):
* editing/MergeIdenticalElementsCommand.cpp:
(WebCore::MergeIdenticalElementsCommand::doUnapply):
* editing/RemoveNodeCommand.cpp:
(WebCore::RemoveNodeCommand::doApply):
(WebCore::RemoveNodeCommand::doUnapply):
* editing/RemoveNodeCommand.h:
* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::executeApply):
* editing/SplitTextNodeCommand.cpp:
(WebCore::SplitTextNodeCommand::doApply):
(WebCore::SplitTextNodeCommand::doReapply):
* editing/TextIterator.cpp:
(WebCore::parentCrossingShadowBoundaries):
* editing/htmlediting.cpp:
(WebCore::enclosingList):
* editing/markup.cpp:
(WebCore::serializeNodes):
(WebCore::ancestorToRetainStructureAndAppearance):
(WebCore::createMarkup):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::updateFocusAppearance):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::rendererIsNeeded):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::attach):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::insertedIntoTree):
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::associatedControl):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::recalcSelectOptions):
(WebCore::HTMLOptGroupElement::ownerSelectElement):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::ownerSelectElement):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::insertRow):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::containsNode):
* rendering/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::svgAttributeChanged):
(WebCore::SVGFELightElement::childrenChanged):
* svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
* svg/SVGFontFaceFormatElement.cpp:
(WebCore::SVGFontFaceFormatElement::childrenChanged):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::childrenChanged):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedIntoDocument):
(WebCore::SVGHKernElement::removedFromDocument):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::nearestViewportElement):
(WebCore::SVGLocatable::farthestViewportElement):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::updateContainerOffsets):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedIntoDocument):
(WebCore::SVGVKernElement::removedFromDocument):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::targetElement):
* wml/WMLDoElement.cpp:
(WebCore::WMLDoElement::insertedIntoDocument):
(WebCore::WMLDoElement::removedFromDocument):
* wml/WMLNoopElement.cpp:
(WebCore::WMLNoopElement::insertedIntoDocument):
* wml/WMLOptionElement.cpp:
(WebCore::ownerSelectElement):
* wml/WMLPostfieldElement.cpp:
(WebCore::WMLPostfieldElement::insertedIntoDocument):
(WebCore::WMLPostfieldElement::removedFromDocument):
* wml/WMLSetvarElement.cpp:
(WebCore::WMLSetvarElement::insertedIntoDocument):
(WebCore::WMLSetvarElement::removedFromDocument):
* wml/WMLTaskElement.cpp:
(WebCore::WMLTaskElement::insertedIntoDocument):
(WebCore::WMLTaskElement::removedFromDocument):
* wml/WMLTimerElement.cpp:
(WebCore::WMLTimerElement::insertedIntoDocument):
(WebCore::WMLTimerElement::removedFromDocument):
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis):
Use ContainerNode* for the result of the parentNode function now that
it returns a ContainerNode*. In the past it used to return just Node*.
* dom/ContainerNode.h: Added toContainerNode.
* dom/Element.h: Use ContainerNode*. Added toElement.
* dom/Element.cpp:
(WebCore::Element::deprecatedCreateContextualFragment): Explcitly
cast to HTMLElement* in the case that handles <html> and <body>
elements.
(WebCore::Element::baseURI): Use ContainerNode*.
* dom/Node.cpp:
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*.
(WebCore::Node::isDescendantOf): Ditto.
(WebCore::Node::createRendererIfNeeded): Ditto.
(WebCore::Node::setTextContent): Use already-typecast pointer in a call to
appendChild.
(WebCore::Node::ancestorElement): Use ContainerNode*.
* dom/Range.cpp:
(WebCore::Range::compareNode): Use ContainerNode*.
(WebCore::Range::intersectsNode): Ditto.
(WebCore::Range::processContents): Cast to ContainerNode* in a couple cases
where we previously checked that the node in question has a child. Any node
that returns a non-zero value for firstChild is a ContainerNode.
(WebCore::Range::checkNodeBA): Ditto.
(WebCore::Range::selectNode): Ditto.
(WebCore::Range::surroundContents): Ditto.
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use
more specific types, document instead of doc, and paragraph instead of par.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
Use ContainerNode*.
(WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function
took a Node argument and had Node in its name.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode.
(WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes):
Renamed and changed to take HTMLElement. Also use ContainerNode.
(WebCore::CompositeEditCommand::prune): Ditto.
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
(WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto.
* editing/ReplaceNodeWithSpanCommand.cpp:
(WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an
HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node.
(WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement.
(WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes.
(WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto.
* editing/ReplaceNodeWithSpanCommand.h: Ditto.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result
of insertFragmentForTestRendering since that's what it returns.
(WebCore::ReplacementFragment::removeNode): Use ContainerNode.
(WebCore::ReplacementFragment::insertNodeBefore): Ditto.
(WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement.
Use HTMLElement for body.
(WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take
StyledElement.
(WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode.
(WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for
the cloned span, since the clone will be a sspan too.
(WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since
the list item has a child, and that proves it is a ContainerNode.
* editing/SelectionController.cpp:
(WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
Use ContainerNode and also removed an unnneded local variable.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setOuterText): Use ContainerNode.
(WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make
the logic a little simpler.
(WebCore::contextElementForInsertion): Use ContainerNode.
(WebCore::HTMLElement::findFormAncestor): Ditto.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::removeNode): Use ContainerNode.
(WebCore::InspectorDOMAgent::changeTagName): Ditto.
(WebCore::InspectorDOMAgent::setOuterHTML): Ditto.
(WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of
nodeType. We should almost never use nodeType inside the engine.
(WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode.
(WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto.
* wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore,
replaceChild, removeChild, appendChild, and removeChildren functions.
Ths already overrides childrenChanged, that is called by all of the above,
and it does the same thing these functions did.
(WebCore::ownerSelectElement): Use ContainerNode.
* wml/WMLOptGroupElement.h: Ditto.
2010-10-15 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Crash in WebCore::ApplyStyleCommand::applyBlockStyle
https://bugs.webkit.org/show_bug.cgi?id=47699
The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist.
Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned.
Test: editing/style/block-style-progress-crash.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyBlockStyle):
2010-10-13 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add a FindIndicator class
https://bugs.webkit.org/show_bug.cgi?id=47635
Make Gradient.h and Generator.h private headers; they're used by WebKit2.
* WebCore.xcodeproj/project.pbxproj:
2010-10-15 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Gustavo Noronha Silva.
[Soup] Should not ignore body for redirection responses
https://bugs.webkit.org/show_bug.cgi?id=29299
Body is now provided to WebKitGtk+ in some redirections (like 302)
because it could be used by servers to perform clunky redirections
for example using http-equiv=REFRESH
Test: http/tests/navigation/redirect302-metaredirect.html
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::gotHeadersCallback):
(WebCore::finishedCallback):
2010-10-15 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
[GTK] Fix introspection support
https://bugs.webkit.org/show_bug.cgi?id=47723
WebKitSoupCacheType was incorrectly registered twice. Renamed to
WebKitSoupCacheTypeType for the enumerated type.
* platform/network/soup/cache/webkit/soup-cache.c:
(webkit_soup_cache_type_get_type):
2010-10-15 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: extract consoleMessages related stuff from populateScriptObjects into separate function.
This is a part of Inspector protocol sanitization activity.
We want to populate console messages only if it is required by frontend.
https://bugs.webkit.org/show_bug.cgi?id=46802
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setConsoleMessagesEnabled):
(WebCore::InspectorController::addConsoleMessage):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::populateScriptObjects):
* inspector/InspectorController.h:
* inspector/InspectorState.cpp:
(WebCore::InspectorState::InspectorState):
* inspector/InspectorState.h:
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone):
2010-10-15 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Nikolas Zimmermann.
[EFL] REGRESSION(69798) UCHAR can't be converted to String.
https://bugs.webkit.org/show_bug.cgi?id=47698
Create String value using String(const char*, 1) instead of operator[].
No tests. No functionality changed.
* platform/efl/PlatformKeyboardEventEfl.cpp:
(WebCore::createWindowsKeyMap):
2010-10-15 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Xan Lopez.
[GTK] Do a stricter check for invalid base64 dataURLs
https://bugs.webkit.org/show_bug.cgi?id=47717
Restore the strict base64 decoding we added in
https://bugs.webkit.org/show_bug.cgi?id=44261 and then rolled back
in https://bugs.webkit.org/show_bug.cgi?id=47666 due to a failing
test. The actual issue was that we were not finishing the load of
the resource gracefully when an error happened.
Loading invalid base64-encoded data:// URLs are now handled
properly.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::parseDataUrl):
* platform/network/soup/cache/soup-request-data.c:
(webkit_soup_request_data_send):
2010-10-15 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
compile fail with gtk >= 2.22
https://bugs.webkit.org/show_bug.cgi?id=47483
* platform/graphics/gtk/FontGtk.cpp: Removed the shrink operation,
it was added long time ago and currently it is not adding any real
area to the clip vertically, actually the gtk3 shrink version did
not work.
(WebCore::Font::drawComplexText):
* platform/gtk/gtk2drawing.c: Undef the deprecation flags, this
file is full of gtk2 stuff, and it does not seem interesting to
upgrade because we are already creating a new version of the file
for gtk3.
2010-10-14 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: inspector settings/properties/states management
should be extracted into separate class.
We have a lot of flags/values in InspectorController.
Some flags are persisting into profile.
Others are part of inspector state for frontend.
All these flags should keep their values after navigation.
It'd be better to extract these flags/values into separate
class which will care about theirs lifetime.
https://bugs.webkit.org/show_bug.cgi?id=47275
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectorStartsAttached):
(WebCore::InspectorController::setInspectorStartsAttached):
(WebCore::InspectorController::setInspectorAttachedHeight):
(WebCore::InspectorController::inspectorAttachedHeight):
(WebCore::InspectorController::searchingForNodeInPage):
(WebCore::InspectorController::resourceTrackingEnabled):
(WebCore::InspectorController::saveApplicationSettings):
(WebCore::InspectorController::getInspectorState):
(WebCore::InspectorController::restoreInspectorStateFromCookie):
(WebCore::InspectorController::getSettings):
(WebCore::InspectorController::storeLastActivePanel):
(WebCore::InspectorController::mouseDidMoveOverElement):
(WebCore::InspectorController::handleMousePress):
(WebCore::InspectorController::setSearchingForNode):
(WebCore::InspectorController::setMonitoringXHREnabled):
(WebCore::InspectorController::showPanel):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::restoreDebugger):
(WebCore::InspectorController::restoreProfiler):
(WebCore::InspectorController::getTrackedResource):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
(WebCore::InspectorController::setResourceTrackingEnabled):
(WebCore::InspectorController::ensureSettingsLoaded):
(WebCore::InspectorController::startTimelineProfiler):
(WebCore::InspectorController::stopTimelineProfiler):
(WebCore::InspectorController::enableProfiler):
(WebCore::InspectorController::disableProfiler):
(WebCore::InspectorController::enableDebuggerFromFrontend):
(WebCore::InspectorController::disableDebugger):
(WebCore::InspectorController::loadBreakpoints):
(WebCore::InspectorController::saveBreakpoints):
* inspector/InspectorController.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
(WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
* inspector/InspectorState.cpp: Added.
(WebCore::InspectorState::InspectorState):
(WebCore::InspectorState::restoreFromInspectorCookie):
(WebCore::InspectorState::generateStateObjectForFrontend):
(WebCore::InspectorState::loadFromSettings):
(WebCore::InspectorState::updateCookie):
(WebCore::InspectorState::setValue):
(WebCore::InspectorState::getBoolean):
(WebCore::InspectorState::getString):
(WebCore::InspectorState::getLong):
(WebCore::InspectorState::registerBoolean):
(WebCore::InspectorState::registerString):
(WebCore::InspectorState::registerLong):
(WebCore::InspectorState::Property::create):
* inspector/InspectorState.h: Added.
(WebCore::InspectorState::setBoolean):
(WebCore::InspectorState::setString):
(WebCore::InspectorState::setLong):
2010-10-14 Jia Pu <jpu@apple.com>
Reviewed by Adele Peterson.
REGRESSION (r69548): Autocorrections are applied even after typing further characters in the word
https://bugs.webkit.org/show_bug.cgi?id=47689
<rdar://problem/8552250>
The test requires using setTimeout(). So we put it in manual-tests.
* editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToPosition): Relpace release() with clear().
(WebCore::Editor::startCorrectionPanelTimer): Release previously set correction range before
start timer for next autocorrection check.
* manual-tests/autocorrection: Added.
* manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Added.
2010-10-14 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang and Darin Adler.
execCommand FormatBlock creates lots of blockquotes
https://bugs.webkit.org/show_bug.cgi?id=19795
The bug was caused by WebKit's not reusing the block node added by previous iteration
and its inserting block node at wrong places.
Fixed the bug by rewriting FormatBlockCommand::formatRange. New code resembles that of
IndentOutdentCommand::indentIntoBlockquote. The difference between two is that formatRange
avoids the existing block elements when replacing blocks and it also adds a placeholder
when removing the existing block caused paragraphs to collapse.
Also fixed a bug in moveParagraphWithClones where erroneous br is added to the start of
the block element to which the paragraph is moved if the block element is the start of a paragraph
and not the end of a paragraph.
Tests: editing/execCommand/format-block-multiple-paragraphs.html
editing/execCommand/format-block-table.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphWithClones): No longer adds erroneous br.
* editing/EditorCommand.cpp:
(WebCore::executeFormatBlock):
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
(WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
and moved from htmlediting.cpp.
(WebCore::enclosingBlockToSplitTreeTo): Added.
* editing/FormatBlockCommand.h:
* editing/VisiblePosition.cpp:
(WebCore::enclosingBlockFlowElement): Changed the return type to Element*
* editing/VisiblePosition.h:
2010-10-14 Justin Schuh <jschuh@chromium.org>
Reviewed by James Robinson.
Crash in HTMLTextFormControlElement::selection()
https://bugs.webkit.org/show_bug.cgi?id=47522
Patch by Ryosuke Niwa <rniwa@webkit.org>
The bug was caused by our triggering layout inside RenderTextControl::selection.
Fixed it by changing the return type of RenderTextControl::selection to PassRefPtr<Range> from VisibleSelection.
Test: fast/forms/render-text-crash.html
* editing/Editor.cpp:
(WebCore::Editor::selectionForCommand): Calls HTMLTextFormControlElement::selection.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::selection): Calls RenderTextControl::selection.
* html/HTMLFormControlElement.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::selection): Changed the return type.
* rendering/RenderTextControl.h:
2010-10-14 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
SelectElement should check if its renderer exists after calling Element::focus()
https://bugs.webkit.org/show_bug.cgi?id=47696
Adds null checks for element->renderer() after calling element->focus(), since focus()
can dispatch an event and run arbitrary javascript that may cause the select element
to lose its renderer.
Test: fast/forms/select-listbox-focus-displaynone.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::menuListDefaultEventHandler):
(WebCore::SelectElement::listBoxDefaultEventHandler):
2010-10-14 Beth Dakin <bdakin@apple.com>
Reviewed by Dave Hyatt.
This patch lays the groundwork for
https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should
affect scrolling
by adding topmostPosition().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::topmostPosition):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::topmostPosition):
* rendering/RenderBox.h:
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::topmostPosition):
* rendering/RenderMedia.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::topmostPosition):
* rendering/RenderTableSection.h:
2010-10-14 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
[GTK] fix compilation warnings in imported libsoup code
https://bugs.webkit.org/show_bug.cgi?id=47674
Fixed some warnings caused by comparisons between signed and
unsigned integer expressions
* platform/network/soup/cache/soup-directory-input-stream.c:
(webkit_soup_directory_input_stream_read):
* platform/network/soup/cache/soup-request-data.c:
(webkit_soup_request_data_send):
* platform/network/soup/cache/soup-request-file.c:
(webkit_soup_request_file_ensure_file):
* platform/network/soup/cache/webkit/soup-cache.c:
(webkit_soup_cache_entry_is_fresh_enough):
(webkit_soup_cache_has_response):
2010-10-14 Andreas Kling <kling@webkit.org>
Unreviewed buildfix, RetainPtr is a mac thing..
* platform/network/soup/ProxyServerSoup.cpp:
2010-10-08 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Form controls do not respect GTK+ font size
https://bugs.webkit.org/show_bug.cgi?id=47134
Have form controls use the font specified in GtkSettings. This font is
the default control font in GTK+ applications and Firefox. We need to
pass the string through Pango to get a valid font name and size.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::getScreenDPI): A helper function which returns
the DPI of the default screen or 96 as a fallback.
(WebCore::RenderThemeGtk::systemFont): Calculate the system font
by looking at the GtkSettings value and pushing it through Pango
to get the font family and font size.
2010-10-14 Andreas Kling <kling@webkit.org>
Soup buildfix for r69808: add ProxyServer stub.
* GNUmakefile.am:
* platform/network/soup/ProxyServerSoup.cpp: Added.
(WebCore::proxyServersForURL):
2010-10-14 Andreas Kling <kling@webkit.org>
Fix GTK+ build after r69808.
* GNUmakefile.am:
* platform/network/curl/ProxyServerCurl.cpp:
(WebCore::proxyServersForURL):
2010-10-14 Simon Fraser <simon.fraser@apple.com>
Another build fix. Export FrameLoader::networkingContext()
* WebCore.exp.in:
2010-10-14 Simon Fraser <simon.fraser@apple.com>
Fix the build after r69808.
* WebCore.xcodeproj/project.pbxproj:
* platform/network/cf/ProxyServerCFNet.cpp:
(WebCore::proxyServersForURL):
2010-10-14 Gavin Barraclough <barraclough@apple.com>
Windows build fix following r69806.
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::markupToCFHTML):
2010-10-14 Dawit Alemayehu <adawit@kde.org>
Reviewed by Andreas Kling
Implemented NPN_GetValueForURL and NPN_SetValueForURL and NPN_GetAuthenticationInfo.
https://bugs.webkit.org/show_bug.cgi?id=34539
These missing NPN functions cause Java applets to crash in ports such
as QtWebkit that rely on webkit for Java applet support.
* plugins/PluginDebug.cpp:
(WebCore::prettyNameForNPNURLVariable):
* plugins/PluginDebug.h:
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::initializeBrowserFuncs):
* plugins/PluginView.cpp:
(WebCore::PluginView::getValueForURL):
(WebCore::PluginView::setValueForURL):
(WebCore::PluginView::getAuthenticationInfo):
* plugins/PluginView.h:
* plugins/npapi.cpp:
(NPN_GetValueForURL):
(NPN_SetValueForURL):
(NPN_GetAuthenticationInfo):
* platform/network/ProxyServer.h:
* platform/network/cf/ProxyServerCFNet.cpp:
(WebCore::proxyServersForURL):
* platform/network/qt/ProxyServerQt.cpp:
(WebCore::proxyServersForURL):
2010-10-14 Gavin Barraclough <barraclough@apple.com>
Windows build fix following r69806.
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::markupToCFHTML):
2010-10-14 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Cache link status at linkProgram and use it in useProgram instead of querying GPU
https://bugs.webkit.org/show_bug.cgi?id=47685
* html/canvas/WebGLProgram.cpp: Always cache link status at linkStatus and use it upon query.
(WebCore::WebGLProgram::WebGLProgram):
* html/canvas/WebGLProgram.h: Ditto.
(WebCore::WebGLProgram::getLinkStatus):
(WebCore::WebGLProgram::setLinkStatus):
* html/canvas/WebGLRenderingContext.cpp: Ditto.
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::useProgram):
2010-10-14 Justin Schuh <jschuh@chromium.org>
Reviewed by James Robinson.
Style fix for r69735
https://bugs.webkit.org/show_bug.cgi?id=47684
No logic change. Existing tests apply.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
2010-10-14 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: encapsulate ScriptState into ConsoleMessage instead of passing it as additional parameter
https://bugs.webkit.org/show_bug.cgi?id=47675
No new tests. This refactoring is covered by existing inspector tests.
* bindings/js/JSConsoleCustom.cpp:
* bindings/js/ScriptCallFrame.cpp:
* bindings/js/ScriptCallFrame.h:
(WebCore::ScriptCallFrame::functionName):
(WebCore::ScriptCallFrame::sourceURL):
(WebCore::ScriptCallFrame::lineNumber):
(WebCore::ScriptCallFrame::argumentCount):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::addConsoleMessage):
(WebCore::InspectorController::startGroup):
(WebCore::InspectorController::endGroup):
* inspector/InspectorController.h:
2010-10-14 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Gavin Barraclough.
Replace lots of String::format() usages by StringConcatenate
https://bugs.webkit.org/show_bug.cgi?id=47664
* ForwardingHeaders/wtf/text/StringConcatenate.h: Added.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::reportUnsafeAccessTo):
* dom/ExceptionBase.cpp:
(WebCore::ExceptionBase::ExceptionBase):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::handleError):
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
* html/FTPDirectoryDocument.cpp:
(WebCore::processFileDateString):
* inspector/CodeGeneratorInspector.pm:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::count):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::createBreakpointId):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::formatBreakpointId):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
(WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
(WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
(WebCore::InspectorProfilerAgent::takeHeapSnapshot):
* loader/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::printAccessDeniedMessage):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkIfDisplayInsecureContent):
(WebCore::FrameLoader::checkIfRunInsecureContent):
(WebCore::FrameLoader::shouldAllowNavigation):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessageTimerFired):
* page/PrintContext.cpp:
(WebCore::PrintContext::pageProperty):
(WebCore::PrintContext::pageSizeAndMarginsInPixels):
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::canLoadObject):
* platform/efl/PlatformKeyboardEventEfl.cpp:
(WebCore::createKeyMap):
(WebCore::createWindowsKeyMap):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::animationNameForTransition):
* platform/graphics/brew/ImageBrew.cpp:
(WebCore::Image::loadPlatformResource):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/efl/ImageEfl.cpp:
(WebCore::loadResourceSharedBuffer):
* platform/graphics/gtk/ImageBufferGtk.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/haiku/ImageBufferHaiku.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::animationIdentifier):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/win/WebLayer.cpp:
(WebCore::WebLayer::drawInContext):
* platform/network/CredentialStorage.cpp:
(WebCore::originStringFromURL):
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::setSynchronous):
* platform/text/wince/TextCodecWinCE.cpp:
(WebCore::LanguageManager::LanguageManager):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::markupToCFHTML):
* platform/win/Language.cpp:
(WebCore::defaultLanguage):
* plugins/PluginStream.cpp:
(WebCore::PluginStream::startStream):
* svg/SVGUseElement.cpp:
(WebCore::dumpInstanceTree):
* websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::appendToBuffer):
* websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readServerHandshake):
2010-10-14 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Small cleanup in PluginViewGtk
https://bugs.webkit.org/show_bug.cgi?id=47588
Remove some dead code and use PlatformRefPtr for cairo surfaces.
No new tests, only refactoring.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::paint):
2010-10-14 Dawit Alemayehu <adawit@kde.org>
Reviewed by Andreas Kling.
Fix compile error when bulding webkit's Qt port using the "--v8" option.
https://bugs.webkit.org/show_bug.cgi?id=47455
* platform/qt/PlatformBridge.h:
2010-10-01 Martin Robinson <mrobinson@igalia.com>
Reviewed by Holger Freyther.
[GTK] REGRESSION: FreeType backend does not respect XSettings font settings after r68558
https://bugs.webkit.org/show_bug.cgi?id=47033
Fix logic that merges XSettings defaults and FontConfig settings. If
FontConfig or XSettings specifies a subpixel order, we force subpixel
anti-aliasing on. If anti-aliasing is turned on explicitly, only
override the setting if it was previously off, otherwise we ignore
the user's preference for subpixel or gray antialiasing.
Test: platform/gtk/fonts/xsettings_antialias_settings.html
* platform/graphics/cairo/FontPlatformDataFreeType.cpp:
(WebCore::setCairoFontOptionsFromFontConfigPattern): Fix merging of XSettings
and FontConfig anti-aliasing settings.
(WebCore::getDefaultFontOptions): Added this helper.
(WebCore::FontPlatformData::FontPlatformData): Use the getDefaultFontOptions helper.
2010-10-14 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Support typed arrays in workers
https://bugs.webkit.org/show_bug.cgi?id=47616
To support typed arrays in workers, we need to expose constructors in
WorkerContext and add NoStaticTables attribute.
I also add File API feature guard to the constructors defined in
DOMWindow.
* bindings/js/JSDOMWindowCustom.cpp: Add File API feature guard to the
constructors defined in DOMWindow.
* html/canvas/ArrayBuffer.idl: Add NoStaticTables attribute.
* html/canvas/ArrayBufferView.idl: Add NoStaticTables attribute.
* html/canvas/Float32Array.idl: Add NoStaticTables attribute.
* html/canvas/Int16Array.idl: Add NoStaticTables attribute.
* html/canvas/Int32Array.idl: Add NoStaticTables attribute.
* html/canvas/Int8Array.idl: Add NoStaticTables attribute.
* html/canvas/Uint16Array.idl: Add NoStaticTables attribute.
* html/canvas/Uint32Array.idl: Add NoStaticTables attribute.
* html/canvas/Uint8Array.idl: Add NoStaticTables attribute.
* page/DOMWindow.idl: Add File API feature guard to the constructors
defined in DOMWindow.
* workers/WorkerContext.idl: Expose type array constructors.
2010-10-14 Andreas Kling <kling@webkit.org>
Reviewed by Ariya Hidayat.
[Qt] Avoid creating empty transparency layers in ImageBuffer::clip()
We were creating empty layers for sub-1 height/width clips due to
using IntRect(FloatRect) instead of enclosingIntRect().
This lead to a bunch of QPainter warnings on the console since you
can't draw on an empty QPixmap.
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::clip):
2010-10-14 Holger Hans Peter Freyther <holger@moiji-mobile.com>
Reviewed by Martin Robinson.
[cairo] Typo in determining fixed width fonts
https://bugs.webkit.org/show_bug.cgi?id=47470
It must be a single ampersand otherwise the
&& FT_FACE_FLAG_FIXED_WIDTH will always be true.
* platform/graphics/cairo/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData):
2010-10-14 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Xan Lopez.
[GTK] Failing test LayoutTests/editing/undo/orphaned-selection-crash-bug32823-2.html
https://bugs.webkit.org/show_bug.cgi?id=47666
Do a less strict decoding of base64 data url's as it was done
before. The actual problem is most likely
https://bugs.webkit.org/show_bug.cgi?id=47661 tough.
* platform/network/soup/cache/soup-request-data.c:
(webkit_soup_request_data_send):
2010-10-14 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Andreas Kling.
SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=47660
The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
The patch also implements the simple setOrder and setKernelUnitLength methods.
Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::setOrder):
(WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
(WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
* svg/SVGFEConvolveMatrixElement.h:
2010-10-14 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Andreas Kling.
[Qt] Text breaking is slow: enable ICU as an opt-in
https://bugs.webkit.org/show_bug.cgi?id=40332
Added a config flag that enables ICU as an opt-in instead of the Qt specific code.
No new tests, this should be covered by existing tests.
* WebCore.pro:
* platform/text/qt/TextBreakIteratorQt.cpp:
(WebCore::currentTextBreakLocaleID):
2010-10-14 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
This patch enables compilation of TextureMapper with Media. It has an initial non-working implementation of a video layer, to be integrated
once other parts of TextureMapper are fully working.
No new tests: this is new implementation that's not enabled yet.
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::TextureMapperVideoLayerQt::TextureMapperVideoLayerQt):
(WebCore::TextureMapperVideoLayerQt::setPlatformLayerClient):
(WebCore::TextureMapperVideoLayerQt::paint):
(WebCore::TextureMapperVideoLayerQt::size):
(WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateQt::platformLayer):
* platform/graphics/qt/MediaPlayerPrivateQt.h:
(WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
(WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateQt::platformLayer):
2010-10-14 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
Fixed crashes in the GTK 64bits bot, we have to use NULL instead
of 0 when calling these glib APIs, 0 is compiled as a char and in
64bits systems it is not correct.
* platform/network/soup/cache/soup-requester.c:
(webkit_soup_requester_new):
(webkit_soup_requester_request_uri):
2010-10-14 Daniel Bates <dbates@rim.com>
Attempt to fix the Qt and GTK builds based on the build bot results from <http://webkit.sed.hu>.
* rendering/RenderInline.cpp: Include header "RenderTheme.h"
2010-10-14 Daniel Bates <dbates@rim.com>
Reviewed by Darin Adler.
Only draw focus ring in RenderInline and RenderImage if the theme
is not able to draw a focus ring
https://bugs.webkit.org/show_bug.cgi?id=47632
Fixes an issue where RenderInline::paintOutline() and RenderImage::paintFocusRings()
would draw a focus ring regardless of whether the port-specific theme is able to
draw a focus ring. Instead, these methods should only draw a focus ring if the
theme is unable to draw a focus ring.
Also, extracted common focus ring drawing code from RenderObject::paintOutline()
and RenderInline::paintOutline() into RenderObject::paintFocusRing().
Tests: fast/forms/textfield-focus-ring.html
fast/images/imagemap-focus-ring.html
fast/inline/inline-focus-ring.html
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintFocusRings): Modified to only draw a focus ring if the
the theme does not draw one.
* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutline): Modified to call RenderObject::paintFocusRing().
* rendering/RenderObject.cpp:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintFocusRing): Added.
(WebCore::RenderObject::paintOutline): Modified to call RenderObject::paintFocusRing().
* rendering/RenderObject.h:
2010-10-14 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Move load and dom content event timers into InspectorController.
https://bugs.webkit.org/show_bug.cgi?id=47668
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::mainResourceFiredDOMContentEvent):
(WebCore::InspectorController::mainResourceFiredLoadEvent):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::updateScriptObject):
* inspector/InspectorResource.h:
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
(WebInspector.domContentEventFired):
(WebInspector.loadEventFired):
2010-10-14 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Re-landing r69757.
2010-10-14 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: implement pausing on window events and timeouts
https://bugs.webkit.org/show_bug.cgi?id=47542
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didInstallTimerImpl):
(WebCore::InspectorInstrumentation::didRemoveTimerImpl):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::didFireTimerImpl):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
(WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
* inspector/InspectorInstrumentation.h:
* inspector/front-end/BreakpointManager.js:
(WebInspector.EventListenerBreakpoint.prototype.populateLabelElement):
(WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
(WebInspector.EventListenerBreakpoint.prototype._condition):
(WebInspector.EventListenerBreakpoint.prototype._uiEventName):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
2010-10-14 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Andreas Kling.
Canvas: "currentColor" should inherit the canvas element's color
https://bugs.webkit.org/show_bug.cgi?id=40273
Warning fix after r69755. Missing default cases added.
* html/canvas/CanvasStyle.cpp:
(WebCore::parseColorOrCurrentColor):
(WebCore::CanvasStyle::createFromString):
(WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
2010-10-14 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Rolling out r69757.
2010-10-08 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: extract content-related methods into InspectorResourceAgent.
https://bugs.webkit.org/show_bug.cgi?id=47415
This is needed for resource-tracking-less operation of resources panel.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* inspector/InspectorCSSAgent.cpp:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::type):
(WebCore::InspectorResource::sourceString):
(WebCore::InspectorResource::sourceBytes):
* inspector/InspectorResource.h:
* inspector/InspectorResourceAgent.cpp: Added.
(WebCore::InspectorResourceAgent::resourceContent):
(WebCore::InspectorResourceAgent::resourceContentBase64):
(WebCore::InspectorResourceAgent::resourceData):
(WebCore::InspectorResourceAgent::cachedResourceType):
(WebCore::InspectorResourceAgent::cachedResource):
* inspector/InspectorResourceAgent.h: Added.
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
* inspector/InspectorUtilities.cpp: Removed.
* inspector/InspectorUtilities.h: Removed.
2010-10-14 Andreas Kling <kling@webkit.org>
Reviewed by Darin Adler.
Canvas: "currentColor" should inherit the canvas element's color
https://bugs.webkit.org/show_bug.cgi?id=40273
Add support for "currentColor" in CanvasRenderingContext2D APIs.
If the canvas is in-document, "currentColor" is replaced by canvas.style.color,
otherwise we use fully opaque black.
For gradient addColorStop(), "currentColor" always means fully opaque black.
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
Test: fast/canvas/canvas-currentColor.html
* html/canvas/CanvasGradient.cpp:
(WebCore::CanvasGradient::addColorStop):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::setShadowColor):
(WebCore::CanvasRenderingContext2D::setShadow):
* html/canvas/CanvasStyle.cpp:
(WebCore::parseColor):
(WebCore::currentColor):
(WebCore::parseColorOrCurrentColor):
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::createFromString):
(WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
* html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::isCurrentColor):
(WebCore::CanvasStyle::hasOverrideAlpha):
(WebCore::CanvasStyle::overrideAlpha):
2010-10-08 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] Scripts panel: the bubble shows wrong values
https://bugs.webkit.org/show_bug.cgi?id=47358
Test: inspector/debugger-eval-on-call-frame.html
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.): don't embrace expression evaluated in the local scope
of a call frame into with(window) to avoid shadowing local variables by global ones.
2010-10-13 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Implement getParameter from the URL API
https://bugs.webkit.org/show_bug.cgi?id=46610
Another API from
https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en#
getParameter lets a web site easily read the value of a URL parameter.
This API is for the simple case of a non-repeated parameter name.
getParameterAll will handle repeated parameter names in a future patch.
Tests: fast/dom/anchor-getParameter.html
http/tests/misc/location-getParameter.html
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::getParameter):
* html/HTMLAnchorElement.h:
* html/HTMLAnchorElement.idl:
* page/Location.cpp:
(WebCore::Location::getParameter):
* page/Location.h:
* page/Location.idl:
* platform/KURL.cpp:
(WebCore::KURL::copyParsedQueryTo):
* platform/KURLGoogle.cpp:
(WebCore::KURL::copyParsedQueryTo):
* platform/KURL.h:
2010-10-14 Alejandro G. Castro <alex@igalia.com>
Unreviewed. GTK build fix.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
2010-10-14 Adrienne Walker <enne@google.com>
Reviewed by James Robinson.
Add a short-term solution for large layers. Layers that are too
large to be contained in a single texture just upload the portion of
the layer that is within the content rect. A longer-term solution
is still tiling with proper memory management. Layers that have full
3D transforms (more than just translations) are still not drawn.
https://bugs.webkit.org/show_bug.cgi?id=47016
Test: compositing/tiling
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::ContentLayerChromium):
(WebCore::ContentLayerChromium::requiresClippedUpdateRect):
(WebCore::ContentLayerChromium::calculateClippedUpdateRect):
(WebCore::ContentLayerChromium::updateContents):
(WebCore::ContentLayerChromium::updateTextureRect):
(WebCore::ContentLayerChromium::draw):
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContents):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::rootLayerContentRect):
2010-10-14 Chris Rogers <crogers@google.com>
Reviewed by Chris Fleizach.
Add DelayDSPKernel files
https://bugs.webkit.org/show_bug.cgi?id=47518
No new tests since audio API is not yet implemented.
* webaudio/DelayDSPKernel.cpp: Added.
(WebCore::DelayDSPKernel::DelayDSPKernel):
(WebCore::DelayDSPKernel::process):
(WebCore::DelayDSPKernel::reset):
* webaudio/DelayDSPKernel.h: Added.
(WebCore::DelayDSPKernel::maxDelayTime):
(WebCore::DelayDSPKernel::setDelayFrames):
(WebCore::DelayDSPKernel::delayProcessor):
2010-10-13 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
WebKitGtk+ to use the new API from the imported SoupURILoader code
[GTK] Add HTTP caching support
https://bugs.webkit.org/show_bug.cgi?id=44261
ResourceHandleSoup now does everything via SoupURILoader. This means
that all URLs are handled via the same code path, where WebCore simply
asks libsoup for a WebKitSoupRequest and the request returns an input
stream. Many of ResourceHandleSoup's data members are now PlatformRefPtr
as well, to simplify reference counting
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::restartedCallback):
(WebCore::gotChunkCallback):
(WebCore::parseDataUrl):
(WebCore::cleanupSoupRequestOperation):
(WebCore::sendRequestCallback):
(WebCore::startHttp):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::cancel):
(WebCore::closeCallback):
(WebCore::readCallback):
(WebCore::startGio):
* platform/network/soup/ResourceRequest.h:
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessage):
2010-10-12 Abhishek Arya <inferno@chromium.org>
Reviewed by Darin Adler.
Prevent block logical height of a root inline box from overflowing by clamping it
at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during
removal a floating object.
https://bugs.webkit.org/show_bug.cgi?id=45611
Test: fast/overflow/overflow-block-logical-height-crash.html
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
2010-10-13 James Robinson <jamesr@chromium.org>
Reviewed by Darin Adler.
Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius
Canvas: radialGradient with negative radius should throw exception
https://bugs.webkit.org/show_bug.cgi?id=37176
This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc()
and arcTo(). Also fixes some PassRefPtr/RefPtr errors in this file.
Test: canvas/philip/tests/2d.gradient.radial.negative.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createLinearGradient):
(WebCore::CanvasRenderingContext2D::createRadialGradient):
(WebCore::createEmptyImageData):
(WebCore::CanvasRenderingContext2D::measureText):
2010-10-13 Fridrich Strba <fridrich.strba@bluewin.ch>
Reviewed by Darin Adler.
Add WebCore/plugins/win directory to CFLAGS
https://bugs.webkit.org/show_bug.cgi?id=45547
* GNUmakefile.am:
2010-10-13 Martin Robinson <mrobinson@igalia.com>
Build fix for older versions of libsoup.
* platform/network/soup/cache/soup-request-file.c:
(webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly.
2010-10-13 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Add TextBoundaries and TextBreakIterator
https://bugs.webkit.org/show_bug.cgi?id=46105
Copy the implementation of WinCE port.
* platform/text/brew/TextBoundariesBrew.cpp: Added.
(WebCore::findNextWordFromIndex):
(WebCore::findWordBoundary):
* platform/text/brew/TextBreakIteratorBrew.cpp: Added.
(WebCore::isCharStop):
(WebCore::isLineStop):
(WebCore::isSentenceStop):
(WebCore::TextBreakIterator::reset):
(WebCore::TextBreakIterator::following):
(WebCore::TextBreakIterator::preceding):
(WebCore::WordBreakIterator::first):
(WebCore::WordBreakIterator::next):
(WebCore::WordBreakIterator::previous):
(WebCore::CharBreakIterator::first):
(WebCore::CharBreakIterator::next):
(WebCore::CharBreakIterator::previous):
(WebCore::LineBreakIterator::first):
(WebCore::LineBreakIterator::next):
(WebCore::LineBreakIterator::previous):
(WebCore::SentenceBreakIterator::first):
(WebCore::SentenceBreakIterator::next):
(WebCore::SentenceBreakIterator::previous):
(WebCore::wordBreakIterator):
(WebCore::characterBreakIterator):
(WebCore::lineBreakIterator):
(WebCore::sentenceBreakIterator):
(WebCore::textBreakFirst):
(WebCore::textBreakNext):
(WebCore::textBreakPreceding):
(WebCore::textBreakFollowing):
(WebCore::textBreakCurrent):
(WebCore::isTextBreak):
(WebCore::cursorMovementIterator):
2010-10-13 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Nate Chapin.
IndexedDB should fire some errors synchronously
https://bugs.webkit.org/show_bug.cgi?id=47530
Add dumb plumbing to pass around exception codes.
Utilize that plumbing in the backend to fire some
errors synchronously.
Verify that create/remove* functions are only called
in setVersionTransactions (and raise when not).
Remove plumbing for obsolete IDBDatabase.objectStore
Remove obsolete mode param.
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::remove):
* storage/IDBCursor.h:
(WebCore::IDBCursor::continueFunction):
* storage/IDBCursor.idl:
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::update):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::remove):
* storage/IDBCursorBackendImpl.h:
* storage/IDBCursorBackendInterface.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::IDBDatabase):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::removeObjectStore):
(WebCore::IDBDatabase::setVersion):
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.idl:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::objectStore):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::transaction):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* storage/IDBFactory.h:
(WebCore::IDBFactory::open):
* storage/IDBFactory.idl:
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
* storage/IDBIndex.h:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* storage/IDBIndex.idl:
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
* storage/IDBIndexBackendImpl.h:
* storage/IDBIndexBackendInterface.h:
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::remove):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::removeIndex):
(WebCore::IDBObjectStore::openCursor):
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::openCursor):
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::remove):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::index):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
* storage/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::name):
(WebCore::IDBObjectStoreBackendImpl::keyPath):
(WebCore::IDBObjectStoreBackendImpl::autoIncrement):
* storage/IDBObjectStoreBackendInterface.h:
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStore):
* storage/IDBTransaction.h:
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::objectStore):
2010-10-13 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Martin Robinson.
[GTK] Add HTTP caching support
https://bugs.webkit.org/show_bug.cgi?id=44261
This patch adds HTTP caching support to libsoup networking backend.
This code will eventually be part of libsoup, but has been temporarily
imported into the WebCore tree for testing purposes. All libsoup code
is located in WebCore/platform/network/soup/cache. The webkit prefix
was added to all the symbols to prevent problems when this lands in
libsoup. Some external API was also added under webkit/ directory and
will be used by library clients to enable HTTP caching.
There are two parts to this imported code, the first one is the code
under WebCore/platform/network/soup/cache/ that contains all the
SoupURILoader code that supports the development of the cache. The
second part is the HTTP cache implementation located in
WebCore/platform/network/soup/cache/webkit/.
* GNUmakefile.am:
* platform/network/soup/cache/soup-directory-input-stream.c: Added.
(webkit_soup_directory_input_stream_parse_info):
(webkit_soup_directory_input_stream_read_next_file):
(webkit_soup_directory_input_stream_read):
(webkit_soup_directory_input_stream_close):
(webkit_soup_directory_input_stream_class_init):
(webkit_soup_directory_input_stream_init):
(webkit_soup_directory_input_stream_new):
* platform/network/soup/cache/soup-directory-input-stream.h: Added.
* platform/network/soup/cache/soup-http-input-stream.c: Added.
(webkit_soup_http_input_stream_finalize):
(webkit_soup_http_input_stream_class_init):
(webkit_soup_http_input_stream_seekable_iface_init):
(webkit_soup_http_input_stream_init):
(webkit_soup_http_input_stream_queue_message):
(webkit_soup_http_input_stream_new):
(webkit_soup_http_input_stream_got_headers):
(webkit_soup_http_input_stream_got_chunk):
(webkit_soup_http_input_stream_finished):
(webkit_soup_http_input_stream_cancelled):
(webkit_soup_http_input_stream_prepare_for_io):
(webkit_soup_http_input_stream_done_io):
(set_error_if_http_failed):
(read_from_leftover):
(webkit_soup_http_input_stream_send_internal):
(send_sync_finished):
(webkit_soup_http_input_stream_send):
(webkit_soup_http_input_stream_read):
(webkit_soup_http_input_stream_close):
(wrapper_callback):
(send_async_thread):
(webkit_soup_http_input_stream_send_async_in_thread):
(send_async_finished):
(webkit_soup_http_input_stream_send_async_internal):
(webkit_soup_http_input_stream_send_async):
(webkit_soup_http_input_stream_send_finish):
(read_async_done):
(webkit_soup_http_input_stream_read_async):
(webkit_soup_http_input_stream_read_finish):
(webkit_soup_http_input_stream_close_async):
(webkit_soup_http_input_stream_close_finish):
(webkit_soup_http_input_stream_tell):
(webkit_soup_http_input_stream_can_seek):
(webkit_soup_http_input_stream_seek):
(webkit_soup_http_input_stream_can_truncate):
(webkit_soup_http_input_stream_truncate):
(webkit_soup_http_input_stream_get_message):
* platform/network/soup/cache/soup-http-input-stream.h: Added.
* platform/network/soup/cache/soup-request-data.c: Added.
(webkit_soup_request_data_init):
(webkit_soup_request_data_finalize):
(webkit_soup_request_data_check_uri):
(uri_decoded_copy):
(webkit_soup_request_data_send):
(webkit_soup_request_data_get_content_length):
(webkit_soup_request_data_get_content_type):
(webkit_soup_request_data_class_init):
* platform/network/soup/cache/soup-request-data.h: Added.
* platform/network/soup/cache/soup-request-file.c: Added.
(webkit_soup_request_file_get_file):
(webkit_soup_request_file_init):
(webkit_soup_request_file_finalize):
(webkit_soup_request_file_check_uri):
(webkit_soup_request_file_ftp_main_loop_quit):
(webkit_soup_request_file_ensure_file_ftp):
(webkit_soup_request_file_ensure_file):
(webkit_soup_request_file_send):
(webkit_soup_request_file_send_async_thread):
(webkit_soup_request_file_send_async):
(webkit_soup_request_file_send_finish):
(webkit_soup_request_file_get_content_length):
(webkit_soup_request_file_get_content_type):
(webkit_soup_request_file_class_init):
* platform/network/soup/cache/soup-request-file.h: Added.
* platform/network/soup/cache/soup-request-http.c: Added.
(webkit_soup_request_http_get_message):
(webkit_soup_request_http_init):
(webkit_soup_request_http_check_uri):
(webkit_soup_request_http_finalize):
(webkit_soup_request_http_send):
(sent_async):
(conditional_get_ready_cb):
(send_async_cb):
(webkit_soup_request_http_send_async):
(webkit_soup_request_http_send_finish):
(webkit_soup_request_http_get_content_length):
(webkit_soup_request_http_get_content_type):
(webkit_soup_request_http_class_init):
* platform/network/soup/cache/soup-request-http.h: Added.
* platform/network/soup/cache/soup-request.c: Added.
(webkit_soup_request_init):
(webkit_soup_request_finalize):
(webkit_soup_request_set_property):
(webkit_soup_request_get_property):
(webkit_soup_request_initable_init):
(webkit_soup_request_default_check_uri):
(webkit_soup_request_default_send_async):
(webkit_soup_request_default_send_finish):
(webkit_soup_request_send):
(webkit_soup_request_send_async):
(webkit_soup_request_send_finish):
(webkit_soup_request_class_init):
(webkit_soup_request_initable_interface_init):
(webkit_soup_request_get_uri):
(webkit_soup_request_get_session):
(webkit_soup_request_get_content_length):
(webkit_soup_request_get_content_type):
* platform/network/soup/cache/soup-request.h: Added.
* platform/network/soup/cache/soup-requester.c: Added.
(webkit_soup_requester_init):
(finalize):
(webkit_soup_requester_class_init):
(init_request_types):
(webkit_soup_requester_new):
(webkit_soup_requester_request):
(webkit_soup_requester_request_uri):
(webkit_soup_scheme_is_valid):
(webkit_soup_requester_add_protocol):
(webkit_soup_requester_remove_protocol):
(webkit_soup_error_quark):
* platform/network/soup/cache/soup-requester.h: Added.
* platform/network/soup/cache/webkit/soup-cache-private.h: Added.
* platform/network/soup/cache/webkit/soup-cache.c: Added.
(get_cacheability):
(webkit_soup_cache_entry_free):
(copy_headers):
(update_headers):
(webkit_soup_cache_entry_get_current_age):
(webkit_soup_cache_entry_is_fresh_enough):
(webkit_soup_message_get_cache_key):
(webkit_soup_cache_entry_set_freshness):
(webkit_soup_cache_entry_new):
(webkit_soup_cache_writing_fixture_free):
(close_ready_cb):
(write_ready_cb):
(msg_got_chunk_cb):
(msg_got_body_cb):
(webkit_soup_cache_entry_delete):
(lru_compare_func):
(cache_accepts_entries_of_size):
(make_room_for_new_entry):
(webkit_soup_cache_entry_insert_by_key):
(msg_restarted_cb):
(append_to_ready_cb):
(msg_got_headers_cb):
(webkit_soup_cache_send_response):
(request_started):
(attach):
(webkit_soup_cache_session_feature_init):
(webkit_soup_cache_init):
(webkit_soup_cache_finalize):
(webkit_soup_cache_set_property):
(webkit_soup_cache_get_property):
(webkit_soup_cache_constructed):
(webkit_soup_cache_type_get_type):
(webkit_soup_cache_class_init):
(webkit_soup_cache_new):
(webkit_soup_cache_has_response):
(webkit_soup_cache_get_cacheability):
(force_flush_timeout):
(webkit_soup_cache_flush):
(remove_cache_item):
(webkit_soup_cache_clear):
(webkit_soup_cache_generate_conditional_request):
(pack_entry):
(webkit_soup_cache_dump):
(webkit_soup_cache_load):
(webkit_soup_cache_set_max_size):
(webkit_soup_cache_get_max_size):
* platform/network/soup/cache/webkit/soup-cache.h: Added.
2010-10-13 Gavin Barraclough <barraclough@apple.com>
Chromium build fix.
* bindings/v8/ScriptProfiler.cpp:
2010-10-13 Chris Evans <cevans@google.com>
Reviewed by Jian Li.
Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows
https://bugs.webkit.org/show_bug.cgi?id=47382
Fix integer overflow errors in Blob.slice and BlobBuilder.append.
Test: fast/files/blob-slice-overflow.html
* fileapi/Blob.cpp:
(WebCore::Blob::slice): handle integer overflow properly.
* fileapi/BlobBuilder.cpp:
(WebCore::BlobBuilder::append): use correct type for vector length.
2010-10-13 Gavin Barraclough <barraclough@apple.com>
Build fix - remove some redundant references to ScriptString.
* WebCore.gypi:
* WebCore.pro:
* bindings/v8/ScriptProfiler.cpp:
2010-10-13 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 47621 - Remove bindings/v8/ScriptString
This is now redundant.
* bindings/v8/ScriptCallFrame.h:
(WebCore::ScriptCallFrame::functionName):
* bindings/v8/ScriptFunctionCall.cpp:
* bindings/v8/ScriptFunctionCall.h:
* bindings/v8/ScriptString.h: Removed.
* bindings/v8/ScriptStringImpl.cpp: Removed.
* bindings/v8/ScriptStringImpl.h: Removed.
2010-10-13 Anders Carlsson <andersca@apple.com>
Reviewed by John Sullivan.
Draw the find overlay holes
https://bugs.webkit.org/show_bug.cgi?id=47631
Export symbols needed by WebKit2.
* WebCore.exp.in:
2010-10-13 James Simonsen <simonjam@chromium.org>
Reviewed by Darin Adler.
Implement onreadystatechange event handler for Documents
https://bugs.webkit.org/show_bug.cgi?id=26140
Test: fast/dom/Document/readystate.html
* dom/Document.cpp:
(WebCore::Document::setReadyState): Fire readystatechangeevent.
(WebCore::Document::open): Clear event listeners.
* dom/Document.h: Add readystatechange event.
* dom/Document.idl: Ditto.
2010-10-13 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: accessibilityIsIgnored not respected on ARIA tables
https://bugs.webkit.org/show_bug.cgi?id=47564
For platforms that ignore column headers and header container objects (everything
except Mac) on accessibility tables, that choice needs to be respected in
ARIA tables as well.
GTK is the only open platform doing this, so I'll have to collect the result of this
test. It was copied from table-hierarchy.html, but changed to use ARIA tables.
Test: platform/gtk/accessibility/aria-table-hierarchy.html
* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addChildren):
2010-10-13 Victoria Kirst <vrk@google.com>
Reviewed by James Robinson.
No longer ASSERT for LayerRenderer in VideoLayerChromium destructor
https://bugs.webkit.org/show_bug.cgi?id=47432
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::cleanupResources):
2010-10-13 Leandro Pereira <leandro@profusion.mobi>
[EFL] Unreviewed. Build fix.
* CMakeLists.txt: Add ContextShadow.cpp.
* CMakeListsEfl.txt: Add ContextShadowCairo.cpp.
2010-10-13 Martin Robinson <mrobinson@igalia.com>
Reviewed by Holger Freyther.
[GTK] r69681 caused some tests to crash
https://bugs.webkit.org/show_bug.cgi?id=47622
Properly initialize m_layerContext on the ContextShadow so that in situations
where beginShadowLayer bails out early with a null return value, it is set
to null. This may happen when the first call to beginShadowLayer on a particular
ContextShadow uses a region which is entirely outside the clip region or which
is empty.
* platform/graphics/cairo/ContextShadow.cpp:
(WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext.
2010-10-13 Anders Carlsson <andersca@apple.com>
Reviewed by Beth Dakin.
Don't set the fill/stroke colorspace before filling/stroking
https://bugs.webkit.org/show_bug.cgi?id=47619
Setting the colorspace has the side-effect of setting the color to black, which is
not what we want. When fill/stroke is called, a fill/stroke color should already have been set.
Pixel tests show no regressions from this change.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::strokeRect):
2010-10-13 Brent Fulgham <bfulgham@webkit.org>
Unreviewed WinCairo build fix.
New ContextShadow class not built for Windows builds.
* WebCore.vcproj/WebCore.vcproj: Add missing files for
building ContextShadow on WinCairo.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
Add missing include for ContextShadow definition.
2010-10-13 Gavin Barraclough <barraclough@apple.com>
Chromium build fix pt1.
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
2010-10-13 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Send over find indicator information to the UI process
https://bugs.webkit.org/show_bug.cgi?id=47612
Export symbols needed by WebKit2.
* WebCore.exp.in:
2010-10-13 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=43987
Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
to construct their internal result string. Remove ScriptString (this is now
redundant).
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.cpp:
(WebCore::jsOwnedStringOrNull):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::responseText):
* bindings/js/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
* bindings/js/ScriptCallFrame.h:
(WebCore::ScriptCallFrame::functionName):
* bindings/js/ScriptCallStack.h:
* bindings/js/ScriptFunctionCall.cpp:
* bindings/js/ScriptFunctionCall.h:
* bindings/js/ScriptString.h: Removed.
* dom/ScriptExecutionContext.h:
* fileapi/FileReader.cpp:
(WebCore::FileReader::FileReader):
(WebCore::FileReader::abort):
(WebCore::FileReader::didReceiveData):
(WebCore::FileReader::result):
(WebCore::FileReader::convertToText):
(WebCore::FileReader::convertToDataURL):
* fileapi/FileReader.h:
* fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSyncLoader::FileReaderSyncLoader):
(WebCore::FileReaderSyncLoader::didReceiveData):
(WebCore::FileReaderSync::readAsBinaryString):
(WebCore::FileReaderSync::readAsText):
(WebCore::FileReaderSync::readAsDataURL):
(WebCore::FileReaderSync::read):
(WebCore::FileReaderSync::convertToText):
* fileapi/FileReaderSync.h:
(WebCore::FileReaderSync::readAsText):
(WebCore::FileReaderSync::FileReaderSync):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::setOverrideContent):
* inspector/InspectorResource.h:
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/ResourceLoadNotifier.h:
* workers/WorkerScriptLoader.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::responseText):
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::clearResponse):
(WebCore::XMLHttpRequest::dropProtection):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReceiveData):
* xml/XMLHttpRequest.h:
2010-10-13 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 43987 - Downloading using XHR is much slower than before
* svg/SVGPathStringBuilder.cpp:
(WebCore::SVGPathStringBuilder::result):
StringBuilder::size() -> StringBuilder::length().
2010-10-13 Yong Li <yoli@rim.com>
Reviewed by Oliver Hunt.
Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString
that can result crash on ARM (<v6).
https://bugs.webkit.org/show_bug.cgi?id=47594
No new test added, because the crash can be produced by existing tests like:
LayoutTests/fast/events/message-channel-gc-4.html
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readLittleEndian):
(WebCore::CloneDeserializer::readString):
2010-10-06 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
[Cairo] Activate ContextShadow in all places where shadows are drawn
https://bugs.webkit.org/show_bug.cgi?id=46475
Turn on ContextShadow for the Cairo port and remove all old shadow code.
Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo.
* platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo.
* platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow.
(WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation
on the specified cairo_t to prepare for drawing glyphs.
(WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t,
while properly handling glyphs with synthetic bold.
(WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum
argument specifying whether to fill or stroke the solid figure for the shadow.
(WebCore::fillCurrentCairoPath): Updated drawPathShadow call.
(WebCore::strokeCurrentCairoPath): Ditto.
(WebCore::GraphicsContext::savePlatformState): Save the ContextShadow.
(WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow.
(WebCore::GraphicsContext::drawPath): Updated drawPathShadow call.
(WebCore::GraphicsContext::fillRect): Uses ContextShadow now.
(WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now.
(WebCore::GraphicsContext::contextShadow): Added.
(WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member.
(WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
(WebCore::GraphicsContextPlatformPrivate::hasShadow): Added.
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw): Updated to use ContextShadow.
2010-10-13 John Knottenbelt <jknotten@chromium.org>
Reviewed by Steve Block.
First step towards client-based Geolocation in Chromium. Build
fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
https://bugs.webkit.org/show_bug.cgi?id=47586
* WebCore.gyp/WebCore.gyp:
* platform/chromium/ChromiumBridge.h:
* platform/chromium/GeolocationServiceChromium.cpp:
2010-10-13 Steve Block <steveblock@google.com>
Unreviewed fix
Need to check for the existence of DeviceOrientation and DeviceMotion controllers
These features can be disabled at run time, so an enable guard is not sufficient.
This bug was introduced in http://trac.webkit.org/changeset/69646
Tested with existing tests.
* history/PageCache.cpp:
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):
2010-10-13 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: stack information is inconsistent between console.trace and runtime errors.
https://bugs.webkit.org/show_bug.cgi?id=47252
* console.trace() is now formatted the same way as other stack traces
* If there is //@ sourceURL=url line at the end of eval'ed script source
the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
type has changed from KURL to String.
Tests: inspector/console-trace-in-eval.html
inspector/console-uncaught-exception-in-eval.html
* bindings/js/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
* bindings/js/ScriptCallFrame.h:
(WebCore::ScriptCallFrame::sourceURL):
* bindings/v8/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
* bindings/v8/ScriptCallFrame.h:
(WebCore::ScriptCallFrame::sourceURL):
* bindings/v8/ScriptCallStack.cpp:
(WebCore::getFrameLocation):
(WebCore::ScriptCallStack::create):
* bindings/v8/ScriptCallStack.h:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
(WebCore::ConsoleMessage::ConsoleMessage):
* inspector/ConsoleMessage.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._formatMessage):
* page/Console.cpp:
(WebCore::Console::addMessage):
(WebCore::Console::count):
(WebCore::Console::timeEnd):
2010-10-13 Kent Tamura <tkent@chromium.org>
Unreviewed, a trivial change.
Run sort-Xcode-project-file.
* WebCore.xcodeproj/project.pbxproj:
2010-10-13 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Andreas Kling.
Wrong ASSERT when select element has size 0
https://bugs.webkit.org/show_bug.cgi?id=47567
Keep the ASSERT only if the size of the element list is more than 0
Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::updateListBoxSelection):
(WebCore::SelectElement::listBoxDefaultEventHandler):
2010-10-13 Steve Block <steveblock@google.com>
Reviewed by Alexey Proskuryakov.
Pages using DeviceOrientation and DeviceMotion should not go into the page cache
https://bugs.webkit.org/show_bug.cgi?id=47408
Tests: fast/dom/DeviceMotion/no-page-cache.html
fast/dom/DeviceOrientation/no-page-cache.html
* dom/DeviceMotionController.h:
(WebCore::DeviceMotionController::isActive):
* dom/DeviceOrientationController.h:
(WebCore::DeviceOrientationController::isActive):
* history/PageCache.cpp:
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):
* page/Page.cpp:
2010-10-13 Jenn Braithwaite <jennb@chromium.org>
Reviewed by Dmitry Titov.
Make resource identifiers unique across pages
https://bugs.webkit.org/show_bug.cgi?id=47002
Test: http/tests/misc/iframe-reparenting-id-collision.html
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::ProgressTracker):
(WebCore::ProgressTracker::createUniqueIdentifier):
* loader/ProgressTracker.h:
2010-10-12 Roland Steiner <rolandsteiner@chromium.org>
Reviewed by David Hyatt.
Bug 41040 - :before/:after content should not become part of a ruby base
https://bugs.webkit.org/show_bug.cgi?id=41040
Also related to:
https://bugs.webkit.org/show_bug.cgi?id=40895.
https://bugs.webkit.org/show_bug.cgi?id=43722.
Explicitly handle :before and :after content in the default way.
Test: fast/ruby/ruby-beforeafter.html
fast/ruby/after-doesnt-crash.html
* rendering/RenderObject.h:
(WebCore::RenderObject::isBeforeContent):
* rendering/RenderRuby.cpp:
(WebCore::lastRubyRun):
(WebCore::RenderRubyAsInline::addChild):
(WebCore::RenderRubyAsInline::removeChild):
(WebCore::RenderRubyAsBlock::addChild):
(WebCore::RenderRubyAsBlock::removeChild):
2010-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r69639.
http://trac.webkit.org/changeset/69639
https://bugs.webkit.org/show_bug.cgi?id=47575
"regressed nav-element.html" (Requested by rniwa on #webkit).
* editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::formatSelection):
* editing/EditorCommand.cpp:
(WebCore::executeFormatBlock):
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::formatRange):
* editing/FormatBlockCommand.h:
(WebCore::FormatBlockCommand::editingAction):
* editing/VisiblePosition.cpp:
(WebCore::enclosingBlockFlowElement):
* editing/VisiblePosition.h:
* editing/htmlediting.cpp:
(WebCore::validBlockTag):
* editing/htmlediting.h:
2010-10-12 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
execCommand FormatBlock creates lots of blockquotes
https://bugs.webkit.org/show_bug.cgi?id=19795
The bug was caused by WebKit's not reusing the block node added by previous iteration
and its inserting block node at wrong places.
Fixed the bug by rewriting FormatBlockCommand::formatRange. New code resembles that of
IndentOutdentCommand::indentIntoBlockquote. The difference between two is that formatRange
avoids the existing block elements when replacing blocks and it also adds a placeholder
when removing the existing block caused paragraphs to collapse.
Tests: editing/execCommand/format-block-multiple-paragraphs.html
editing/execCommand/format-block-table.html
* editing/EditorCommand.cpp:
(WebCore::executeFormatBlock):
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::formatRange): Rewritten; see above.
(WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement
and moved from htmlediting.cpp.
(WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added.
* editing/FormatBlockCommand.h:
* editing/VisiblePosition.cpp:
(WebCore::enclosingBlockFlowElement): Changed the return type to Element*
* editing/VisiblePosition.h:
2010-10-11 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Anders Carlsson.
Make PluginView inherit from PluginViewBase.
This change is a precursor to adding accelerated compositing support
for NPAPI plugins.
https://bugs.webkit.org/show_bug.cgi?id=47418
* page/Page.cpp:
(WebCore::Page::privateBrowsingStateChanged):
* plugins/PluginView.h:
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::PluginViewBase):
2010-10-12 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Pass platform path (rather than virtual path) when creating File from FileEntry
https://bugs.webkit.org/show_bug.cgi?id=47563
No new tests, the new test for FileWriter will be verifying this.
* fileapi/FileEntry.cpp:
(WebCore::FileEntry::file):
2010-10-12 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein
<rdar://problem/8488444> REGRESSION (r67771)
https://bugs.webkit.org/show_bug.cgi?id=47434
Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout
Added printing/simultaneous-position-float-change.html
Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted
objects in them. Make the mechanism for relayout when the page height changes the same as the one when pageY
changes and just tie a concept of pageHeightChanged to the layout state. If that is set, blocks will just
automatically mark themselves as needing layout.
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/LayoutState.h:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::pageHeight):
(WebCore::LayoutState::pageHeightChanged):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
* rendering/RenderBox.h:
(WebCore::RenderBox::markForPaginationRelayoutIfNeeded):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
* rendering/RenderView.h:
(WebCore::RenderView::setPageHeight):
(WebCore::RenderView::pushLayoutState):
(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):
2010-10-12 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Paint the find overlay background
https://bugs.webkit.org/show_bug.cgi?id=47565
Export symbols required by WebKit2.
* WebCore.exp.in:
2010-10-12 James Robinson <jamesr@chromium.org>
Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-10-12 Chris Marrin <cmarrin@apple.com>
Reviewed by Darin Adler.
Manage DrawingBuffer lifetime in GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=47501
GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer
has a RefPtr to GraphicsContext3D to ensure the proper lifetime.
DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer
refers to GraphicsContext3D rather than SharedGraphicsContext3D.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.h:
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::createDrawingBuffer):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::generateColorTexture):
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::~DrawingBuffer):
(WebCore::DrawingBuffer::publishToPlatformLayer):
(WebCore::DrawingBuffer::reset):
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::create):
(WebCore::DrawingBuffer::clear):
(WebCore::DrawingBuffer::bind):
* platform/graphics/gpu/DrawingBuffer.h:
(WebCore::DrawingBuffer::graphicsContext3D):
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::create):
(WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
(WebCore::SharedGraphicsContext3D::graphicsContext3D):
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::~DrawingBuffer):
(WebCore::DrawingBuffer::reset):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::create):
2010-10-12 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Fix passing blob data with string data item between threads.
https://bugs.webkit.org/show_bug.cgi?id=46543
The fix is to use a thread-safe ref-counted Vector<char> to store the
string data. This also makes us be able to store any binary data in it.
I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional
copies to make blob handling faster.
* fileapi/BlobBuilder.cpp:
(WebCore::BlobBuilder::append):
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::BlobRegistryContext::BlobRegistryContext):
* platform/network/BlobData.cpp:
(WebCore::BlobDataItem::RawData::RawData):
(WebCore::BlobDataItem::RawData::detachFromCurrentThread):
(WebCore::BlobDataItem::detachFromCurrentThread):
(WebCore::BlobData::create):
(WebCore::BlobData::detachFromCurrentThread):
(WebCore::BlobData::appendData):
* platform/network/BlobData.h:
(WebCore::BlobDataItem::RawData::create):
(WebCore::BlobDataItem::RawData::data):
(WebCore::BlobDataItem::RawData::length):
(WebCore::BlobDataItem::RawData::mutableData):
(WebCore::BlobDataItem::BlobDataItem):
* platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURL):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::readDataSync):
(WebCore::BlobResourceHandle::readDataAsync):
* platform/network/mac/FormDataStreamMac.mm:
(WebCore::setHTTPBody):
* platform/text/LineEnding.cpp:
(OutputBuffer::CStringBuffer::CStringBuffer):
(OutputBuffer::CStringBuffer::~CStringBuffer):
(OutputBuffer::CStringBuffer::allocate):
(OutputBuffer::CStringBuffer::copy):
(OutputBuffer::CStringBuffer::buffer):
(OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer):
(OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer):
(OutputBuffer::VectorCharAppendBuffer::allocate):
(OutputBuffer::VectorCharAppendBuffer::copy):
(OutputBuffer::internalNormalizeLineEndingsToCRLF):
(WebCore::normalizeToCROrLF):
(WebCore::normalizeLineEndingsToCRLF):
(WebCore::normalizeLineEndingsToCR):
(WebCore::normalizeLineEndingsToLF):
(WebCore::normalizeLineEndingsToNative):
* platform/text/LineEnding.h:
2010-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r69589.
http://trac.webkit.org/changeset/69589
https://bugs.webkit.org/show_bug.cgi?id=47547
Wrong patch landed from a bug with two patches (Requested by
mrobinson on #webkit).
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::restartedCallback):
(WebCore::gotChunkCallback):
(WebCore::finishedCallback):
(WebCore::parseDataUrl):
(WebCore::startHttp):
* platform/network/soup/ResourceRequest.h:
* platform/network/soup/ResourceRequestSoup.cpp:
2010-10-12 Simon Fraser <simon.fraser@apple.com>
Screen.availLeft should be signed
https://bugs.webkit.org/show_bug.cgi?id=34397
Add the manual test missed in r69599.
* manual-tests/screen-availLeft.html: Added.
2010-10-12 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Ariya Hidayat.
[Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
quirk is enabled only for 64-bit Flash/X11 and should not affect other
plugins. The freeze itself is in Flash code and the backtrace is not
useful.
https://bugs.webkit.org/show_bug.cgi?id=47545
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):
* plugins/PluginQuirkSet.h:
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::handleMouseEvent):
2010-10-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Alexey Proskuryakov.
Screen.availLeft should be signed
https://bugs.webkit.org/show_bug.cgi?id=34397
For the screen to the left of the main screen, screen.availLeft
can be negative, so the Screen API needs to use signed numbers
for availLeft and availTop.
* manual-tests/screen-availLeft.html: Added.
* page/Screen.cpp:
(WebCore::Screen::availLeft):
(WebCore::Screen::availTop):
* page/Screen.h:
* page/Screen.idl:
2010-10-12 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add FindController class
https://bugs.webkit.org/show_bug.cgi?id=47555
Export Page::findString.
* WebCore.exp.in:
2010-10-12 Alexey Proskuryakov <ap@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=47550
<rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively
(esp. with AdBlock style extensions)
No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one.
The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously
not available yet, so scripting could only attempt to load it recursively.
This didn't affect NPAPI plug-ins, because of a completely different code path taken in
updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>.
* html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::HTMLPlugInElement):
(WebCore::HTMLPlugInElement::pluginWidget):
* html/HTMLPlugInElement.h:
2010-10-12 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Gavin Barraclough.
Unify JSC::StringBuilder & WebCore::StringBuilder
https://bugs.webkit.org/show_bug.cgi?id=47538
JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner.
WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single
characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that
most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large
strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well.
Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace.
While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h.
No change in functionality, thus no new tests.
* Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.order: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* ForwardingHeaders/runtime/StringBuilder.h: Removed.
* ForwardingHeaders/runtime/UStringBuilder.h: Added.
* ForwardingHeaders/wtf/text/StringBuilder.h: Added.
* bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h.
(WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder.
* bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters).
* css/MediaQuery.cpp: Ditto.
* css/MediaQueryExp.cpp: Ditto.
* dom/Node.cpp: Ditto.
(WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings.
* dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration.
* html/DOMTokenList.cpp: Use WTF::StringBuilder.
* inspector/InspectorResource.cpp: Remove useless StringBuffer.h include.
* platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder.
* platform/brew/FileSystemBrew.cpp: Ditto.
* platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters).
* platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds).
* platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds).
* platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters.
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto.
* platform/network/ProxyServer.cpp:
(WebCore::appendProxyServerString): Use WTF::StringBuilder.
* platform/text/StringBuffer.h: Removed.
* platform/text/StringBuilder.cpp: Removed.
* platform/text/StringBuilder.h: Removed.
* plugins/DOMMimeType.cpp: Use WTF::StringBuilder.
* svg/SVGPathParserFactory.cpp: Ditto.
* svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now.
(WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result.
(WebCore::SVGPathStringBuilder::moveTo):
(WebCore::SVGPathStringBuilder::lineTo):
(WebCore::SVGPathStringBuilder::lineToHorizontal):
(WebCore::SVGPathStringBuilder::lineToVertical):
(WebCore::SVGPathStringBuilder::curveToCubic):
(WebCore::SVGPathStringBuilder::curveToCubicSmooth):
(WebCore::SVGPathStringBuilder::curveToQuadratic):
(WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathStringBuilder::arcTo):
(WebCore::SVGPathStringBuilder::closePath):
* svg/SVGPathStringBuilder.h:
(WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder().
* websockets/WebSocket.cpp: Use WTF::StringBuilder.
* websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters).
2010-10-12 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Antonio Gomes.
[EFL] Add a missing file in CMakeListEfl.txt
https://bugs.webkit.org/show_bug.cgi?id=47480
IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added.
* CMakeListsEfl.txt:
2010-10-12 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Need WebKit2 API to get the cell above a table cell
<rdar://problem/8537111>
https://bugs.webkit.org/show_bug.cgi?id=47532
Re-factor functionality to get the cell above a table cell
into a function on HTMLTableCellElement and export it for use
as SPI.
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::cellAbove): Move implementation here...
* html/HTMLTableCellElement.h:
* page/Frame.cpp:
(WebCore::Frame::searchForLabelsAboveCell): ...from here.
2010-10-12 Dave Moore <davemoore@chromium.org>
Reviewed by Tony Chang.
Use new WebThemeEngine api on chromium / linux to draw scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=47473
* platform/chromium/ChromiumBridge.h:
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2010-10-12 Andreas Kling <kling@webkit.org>
Reviewed by Antonio Gomes.
[Qt] Clipping problem viewing SVG with WebKit
https://bugs.webkit.org/show_bug.cgi?id=29596
SVG path clipping (via GraphicsContext::clipPath()) was done using the
Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led
to misrenderings when nesting multiple clip paths.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipPath):
2010-10-07 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: refactoring of native breakpoints.
https://bugs.webkit.org/show_bug.cgi?id=47360
Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class.
Move stuff that depends on breakpoint type to corresponding subclass.
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::setNativeBreakpoint):
(WebCore::InspectorController::removeNativeBreakpoint):
(WebCore::InspectorController::findEventListenerBreakpoint):
(WebCore::InspectorController::findXHRBreakpoint):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setDOMBreakpoint):
(WebCore::InspectorDOMAgent::removeDOMBreakpoint):
(WebCore::InspectorDOMAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::removeBreakpointsForNode):
(WebCore::InspectorDOMAgent::createBreakpointId):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype.reset):
(WebInspector.BreakpointManager.prototype.createDOMBreakpoint):
(WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
(WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
(WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
(WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
(WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
(WebInspector.BreakpointManager.prototype.debuggerPaused):
(WebInspector.BreakpointManager.prototype.debuggerResumed):
(WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode):
(WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
(WebInspector.NativeBreakpoint):
(WebInspector.NativeBreakpoint.prototype.remove):
(WebInspector.NativeBreakpoint.prototype.get _frontendId):
(WebInspector.NativeBreakpoint.prototype.get _type):
(WebInspector.NativeBreakpoint.prototype._compare):
(WebInspector.NativeBreakpoint.prototype._onRemove):
(WebInspector.DOMBreakpoint):
(WebInspector.DOMBreakpoint.prototype.click):
(WebInspector.DOMBreakpoint.prototype.compareTo):
(WebInspector.DOMBreakpoint.prototype.populateLabelElement):
(WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s):
(WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append):
(WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement):
(WebInspector.DOMBreakpoint.prototype._condition):
(WebInspector.DOMBreakpoint.prototype._onRemove):
(WebInspector.EventListenerBreakpoint):
(WebInspector.EventListenerBreakpoint.prototype.compareTo):
(WebInspector.EventListenerBreakpoint.prototype.label):
(WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement):
(WebInspector.EventListenerBreakpoint.prototype._condition):
(WebInspector.XHRBreakpoint):
(WebInspector.XHRBreakpoint.prototype.compareTo):
(WebInspector.XHRBreakpoint.prototype.populateLabelElement):
(WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
(WebInspector.XHRBreakpoint.prototype._condition):
(WebInspector.domBreakpointTypeLabel):
(WebInspector.domBreakpointTypeContextMenuLabel):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointItem):
(WebInspector.BreakpointItem.prototype._breakpointClicked):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
(WebInspector.CallStackSidebarPane.prototype._breakpointHit):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode):
(WebInspector.DOMAgent.prototype._setDocument):
(WebInspector.DOMAgent.prototype._removeBreakpoints):
(WebInspector.childNodeRemoved):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.debuggerPaused):
* inspector/front-end/inspector.js:
(WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
(WebInspector.createDOMBreakpointsSidebarPane):
(WebInspector.reset):
2010-10-11 Eric Uhrhane <ericu@chromium.org>
Reviewed by Dumitru Daniliuc.
FileWriter should hold a reference to a Blob during write
https://bugs.webkit.org/show_bug.cgi?id=47318
Without this reference, the Blob might get garbage-collected from JS
before the write has completed, which would be quite unintuitive to the
user. I just grab a RefPtr to the Blob at write(), then clear it when
we're done.
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::stop):
(WebCore::FileWriter::write):
(WebCore::FileWriter::didWrite):
(WebCore::FileWriter::didFail):
* fileapi/FileWriter.h:
2010-10-11 Michael Saboff <msaboff@apple.com>
Reviewed by Darin Adler.
Changed DOMWindow to have a constructor. Updated the code generator
to add security checks to the constructors if CheckDomainSecurity is
set. Also changed the constructor generation code to use
globalObject->prototype() for DOMWindow object prototypes instead
of "self".
https://bugs.webkit.org/show_bug.cgi?id=47422
Test: fast/dom/Window/window-constructor.html
* bindings/scripts/CodeGeneratorJS.pm:
* page/DOMWindow.idl:
2010-10-11 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
[chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface.
https://bugs.webkit.org/show_bug.cgi?id=44992
In order to allow a graceful transition, ChromiumDataObject has been
reimplemented as a wrapper around the three different types of data
objects that the Chrome port uses:
1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject.
All the data that ClipboardChromium/DragDataChromium can potentially
use is copied over, regardless of whether or not it is needed.
2. ReadableDataObject -- used for dragging in and pasting into WebKit.
For efficiency, it caches an optimistic list of types it believes it
can handle. When getData() is called, a browser IPC is called to
retrieve the appropriate data.
3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it
buffers all data when dragging out of WebKit or copying/cutting.
Unfortunately, there is a difference between dragging out and
copying/cutting--on drag outs, the data is buffered and flushed out
when startDrag() is called. For copy/cut, any calls to setData()
result in a browser IPC right away, so calls to setData() in one
copy/cut event are not atomic.
Copy and paste has been changed to use the new data objects. Dragging
out uses the legacy data object, and dragging in now has two potential
entry points--one using the legacy data object, and one using
ReadableDataObject. Once Chromium transitions to using the new drag-in
interface, the old interface will be removed.
This change is covered by existing tests.
* WebCore.gypi:
* editing/chromium/EditorChromium.cpp:
(WebCore::Editor::newGeneralClipboard):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::ChromiumDataObject):
(WebCore::ChromiumDataObject::create):
(WebCore::ChromiumDataObject::createReadable):
(WebCore::ChromiumDataObject::createWritable):
(WebCore::ChromiumDataObject::clearData):
(WebCore::ChromiumDataObject::clearAll):
(WebCore::ChromiumDataObject::clearAllExceptFiles):
(WebCore::ChromiumDataObject::hasData):
(WebCore::ChromiumDataObject::types):
(WebCore::ChromiumDataObject::getData):
(WebCore::ChromiumDataObject::setData):
(WebCore::ChromiumDataObject::urlTitle):
(WebCore::ChromiumDataObject::setUrlTitle):
(WebCore::ChromiumDataObject::htmlBaseUrl):
(WebCore::ChromiumDataObject::setHtmlBaseUrl):
(WebCore::ChromiumDataObject::containsFilenames):
(WebCore::ChromiumDataObject::filenames):
(WebCore::ChromiumDataObject::setFilenames):
(WebCore::ChromiumDataObject::fileExtension):
(WebCore::ChromiumDataObject::setFileExtension):
(WebCore::ChromiumDataObject::fileContentFilename):
(WebCore::ChromiumDataObject::setFileContentFilename):
(WebCore::ChromiumDataObject::fileContent):
(WebCore::ChromiumDataObject::setFileContent):
* platform/chromium/ChromiumDataObject.h:
* platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp
(WebCore::ChromiumDataObjectLegacy::clearData):
(WebCore::ChromiumDataObjectLegacy::clearAll):
(WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles):
(WebCore::ChromiumDataObjectLegacy::hasData):
(WebCore::ChromiumDataObjectLegacy::types):
(WebCore::ChromiumDataObjectLegacy::getData):
(WebCore::ChromiumDataObjectLegacy::setData):
(WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy):
* platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h
(WebCore::ChromiumDataObjectLegacy::create):
(WebCore::ChromiumDataObjectLegacy::copy):
(WebCore::ChromiumDataObjectLegacy::urlTitle):
(WebCore::ChromiumDataObjectLegacy::setUrlTitle):
(WebCore::ChromiumDataObjectLegacy::htmlBaseUrl):
(WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl):
(WebCore::ChromiumDataObjectLegacy::containsFilenames):
(WebCore::ChromiumDataObjectLegacy::filenames):
(WebCore::ChromiumDataObjectLegacy::setFilenames):
(WebCore::ChromiumDataObjectLegacy::fileExtension):
(WebCore::ChromiumDataObjectLegacy::setFileExtension):
(WebCore::ChromiumDataObjectLegacy::fileContentFilename):
(WebCore::ChromiumDataObjectLegacy::setFileContentFilename):
(WebCore::ChromiumDataObjectLegacy::fileContent):
(WebCore::ChromiumDataObjectLegacy::setFileContent):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::create):
* platform/chromium/ClipboardChromium.h:
* platform/chromium/ReadableDataObject.cpp:
(WebCore::ReadableDataObject::getData):
* platform/chromium/WritableDataObject.cpp:
(WebCore::WritableDataObject::setData):
2010-10-11 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Remove WebIconFetcher from WebKit and IconFetcher from WebCore
https://bugs.webkit.org/show_bug.cgi?id=47523
Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses.
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/icon/IconFetcher.cpp: Removed.
* loader/icon/IconFetcher.h: Removed.
2010-10-11 Jia Pu <jpu@apple.com>
Reviewed by Adele Peterson.
Should commit pending autocorrection before next round of text checking.
https://bugs.webkit.org/show_bug.cgi?id=46986
<rdar://problem/8424535>
1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges().
2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when
selection changes, which occurs after every typing command.
* editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement
in m_correctionReplacementString.
(WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel().
* editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string.
2010-10-11 Oliver Hunt <oliver@apple.com>
Reviewed by Adam Barth.
Make fast/canvas/webgl/glsl-conformance pass again
https://bugs.webkit.org/show_bug.cgi?id=47525
Remove incorrect call to glGetShaderiv, so it is only
called in the case where we don't have our own simulated
log.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getShaderInfoLog):
2010-10-11 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Add WebKit2 equivalents for setValueForUser and setAutoFilled
<rdar://problem/8475934>
https://bugs.webkit.org/show_bug.cgi?id=47524
* WebCore.exp.in: Add needed export.
2010-10-11 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'.
https://bugs.webkit.org/show_bug.cgi?id=47508
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled):
(WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::webkitIndexedDB):
* page/DOMWindow.h:
* page/DOMWindow.idl:
2010-10-11 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
https://bugs.webkit.org/show_bug.cgi?id=47509
* WebCore.exp.in: Export toNode.
2010-10-11 Martin Robinson <mrobinson@igalia.com>
Reviewed by Tony Chang.
[GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+
https://bugs.webkit.org/show_bug.cgi?id=47244
Store the URI list as a String in DataObjectGtk, so that non-URI elements
are preserved when getData(...) is called. This necessitates some other
changes, including adding a m_filenames member to DataObjectGtk to store
filenames extracted during setURIList(...). The logic in getData(...) has
also changed to set success = true no matter what to match the spec. A
followup patch will remove this parameter completely for all platforms.
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::getData): Always succeed to match the HTML5
spec and Firefox. Simply return the uriList string from the DataObject
instead of reconstructing it from a vector of KURLs.
(WebCore::ClipboardGtk::setData): The DataObject now accepts a string
for the uriList parameter.
(WebCore::ClipboardGtk::types): Predicate the "Files" member on
DataObjectGtk::hasFilenames().
(WebCore::ClipboardGtk::files): Update to reflect the change from
DataObjectGtk::files() to DataObjectGtk::filenames().
* platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::setURIList): Expanded this setter to find the
first valid URL to use as the m_url member and also extract a list of filenames
from the URI list.
(WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList.
(WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and
also leave a comment explaining why we do not clear filenames here.
* platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::url): This implementation is now a simple getter.
(WebCore::DataObjectGtk::uriList): Ditto.
(WebCore::DataObjectGtk::filenames): Added.
(WebCore::DataObjectGtk::hasURL): Now a simple check.
(WebCore::DataObjectGtk::hasFilenames): Added.
(WebCore::DataObjectGtk::clearURIList): Simple setter.
(WebCore::DataObjectGtk::clearURL): Ditto.
* platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames().
(WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames().
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now.
(WebCore::PasteboardHelper::fillSelectionData): Ditto.
(WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto.
2010-10-11 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer
https://bugs.webkit.org/show_bug.cgi?id=47241
Avoid initializing accelerated graphics objects on CanvasRenderingContext2D
if there is no drawingContext associated with the canvas.
Test: fast/canvas/access-zero-sized-canvas.html
fast/canvas/canvas-skia-excessive-size.html
fast/canvas/toDataURL-noData.html
with --accelerated-compositing and --accelerated-2d-canvas
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::reset):
2010-10-11 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Cleanup font selection code for the Freetype backend
https://bugs.webkit.org/show_bug.cgi?id=47503
Do some miscellaneous cleanup work in the Freetype font font selection backend.
* platform/graphics/cairo/FontCacheFreeType.cpp:
(WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return
a WebCore String.
(WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly
handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string
comparisons using WebCore Strings. Remove a large block comment that originated from a
Apache-licensed file.
2010-10-11 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Buttons activated with the keyboard should be painted as clicked
https://bugs.webkit.org/show_bug.cgi?id=18364
When a button is pressed, force it into the hovered state as far as the
Mozilla theme drawing code is concerned. This bug also seems to be an
issue for Firefox. When we switch away from the Mozilla theme drawing
code this work-around should no longer be necessary.
No new tests. I was not able to generate a pixel test for this issue. It
seems that our DRT does not have the necessary infrastructure to generate a
pixel dump while a button is in the pressed state.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintRenderObject):
2010-10-11 Jian Li <jianli@chromium.org>
Unreviewed. Build fix.
* bindings/js/JSArrayBufferCustom.cpp:
* bindings/js/JSArrayBufferViewCustom.cpp:
* bindings/js/JSFloat32ArrayCustom.cpp:
* bindings/js/JSInt16ArrayCustom.cpp:
* bindings/js/JSInt32ArrayCustom.cpp:
* bindings/js/JSInt8ArrayCustom.cpp:
* bindings/js/JSUint16ArrayCustom.cpp:
* bindings/js/JSUint32ArrayCustom.cpp:
* bindings/js/JSUint8ArrayCustom.cpp:
* bindings/v8/custom/V8ArrayBufferCustom.cpp:
* bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
* bindings/v8/custom/V8Float32ArrayCustom.cpp:
* bindings/v8/custom/V8Int16ArrayCustom.cpp:
* bindings/v8/custom/V8Int32ArrayCustom.cpp:
* bindings/v8/custom/V8Int8ArrayCustom.cpp:
* bindings/v8/custom/V8Uint16ArrayCustom.cpp:
* bindings/v8/custom/V8Uint32ArrayCustom.cpp:
* bindings/v8/custom/V8Uint8ArrayCustom.cpp:
2010-10-11 Brent Fulgham <bfulgham@webkit.org>
Unreviewed WinCairo build fixes.
* platform/network/curl/ResourceResponse.h: Correct forward declaration
for CFURLResponseRef.
* rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new
header file to avoid build failure on non-VIDEO builds.
2010-10-11 Jian Li <jianli@chromium.org>
Reviewed by Adam Barth.
Add File API feature guard to all typed array files
https://bugs.webkit.org/show_bug.cgi?id=47437
Since we're going to add ArrayBuffer support to FileReader and BlobBuilder,
we need to update all type array files to include File API feature guard
in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in
XMLHttpRequest, we will then remove all the guards. This is per the
discussion on webkit-dev mailing list:
https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html
* html/canvas/ArrayBuffer.cpp:
* html/canvas/ArrayBuffer.idl:
* html/canvas/ArrayBufferView.cpp:
* html/canvas/ArrayBufferView.idl:
* html/canvas/Float32Array.cpp:
* html/canvas/Float32Array.idl:
* html/canvas/Int16Array.cpp:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.cpp:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.cpp:
* html/canvas/Int8Array.idl:
* html/canvas/Uint16Array.cpp:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.cpp:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.cpp:
* html/canvas/Uint8Array.idl:
2010-10-11 Andreas Kling <kling@webkit.org>
Build fix (implicit float conversion in Path.cpp)
* platform/graphics/Path.cpp:
2010-10-11 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Refactor Plugin X Pixmap painting code to a separate function
The refactored function will be used for rendering by the Accelerated
Composition enabled graphics layer.
https://bugs.webkit.org/show_bug.cgi?id=35524
* plugins/PluginView.h:
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::paintUsingXPixmap):
(WebCore::PluginView::paint):
2010-10-11 Andreas Kling <kling@webkit.org>
Reviewed by Dirk Schulze.
SVG: Remove "create" methods and use port-specific "add" counterparts
https://bugs.webkit.org/show_bug.cgi?id=46052
Circles and ellipses will be significantly faster on platforms that
implement Path::addEllipse() in a sane fashion.
Also, a lot of Path copying has been factored out by changing functions
that would return Paths to take Path& arguments instead (toPathData, toClipPath)
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
* mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::paint):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::addRoundedRectClip):
(WebCore::GraphicsContext::clipOutRoundedRect):
* platform/graphics/Path.cpp:
(WebCore::pathLengthApplierFunction):
(WebCore::Path::addRoundedRect):
* platform/graphics/Path.h:
* platform/graphics/cairo/ContextShadowCairo.cpp:
(WebCore::ContextShadow::drawRectShadowWithoutTiling):
(WebCore::ContextShadow::drawRectShadow):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing):
(WebCore::GraphicsContext::drawTiledShadow):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::paintBoxShadow):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::layout):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::layoutPath):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::animationPath):
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::toPathData):
* svg/SVGCircleElement.h:
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::toPathData):
* svg/SVGEllipseElement.h:
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::toPathData):
* svg/SVGLineElement.h:
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getTotalLength):
(WebCore::SVGPathElement::getPointAtLength):
(WebCore::SVGPathElement::toPathData):
* svg/SVGPathElement.h:
* svg/SVGPolygonElement.cpp:
(WebCore::SVGPolygonElement::toPathData):
* svg/SVGPolygonElement.h:
* svg/SVGPolylineElement.cpp:
(WebCore::SVGPolylineElement::toPathData):
* svg/SVGPolylineElement.h:
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::toPathData):
* svg/SVGRectElement.h:
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::toClipPath):
* svg/SVGStyledTransformableElement.h:
(WebCore::SVGStyledTransformableElement::toPathData):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::toClipPath):
* svg/SVGUseElement.h:
2010-10-01 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough.
[ES5] Implement strict mode
https://bugs.webkit.org/show_bug.cgi?id=10701
Test: fast/js/basic-strict-mode.html
Override toStrictThisObject on the domwindow so that
it correctly provides the shell object when used as this
in a strict mode function.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::toStrictThisObject):
* bindings/js/JSDOMWindowBase.h:
2010-10-11 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Eric Carlson.
CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
https://bugs.webkit.org/show_bug.cgi?id=46777
Another case that could lead to an improper set of states between
m_currentNode and m_loadingState. Also added an ASSERT and early
return to prevent crashes if this case can still happen in other ways.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad):
2010-10-11 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
spellcheck="false" not respected in designMode
https://bugs.webkit.org/show_bug.cgi?id=39978
The bug was caused by WebKit's setting focus to html element rather than body element in design mode.
Because we disable spell-check only if ancestor nodes of the focused element had spellcheck=false,
this caused us to ignore body element's spellcheck attribute.
Fixed the bug by overriding supportsFocus in HTMLBodyElement to make body element focusable
when the parent node of body elements (namely html element) is editable.
Test: editing/spelling/design-mode-spellcheck-off.html
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::supportsFocus): Added.
* html/HTMLBodyElement.h:
2010-10-11 Oliver Hunt <oliver@apple.com>
Build fix -- I thought i had killed the prior commit in time to have this be part of the commit.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getShaderInfoLog):
2010-10-11 Oliver Hunt <oliver@apple.com>
Reviewed by Andreas Kling.
Incorrect handling of 0 length logs in GraphicsContext3DOpenGL.cpp
https://bugs.webkit.org/show_bug.cgi?id=47494
Working on another patch I found that there was some screwy behaviour
when dealing with logs from GL. GL_INFO_LOG_LENGTH is defined as being
zero if there is no log message, but we did not check for that case and
simply perfomed a zero sized alloc and passed the resultant buffer to
glGetShaderInfoLog, etc. glGetShaderInfoLog would then write a null
terminator to the buffer, thus causing an overflow. This is obviously
not a problem in practice as allocations are at least 4 bytes long in
all common allocators, but it is still a bug.
I also removed some unnecessary null checks following calls to fastMalloc.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getShaderInfoLog):
2010-10-11 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Andreas Kling.
Kill Path::debugString()
https://bugs.webkit.org/show_bug.cgi?id=47493
Remove the obsolete Path::debugString() method. DRT now dumps paths in a platform independant way.
* platform/graphics/Path.h:
* platform/graphics/cairo/PathCairo.cpp:
* platform/graphics/cg/PathCG.cpp:
* platform/graphics/haiku/PathHaiku.cpp:
* platform/graphics/openvg/PathOpenVG.cpp:
* platform/graphics/qt/PathQt.cpp:
* platform/graphics/skia/PathSkia.cpp:
* platform/graphics/wince/PathWinCE.cpp:
* platform/graphics/wince/PlatformPathWinCE.cpp:
* platform/graphics/wince/PlatformPathWinCE.h:
* platform/graphics/wx/PathWx.cpp:
* svg/SVGGlyphElement.h:
(WebCore::SVGGlyphIdentifier::operator==):
2010-10-11 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Search field icons should be centered vertically in the field
https://bugs.webkit.org/show_bug.cgi?id=47441
Center search field icons vertically in the search field.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::centerRectVerticallyInParentInputElement): Added this helper.
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Center the search
field icon by adjusting its drawing rect relative to the containing search field.
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
2010-10-11 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: fix event listener breakpoints sidebar pane style
https://bugs.webkit.org/show_bug.cgi?id=47487
* inspector/front-end/inspector.css:
(.section .properties, .event-bar .event-properties):
(.section.expanded .properties, .event-bar.expanded .event-properties):
(.properties-tree):
(.properties-tree li):
(.properties-tree li.parent):
(.properties-tree li.parent::before):
(.properties-tree li.parent.expanded::before):
(.properties-tree li .info):
(.properties-tree ol, .stack-trace ol, ol.stack-trace):
(.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
(ol.stack-trace):
(.event-listener-breakpoints .event-category):
(.event-listener-breakpoints.properties-tree .children li):
(.event-listener-breakpoints .checkbox-elem):
(.breakpoint-list .breakpoint-hit):
2010-10-11 Andreas Kling <kling@webkit.org>
Reviewed by Tor Arne Vestbø.
[Qt] Avoid QPainterPath::operator=(QPainterPath()) when possible
Same concept as <http://trac.webkit.org/changeset/69462>, do nothing
when clearing an already empty QPainterPath. Avoids one delete+new.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::clearCurrentPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::beginPath):
2010-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Unreviewed. Remove unnecessary GTK+ and Pango includes.
* platform/gtk/FileChooserGtk.cpp:
* platform/gtk/Language.cpp:
2010-10-11 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Support DirectoryEntry.removeRecursively for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=47400
Also disallows remove/removeRecursively on the root directory.
Test: fast/filesystem/op-remove.html
* fileapi/DOMFileSystemBase.cpp:
(WebCore::DOMFileSystemBase::removeRecursively): Added.
* fileapi/DOMFileSystemBase.h:
* fileapi/DirectoryEntry.cpp:
(WebCore::DirectoryEntry::removeRecursively): Added.
* fileapi/DirectoryEntry.h:
* fileapi/DirectoryEntry.idl:
* fileapi/DirectoryEntrySync.cpp:
(WebCore::DirectoryEntrySync::removeRecursively): Added.
* fileapi/DirectoryEntrySync.h:
* fileapi/DirectoryEntrySync.idl:
* platform/AsyncFileSystem.h:
2010-10-11 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG feImage take preserveAspectRatio into account for absolute paint rect
https://bugs.webkit.org/show_bug.cgi?id=47464
Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::determineAbsolutePaintRect):
(WebCore::FEImage::apply):
* svg/graphics/filters/SVGFEImage.h:
2010-10-10 Abhishek Arya <inferno@chromium.org>
Reviewed by Dan Bernstein.
<rdar://problem/8510200> Lines flow around a float that has been removed
Overhanging floats are not added to flexible boxes since they behave like
block formatting contexts. This causes the intruding floats added in siblings
to not get cleared. Enforce the float release by checking if the parent is a
flexible box and if yes, use that as the outermost block.
https://bugs.webkit.org/show_bug.cgi?id=47104
Test: fast/flexbox/overhanging-floats-removed.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2010-10-10 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: if aria-live is on a <span> or ignored element, live regions don't work
https://bugs.webkit.org/show_bug.cgi?id=47443
If an element has aria attributes, but has no other native role associated with it,
accessibility should fallback to exposing that element as an AXGroup.
Test: platform/mac/accessibility/live-region-on-span.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2010-10-10 Daniel Cheng <dcheng@chromium.org>
Reviewed by Adam Barth.
[chromium] Clipboard no longer accepts 'text' as a synonym for 'text/plain'
https://bugs.webkit.org/show_bug.cgi?id=47419
This was a regression introduced in r68807. mimeTypeText had the incorrect
value.
Test: editing/pasteboard/dataTransfer-setData-getData.html
* platform/chromium/ClipboardMimeTypes.cpp:
2010-10-09 Eric Uhrhane <ericu@chromium.org>
Reviewed by Andreas Kling.
FileWriter sends write event instead of progress event
https://bugs.webkit.org/show_bug.cgi?id=47454
No new tests; FileWriter tests will be added shortly, but currently
there's no implementation capable of running them.
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::didWrite):
2010-10-09 Andreas Kling <kling@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Fast-path in Path::clear() for already empty paths
https://bugs.webkit.org/show_bug.cgi?id=47460
The only way to clear a QPainterPath is to assign QPainterPath() to it.
Avoid creating a temporary object etc if the path is already empty.
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::clear):
2010-10-08 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Redo in ReplaceNodeWithSpanCommand is broken
https://bugs.webkit.org/show_bug.cgi?id=47428
The bug was caused by ReplaceNodeWithSpanCommand's inheriting from CompositeEditCommand,
and ReplaceNodeWithSpanCommand's not implementing doReapply. Because ReplaceNodeWithSpanCommand's doApply
directly modifies DOM and does not use simple edit commands while CompositeEditCommand's doReapply
only calls reapply of compositing simple edit commands, ReplaceNodeWithSpanCommand's doReapply was no-op.
Fixed the bug by changing the base class of ReplaceNodeWithSpanCommand to SimpleEditCommand.
This allows ReplaceNodeWithSpanCommand's doReapply to call its doApply, which already supports redo operation.
Test: editing/undo/replace-by-span-then-remove.html
* editing/ReplaceNodeWithSpanCommand.cpp:
(WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
* editing/ReplaceNodeWithSpanCommand.h:
2010-10-09 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Implement subregion rendering in WebView when using gtk3
https://bugs.webkit.org/show_bug.cgi?id=47411
* GNUmakefile.am:
* platform/graphics/FloatRect.h:
* platform/graphics/cairo/FloatRectCairo.cpp: Added.
(WebCore::FloatRect::FloatRect):
(WebCore::FloatRect::operator cairo_rectangle_t):
2010-10-09 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Implement subregion rendering in WebView when using gtk3
https://bugs.webkit.org/show_bug.cgi?id=47411
* GNUmakefile.am:
* platform/graphics/FloatRect.h:
* platform/graphics/cairo/FloatRectCairo.cpp: Added.
(WebCore::FloatRect::FloatRect):
(WebCore::FloatRect::operator cairo_rectangle_t):
2010-10-09 Kwang Yul Seo <skyul@company100.net>
Reviewed by Andreas Kling.
Add ENABLE(ACCELERATED_2D_CANVAS) guard for m_uploadTexture
https://bugs.webkit.org/show_bug.cgi?id=47114
PlatformContextSkia's m_uploadTexture is used only in code guarded with ENABLE(ACCELERATED_2D_CANVAS).
* platform/graphics/skia/PlatformContextSkia.h:
2010-10-09 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Barth.
Use WTF::StringHasher for hashing MappedAttributeKey
https://bugs.webkit.org/show_bug.cgi?id=46516
* dom/StyledElement.cpp:
(WebCore::MappedAttributeHash::hash):
2010-10-09 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[Gtk] Non-rectangular buttons have a square background behind them
https://bugs.webkit.org/show_bug.cgi?id=23569
Remove some code which was clearing pieces of the GdkDrawable if it was
currently mapped to a window. In our case it is unnecessary, because the
platform-independent parts of the render have already cleared this section
if it is needed.
Mozilla must not trip this code path, which means they are probably rendering
most often to a non-mapped GdkPixmap.
No new tests as some themed rendering is covered by existing tests that
render buttons. This particular bug is very hard to test as it only appears
with certain GTK+ themes and we currently have no mechanism to test different
themes in DRT.
* platform/gtk/gtk2drawing.c:
(moz_gtk_button_paint): Remove unnecessary code.
2010-10-09 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Slider padding translate into a larger track rect
https://bugs.webkit.org/show_bug.cgi?id=47435
Instead of painting the track rectangle for ranges onto the entire RenderBox
rectangle, simply paint it on the content rectangle. This prevents misrendering
sliders with padding.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintSliderTrack): Paint onto the absoluteContentRect
of the slider instead of the entire area (which includes padding).
2010-10-09 Kent Tamura <tkent@chromium.org>
Unreviewed, trivial regression fix for r69445.
RangeInputType::supportsRequired() should return false.
https://bugs.webkit.org/show_bug.cgi?id=47405
* html/RangeInputType.cpp:
(WebCore::RangeInputType::supportsRequired):
* html/RangeInputType.h:
2010-10-09 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Refactor HTMLInputElement: Move typeMismatch(), valueMissing(),
isRequiredFormControl(), and recalcWillValidate()
https://bugs.webkit.org/show_bug.cgi?id=47405
Also make checkedRadioButtons() an inline member function of
HTMLInputElement in order that RadioInputType can use it.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::typeMismatchFor):
(WebCore::BaseDateAndTimeInputType::typeMismatch):
* html/BaseDateAndTimeInputType.h:
* html/ButtonInputType.cpp:
(WebCore::ButtonInputType::supportsValidation):
* html/ButtonInputType.h:
* html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::valueMissing):
* html/CheckboxInputType.h:
* html/ColorInputType.cpp:
(WebCore::isValidColorString):
(WebCore::ColorInputType::typeMismatchFor):
(WebCore::ColorInputType::typeMismatch):
(WebCore::ColorInputType::supportsRequired):
* html/ColorInputType.h:
* html/EmailInputType.cpp:
(WebCore::isValidEmailAddress):
(WebCore::EmailInputType::typeMismatchFor):
(WebCore::EmailInputType::typeMismatch):
* html/EmailInputType.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::valueMissing):
* html/FileInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateCheckedRadioButtons):
(WebCore::HTMLInputElement::isValidValue):
(WebCore::HTMLInputElement::typeMismatch):
(WebCore::HTMLInputElement::valueMissing):
(WebCore::HTMLInputElement::isKeyboardFocusable):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::preDispatchEventHandler):
(WebCore::HTMLInputElement::isRequiredFormControl):
(WebCore::HTMLInputElement::recalcWillValidate):
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::checkedRadioButtons):
* html/HiddenInputType.cpp:
(WebCore::HiddenInputType::supportsValidation):
* html/HiddenInputType.h:
* html/ImageInputType.cpp:
(WebCore::ImageInputType::supportsValidation):
* html/ImageInputType.h:
* html/InputType.cpp:
(WebCore::InputType::supportsValidation):
(WebCore::InputType::typeMismatchFor):
(WebCore::InputType::typeMismatch):
(WebCore::InputType::supportsRequired):
(WebCore::InputType::valueMissing):
* html/InputType.h:
* html/IsIndexInputType.cpp:
(WebCore::IsIndexInputType::supportsRequired):
* html/IsIndexInputType.h:
* html/NumberInputType.cpp:
(WebCore::NumberInputType::typeMismatchFor):
(WebCore::NumberInputType::typeMismatch):
* html/NumberInputType.h:
* html/RadioInputType.cpp:
(WebCore::RadioInputType::valueMissing):
* html/RadioInputType.h:
* html/ResetInputType.cpp:
(WebCore::ResetInputType::supportsValidation):
* html/ResetInputType.h:
* html/SubmitInputType.cpp:
(WebCore::SubmitInputType::supportsValidation):
* html/SubmitInputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::valueMissing):
* html/TextFieldInputType.h:
* html/URLInputType.cpp:
(WebCore::URLInputType::typeMismatchFor):
(WebCore::URLInputType::typeMismatch):
* html/URLInputType.h:
* html/ValidityState.cpp:
(WebCore::ValidityState::typeMismatch):
2010-10-09 Pratik Solanki <psolanki@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47450
Crash in WebCore::SocketStreamHandle::chooseProxyFromArray because proxyArray passed is nil
<rdar://problem/8244376>
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::chooseProxyFromArray): If proxyArray is
NULL, return early to avoid crash.
2010-10-08 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
Add HRTFPanner files
https://bugs.webkit.org/show_bug.cgi?id=46299
No new tests since audio API is not yet implemented.
* platform/audio/HRTFPanner.cpp: Added.
(WebCore::HRTFPanner::HRTFPanner):
(WebCore::HRTFPanner::~HRTFPanner):
(WebCore::HRTFPanner::fftSizeForSampleRate):
(WebCore::HRTFPanner::reset):
(WebCore::wrapDistance):
(WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
(WebCore::HRTFPanner::pan):
* platform/audio/HRTFPanner.h: Added.
(WebCore::HRTFPanner::fftSize):
(WebCore::HRTFPanner::sampleRate):
2010-10-08 James Robinson <jamesr@chromium.org>
Reviewed by Adam Barth.
Avoid inlining large and/or virtual functions in widely included header files
https://bugs.webkit.org/show_bug.cgi?id=47230
Functions with very large bodies should not be included in widely included header files.
This results in the function's code ending up included in hundreds of object files that
the linker has to discard, at a cost of linker memory use, link time, and disk space. This
is a particular problem in the Chromium windows build where MSVC often exhausts its 32-bit
virtual address space and completely fails to link.
This patch moves function definitions from the .h to the corresponding .cpp when the function
is large and not a candidate for inlining either because it is virtual or because its size is
above any reasonable compiler's threshhold for inlining. The most common case by far in this
patch is changing a class' implicitly defined destructor to an explicitly declared d'tor in
the header and an explicitly defined d'tor in the .cpp. This is important since many of our
container and utility classes (especially Vector, String, and HashSet) have quite large
destructors.
This patch removes 22.4MB of object file size in a debug 64 bit compile.
* css/CSSBorderImageValue.cpp:
(WebCore::CSSBorderImageValue::~CSSBorderImageValue):
* css/CSSBorderImageValue.h:
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
* css/CSSFontFaceSrcValue.h:
* css/CSSFunctionValue.h:
* dom/BeforeTextInsertedEvent.cpp:
(WebCore::BeforeTextInsertedEvent::~BeforeTextInsertedEvent):
* dom/BeforeTextInsertedEvent.h:
* dom/BeforeUnloadEvent.cpp:
(WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
* dom/BeforeUnloadEvent.h:
* dom/ClassNodeList.h:
* dom/ClipboardEvent.cpp:
(WebCore::ClipboardEvent::~ClipboardEvent):
* dom/ClipboardEvent.h:
* dom/CustomEvent.cpp:
(WebCore::CustomEvent::~CustomEvent):
* dom/CustomEvent.h:
* dom/Element.cpp:
* dom/Element.h:
* dom/EventTarget.cpp:
(WebCore::EventTargetData::EventTargetData):
* dom/EventTarget.h:
* dom/InputElement.cpp:
(WebCore::InputElementData::~InputElementData):
* dom/InputElement.h:
* dom/MutationEvent.cpp:
(WebCore::MutationEvent::~MutationEvent):
* dom/MutationEvent.h:
* dom/Node.cpp:
(WebCore::Node::refEventTarget):
(WebCore::Node::derefEventTarget):
* dom/Node.h:
* dom/OptionElement.cpp:
(WebCore::OptionElementData::~OptionElementData):
* dom/OptionElement.h:
* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::~PopStateEvent):
* dom/PopStateEvent.h:
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::~QualifiedName):
* dom/QualifiedName.h:
* dom/SelectElement.cpp:
(WebCore::SelectElementData::~SelectElementData):
* dom/SelectElement.h:
* dom/StaticHashSetNodeList.cpp:
(WebCore::StaticHashSetNodeList::StaticHashSetNodeList):
(WebCore::StaticHashSetNodeList::~StaticHashSetNodeList):
* dom/StaticHashSetNodeList.h:
* dom/StyleElement.cpp:
(WebCore::StyleElement::~StyleElement):
* dom/StyleElement.h:
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::TouchEvent):
(WebCore::TouchEvent::~TouchEvent):
* dom/TouchEvent.h:
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::~CompositeEditCommand):
* editing/CompositeEditCommand.h:
* editing/TextIterator.cpp:
(WebCore::BitStack::~BitStack):
(WebCore::TextIterator::~TextIterator):
(WebCore::WordAwareIterator::~WordAwareIterator):
* editing/TextIterator.h:
* inspector/InspectorValues.cpp:
(WebCore::InspectorObject::~InspectorObject):
(WebCore::InspectorObject::InspectorObject):
(WebCore::InspectorArray::~InspectorArray):
(WebCore::InspectorArray::InspectorArray):
* inspector/InspectorValues.h:
* loader/CachedResource.cpp:
(WebCore::CachedResource::registerHandle):
(WebCore::CachedResource::unregisterHandle):
* loader/CachedResource.h:
* platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::HTTPHeaderMap):
(WebCore::HTTPHeaderMap::~HTTPHeaderMap):
(WebCore::HTTPHeaderMap::get):
(WebCore::HTTPHeaderMap::add):
* platform/network/HTTPHeaderMap.h:
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::~RenderApplet):
* rendering/RenderApplet.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::~RenderButton):
* rendering/RenderButton.h:
* rendering/RenderCounter.cpp:
(WebCore::RenderCounter::~RenderCounter):
* rendering/RenderCounter.h:
* rendering/RenderFieldset.h:
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::~RenderForeignObject):
* rendering/RenderForeignObject.h:
* rendering/RenderFrame.h:
* rendering/RenderFrameBase.h:
* rendering/RenderHTMLCanvas.h:
* rendering/RenderIFrame.h:
* rendering/RenderInline.h:
* rendering/RenderListItem.h:
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::~RenderMarquee):
* rendering/RenderMarquee.h:
* rendering/RenderPath.cpp:
(WebCore::RenderPath::~RenderPath):
* rendering/RenderPath.h:
* rendering/RenderSVGBlock.h:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::~RenderSVGContainer):
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGHiddenContainer.h:
* rendering/RenderSVGInline.h:
* rendering/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::~RenderSVGInlineText):
* rendering/RenderSVGInlineText.h:
* rendering/RenderSVGModelObject.h:
* rendering/RenderSVGResourceFilterPrimitive.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::~RenderSVGRoot):
* rendering/RenderSVGRoot.h:
* rendering/RenderSVGTSpan.h:
* rendering/RenderSVGText.h:
* rendering/RenderSVGTextPath.h:
* rendering/RenderSVGTransformableContainer.h:
* rendering/RenderSVGViewportContainer.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::~RenderTable):
* rendering/RenderTable.h:
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.h:
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::~RenderTextFragment):
* rendering/RenderTextFragment.h:
* rendering/RenderWordBreak.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::~SVGStyledElement):
* svg/SVGStyledElement.h:
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::~SVGStyledTransformableElement):
* svg/SVGStyledTransformableElement.h:
* xml/XPathParser.cpp:
(WebCore::XPath::Parser::~Parser):
* xml/XPathParser.h:
2010-10-08 Martin Robinson <mrobinson@igalia.com>
Reviewed by Daniel Bates.
[GTK] Fails /LayoutTests/fast/css/button-height.html
https://bugs.webkit.org/show_bug.cgi?id=33936
GTK buttons honor height property set via CSS. The code for the method
adjustButtonStyle originates from the original GTK+ theme drawing code
and is clearly just a copy-paste from the Safari theme drawing code. The
Safari theme drawing code does quite a bit of work to ensure that button
fonts are consistent with the system theme, which is not something the GTK+
port does.
This change brings the method more in line with the Chromium port, which
allows CSS to style buttons, only overriding the line-height property,
which is required for layout tests to pass.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::adjustButtonStyle): No longer override most CSS
properties for button styling.
2010-10-08 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
popstate events are lost when network connection is in progress
https://bugs.webkit.org/show_bug.cgi?id=42940
Instead of checking FrameLoader::isComplete() (which isn't true if the
document's resource loader has requests outstanding), check that the
document's readyState is complete, as the spec says.
Test: http/tests/history/popstate-fires-with-pending-requests.html
* dom/Document.cpp:
(WebCore::Document::statePopped):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument): Added call to set readyState
to Loading earlier. Otherwise, readyState's initial value is Complete,
and we only set it to Loading in Document::implicitOpen (which is called
after FrameLoader::didBeginDocument by DocumentWriter::begin), so we
could end up in Document::statePopped and have the readyState be
Complete, even if we hadn't even begin loading the document.
2010-10-08 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
[chromium] Update ReadableDataObject/WritableDataObject interface for ChromiumDataObject change
https://bugs.webkit.org/show_bug.cgi?id=47394
Minor cleanup--these classes have suffered from bit rot since they aren't
actively used at the moment. The three main changes are to:
1) Condense getURL, setURL, getHTML, setHTML, urlTitle, htmlBaseUrl,
setUrlTitle, and sethtmlBaseUrl into setters/getters for just the URL
title and HTML base URL.
2) Use Clipboard::ClipboardType instead of a bool.
3) Remove the use of virtuals, as they are no longer needed..
* platform/chromium/ReadableDataObject.cpp:
(WebCore::clipboardBuffer):
(WebCore::ReadableDataObject::create):
(WebCore::ReadableDataObject::ReadableDataObject):
(WebCore::ReadableDataObject::getData):
(WebCore::ReadableDataObject::urlTitle): renamed from getURL
(WebCore::ReadableDataObject::htmlBaseUrl): renamed from getHTML
(WebCore::ReadableDataObject::containsFilenames):
(WebCore::ReadableDataObject::filenames):
(WebCore::ReadableDataObject::ensureTypeCacheInitialized):
* platform/chromium/ReadableDataObject.h:
* platform/chromium/WritableDataObject.cpp:
(WebCore::WritableDataObject::create):
(WebCore::WritableDataObject::WritableDataObject):
(WebCore::WritableDataObject::setData):
* platform/chromium/WritableDataObject.h:
(WebCore::WritableDataObject::setUrlTitle): renamed from setURL
(WebCore::WritableDataObject::setHtmlBaseUrl): renamed from setHTML
(WebCore::WritableDataObject::dataMap):
(WebCore::WritableDataObject::urlTitle):
(WebCore::WritableDataObject::htmlBaseURL):
(WebCore::WritableDataObject::fileExtension):
(WebCore::WritableDataObject::fileContentFilename):
(WebCore::WritableDataObject::fileContent):
(WebCore::WritableDataObject::setFileExtension):
(WebCore::WritableDataObject::setFileContentFilename):
(WebCore::WritableDataObject::setFileContent):
2010-10-08 Abhishek Arya <inferno@chromium.org>
Unreviewed, rolling out r69360.
http://trac.webkit.org/changeset/69360
https://bugs.webkit.org/show_bug.cgi?id=46921
Test still crashing on chromium test_shell
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderFallbackContent):
2010-10-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r68574.
http://trac.webkit.org/changeset/68574
https://bugs.webkit.org/show_bug.cgi?id=47433
[chromium] Breaks partial repaint of images while scrolling
(Requested by jamesr on #webkit).
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode):
(WebCore::drawResampledBitmap):
2010-10-08 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r66223): Crash when using CSS content and -webkit-mask-box-image properties containing cached images.
https://bugs.webkit.org/show_bug.cgi?id=47430
Test: fast/replaced/css-content-and-webkit-mask-box-image-crash.html
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged): imageChanged() can be called prior
to m_imageResource being set. The appropriate thing to do in this case
is to return early.
(WebCore::RenderImage::notifyFinished): Ditto.
2010-10-08 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IndexedDB does not have a quota mechanism.
https://bugs.webkit.org/show_bug.cgi?id=47389
Test: storage/indexeddb/database-quota.html
Add a simple mechanism for enforcing a maximum size
for each origin using IndexedDB. Note that this depends
on having one SQLite database file per origin, which is
addressed in a separate patch.
* page/GroupSettings.cpp:
(WebCore::GroupSettings::GroupSettings):
(WebCore::GroupSettings::setIndexedDBQuotaBytes):
* page/GroupSettings.h:
(WebCore::GroupSettings::indexedDBQuotaBytes):
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::openSQLiteDatabase):
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::putObjectStoreData):
(WebCore::putIndexData):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
* storage/IDBObjectStoreBackendImpl.h:
2010-10-08 Gavin Peters <gavinp@chromium.org>
Reviewed by Adam Barth.
Output X-Purpose header for prefetch requests
https://bugs.webkit.org/show_bug.cgi?id=46529
Test: http/tests/misc/prefetch-purpose.html
* loader/loader.cpp:
(WebCore::Loader::Host::servePendingRequests):
2010-10-08 James Kozianski <koz@chromium.org>
Reviewed by Simon Fraser.
Crash on reload when CSS property 'content' has malformed URL.
https://bugs.webkit.org/show_bug.cgi?id=47322
Make CSSStyleSelector handle the case where a cached image can't be
produced due to a malformed URL.
Test: fast/css-generated-content/malformed-url.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::loadPendingImages):
2010-10-08 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG feImage needs absolute subregion for preserveAspectRatio
https://bugs.webkit.org/show_bug.cgi?id=47409
PreserverAspectRatio needs the subregion in absolute coordinates to determine
the destination position and size of the input image. The maxEffectRect() already
stores the absolute subregion, but clipped to the filter region.
Test: svg/W3C-SVG-1.1se/filters-image-03-f.svg
* platform/graphics/filters/FETile.cpp:
(WebCore::FETile::apply):
* platform/graphics/filters/FilterEffect.h: Added enum to differentate sourece inputs, feTile and feImage.
(WebCore::FilterEffect::filterEffectType):
* platform/graphics/filters/SourceAlpha.h: Make use of the new enum in FilterEffect
(WebCore::SourceAlpha::filterEffectType):
* platform/graphics/filters/SourceGraphic.h: Ditto.
(WebCore::SourceGraphic::filterEffectType):
* svg/graphics/filters/SVGFEImage.cpp: Take the absolute subregion to determine the destination rect for input image.
(WebCore::FEImage::apply):
* svg/graphics/filters/SVGFEImage.h: Ditto.
(WebCore::FEImage::setAbsoluteSubregion):
(WebCore::FEImage::filterEffectType):
* svg/graphics/filters/SVGFilter.cpp: Give over subregion in absolute coordinates to feImage. Just feImage makes use of it.
(WebCore::SVGFilter::determineFilterPrimitiveSubregion):
2010-10-08 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
gradient stroke on lines does not work
https://bugs.webkit.org/show_bug.cgi?id=40985
Correct handling of invalid fill/stroke paint servers / colors according to SVG 1.1 2nd Edition.
Perfectly matches Opera, and now lets us pass three of the new tests.
Fix incorrect svg/custom/invalid-fill* tests:
-> If there's an invalid fill URI, but no fallback specified, it is as if fill="black" was specified. (invalid-fill.svg)
-> If there's an invalid fill color, but no fallback specified, it is as if fill="none" was specified. (invalid-fill-hex.svg)
Needed to refactor some of the gradient/pattern code to properly handle fallback paint servers.
As side effect, we're allowing gradients with gradientUnits="userSpaceOnUse" to apply on 1d objects (lines) again, per SVG 1.1 2nd edition.
Tests: svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg
svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg
* rendering/RenderSVGResource.cpp: Rewrite fill/stroke paint resource requests, share all code between the similar functions.
(WebCore::requestPaintingResource):
(WebCore::RenderSVGResource::fillPaintingResource):
(WebCore::RenderSVGResource::strokePaintingResource):
* rendering/RenderSVGResource.h:
* rendering/RenderSVGResourceGradient.cpp: Split collecting gradient properties from building the gradient. We don't need to build it, if it's not applyable (eg. on 1d lines).
(WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
(WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
(WebCore::clipToTextMask):
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourceGradient.h: Stop storing boundingBoxMode & gradientTransform in each GradientData object, it's enough to just store it in the gradient resource, once.
* rendering/RenderSVGResourceLinearGradient.cpp:
(WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes): Splitted from buildGradient.
(WebCore::RenderSVGResourceLinearGradient::buildGradient):
* rendering/RenderSVGResourceLinearGradient.h:
(WebCore::RenderSVGResourceLinearGradient::boundingBoxMode): Return bounding box mode information, from m_attributes instead of storing in gradientData.
(WebCore::RenderSVGResourceLinearGradient::calculateGradientTransform): Ditto.
* rendering/RenderSVGResourcePattern.cpp: Split collecting pattern properties from building the pattern. We don't need to build it, if it's not applyable (eg. on 1d lines).
(WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
(WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::RenderSVGResourcePattern::buildTileImageTransform):
* rendering/RenderSVGResourcePattern.h:
* rendering/RenderSVGResourceRadialGradient.cpp:
(WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
(WebCore::RenderSVGResourceRadialGradient::buildGradient):
* rendering/RenderSVGResourceRadialGradient.h:
(WebCore::RenderSVGResourceRadialGradient::boundingBoxMode):
(WebCore::RenderSVGResourceRadialGradient::calculateGradientTransform):
* rendering/SVGRenderTreeAsText.cpp: Adapt to change, that fill/strokePaintingResource now take a Color& fallbackColor parameter.
(WebCore::writeStyle):
(WebCore::writeSVGResourceContainer):
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::fillContains): Ditto.
(WebCore::RenderSVGPath::strokeContains): Ditto.
(WebCore::RenderSVGPath::fillAndStrokePath): Properly handle fallback color, if an existing (!) paint server failed to apply.
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::acquirePaintingResource): Ditto.
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientAttributes): Pass LinearGradientAttributes by reference, instead of returning a copy.
* svg/SVGLinearGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes): Pass PatternAttributes by reference, instead of returning.
* svg/SVGPatternElement.h: Rename collectPatternProperties to collectPatternAttributes.
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes): Pass RadialGradientAttributes by reference, instead of returning a copy.
* svg/SVGRadialGradientElement.h: Rename collectGradientProperties to collectGradientAttributes.
2010-10-08 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Andreas Kling.
[Qt] Slider widgets looks bad on Mac
https://bugs.webkit.org/show_bug.cgi?id=47421
This patch change the rendering of the slider to only have the
subcontrols that would be defined by default on a QSlider.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::paintSliderTrack):
2010-10-08 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Andreas Kling.
SVGFEColorMatrixElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=47342
The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
Tests: svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html
svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html
svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html
svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html
svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html
svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
* svg/SVGFEColorMatrixElement.h:
2010-10-08 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: save InspectorController in instrumentation cookie
https://bugs.webkit.org/show_bug.cgi?id=47406
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluate):
(WebCore::V8Proxy::callFunction):
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* dom/Node.cpp:
(WebCore::Node::dispatchGenericEvent):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::fired):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchEvent):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::paintContents):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
2010-10-08 Adam Roben <aroben@apple.com>
Windows Release build fix for 32-bit systems
WebCore had once again grown too large for the linker's virtual
address space on 32-bit systems. I combined WebCore/rendering,
WebCore/rendering/style, and WebCore/dom into new *AllInOne.cpp files,
and added a few more files to RenderSVGAllInOne.cpp.
Fixes <http://webkit.org/b/47417> <rdar://problem/8529362>
* WebCore.vcproj/WebCore.vcproj: Added new *AllInOne.cpp files and
excluded the individual files they contain from the build.
* rendering/RenderSVGAllInOne.cpp: Added a few more files to this.
* dom/DOMAllInOne.cpp: Added.
* rendering/RenderingAllInOne.cpp: Added.
* rendering/style/StyleAllInOne.cpp: Added.
2010-10-08 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Andreas Kling.
[Qt] Use constBegin and constEnd when using const iterators
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
(WebCore::GraphicsLayerQtImpl::updateTransform):
(WebCore::GraphicsLayerQtImpl::flushChanges):
2010-10-07 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add resource viewer to the network panel.
https://bugs.webkit.org/show_bug.cgi?id=47346
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.autoSizeColumns):
(WebInspector.DataGrid.prototype.updateWidths):
(WebInspector.DataGrid.prototype.columnWidthsMap):
(WebInspector.DataGrid.prototype.applyColumnWidthsMap):
(WebInspector.DataGrid.prototype.isColumnVisible):
(WebInspector.DataGrid.prototype.showColumn):
(WebInspector.DataGrid.prototype.hideColumn):
(WebInspector.DataGrid.prototype._positionResizers):
(WebInspector.DataGrid.prototype._resizerDragging):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype.updateSidebarWidth):
(WebInspector.NetworkPanel.prototype.updateMainViewWidth):
(WebInspector.NetworkPanel.prototype.handleShortcut):
(WebInspector.NetworkPanel.prototype._createTable):
(WebInspector.NetworkPanel.prototype._sortItems):
(WebInspector.NetworkPanel.prototype._sortByTimeline):
(WebInspector.NetworkPanel.prototype._createSummaryBar):
(WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
(WebInspector.NetworkPanel.prototype.hide):
(WebInspector.NetworkPanel.prototype.get searchableViews):
(WebInspector.NetworkPanel.prototype.refresh):
(WebInspector.NetworkPanel.prototype.reset):
(WebInspector.NetworkPanel.prototype.refreshResource):
(WebInspector.NetworkPanel.prototype.canShowSourceLine):
(WebInspector.NetworkPanel.prototype.showSourceLine):
(WebInspector.NetworkPanel.prototype._showResource):
(WebInspector.NetworkPanel.prototype._closeVisibleResource):
(WebInspector.NetworkPanel.prototype._resourceViewForResource):
(WebInspector.NetworkPanel.prototype._resourceViewTypeMatchesResource):
(WebInspector.NetworkPanel.prototype._toggleGridMode):
(WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
(WebInspector.NetworkDataGridNode):
(WebInspector.NetworkDataGridNode.prototype.select):
(WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
* inspector/front-end/networkPanel.css:
(#network-container):
(#network-views):
(.network.panel .data-grid.full-grid-mode .viewer-column):
(.network.panel .data-grid.brief-grid-mode .time-column):
(.network.panel.viewing-resource .network-timeline-grid):
(.network.panel .data-grid.viewing-resource-mode .timeline-column):
(.network.panel .network-sidebar):
(.network.panel:not(.viewing-resource) .sidebar-resizer-vertical):
(.network.panel.viewing-resource .data-grid-resizer):
(.network.panel .scope-bar):
(.network.panel .resource-view.headers-visible .resource-view-content):
(.network.panel:not(.viewing-resource) .data-grid tr.selected):
2010-10-08 Andreas Kling <kling@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGTextLayoutAttributesBuilder: "XValue" and "YValue" clash with X11 macros
https://bugs.webkit.org/show_bug.cgi?id=47180
Rename *Value to *ValueAttribute
* rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
(WebCore::SVGTextLayoutAttributesBuilder::nextLayoutValue):
(WebCore::SVGTextLayoutAttributesBuilder::assignLayoutAttributesForCharacter):
* rendering/svg/SVGTextLayoutAttributesBuilder.h:
2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
https://bugs.webkit.org/show_bug.cgi?id=47347
* WebCore.pro:
2010-10-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Implement IntRectEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=47403
Implement IntRect for Efl Port using Eina_Rectangle.
* platform/graphics/IntRect.h:
* platform/graphics/efl/IntRectEfl.cpp:
(WebCore::IntRect::IntRect):
(WebCore::IntRect::operator Eina_Rectangle):
2010-10-08 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Nikolas Zimmermann.
SVG: Make RenderPath DRT output platform-independent
https://bugs.webkit.org/show_bug.cgi?id=46051
Move away from using the port-specific Path::debugString() to dump
RenderPath objects. This shrinks the DRT output delta between platforms
and makes it more readable as we now dump only the relevant,
element-specific properties of each object.
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
Generate DRT output for RenderPaths in a platform-independent manner,
dumping the relevant element properties.
2010-10-08 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Fix FileSystem path validation order to normalize '..' and '.' before restriction checks
https://bugs.webkit.org/show_bug.cgi?id=47309
Test: fast/filesystem/op-get-entry.html
* fileapi/DOMFileSystemBase.cpp:
(WebCore::DOMFileSystemBase::getFile): Fixed the path validation order.
(WebCore::DOMFileSystemBase::getDirectory): Fixed the path validation order.
2010-10-08 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
[GTK] Port GTK+ theming code to GTK+ 3.x APIs
https://bugs.webkit.org/show_bug.cgi?id=47398
Create a new gtk3drawing file for the widget drawing primitives in
WebKit, using the GTK+ 3.x APIs. It's very similar to the GTK+ 2.x
code at the moment, but we'll evolve it incrementally from here.
* GNUmakefile.am:
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::partsForDrawable):
(WebCore::RenderThemeGtk::paintMozillaGtkWidget):
* platform/gtk/gtk2drawing.c:
(TSOffsetStyleGCArray):
(TSOffsetStyleGCs):
(moz_gtk_button_paint):
(moz_gtk_scrollbar_thumb_paint):
(moz_gtk_entry_paint):
(moz_gtk_combo_box_paint):
(moz_gtk_get_widget_border):
* platform/gtk/gtk3drawing.c: Added.
* platform/gtk/gtkdrawing.h:
2010-10-07 Daniel Cheng <dcheng@chromium.org>
Reviewed by Kent Tamura.
[chromium] Fix indentation in ChromiumDataObject.h
https://bugs.webkit.org/show_bug.cgi?id=47396
Just a cleanup patch to make followup diffs smaller.
* platform/chromium/ChromiumDataObject.h:
(WebCore::ChromiumDataObject::create):
(WebCore::ChromiumDataObject::copy):
(WebCore::ChromiumDataObject::urlTitle):
(WebCore::ChromiumDataObject::setUrlTitle):
(WebCore::ChromiumDataObject::htmlBaseUrl):
(WebCore::ChromiumDataObject::setHtmlBaseUrl):
(WebCore::ChromiumDataObject::containsFilenames):
(WebCore::ChromiumDataObject::filenames):
(WebCore::ChromiumDataObject::setFilenames):
(WebCore::ChromiumDataObject::fileExtension):
(WebCore::ChromiumDataObject::setFileExtension):
(WebCore::ChromiumDataObject::fileContentFilename):
(WebCore::ChromiumDataObject::setFileContentFilename):
(WebCore::ChromiumDataObject::fileContent):
(WebCore::ChromiumDataObject::setFileContent):
2010-10-07 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations
https://bugs.webkit.org/show_bug.cgi?id=47327
Move the content of HTMLInputElement::valueAsDate(), setValueAsDate(),
valueAsNumber(), and setValueAsNumber() to InputType, and move
serialize() and serializeForDateTimeTypes() too
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::valueAsDate):
(WebCore::BaseDateAndTimeInputType::setValueAsDate):
(WebCore::BaseDateAndTimeInputType::valueAsNumber):
(WebCore::BaseDateAndTimeInputType::setValueAsNumber):
(WebCore::BaseDateAndTimeInputType::serialize):
* html/BaseDateAndTimeInputType.h:
* html/DateInputType.cpp:
(WebCore::DateInputType::setMillisecondToDateComponents):
* html/DateInputType.h:
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::setMillisecondToDateComponents):
* html/DateTimeInputType.h:
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::valueAsDate):
(WebCore::DateTimeLocalInputType::setValueAsDate):
(WebCore::DateTimeLocalInputType::setMillisecondToDateComponents):
* html/DateTimeLocalInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::valueAsDate):
(WebCore::HTMLInputElement::setValueAsDate):
(WebCore::HTMLInputElement::valueAsNumber):
(WebCore::HTMLInputElement::setValueAsNumber):
(WebCore::HTMLInputElement::stepUpFromRenderer):
* html/HTMLInputElement.h:
* html/InputType.cpp:
(WebCore::InputType::valueAsDate):
(WebCore::InputType::setValueAsDate):
(WebCore::InputType::valueAsNumber):
(WebCore::InputType::setValueAsNumber):
(WebCore::InputType::serialize):
* html/InputType.h:
* html/MonthInputType.cpp:
(WebCore::MonthInputType::valueAsDate):
(WebCore::MonthInputType::setValueAsDate):
(WebCore::MonthInputType::setMillisecondToDateComponents):
* html/MonthInputType.h:
* html/NumberInputType.cpp:
(WebCore::NumberInputType::valueAsNumber):
(WebCore::NumberInputType::setValueAsNumber):
(WebCore::NumberInputType::serialize):
* html/NumberInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::valueAsNumber):
(WebCore::RangeInputType::setValueAsNumber):
(WebCore::RangeInputType::serialize):
* html/RangeInputType.h:
* html/TimeInputType.cpp:
(WebCore::TimeInputType::setMillisecondToDateComponents):
* html/TimeInputType.h:
* html/WeekInputType.cpp:
(WebCore::WeekInputType::setMillisecondToDateComponents):
* html/WeekInputType.h:
2010-10-07 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
Texture Mapper is an implementation of accelerated compositing that doesn't require a
platform specific scenegraph library like CA or QGraphicsView. The idea is that with
time this would replace GraphicsLayerQt, and could serve as an implementation for other
platforms that don't have a scenegraph library. The first stage of this is to add all the code to trunk,
and enable it in Qt with an opt-in build flag so that it can be easily tested. Once it reaches
an adequate level of stability, we can enable it by default and eventually have it replace GraphicsLayerQt.
This change includes only the common new files and the Qt backend; Still to come: the GL backend and integration layer.
* platform/graphics/qt/TextureMapperQt.cpp: Added.
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added.
* platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added.
* platform/graphics/texmap/TextureMapper.h: Added.
* platform/graphics/texmap/TextureMapperPlatformLayer.h: Added.
2010-10-07 Antonio Gomes <agomes@rim.com>
Reviewed by Simon Fraser.
[Mac] [DRT] implement setSpatialNavigationEnabled
https://bugs.webkit.org/show_bug.cgi?id=47291
Added Settings::setSpatialNavigationEnabled symbols to WebKit.exp.in
so it can be used from WebKit/mac.
* WebCore.exp.in:
2010-10-07 Eric Uhrhane <ericu@chromium.org>
Reviewed by Jian Li
[V8] Add FileWriter to active DOM map
https://bugs.webkit.org/show_bug.cgi?id=47380
It's an ActiveDOMObject; it needs to be in the map.
* bindings/scripts/CodeGeneratorV8.pm:
2010-10-07 Nico Weber <thakis@chromium.org>
Reviewed by James Robinson.
[chromium] Make sure to update the current graphics context when calling out to AppKit.
https://bugs.webkit.org/show_bug.cgi?id=47387
This ports r57741 to ThemeChromiumMac. It also reverts r66975, which is
now no longer necessary.
Should be covered by existing tests. The checkbox at
http://webkit.org/blog-files/3d-transforms/morphing-cubes.html should
now show up correctly.
* platform/chromium/ThemeChromiumMac.mm:
(WebCore::paintCheckbox):
(WebCore::paintRadio):
Create current context.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::updateContents):
Remove LocalCurrentContext, it's now no longer necessary.
2010-10-07 Cris Neckar <cdn@chromium.org>
Reviewed by Adam Barth.
Postpone clearing the imageLoader when rendering certain fallback content for objects until after the attach().
https://bugs.webkit.org/show_bug.cgi?id=46921
Test: fast/html/object-image-nested-fallback.html
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderFallbackContent):
2010-10-07 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Fix shared timers on EFL port - make them thread safe.
https://bugs.webkit.org/show_bug.cgi?id=47383
Using ecore_timer_add to create a timer from a thread that is
not the main thread isn't safe. Now we add a pipe that is used
to request a timer to be added in the main thread.
In order to reduce some delay on timers that are added with a
very small interval, the timer callback is called immediately
if the interval is smaller than the mainloop frame time.
No new features, so no tests added.
* platform/efl/SharedTimerEfl.cpp:
(WebCore::setSharedTimerFiredFunction):
(WebCore::timerEvent):
(WebCore::processTimers):
(WebCore::pipeHandlerCb):
(WebCore::stopSharedTimer):
(WebCore::addNewTimer):
(WebCore::setSharedTimerFireTime):
2010-10-07 James Kozianski <koz@chromium.org>
Reviewed by Adam Barth.
getPropertyValue('border') is incorrect after border-top-width is set
https://bugs.webkit.org/show_bug.cgi?id=45949
Test: fast/dom/css-shorthand-common-value.html
CSSMutableStyleDeclaration::getCommonValue() was ignoring values from
properties that were implicitly set, which led to erroneous results
from getPropertyValue().
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::getCommonValue):
2010-10-07 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
REGRESSION: Indenting pre duplicates content
https://bugs.webkit.org/show_bug.cgi?id=47233
The bug was caused by our not splitting text nodes properly.
In new approach, we split text nodes in each iteration. Added rangeForParagraphSplitingTextNodesIfNeeded
to split text nodes at the start and at the end of paragraph, which also adjusts start and end positions
for moveParagraphWithClones. Added endOfNextParagrahSplittingTextNodesIfNeeded to adjust endOfNextParagraph,
start, and end to work-around moveParagraphWithClones's removing a line feed.
Tests: editing/execCommand/indent-pre-list.html
editing/execCommand/indent-pre-paragraphs.html
* editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::formatSelection): See above.
(WebCore::isNewLineAtPosition):
(WebCore::renderStyleOfEnclosingTextNode): Added.
(WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Added.
(WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Added.
* editing/ApplyBlockElementCommand.h:
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::formatRange): Takes two Positions instead of one VisiblePosition.
* editing/FormatBlockCommand.h:
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::tryIndentingAsListItem): Ditto.
(WebCore::IndentOutdentCommand::indentIntoBlockquote): Ditto.
(WebCore::IndentOutdentCommand::formatRange): Ditto.
* editing/IndentOutdentCommand.h:
2010-10-07 Jian Li <jianli@chromium.org>
Reviewed by Adam Barth.
Support generating a FormData object based on the data in an existing <form>.
https://bugs.webkit.org/show_bug.cgi?id=45929
Test: http/tests/local/formdata/send-form-data-constructed-from-form.html
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::toHTMLFormElement):
(WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
* bindings/v8/custom/V8DOMFormDataCustom.cpp:
(WebCore::V8DOMFormData::constructorCallback):
* html/DOMFormData.cpp:
(WebCore::DOMFormData::DOMFormData):
* html/DOMFormData.h:
(WebCore::DOMFormData::create):
* html/DOMFormData.idl:
2010-10-07 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Set the m_selectedChildren flag on the root inline box if one of the leaf
inline box from the bidi runs walk has a selection state. Remove the flag
setting logic from addToLine, since line boxes created in createLinesBoxes
should not be propagating selection state to root inline box.
https://bugs.webkit.org/show_bug.cgi?id=47201
Test: editing/selection/root-inlinebox-selected-children-crash.html
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::constructLine):
2010-10-07 Benjamin Otte <otte@gnome.org>
Reviewed by Martin Robinson.
[GTK] Code cleanup in PluginViewGtk.cpp for transparent plugins
https://bugs.webkit.org/show_bug.cgi?id=47361
Reduce some code in PluginViewGtk.cpp by doing things with Cairo instead
of directly with X11. This should work fine with GDK double-buffering, but
if we ever disable it, we'll need to verify that this is still functioning
properly.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::paint): Do a bit of code cleanup.
2010-10-07 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add a WKPageFindClient, hook up WKPageCountStringMatches
https://bugs.webkit.org/show_bug.cgi?id=47373
Export find related symbols needed by WebKit2.
* WebCore.exp.in:
2010-10-07 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=47370
Make line box placement in the inline direction writing-mode-aware. Lines now set their y-position instead of x-position
when vertical.
Refactored shadow overflow to give text-shadow the same helpers in RenderStyle that box-shadow has so that the shadow-walking loop in
placeBoxesInInlineDirection can be replaced with the helper.
Overflow had to be patched to be writing-mode-aware so that the correct physical directions would be set for vertical line
boxes.
Vertical lines are still not testable until they can be placed in the block direction. Then the render tree dumps
become meaningful (even if the pixel results look horrible).
* rendering/InlineBox.h:
(WebCore::InlineBox::logicalRight):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
(WebCore::InlineFlowBox::logicalRightLayoutOverflow):
(WebCore::InlineFlowBox::logicalLeftVisualOverflow):
(WebCore::InlineFlowBox::logicalRightVisualOverflow):
(WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getShadowExtent):
(WebCore::RenderStyle::getShadowHorizontalExtent):
(WebCore::RenderStyle::getShadowVerticalExtent):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::getTextShadowExtent):
(WebCore::InheritedFlags::getTextShadowHorizontalExtent):
(WebCore::InheritedFlags::getTextShadowVerticalExtent):
(WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
(WebCore::InheritedFlags::getBoxShadowExtent):
(WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
(WebCore::InheritedFlags::getBoxShadowVerticalExtent):
(WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
(WebCore::InheritedFlags::getShadowInlineDirectionExtent):
2010-10-07 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/8142645> REGRESSION (r47440): Printing Mail messages with large fonts does not fill page
https://bugs.webkit.org/show_bug.cgi?id=47374
In the legacy (paint-time pagination) printing model, when there are overlapping lines,
adjustPageHeightDeprecated() was not idempotent, since the truncation point imposed by line n,
namely the top of line n, was above the bottom of line n-1, so in the next round, line n-1
moved the truncation point up again.
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint): Consider the top of the next line when deciding if the
current line extends below the truncation point.
2010-10-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Beth Dakin.
Use isIdentityOrTranslationOrFlipped() in scrollbar code
https://bugs.webkit.org/show_bug.cgi?id=47378
Replace old code that looked at values in the CGAffineTransform
with nicely named method that does the same test.
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::paint):
2010-10-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Beth Dakin.
Edge fringe artifact with transformed, masked elements (including reflections)
https://bugs.webkit.org/show_bug.cgi?id=19179
When drawing the mask images, use a transparency layer if the CTM
has a rotation, scale or skew in it to avoid antialiasing issues at
the edges.
Test: fast/css/transformed-mask.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintMask): Don't bother painting the mask if
painting is disabled, which also avoids an assertion in getCTM().
(WebCore::RenderBox::paintMaskImages):
2010-10-07 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Map non-alphabet key code to Unicode value
https://bugs.webkit.org/show_bug.cgi?id=46002
Non-alphabet key codes are not equal to the unicode values. Add conversion.
* platform/brew/PlatformKeyboardEventBrew.cpp:
(WebCore::singleCharacterString):
2010-10-05 Martin Robinson <mrobinson@igalia.com>
Reviewed by Chris Fleizach.
[GTK] The FreeType backend does not respect the FC_EMBOLDEN property
https://bugs.webkit.org/show_bug.cgi?id=46216
Look for the FC_EMBOLDEN property of the FcPattern when constructing
FontPlatformData and use it to enable synthetic bold fonts when necessary.
Test: platform/gtk/fonts/fontconfig-synthetic-bold.html
* platform/graphics/cairo/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Properly handle the FC_EMBOLDEN property.
2010-10-07 James Simonsen <simonjam@chromium.org>
Reviewed by Pavel Feldman.
[Web Timing] Use platform definition of responseEnd
https://bugs.webkit.org/show_bug.cgi?id=46306
No new tests. Used existing webtiming test.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didFinishLoading):
2010-10-05 Martin Robinson <mrobinson@igalia.com>
Reviewed by Chris Fleizach.
[Gtk] CSS font-style: italic behavior
https://bugs.webkit.org/show_bug.cgi?id=33299
Properly interpret the FC_MATRIX property from a FontConfig pattern.
FontConfig will use this property when returning fonts which have a
synthetic oblique variant configured in the fonts.conf configuration
file.
Test: platform/gtk/fonts/fontconfig-synthetic-oblique.html
* platform/graphics/cairo/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Added a constructor that
takes an existing FontPlatformData and a font size.
(WebCore::FontPlatformData::initializeWithFontFace): Added this helper
intialization method that properly handles the FC_MATRIX property from
the FcPattern.
* platform/graphics/cairo/FontPlatformDataFreeType.h: Added a declaration
to the new constructor and the initializeWithFontFace.
* platform/graphics/cairo/SimpleFontDataCairo.cpp:
(WebCore::SimpleFontData::smallCapsFontData): Use the new FontPlatformData
constructor.
2010-10-07 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47357
Make findNextLineBreak and some of the helper functions it also calls writing-mode-aware.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::positionNewFloatOnLine):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::getBorderPaddingMargin):
(WebCore::inlineLogicalWidth):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::inlineFlowRequiresLineBox):
(WebCore::RenderBlock::skipLeadingWhitespace):
(WebCore::RenderBlock::fitBelowFloats):
(WebCore::RenderBlock::findNextLineBreak):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::hasInlineDirectionBordersPaddingOrMargin):
(WebCore::RenderBoxModelObject::hasInlineDirectionBordersOrPadding):
2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
Fixing viewport meta tag user-scalable handling
https://bugs.webkit.org/show_bug.cgi?id=47330
user-scalable attribute was not considered in viewport meta tag handling.
* dom/ViewportArguments.cpp:
(WebCore::findConfigurationForViewportData):
* dom/ViewportArguments.h:
2010-10-05 Diego Gonzalez <diegohcg@webkit.org>
Reviewed by Andreas Kling.
[Qt] Hook up accelerometer data via Qt DeviceMotion
https://bugs.webkit.org/show_bug.cgi?id=47105
Get accelerometer necessary data via Qt mobility library using a
provider class. Enable, also the RotationRate using the current device
orientation provider.
* WebCore.pro:
2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
Some viewport meta tag api refactoring
https://bugs.webkit.org/show_bug.cgi?id=47334
WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
* dom/ViewportArguments.h:
2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
[GTK] Don't use GtkObject
https://bugs.webkit.org/show_bug.cgi?id=47090
GtkObject has been removed in gtk3.
* plugins/gtk/gtk2xtbin.c:
(gtk_xtbin_class_init):
(gtk_xtbin_dispose):
2010-10-07 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: highlight XHR breakpoint when hit.
https://bugs.webkit.org/show_bug.cgi?id=47253
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::setNativeBreakpoint):
(WebCore::InspectorController::removeNativeBreakpoint):
(WebCore::InspectorController::findEventListenerBreakpoint):
(WebCore::InspectorController::findXHRBreakpoint):
* inspector/InspectorController.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
(WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
(WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
(WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
(WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
(WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
(WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
(WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
(WebInspector.BreakpointManager.prototype._removeNativeBreakpointFromBackend):
(WebInspector.BreakpointManager.prototype.debuggerPaused):
(WebInspector.BreakpointManager.prototype.debuggerResumed):
(WebInspector.NativeBreakpoint):
(WebInspector.NativeBreakpoint.prototype.get enabled):
(WebInspector.NativeBreakpoint.prototype.set enabled):
(WebInspector.NativeBreakpoint.prototype.remove):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointItem):
(WebInspector.BreakpointItem.prototype._breakpointClicked):
(WebInspector.BreakpointItem.prototype._hitStateChanged):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.prototype.updateStatus):
* inspector/front-end/inspector.css:
(.breakpoint-list .breakpoint-hit):
* inspector/front-end/inspector.js:
(WebInspector.pausedScript):
(WebInspector.resumedScript):
2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
[GTK] Fix the build for GTK+ 3
https://bugs.webkit.org/show_bug.cgi?id=47249
Use GdkVisual instead of GdkColormap. GdkColormap has been removed
in gtk3.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::platformStart):
* plugins/gtk/gtk2xtbin.c:
(gtk_xtbin_new):
2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
[GTK] Fix the build for GTK+ 3
https://bugs.webkit.org/show_bug.cgi?id=47249
Do not use GdkDrawable deprecated API. Some methods of GdkDrawable
are deprecated in gtk2 and have been removed in gtk3. Equivalent
API has been added to GdkWindow.
* platform/gtk/GtkVersioning.c:
(getDefaultGDKPointerDevice):
* platform/gtk/GtkVersioning.h:
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::getVisual):
(WebCore::screenAvailableRect):
2010-10-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Andreas Kling.
[Qt] Disconnect signals before destroying MediaPlayerPrivateQt
https://bugs.webkit.org/show_bug.cgi?id=47073
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2010-10-07 Alexander Pavlov <apavlov@chromium.org>
Unreviewed, release build fix.
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorStyleSheetForInlineStyle::styleForId):
(WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
2010-10-07 Pavel Podivilov <podivilov@chromium.org>
Unreviewed, build fix.
Build fix for r69283.
* dom/Document.cpp:
(WebCore::Document::inspectorController):
* dom/Document.h:
2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
[GTK] Fix the build for GTK+ 3
https://bugs.webkit.org/show_bug.cgi?id=47249
Don't use gtk_size_request_get_size(). It has been removed,
gtk_widget_get_preferred_size() should be used instead
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::show):
2010-10-06 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Implement handling of CSS operations in InspectorCSSAgent.
Property toggling not implemented yet. The code is not going live.
https://bugs.webkit.org/show_bug.cgi?id=45825
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorCSSAgent.cpp: Added.
(WebCore::InspectorCSSAgent::buildObjectForStyle):
(WebCore::InspectorCSSAgent::parentStyleSheet):
(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::~InspectorCSSAgent):
(WebCore::InspectorCSSAgent::reset):
(WebCore::InspectorCSSAgent::getMatchedRulesForNode2):
(WebCore::InspectorCSSAgent::getMatchedPseudoRulesForNode2):
(WebCore::InspectorCSSAgent::getAttributeStylesForNode2):
(WebCore::InspectorCSSAgent::getInlineStyleForNode2):
(WebCore::InspectorCSSAgent::getComputedStyleForNode2):
(WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
(WebCore::InspectorCSSAgent::getAllStyles2):
(WebCore::InspectorCSSAgent::getStyleSheet2):
(WebCore::InspectorCSSAgent::setStyleSheetText2):
(WebCore::InspectorCSSAgent::setStyleText2):
(WebCore::InspectorCSSAgent::toggleProperty2):
(WebCore::InspectorCSSAgent::setRuleSelector2):
(WebCore::InspectorCSSAgent::addRule2):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::inlineStyleElement):
(WebCore::InspectorCSSAgent::populateObjectWithStyleProperties):
(WebCore::InspectorCSSAgent::shorthandValue):
(WebCore::InspectorCSSAgent::shorthandPriority):
(WebCore::InspectorCSSAgent::longhandProperties):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::bindStyleSheet):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::styleSheetForId):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
(WebCore::InspectorCSSAgent::didRemoveDocument):
(WebCore::InspectorCSSAgent::didRemoveDOMNode):
* inspector/InspectorCSSAgent.h: Added.
(WebCore::InspectorCSSAgent::create):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::setDOMListener):
(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::getSupportedCSSProperties):
* inspector/InspectorDOMAgent.h:
(WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
(WebCore::InspectorDOMAgent::documents):
* inspector/InspectorStyleSheet.cpp: Added.
(ParsedStyleSheet::cssStyleSheet):
(ParsedStyleSheet::text):
(ParsedStyleSheet::hasText):
(ParsedStyleSheet::sourceData):
(ParsedStyleSheet::hasSourceData):
(ParsedStyleSheet::ParsedStyleSheet):
(ParsedStyleSheet::setText):
(ParsedStyleSheet::setSourceData):
(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::~InspectorStyleSheet):
(WebCore::InspectorStyleSheet::setText):
(WebCore::InspectorStyleSheet::setRuleSelector):
(WebCore::InspectorStyleSheet::addRule):
(WebCore::InspectorStyleSheet::ruleForId):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::styleForId):
(WebCore::InspectorStyleSheet::setStyleText):
(WebCore::InspectorStyleSheet::ownerDocument):
(WebCore::InspectorStyleSheet::ruleSourceDataFor):
(WebCore::InspectorStyleSheet::ruleIndexByStyle):
(WebCore::InspectorStyleSheet::ensureParsedDataReady):
(WebCore::InspectorStyleSheet::text):
(WebCore::InspectorStyleSheet::ensureText):
(WebCore::InspectorStyleSheet::ensureSourceData):
(WebCore::InspectorStyleSheet::innerSetStyleSheetText):
(WebCore::InspectorStyleSheet::innerSetStyleText):
(WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
(WebCore::InspectorStyleSheet::findPageRuleWithStyle):
(WebCore::InspectorStyleSheet::fullRuleId):
(WebCore::InspectorStyleSheet::revalidateStyle):
(WebCore::InspectorStyleSheet::styleSheetText):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheet::inlineStyleSheetText):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
(WebCore::InspectorStyleSheetForInlineStyle::ownerDocument):
(WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
(WebCore::InspectorStyleSheetForInlineStyle::inlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
* inspector/InspectorStyleSheet.h: Added.
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::id):
(WebCore::InspectorStyleSheet::pageStyleSheet):
(WebCore::InspectorStyleSheet::canBind):
(WebCore::InspectorStyleSheet::fullRuleOrStyleId):
(WebCore::InspectorStyleSheet::ruleOrStyleId):
(WebCore::InspectorStyleSheet::fullStyleId):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::styleForId):
(WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
(WebCore::InspectorStyleSheetForInlineStyle::ruleIndexByStyle):
* inspector/InspectorUtilities.cpp: Added.
(WebCore::InspectorUtilities::resourceContentForURL):
* inspector/InspectorUtilities.h: Added.
2010-10-05 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: extract Inspector Instrumentation API as a class
https://bugs.webkit.org/show_bug.cgi?id=47173
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluate):
(WebCore::V8Proxy::callFunction):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::sendCallback):
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* dom/Document.h:
* dom/Node.cpp:
(WebCore::Node::dispatchGenericEvent):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/parser/HTMLDocumentParser.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::hasFrontend):
(WebCore::InspectorInstrumentation::retrieveTimelineAgent):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::hasFrontends):
(WebCore::InspectorInstrumentation::inspectorControllerForContext):
(WebCore::InspectorInstrumentation::inspectorControllerForDocument):
(WebCore::InspectorInstrumentation::inspectorControllerForFrame):
(WebCore::InspectorInstrumentation::inspectorControllerForPage):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
* inspector/InspectorTimelineAgent.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
* loader/loader.cpp:
(WebCore::Loader::load):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::removeById):
(WebCore::DOMTimer::fired):
* page/DOMTimer.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchEvent):
* page/DOMWindow.h:
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::paintContents):
* page/FrameView.h:
* page/Page.cpp:
* page/Page.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
2010-10-07 Zraly Mike <mike.zraly@nokia.com>
Reviewed by Andreas Kling.
Windowless flash plugin is not rendered in Symbian
https://bugs.webkit.org/show_bug.cgi?id=47172
* plugins/symbian/PluginViewSymbian.cpp:
(WebCore::PluginView::platformStart):
Add call to updatePluginWidget() following changes to
platform widget. This is needed to set PluginView's
m_windowRect and m_clipRect members properly after
the proxy widget and its container get created.
2010-10-07 Andreas Kling <kling@webkit.org>
Reviewed by Nikolas Zimmermann.
Rename (and move) RenderPath to svg/RenderSVGPath
https://bugs.webkit.org/show_bug.cgi?id=47053
Also renamed RenderObject::isRenderPath() to isSVGPath()
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.order:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderObject.h:
(WebCore::RenderObject::isSVGPath):
* rendering/RenderPath.cpp: Removed.
* rendering/RenderPath.h: Removed.
* rendering/RenderSVGHiddenContainer.cpp:
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
* rendering/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/RenderSVGResourceSolidColor.cpp:
(WebCore::RenderSVGResourceSolidColor::postApplyResource):
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):
(WebCore::operator<<):
(WebCore::write):
* rendering/SVGRenderTreeAsText.h:
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff):
* rendering/svg/RenderSVGPath.cpp: Copied from WebCore/rendering/RenderPath.cpp.
(WebCore::RenderSVGPath::RenderSVGPath):
(WebCore::RenderSVGPath::fillContains):
(WebCore::RenderSVGPath::strokeContains):
(WebCore::RenderSVGPath::layout):
(WebCore::RenderSVGPath::fillAndStrokePath):
(WebCore::RenderSVGPath::paint):
(WebCore::RenderSVGPath::addFocusRingRects):
(WebCore::RenderSVGPath::nodeAtFloatPoint):
(WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
(WebCore::RenderSVGPath::updateCachedBoundaries):
* rendering/svg/RenderSVGPath.h: Copied from WebCore/rendering/RenderPath.h.
(WebCore::RenderSVGPath::isSVGPath):
(WebCore::RenderSVGPath::renderName):
(WebCore::toRenderSVGPath):
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
* svg/SVGGradientElement.cpp:
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
* svg/SVGStyledLocatableElement.cpp:
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::createRenderer):
2010-10-06 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: clear line highlight when switching current view
https://bugs.webkit.org/show_bug.cgi?id=47262
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.clearLineHighlight):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.hide):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype.highlightLine):
(WebInspector.TextViewer.prototype.clearLineHighlight):
2010-10-06 Chris Evans <cevans@google.com>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=47313
Fix integer errors with enormous input strings to newline normalization APIs.
* platform/text/LineEnding.cpp:
(WebCore::normalizeLineEndingsToCRLF): return the empty string upon huge input strings. (Behaves similarly to base64Encode now).
(WebCore::normalizeToCROrLF): use the correct type for a string length.
2010-10-06 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix.
Windows build fix for r69272.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::stepBase):
Use defaultStepBase() instead of defaultStepBase.
* html/InputType.h:
(WebCore::InputType::defaultStepBase):
Make defaultStepBase static function.
* html/NumberInputType.cpp:
(WebCore::NumberInputType::stepBase):
Use defaultStepBase() instead of defaultStepBase.
2010-10-06 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Refactor HTMLInputElement: Move range/step related functions
https://bugs.webkit.org/show_bug.cgi?id=47251
Move the content of the following functions:
- rangeUnderflow()
- rangeOverflow()
- minimum()
- maximum()
- stepMismatch()
- stepBase()
getStepParameters() was split into InputType::defaultStep() and
stepScaleFactor().
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::rangeUnderflow):
(WebCore::BaseDateAndTimeInputType::rangeOverflow):
(WebCore::BaseDateAndTimeInputType::stepMismatch):
(WebCore::BaseDateAndTimeInputType::stepBase):
* html/BaseDateAndTimeInputType.h:
* html/DateInputType.cpp:
(WebCore::DateInputType::minimum):
(WebCore::DateInputType::maximum):
(WebCore::DateInputType::defaultStep):
(WebCore::DateInputType::stepScaleFactor):
(WebCore::DateInputType::parsedStepValueShouldBeInteger):
* html/DateInputType.h:
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::minimum):
(WebCore::DateTimeInputType::maximum):
(WebCore::DateTimeInputType::defaultStep):
(WebCore::DateTimeInputType::stepScaleFactor):
(WebCore::DateTimeInputType::scaledStepValeuShouldBeInteger):
* html/DateTimeInputType.h:
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::minimum):
(WebCore::DateTimeLocalInputType::maximum):
(WebCore::DateTimeLocalInputType::defaultStep):
(WebCore::DateTimeLocalInputType::stepScaleFactor):
(WebCore::DateTimeLocalInputType::scaledStepValeuShouldBeInteger):
* html/DateTimeLocalInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::rangeUnderflow):
(WebCore::HTMLInputElement::rangeOverflow):
(WebCore::HTMLInputElement::minimum):
(WebCore::HTMLInputElement::maximum):
(WebCore::HTMLInputElement::stepMismatch):
(WebCore::HTMLInputElement::getAllowedValueStep):
(WebCore::HTMLInputElement::applyStep):
(WebCore::HTMLInputElement::handleKeyEventForRange):
(WebCore::HTMLInputElement::stepUpFromRenderer):
* html/HTMLInputElement.h:
* html/InputType.cpp:
(WebCore::InputType::patternMismatch):
(WebCore::InputType::rangeUnderflow):
(WebCore::InputType::rangeOverflow):
(WebCore::InputType::minimum):
(WebCore::InputType::maximum):
(WebCore::InputType::stepMismatch):
(WebCore::InputType::stepBase):
(WebCore::InputType::defaultStep):
(WebCore::InputType::stepScaleFactor):
(WebCore::InputType::parsedStepValueShouldBeInteger):
(WebCore::InputType::scaledStepValeuShouldBeInteger):
* html/InputType.h:
* html/MonthInputType.cpp:
(WebCore::MonthInputType::minimum):
(WebCore::MonthInputType::maximum):
(WebCore::MonthInputType::defaultStep):
(WebCore::MonthInputType::stepScaleFactor):
(WebCore::MonthInputType::parsedStepValueShouldBeInteger):
* html/MonthInputType.h:
* html/NumberInputType.cpp:
(WebCore::NumberInputType::rangeUnderflow):
(WebCore::NumberInputType::rangeOverflow):
(WebCore::NumberInputType::minimum):
(WebCore::NumberInputType::maximum):
(WebCore::NumberInputType::stepMismatch):
(WebCore::NumberInputType::stepBase):
(WebCore::NumberInputType::defaultStep):
(WebCore::NumberInputType::stepScaleFactor):
* html/NumberInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::rangeUnderflow):
(WebCore::RangeInputType::rangeOverflow):
(WebCore::RangeInputType::minimum):
(WebCore::RangeInputType::maximum):
(WebCore::RangeInputType::stepMismatch):
(WebCore::RangeInputType::stepBase):
(WebCore::RangeInputType::defaultStep):
(WebCore::RangeInputType::stepScaleFactor):
* html/RangeInputType.h:
* html/TimeInputType.cpp:
(WebCore::TimeInputType::minimum):
(WebCore::TimeInputType::maximum):
(WebCore::TimeInputType::defaultStep):
(WebCore::TimeInputType::stepScaleFactor):
(WebCore::TimeInputType::scaledStepValeuShouldBeInteger):
* html/TimeInputType.h:
* html/WeekInputType.cpp:
(WebCore::WeekInputType::minimum):
(WebCore::WeekInputType::maximum):
(WebCore::WeekInputType::stepBase):
(WebCore::WeekInputType::defaultStep):
(WebCore::WeekInputType::stepScaleFactor):
(WebCore::WeekInputType::parsedStepValueShouldBeInteger):
* html/WeekInputType.h:
2010-10-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein, Darin Adler.
:first-letter should apply to "punctuation" after the first letter
https://bugs.webkit.org/show_bug.cgi?id=45986
Follow the CSS 2.1 spec by allow certain kinds of punctuation before and after
the :first-letter character.
The spec does not describe whitespace behavior, and browsers are inconsistent.
This patch allows whitespace (including non-breaking spaces) before and after the
leading punctuation, and before the trailing punctuation.
Test: fast/css/first-letter-punctuation.html
* rendering/RenderBlock.cpp:
(WebCore::isPunctuationForFirstLetter):
(WebCore::shouldSkipForFirstLetter):
(WebCore::RenderBlock::updateFirstLetter):
2010-10-06 Sanjeev Radhakrishnan <sanjeevr@chromium.org>
Reviewed by Darin Fisher.
Released the pluginNode in PluginDocument::detach() and prevents a memory leak.
https://bugs.webkit.org/show_bug.cgi?id=47129
* html/PluginDocument.cpp:
(WebCore::PluginDocument::detach):
* html/PluginDocument.h:
2010-10-06 Vincent Scheib <scheib@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Thumbnail generation asserts on zero alpha values.
https://bugs.webkit.org/show_bug.cgi?id=47292
Test: Tested manually by running debug mode, and analyzing in PIX.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
2010-10-06 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed, trying to fix chromium Windows build.
Explicitly give the parameter value that has a default parameter value.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::requestFileSystem):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::requestFileSystem):
2010-10-06 Darin Adler <darin@apple.com>
Try to fix Windows build.
* platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColor): Put in braces to make the Windows compiler
happy with this file.
* platform/graphics/cg/ImageCG.cpp: Added include of RetainPtr.h.
2010-10-06 Darin Adler <darin@apple.com>
Reviewed by Alexey Proskuryakov.
Cache CGColor as we do NSColor
https://bugs.webkit.org/show_bug.cgi?id=47226
This fixes performance problems on certain web pages that use
multiple colors. Once in the past we were using NSColor. Now that
we are using CGColor, we need the same sort of caching that we have
for NSColor.
One example: <http://results.active.com/uploads/html/100759.html>.
* WebCore.xcodeproj/project.pbxproj: Add GraphicsContextCG.h.
* platform/graphics/Color.h: Replace createCGColor with cachedCGColor.
* platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColorSpace): Added.
(WebCore::leakCGColor): Added.
(WebCore::cachedCGColor): Added.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::setCGFillColor): Use cachedCGColor.
(WebCore::setCGStrokeColor): Ditto.
(WebCore::GraphicsContext::fillRect): Ditto.
(WebCore::GraphicsContext::setPlatformShadow): Ditto.
* platform/graphics/cg/GraphicsContextCG.h: Added.
* platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
Moved the color space functions here.
* platform/graphics/cg/ImageCG.cpp: Tweaked headers and formatting.
* platform/graphics/mac/ColorMac.mm: Removed the createCGColor
function.
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::drawFocusRingToContext): Removed innappropriate use of
RetainPtr for the arguments to this function.
(WebCore::GraphicsContext::drawFocusRing): Use cachedCGColor.
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::setLayerBorderColor): Use cachedCGColor.
(WebCore::setLayerBackgroundColor): Ditto.
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawFocusRing): Ditto.
* platform/graphics/win/GraphicsLayerCACF.cpp:
(WebCore::setLayerBorderColor): Ditto.
(WebCore::setLayerBackgroundColor): Ditto.
* platform/graphics/win/WKCACFLayerRenderer.cpp:
(WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Use
CGColorCreateGenericRGB for color used only for debugging.
* platform/graphics/win/WebTiledLayer.cpp:
(WebCore::WebTiledLayer::addTile): Ditto.
2010-10-06 Peter Kasting <pkasting@google.com>
Reviewed by James Robinson
ScrollViews without scrollbars should not eat scroll events
https://bugs.webkit.org/show_bug.cgi?id=47036
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
2010-10-06 Daniel Bates <dbates@rim.com>
Reviewed by Darin Adler.
ASSERTION FAILURE: Attempt to cast RenderObject to RenderFrameSet
when <frameset> has CSS content property
https://bugs.webkit.org/show_bug.cgi?id=47314
Fixes an issue where sending a mouse event to an HTML Frameset Element that
whose content was replaced via the CSS content property causes an assertion
failure.
By default, HTMLFrameSetElement forwards mouse events to RenderFrameSet so as
to support resizing a frame within the set. When a <frameset> specifies an
image in its CSS content property we create a generic render object (RenderObject)
for the frame set instead of a RenderFrameSet object. The event handler code
in HTMLFrameSetElement calls WebCore::toRenderFrameSet() to cast its renderer
to type RenderFrameSet, which fails. To correct this, HTMLFrameSetElement
must check that its renderer is of type RenderFrameSet before casting to this type.
Test: fast/frames/crash-frameset-CSS-content-property.html
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::defaultEventHandler): Check that our renderer is
of type RenderFrameSet before casting it as such.
2010-10-06 Albert J. Wong <ajwong@chromium.org>
Reviewed by Andreas Kling.
r69181 breaks compilation of WebCore/platform/graphics/filters/FETile.cpp if ENABLE(SVG) is false.
https://bugs.webkit.org/show_bug.cgi?id=47315
Compile fix. No tests.
* platform/graphics/filters/FETile.cpp:
(WebCore::FETile::apply):
2010-10-06 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed, fixing screwed up ChangeLogs.
2010-10-06 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Add FileSystemSync implementation for Worker
https://bugs.webkit.org/show_bug.cgi?id=47044
Tests: fast/filesystem/async-operations.html
fast/filesystem/workers/async-operations.html
fast/filesystem/workers/sync-operations.html
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.h: Removed
requestFileSystemEnabled() as I changed the idl/generator to
use fileSystemEnabled for all the FileSystem related features.
* fileapi/DOMFileSystem.cpp:
* fileapi/DOMFileSystem.h:
* fileapi/DOMFileSystemBase.cpp:
(WebCore::DOMFileSystemBase::getMetadata): Moved from DOMFileSystem.
(WebCore::checkValidityForForCopyOrMove): Moved from DOMFileSystem.
(WebCore::DOMFileSystemBase::move): Moved from DOMFileSystem.
(WebCore::DOMFileSystemBase::copy): Moved from DOMFileSystem.
(WebCore::DOMFileSystemBase::remove): Moved from DOMFileSystem.
(WebCore::DOMFileSystemBase::getParent): Moved from DOMFileSystem.
(WebCore::DOMFileSystemBase::getFile): Moved from DOMFileSystem.
(WebCore::DOMFileSystemBase::getDirectory): Moved from DOMFileSystem.
(WebCore::DOMFileSystemBase::readDirectory): Moved from DOMFileSystem.
* fileapi/DOMFileSystemBase.h:
* fileapi/DOMFileSystemSync.h:
* fileapi/DirectoryEntry.cpp:
(WebCore::DirectoryEntry::DirectoryEntry): Updated to call
DOMFileSystemBase's method instead of DOMFileSystem's one.
(WebCore::DirectoryEntry::getFile): Ditto.
(WebCore::DirectoryEntry::getDirectory): Ditto.
* fileapi/DirectoryEntry.h:
* fileapi/DirectoryEntrySync.cpp:
(WebCore::DirectoryEntrySync::getFile): Implemented.
(WebCore::DirectoryEntrySync::getDirectory): Implemented.
* fileapi/DirectoryReader.h:
* fileapi/DirectoryReaderSync.cpp:
(WebCore::DirectoryReaderSync::readEntries): Implemented.
* fileapi/Entry.cpp:
(WebCore::Entry::Entry): Updated to call DOMFileSystemBase's method.
(WebCore::Entry::getMetadata): Ditto.
(WebCore::Entry::moveTo): Ditto.
(WebCore::Entry::copyTo): Ditto.
(WebCore::Entry::remove): Ditto.
(WebCore::Entry::getParent): Ditto.
* fileapi/Entry.h:
* fileapi/Entry.idl:
* fileapi/EntryArraySync.cpp:
(WebCore::EntryArraySync::create): Added.
* fileapi/EntryArraySync.h:
* fileapi/EntryBase.h:
(WebCore::EntryBase::filesystem): Added.
* fileapi/EntrySync.cpp:
(WebCore::EntrySync::create): Implemented.
(WebCore::EntrySync::getMetadata): Implemented.
(WebCore::EntrySync::moveTo): Implemented.
(WebCore::EntrySync::copyTo): Implemented.
(WebCore::EntrySync::remove): Implemented.
* fileapi/EntrySync.h:
* fileapi/FileEntry.cpp:
* fileapi/FileEntry.h:
* fileapi/FileSystemCallbacks.cpp:
(WebCore::EntryCallbacks::create): Updated to take DOMFileSystemBase
instead of DOMFileSystem.
(WebCore::EntryCallbacks::EntryCallbacks): Ditto.
(WebCore::EntriesCallbacks::create): Ditto.
(WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
* fileapi/FileSystemCallbacks.h:
* fileapi/LocalFileSystem.cpp:
(WebCore::LocalFileSystem::requestFileSystem): Added synchronous
parameter.
* fileapi/LocalFileSystem.h:
* fileapi/Metadata.h:
* fileapi/SyncCallbackHelper.h: Added. This defines a helper template
for synchronous implementation.
* page/DOMWindow.idl:
* platform/AsyncFileSystem.h:
(WebCore::AsyncFileSystem::waitCompletion): Added.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::requestFileSystemSync): Added.
* workers/WorkerContext.h:
* workers/WorkerContext.idl:
2010-10-06 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBDatabase and IDBObjectStore metadata is not recovered correctly when the setVersion transactions aborts.
https://bugs.webkit.org/show_bug.cgi?id=47245
Recover metadata properly by adding abort tasks that
are run when a transaction aborts.
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::removeObjectStore):
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
(WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap):
(WebCore::IDBDatabaseBackendImpl::resetVersion):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
(WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap):
(WebCore::IDBObjectStoreBackendImpl::addIndexToMap):
* storage/IDBObjectStoreBackendImpl.h:
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(WebCore::IDBTransactionBackendImpl::abort):
* storage/IDBTransactionBackendImpl.h:
* storage/IDBTransactionBackendInterface.h:
* storage/IDBTransactionCoordinator.h:
2010-10-06 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47306
Convert determineStart/EndPosition and matchedEndLine to be writing-mode-aware.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::determineEndPosition):
(WebCore::RenderBlock::matchedEndLine):
22010-10-06 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
REGRESSION (r53857): AREA tag with tabindex="-1" displays focus ring after multiple mouse clicks.
https://bugs.webkit.org/show_bug.cgi?id=45832
Test: fast/events/mouse-focus-imagemap.html
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::isKeyboardFocusable):
(WebCore::HTMLAreaElement::isMouseFocusable):
(WebCore::HTMLAreaElement::isFocusable):
(WebCore::HTMLAreaElement::updateFocusAppearance):
* html/HTMLAreaElement.h:
010-10-06 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47303
Convert layoutInlineChildren to be block-flow-aware. None of the functions it calls are patched yet.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::forceLayoutInlineChildren):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
(WebCore::RenderBlock::afterSideVisibleOverflowForLine):
(WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
(WebCore::RenderBlock::afterSideLayoutOverflowForLine):
* rendering/RenderBox.h:
(WebCore::RenderBox::logicalLeftLayoutOverflow):
(WebCore::RenderBox::logicalRightLayoutOverflow):
(WebCore::RenderBox::logicalLeftVisualOverflow):
(WebCore::RenderBox::logicalRightVisualOverflow):
2010-10-06 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47298
Rename blockHeight to blockLogicalHeight.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::markLinesDirtyInBlockRange):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::determineEndPosition):
(WebCore::RenderBlock::matchedEndLine):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::adjustPosition):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::blockLogicalHeight):
(WebCore::RootInlineBox::setBlockLogicalHeight):
* rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::layoutRootBox):
2010-10-05 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] DRT assertion w/accel 2D canvas in PlatformContextSkia
https://bugs.webkit.org/show_bug.cgi?id=47242
Call PlatformContextSkia::prepareForSoftwareDraw before doing putImageData
since that call mutates the software backing store.
Test: fast/canvas/canvas-putImageData.html
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::putUnmultipliedImageData):
2010-10-06 Alexey Proskuryakov <ap@apple.com>
Reviewed by Brady Eidson.
https://bugs.webkit.org/show_bug.cgi?id=47294
<rdar://problem/8425647>Application cache isn't consulted on redirect
Test: http/tests/appcache/main-resource-redirect.html
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterNavigationPolicy): If we have substitute data now
(presumably after a redirect is served by appcache), switch to it.
(WebCore::MainResourceLoader::willSendRequest): Check appcache for the new URL.
* loader/MainResourceLoader.h: Made handleDataLoadSoon() take a const ResourceRequest
reference - it doesn't ever modify it, and we can call it from continueAfterNavigationPolicy() now.
2010-10-06 Alejandro G. Castro <alex@igalia.com>
Reviewed by Dirk Schulze.
ContextShadow should not use the blur radius as kernel size of the
box blurs
https://bugs.webkit.org/show_bug.cgi?id=46918
Calculate the size of the kernel in the blur algorithm using the radius instead
of using the blur distance directly. Change the name of the variables to match the
terminology in the spec.
* platform/graphics/ContextShadow.cpp:
(WebCore::ContextShadow::ContextShadow):
(WebCore::ContextShadow::clear):
(WebCore::ContextShadow::blurLayerImage):
(WebCore::ContextShadow::calculateLayerBoundingRect):
* platform/graphics/ContextShadow.h:
2010-10-06 Andras Becsi <abecsi@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Correct CamelCase of socketSentdata() in SocketStreamHandlePrivate
to fix "QMetaObject::invokeMethod: No such method" warnings in layout tests.
https://bugs.webkit.org/show_bug.cgi?id=47284
No new tests needed.
* platform/network/qt/SocketStreamHandlePrivate.h:
* platform/network/qt/SocketStreamHandleQt.cpp:
(WebCore::SocketStreamHandlePrivate::socketSentData):
2010-10-06 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47285
Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode.
Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow
as appropriate.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator WritingMode):
(WebCore::CSSPrimitiveValue::operator SVGWritingMode):
* css/CSSProperty.cpp:
(WebCore::resolveToPhysicalProperty):
(WebCore::CSSProperty::resolveDirectionAwareProperty):
* css/CSSProperty.h:
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
(WebCore::CSSStyleSelector::adjustRenderStyle):
(WebCore::CSSStyleSelector::applyDeclarations):
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
(WebCore::RenderBlock::setLogicalLeftForChild):
(WebCore::RenderBlock::setLogicalTopForChild):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::collapsedMarginBeforeForChild):
(WebCore::RenderBlock::collapsedMarginAfterForChild):
(WebCore::RenderBlock::marginBeforeForChild):
(WebCore::RenderBlock::marginAfterForChild):
(WebCore::RenderBlock::marginStartForChild):
(WebCore::RenderBlock::marginEndForChild):
(WebCore::RenderBlock::setMarginStartForChild):
(WebCore::RenderBlock::setMarginEndForChild):
(WebCore::RenderBlock::setMarginBeforeForChild):
(WebCore::RenderBlock::setMarginAfterForChild):
(WebCore::RenderBlock::marginValuesForChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalWidthForChild):
(WebCore::RenderBlock::logicalHeightForChild):
(WebCore::RenderBlock::logicalTopForChild):
(WebCore::RenderBlock::logicalRightOffsetForContent):
(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalTopForFloat):
(WebCore::RenderBlock::logicalBottomForFloat):
(WebCore::RenderBlock::logicalLeftForFloat):
(WebCore::RenderBlock::logicalRightForFloat):
(WebCore::RenderBlock::logicalWidthForFloat):
(WebCore::RenderBlock::setLogicalTopForFloat):
(WebCore::RenderBlock::setLogicalLeftForFloat):
(WebCore::RenderBlock::setLogicalHeightForFloat):
(WebCore::RenderBlock::setLogicalWidthForFloat):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::marginBefore):
(WebCore::RenderBox::marginAfter):
(WebCore::RenderBox::marginStart):
(WebCore::RenderBox::marginEnd):
(WebCore::RenderBox::setMarginStart):
(WebCore::RenderBox::setMarginEnd):
(WebCore::RenderBox::setMarginBefore):
(WebCore::RenderBox::setMarginAfter):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::avoidsFloats):
* rendering/RenderBox.h:
(WebCore::RenderBox::logicalLeft):
(WebCore::RenderBox::logicalTop):
(WebCore::RenderBox::logicalWidth):
(WebCore::RenderBox::logicalHeight):
(WebCore::RenderBox::setLogicalLeft):
(WebCore::RenderBox::setLogicalTop):
(WebCore::RenderBox::setLogicalWidth):
(WebCore::RenderBox::setLogicalHeight):
(WebCore::RenderBox::setLogicalLocation):
(WebCore::RenderBox::contentLogicalWidth):
(WebCore::RenderBox::contentLogicalHeight):
(WebCore::RenderBox::stretchesToViewport):
(WebCore::RenderBox::intrinsicLogicalWidth):
(WebCore::RenderBox::intrinsicLogicalHeight):
(WebCore::RenderBox::availableWidth):
(WebCore::RenderBox::availableHeight):
(WebCore::RenderBox::scrollbarLogicalHeight):
(WebCore::RenderBox::isWritingModeRoot):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
(WebCore::RenderFieldset::paintMask):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::computeReplacedLogicalWidth):
(WebCore::RenderImage::computeReplacedLogicalHeight):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::marginLeft):
(WebCore::RenderInline::marginRight):
(WebCore::RenderInline::marginTop):
(WebCore::RenderInline::marginBottom):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paddingTop):
(WebCore::RenderTableCell::paddingBottom):
(WebCore::RenderTableCell::paddingLeft):
(WebCore::RenderTableCell::paddingRight):
* rendering/RenderView.h:
(WebCore::RenderView::viewLogicalWidth):
(WebCore::RenderView::viewLogicalHeight):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
(WebCore::RenderStyle::logicalWidth):
(WebCore::RenderStyle::logicalHeight):
(WebCore::RenderStyle::logicalMinWidth):
(WebCore::RenderStyle::logicalMaxWidth):
(WebCore::RenderStyle::logicalMinHeight):
(WebCore::RenderStyle::logicalMaxHeight):
(WebCore::RenderStyle::borderBeforeWidth):
(WebCore::RenderStyle::borderAfterWidth):
(WebCore::RenderStyle::borderStartWidth):
(WebCore::RenderStyle::borderEndWidth):
(WebCore::RenderStyle::marginBefore):
(WebCore::RenderStyle::marginAfter):
(WebCore::RenderStyle::marginBeforeUsing):
(WebCore::RenderStyle::marginAfterUsing):
(WebCore::RenderStyle::marginStart):
(WebCore::RenderStyle::marginEnd):
(WebCore::RenderStyle::marginStartUsing):
(WebCore::RenderStyle::marginEndUsing):
(WebCore::RenderStyle::paddingBefore):
(WebCore::RenderStyle::paddingAfter):
(WebCore::RenderStyle::paddingStart):
(WebCore::RenderStyle::paddingEnd):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::setBitDefaults):
(WebCore::InheritedFlags::writingMode):
(WebCore::InheritedFlags::isHorizontalWritingMode):
(WebCore::InheritedFlags::setWritingMode):
(WebCore::InheritedFlags::initialWritingMode):
* rendering/style/RenderStyleConstants.h:
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::initialWritingMode):
(WebCore::SVGRenderStyle::setWritingMode):
(WebCore::SVGRenderStyle::writingMode):
* rendering/style/SVGRenderStyleDefs.h:
2010-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r69201.
http://trac.webkit.org/changeset/69201
https://bugs.webkit.org/show_bug.cgi?id=47279
This change broke the WebKitGTK+ build for GTK+ 2.0.
(Requested by mrobinson on #webkit).
* platform/gtk/GtkVersioning.c:
(getDefaultGDKPointerDevice):
* platform/gtk/GtkVersioning.h:
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::getVisual):
(WebCore::screenAvailableRect):
2010-10-06 Stephen White <senorblanco@chromium.org>
Reviewed by James Robinson.
https://bugs.webkit.org/show_bug.cgi?id=47282
Robustify the creation of SharedGraphicsContext3D against shader
compilation failures.
Covered by any canvas 2D layout test, when opened in chrome with
--enable-accelerated-2d-canvas --in-process-webgl.
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::create):
(WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
2010-10-06 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=47268
Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
* dom/ViewportArguments.cpp:
(WebCore::findConfigurationForViewportData):
* dom/ViewportArguments.h:
2010-10-06 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Nikolas Zimmermann.
SVGFEMergeNodeElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=47181
Since feMergeNode doesn't have own renderer, we have to call the invalidation via its parent.
Tests: svg/dynamic-updates/SVGFEMergeNodeElement-dom-in-attr.html
svg/dynamic-updates/SVGFEMergeNodeElement-svgdom-in-prop.html
* svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
* svg/SVGFEMergeNodeElement.h:
2010-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Remove unused code from gtk2drawing.c
https://bugs.webkit.org/show_bug.cgi?id=47086
gtk2drawing.c was copied from mozilla and contains a lot of code that is not
used by WebKit. Most of that unused code is uncompatible with gtk3, so
removing it will make easier porting to gtk3.
* platform/gtk/gtk2drawing.c:
(moz_gtk_get_widget_border):
(moz_gtk_widget_paint):
(moz_gtk_destroy_theme_parts_widgets):
* platform/gtk/gtkdrawing.h:
2010-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
[GTK] Use pixbufs instead of pixmaps when creating platform cursors
https://bugs.webkit.org/show_bug.cgi?id=47087
gdk_cursor_new_from_pixmap() has been removed in gtk3. We can use a
pixbuf instead of a pixman and use gdk_cursor_new_from_pixbuf() instead
for both gtk2 and gtk3.
* platform/gtk/CursorGtk.cpp:
(WebCore::createNamedCursor):
* platform/gtk/GtkVersioning.c:
(gdk_cairo_format_for_content):
(gdk_cairo_surface_coerce_to_image):
(convert_alpha):
(convert_no_alpha):
(gdk_pixbuf_get_from_surface):
* platform/gtk/GtkVersioning.h:
2010-10-06 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add event listener breakpoints sidebar pane
https://bugs.webkit.org/show_bug.cgi?id=46738
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
(WebInspector.BreakpointManager.prototype.createXHRBreakpoint.breakpoint.compareTo):
(WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
(WebInspector.NativeBreakpoint):
(WebInspector.NativeBreakpoint.prototype._setOnBackend.didSet):
(WebInspector.NativeBreakpoint.prototype._setOnBackend):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
(WebInspector.BreakpointItem):
(WebInspector.EventListenerBreakpointsSidebarPane):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCheckbox):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._eventNameCheckboxClicked):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointEnableChanged):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
* inspector/front-end/EventListenersSidebarPane.js:
():
* inspector/front-end/PropertiesSection.js:
(WebInspector.PropertiesSection):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/inspector.css:
(.section .properties, .event-bar .event-properties):
(.section.expanded .properties, .event-bar.expanded .event-properties):
(ol.properties-tree):
(ol.properties-tree li):
(ol.properties-tree li.parent):
(ol.properties-tree li.parent::before):
(ol.properties-tree li.parent.expanded::before):
(ol.properties-tree li .info):
(ol.properties-tree ol, .stack-trace ol, ol.stack-trace):
(ol.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
(ol.stack-trace):
(.event-listener-breakpoints .event-category):
(ol.event-listener-breakpoints.properties-tree .children li):
(.event-listener-breakpoints .checkbox-elem):
* inspector/front-end/inspector.js:
(WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
(WebInspector.createXHRBreakpointsSidebarPane):
2010-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Xan Lopez.
[GTK] Port to gtk+3 (2.91.0)
https://bugs.webkit.org/show_bug.cgi?id=47249
Do not use GdkDrawable deprecated API
Some methods of GdkDrawable are deprecated in gtk2 and have been
remmoved in gtk3. Equivalent API has been added to GdkWindow.
* platform/gtk/GtkVersioning.c:
(getDefaultGDKPointerDevice):
* platform/gtk/GtkVersioning.h:
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::getVisual):
(WebCore::screenAvailableRect):
2010-10-06 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Antonio Gomes.
[EFL] Support Progress Tag
https://bugs.webkit.org/show_bug.cgi?id=45951
Implement to render progress tag.
No new tests. Existing tests in fast/dom/HTMLProgressElement.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintThemePart):
(WebCore::RenderThemeEfl::edjeGroupFromFormType):
(WebCore::RenderThemeEfl::adjustProgressBarStyle):
(WebCore::RenderThemeEfl::paintProgressBar):
* platform/efl/RenderThemeEfl.h:
2010-10-06 Patrick Gansterer <paroga@webkit.org>
Reviewed by Darin Adler.
Add KURL::protocolIsData()
https://bugs.webkit.org/show_bug.cgi?id=47219
* page/Page.cpp:
(WebCore::Page::userStyleSheetLocationChanged):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::taintsCanvas):
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::findInRequest):
* platform/KURL.h:
(WebCore::KURL::protocolIsData):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::dispatchSynchronousJob):
(WebCore::ResourceHandleManager::startJob):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::fileLoadTimer):
2010-10-06 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
CSSParser: Enable rule selector source range extraction.
API modification followed by clients.
https://bugs.webkit.org/show_bug.cgi?id=46367
Some code removal suggested by Darin Adler.
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::markSelectorListStart):
(WebCore::CSSParser::markSelectorListEnd):
(WebCore::CSSParser::markRuleBodyStart):
(WebCore::CSSParser::markRuleBodyEnd):
(WebCore::CSSParser::markPropertyStart):
(WebCore::CSSParser::markPropertyEnd):
* css/CSSParser.h:
(WebCore::CSSParser::resetSelectorListMarks):
(WebCore::CSSParser::resetRuleBodyMarks):
(WebCore::CSSParser::resetPropertyMarks):
* css/CSSPropertySourceData.cpp:
* css/CSSPropertySourceData.h:
(WebCore::CSSRuleSourceData::create):
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::getRuleSourceData):
(WebCore::InspectorCSSStore::extractRanges):
(WebCore::InspectorCSSStore::getStyleAttributeRanges):
* inspector/InspectorCSSStore.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getStyleSourceData):
2010-10-06 Dirk Schulze <krit@webkit.org>
Added reviewer to commit r69187.
2010-10-06 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG feMorphology - big radii cause huge ImageBuffer sizes
https://bugs.webkit.org/show_bug.cgi?id=47263
The current code in FEMorphology::determineAbsolutePaintRect calculates the smallest paint rect by inflate the paint rect
of a previous effect with the radius. This was meant as an optimization, but I forgot to clip the calculated image size
by the maximal effect size. This caused huge image sizes for big radii.
This is covered by svg/filters/feMorphology-invalid-radius.svg and fixes the crashes on Windows and Snow Leopard bots.
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::determineAbsolutePaintRect):
2010-10-06 Alejandro G. Castro <alex@igalia.com>
Reviewed by Dirk Schulze.
Fixed crash in gtk bots (filter-empty-g.svg) after r69181.
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
2010-10-06 Antonio Gomes <agomes@rim.org>
Reviewed by Kenneth Rohde Christiansen.
Rename HitTestResult::rectFromPoint to rectForPoint
https://bugs.webkit.org/show_bug.cgi?id=47261
As per Kenneth Christiansen request inhttps://bugs.webkit.org/show_bug.cgi?id=46336#c20.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::nodesFromRect):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::addNodeToRectBasedTestResult):
(WebCore::HitTestResult::rectForPoint):
* rendering/HitTestResult.h:
(WebCore::HitTestResult::rectForPoint):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestColumns):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestChildLayerColumns):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
2010-10-06 Dirk Schulze <krit@webkit.org>
Reviewed by Martin Robinson.
SVGs with filters look grainy when scaled
https://bugs.webkit.org/show_bug.cgi?id=5526
Fixed issues on Cairos shadow implementation after the changes to FilterEffects.
Cairo calculates the inflation of the effect rect itself. Respect this for FEGaussianBlur.
This is just a temporary solution, since Cairo and Qt will use ContextShadow soon.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::applyPlatformShadow):
(WebCore::GraphicsContext::createShadowMask):
(WebCore::GraphicsContext::drawTiledShadow):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/filters/ImageBufferFilter.cpp:
(WebCore::ImageBufferFilter::ImageBufferFilter):
(WebCore::ImageBufferFilter::create):
* platform/graphics/filters/ImageBufferFilter.h:
(WebCore::ImageBufferFilter::filterRegion):
(WebCore::ImageBufferFilter::sourceImageRect):
2010-10-06 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Only execute first SVG text layout phase if needed
https://bugs.webkit.org/show_bug.cgi?id=47254
The first SVG text layout phase which computes the per-character metrics and extracts
the x/y/dx/dy/rotate values from the SVG DOM is currently executed upon every RenderSVGText::layout() call.
Optimize this, by only calling it:
- if x/y/dx/dy/rotate value lists change
- the style of a RenderSVGInlineText changes (eg. font-size changes influence metrics)
- the text content of any of the children in the <text> subtree change
No change in layout tests, a pure performance change - covered by existing tests.
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient): Adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
(WebCore::clipToTextMask): Ditto.
* rendering/SVGRenderSupport.cpp:
* rendering/SVGRenderSupport.h: Move findTreeRootObject to RenderSVGText::locateRenderSVGTextAncestor().
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::objectBoundingBox): adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
(WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
(WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
(WebCore::RenderSVGInline::absoluteQuads): Ditto.
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::styleDidChange): Call setNeedsPositioningValuesUpdate() on the RenderSVGText root object, if diff == StyleDifferenceLayout.
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::RenderSVGText): Initialize m_needsPositioningValuesUpdate.
(WebCore::RenderSVGText::locateRenderSVGTextAncestor): New helper function, moved from SVGRenderSupport, to a more sensible place.
(WebCore::RenderSVGText::layout): Only execute the first SVG text layout phase, if m_needsPositioningValuesUpdate=true.
* rendering/svg/RenderSVGText.h:
(WebCore::RenderSVGText::setNeedsPositioningValuesUpdate):
(WebCore::toRenderSVGText): Add new helper casting methods, like most other renderers have.
* svg/SVGTextPositioningElement.cpp:
(WebCore::updatePositioningValuesInRenderer):
(WebCore::SVGTextPositioningElement::svgAttributeChanged): If x/y/dx/dy/rotate changes, call setNeedsPositioningValuesUpdate on the RenderSVGText root object.
(WebCore::SVGTextPositioningElement::childrenChanged): If any children changes (addition, removal), do the same.
* svg/SVGTextPositioningElement.h:
2010-10-05 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [Extensions API] Expose access to resource bodies
Added support for encoding resource in WebInspector.getResourceContent()
https://bugs.webkit.org/show_bug.cgi?id=45953
* inspector/Inspector.idl: Added encoding parameter to getResourceContent()
* inspector/InspectorController.cpp:
(WebCore::InspectorController::getResourceContent):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp: Added sourceBytes() to return encoded representation of resource's binary body.
(WebCore::InspectorResource::sourceBytes):
* inspector/InspectorResource.h:
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI.Resources.prototype.getContent):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype._onGetResourceContent):
(WebInspector.ExtensionServer.prototype._onGetResourceContent.onContentAvailable):
(WebInspector.getEncodedResourceContent):
* inspector/front-end/NetworkPanel.js:
(WebInspector.getResourceContent):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.getResourceContent):
2010-10-06 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47235
Make "lr" block-flow fieldsets work.
(1) Patched html.css rules for legends and fieldsets to use logical margins and padding.
(2) Converted just enough of computePreferredLogicalWidths to make basic examples work.
(3) Removed the extra border drawing code from fieldsets so that the "clip out the legend" approach
is now just always used. It's silly to keep the old border drawing code in (which has already gotten out
of sync with the base class) just to avoid a save/restore and some clipping.
(4) Modified the layout/painting routines to place the legend properly and to be able to draw it in
both the top and the left borders.
Added fast/blockflow/fieldsets.html
* css/html.css:
(legend):
(fieldset):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::determineLogicalLeftPositionForChild):
(WebCore::RenderBlock::setLogicalLeftForChild):
(WebCore::RenderBlock::setLogicalTopForChild):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::computePreferredLogicalWidths):
* rendering/RenderBlock.h:
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::layoutLegend):
(WebCore::RenderFieldset::paintBoxDecorations):
(WebCore::RenderFieldset::paintMask):
* rendering/RenderFieldset.h:
2010-10-06 Patrick Gansterer <paroga@webkit.org>
Reviewed by Darin Adler.
Move parseDataUrl() from CURL into own file
https://bugs.webkit.org/show_bug.cgi?id=41462
Move the data URL parsing algorithm into a new file to use it in ResourceHandleWin too.
* CMakeLists.txt:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* platform/network/DataURL.cpp: Added.
(WebCore::handleDataURL):
* platform/network/DataURL.h: Added.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::dispatchSynchronousJob):
(WebCore::ResourceHandleManager::startJob):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::fileLoadTimer):
2010-10-06 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGs with filters look grainy when scaled
https://bugs.webkit.org/show_bug.cgi?id=5526
SVG filter effects need smarter size calculation
https://bugs.webkit.org/show_bug.cgi?id=31370
SVG elements use Filters before own transformations
https://bugs.webkit.org/show_bug.cgi?id=32486
Calculate all filter results in device space instead of the filtered objects user space. This change is similar to
the patches for SVG Pattern and SVG Masker before. It avoids pixelation and guarantees smooth filter results for
every scale level and is independent of any transformation to the target element or any ancester of the target.
The second part of this patch reduces the size of every effect to the smallest affected region instead of the complete
filter primitive subregion (http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveSubRegion). We just use the subregion
as clipping region, like mentioned in the SVG specification, to make the affected region even smaller now.
This is a huge speed up. The ECMA cloud (http://ejohn.org/files/ecma-cloud.svg) is more than 100 times faster on Gtk and
renders in less than a second.
Some examples on svg-wow.org can be viewed the first time now, since the subregions were much bigger than the affected
region.
There's still more potential to speed up filters, by further reducing the ImageBuffer sizes.
Renamed repaintRectInLocalCoordinates to absolutePaintRect, since all coordinates are in device space instead of the
user space now.
The absolute paint rect is calculated by determineAbsolutePaintRect() and gets called by FilterEffect::effectContext() on
applying the effect.
Partly rewrote filter resolution (http://www.w3.org/TR/SVG/filters.html#FilterElementFilterResAttribute) to work with the
new concept. This also corrects the old behavior to match the SVG specification.
Tests: svg/filters/filterRes1.svg
svg/filters/filterRes2.svg
svg/filters/filterRes3.svg
* platform/graphics/cairo/GraphicsContextCairo.cpp: Call setAbsolutePaintRect instead of setRepaintRectInLocalCoordinates.
(WebCore::GraphicsContext::createShadowMask):
* platform/graphics/filters/FEBlend.cpp: Renamed repaintRectInLocalCoordinates to absolutePaintRect.
(WebCore::FEBlend::apply):
* platform/graphics/filters/FEColorMatrix.cpp: Ditto.
(WebCore::FEColorMatrix::apply):
* platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
(WebCore::FEComponentTransfer::apply):
* platform/graphics/filters/FEComposite.cpp: Ditto.
(WebCore::FEComposite::determineAbsolutePaintRect):
(WebCore::FEComposite::apply):
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
(WebCore::FEConvolveMatrix::apply):
* platform/graphics/filters/FEConvolveMatrix.h:
(WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
* platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
(WebCore::FEDisplacementMap::apply):
* platform/graphics/filters/FEDisplacementMap.h:
(WebCore::FEDisplacementMap::determineAbsolutePaintRect):
* platform/graphics/filters/FEFlood.cpp: Ditto.
(WebCore::FEFlood::apply):
* platform/graphics/filters/FEFlood.h:
(WebCore::FEFlood::determineAbsolutePaintRect):
* platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
(WebCore::calculateKernelSize):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):
(WebCore::FEGaussianBlur::apply):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FELighting.cpp: Ditto.
(WebCore::FELighting::apply):
* platform/graphics/filters/FEMerge.cpp: Ditto.
(WebCore::FEMerge::apply):
* platform/graphics/filters/FEMorphology.cpp: Ditto.
(WebCore::FEMorphology::determineAbsolutePaintRect):
(WebCore::FEMorphology::apply):
* platform/graphics/filters/FEMorphology.h:
* platform/graphics/filters/FEOffset.cpp: Ditto.
(WebCore::FEOffset::determineAbsolutePaintRect):
(WebCore::FEOffset::apply):
* platform/graphics/filters/FEOffset.h:
* platform/graphics/filters/FETile.cpp: Ditto.
(WebCore::FETile::determineFilterPrimitiveSubregion):
(WebCore::FETile::apply):
* platform/graphics/filters/FETile.h:
(WebCore::FETile::determineAbsolutePaintRect):
* platform/graphics/filters/FETurbulence.cpp: Ditto.
(WebCore::FETurbulence::apply):
* platform/graphics/filters/FETurbulence.h:
(WebCore::FETurbulence::determineAbsolutePaintRect):
* platform/graphics/filters/Filter.h:
(WebCore::Filter::applyHorizontalScale): Map horizontal effect values to absolute coordinates.
(WebCore::Filter::applyVerticalScale): Map vertical effect values to absolute coordinates.
(WebCore::Filter::mapAbsolutePointToLocalPoint):
(WebCore::Filter::filterRegionInUserSpace):
* platform/graphics/filters/FilterEffect.cpp: Ditto.
(WebCore::FilterEffect::determineFilterPrimitiveSubregion):
(WebCore::FilterEffect::determineAbsolutePaintRect):
(WebCore::FilterEffect::requestedRegionOfInputImageData):
(WebCore::FilterEffect::drawingRegionOfInputImage):
(WebCore::FilterEffect::effectContext):
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::absolutePaintRect):
(WebCore::FilterEffect::setAbsolutePaintRect):
(WebCore::FilterEffect::maxEffectRect): The subregion in absolute coordinates for SVG.
(WebCore::FilterEffect::setMaxEffectRect):
* platform/graphics/filters/SourceAlpha.cpp: Ditto.
(WebCore::SourceAlpha::determineAbsolutePaintRect):
(WebCore::SourceAlpha::apply):
* platform/graphics/filters/SourceAlpha.h:
* platform/graphics/filters/SourceGraphic.cpp: Ditto.
(WebCore::SourceGraphic::determineAbsolutePaintRect):
(WebCore::SourceGraphic::apply):
* platform/graphics/filters/SourceGraphic.h:
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):
* rendering/RenderSVGResourceFilter.h:
(WebCore::FilterData::FilterData):
* svg/graphics/filters/SVGFEImage.cpp: Ditto.
(WebCore::FEImage::apply):
* svg/graphics/filters/SVGFEImage.h:
(WebCore::FEImage::determineAbsolutePaintRect):
* svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::SVGFilter):
(WebCore::SVGFilter::determineFilterPrimitiveSubregion):
(WebCore::SVGFilter::applyHorizontalScale):
(WebCore::SVGFilter::applyVerticalScale):
(WebCore::SVGFilter::create):
* svg/graphics/filters/SVGFilter.h:
(WebCore::SVGFilter::effectBoundingBoxMode):
(WebCore::SVGFilter::filterRegionInUserSpace):
(WebCore::SVGFilter::filterRegion):
(WebCore::SVGFilter::mapAbsolutePointToLocalPoint): Map absolute point to local point in userspace.
(WebCore::SVGFilter::sourceImageRect):
(WebCore::SVGFilter::maxImageSize):
2010-10-06 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add "Set Breakpoint" item to XHR resource context menu.
https://bugs.webkit.org/show_bug.cgi?id=47085
* English.lproj/localizedStrings.js:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._contextMenu):
2010-10-05 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Add idl and mock classes for FileSystemSync for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=46405
Added bunch of *Sync classes, plus refactored some classes:
Added DOMFileSystemBase as a common base class for DOMFileSystem and
DOMFileSystemSync.
Added EntryBase as a common base class for Entry and EntrySync.
Added DirectoryReaderBase as a common base class for DirectoryReader and
DirectoryReaderSync.
Test: fast/filesystem/workers/
* CMakeLists.txt: Added new files.
* DerivedSources.cpp: Added new files.
* DerivedSources.make: Added new files.
* GNUmakefile.am: Added new files.
* WebCore.gypi: Added new files.
* WebCore.pri: Added new files.
* WebCore.pro: Added new files.
* WebCore.vcproj/WebCore.vcproj: Added new files. Also removed the duplicated fileapi\FileEntry.cpp entry.
* WebCore.xcodeproj/project.pbxproj: Added new files.
* bindings/js/JSDirectoryEntrySyncCustom.cpp: Added.
* bindings/js/JSEntrySyncCustom.cpp: Added.
* bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Added.
* bindings/v8/custom/V8EntrySyncCustom.cpp: Added.
* fileapi/DOMFileSystemBase.cpp: Added.
* fileapi/DOMFileSystemBase.h: Added.
* fileapi/DOMFileSystemSync.cpp: Added.
* fileapi/DOMFileSystemSync.h: Added.
* fileapi/DOMFileSystemSync.idl: Added.
* fileapi/DirectoryEntrySync.cpp: Added.
* fileapi/DirectoryEntrySync.h: Added.
* fileapi/DirectoryEntrySync.idl: Added.
* fileapi/DirectoryReaderBase.h: Added.
* fileapi/DirectoryReaderSync.cpp: Added.
* fileapi/DirectoryReaderSync.h: Added.
* fileapi/DirectoryReaderSync.idl: Added.
* fileapi/EntryArraySync.cpp: Added.
* fileapi/EntryArraySync.h: Added.
* fileapi/EntryArraySync.idl: Added.
* fileapi/EntryBase.h: Added.
* fileapi/EntrySync.cpp: Added.
* fileapi/EntrySync.h: Added.
* fileapi/EntrySync.idl: Added.
* fileapi/FileEntrySync.cpp: Added.
* fileapi/FileEntrySync.h: Added.
* fileapi/FileEntrySync.idl: Added.
2010-10-05 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
REGRESSION (r67166): "Placeholder" text remains in input box after 2nd focus()
https://bugs.webkit.org/show_bug.cgi?id=45940
Test: fast/forms/input-placeholder-focus-twice.html
* html/HTMLFormControlElement.h: Make supportsPlaceholder() public.
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::updateFromElement):
We always need to update the renderer value with the DOM value if
the element supports the placeholder feature.
Note: the placeholder feature and "unacceptable renderer value"
are exclusive.
2010-10-05 Kyusun Kim <maniagoon@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Translate key code in PlatformKeyboardEvent with IKeysMapping
https://bugs.webkit.org/show_bug.cgi?id=47234
Brew MP devices have a variey of key configurations and use modifiers to
input capital letters, symbols and special characters. Use IKeysMapping to translate key code.
* platform/brew/PlatformKeyboardEventBrew.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2010-10-05 W. James MacLean <wjmaclean@chromium.org>
Reviewed by James Robinson.
[chromium] Add mipmap support for ImageLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=46493
Mipmap behaviour can be tested with existing tests.
Tests in LayoutTests/compositing/images/ will detect if
mipmaps fail.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::SharedValues::SharedValues):
(WebCore::isPowerOfTwo):
(WebCore::ContentLayerChromium::updateTextureRect):
* platform/graphics/chromium/ContentLayerChromium.h:
(WebCore::ContentLayerChromium::SharedValues::npotSupported):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContents):
2010-10-05 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Issue in treebuilder parsing related to table tags
https://bugs.webkit.org/show_bug.cgi?id=47190
Update ASSERT to match the spec and our behavior.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
2010-10-05 Victoria Kirst <vrk@google.com>
Reviewed by James Robinson.
VideoLayerChromium releases old resources if the LayerRenderer changes.
https://bugs.webkit.org/show_bug.cgi?id=47030
Refactored LayerChromium to have a virtual cleanupResources() method
that will release textures/other context-dependent resources when a
LayerRenderer changes. ContentLayerChromium and VideoLayerChromium now
override this method to perform cleanup.
* platform/graphics/chromium/ContentLayerChromium.cpp:
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerRenderer):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::cleanupResources):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::~VideoLayerChromium):
(WebCore::VideoLayerChromium::cleanupResources):
* platform/graphics/chromium/VideoLayerChromium.h:
2010-10-05 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
FileEntry::file needs to be implemented
https://bugs.webkit.org/show_bug.cgi?id=47192
Test: fast/filesystem/file-from-file-entry.html
* fileapi/FileEntry.cpp:
(WebCore::FileEntry::file): Implemented.
2010-09-29 Alpha Lam <hclam@chromium.org>
Reviewed by James Robinson.
Render textures in video frame directly.
https://bugs.webkit.org/show_bug.cgi?id=46765
Render textures in VideoLayerChromium directly if the video frame type
is GL texture. In the future VideoLayerChromium will not allocate
textures and perform textures upload as those operations will be done
in Chromium to minimize memory copy. This patch will help moving toward
this direction and facilitate hardware video decoding.
* platform/graphics/chromium/VideoFrameChromium.h:
* platform/graphics/chromium/VideoFrameProvider.h:
(WebCore::VideoFrameProvider::~VideoFrameProvider):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::~VideoLayerChromium):
(WebCore::VideoLayerChromium::updateContents):
(WebCore::VideoLayerChromium::draw):
(WebCore::VideoLayerChromium::releaseCurrentFrame):
(WebCore::VideoLayerChromium::resetFrameParameters):
(WebCore::VideoLayerChromium::saveCurrentFrame):
* platform/graphics/chromium/VideoLayerChromium.h:
(WebCore::VideoLayerChromium::SharedValues::initialized):
2010-10-05 Fady Samuel <fsamuel@chromium.org>
Reviewed by Darin Adler.
REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages
https://bugs.webkit.org/show_bug.cgi?id=45131
When border-collapse: separate property is set on the table, paintObject
may skip repainting cells, if the dirty region only touches one row/col of pixels.
Test: fast/table/simple_paint_separate_borders.html
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintObject):
Don't subtract one from the right and bottom of the dirty paint rect.
2010-10-05 Sanjeev Radhakrishnan <sanjeevr@chromium.org>
Reviewed by Darin Fisher.
PluginDocument now holds on to the created plugin node so that the pluginNode() and pluginWidget() methods can return the correct node.
https://bugs.webkit.org/show_bug.cgi?id=47129
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocument::pluginWidget):
(WebCore::PluginDocument::pluginNode):
* html/PluginDocument.h:
(WebCore::PluginDocument::setPluginNode):
2010-10-05 Andreas Kling <kling@webkit.org>
Reviewed by Tor Arne Vestbø.
[Qt] Re-enable single-NPP_SetWindow quirk for 64-bit
https://bugs.webkit.org/show_bug.cgi?id=45363
This is still causing trouble for people, so let's put the
quirk back until we can figure this out properly.
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):
2010-10-05 Jian Li <jianli@chromium.org>
Reviewed by Nate Chapin.
[V8] Add FileReader to active DOM map
https://bugs.webkit.org/show_bug.cgi?id=47205
We need to have a custom FileReader V8 constructor in order to add object
into active DOM map to prevent it from GC-ed when it is still in-use.
* Android.v8bindings.mk:
* WebCore.gypi:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/custom/V8FileReaderCustom.cpp: Added.
(WebCore::V8FileReader::constructorCallback):
* fileapi/FileReader.idl:
2010-10-05 Vincent Scheib <scheib@chromium.org>
Reviewed by Kenneth Russell.
[chromium] 51304 GPU compositor resorts to "slow" text rendering for base page layer
https://bugs.webkit.org/show_bug.cgi?id=47193
Test: Accelerated compositor test infrastructure still coming online. Tested manually.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::drawLayers):
2010-10-05 Nico Weber <thakis@chromium.org>
Reviewed by Andreas Kling.
Fix clang build
https://bugs.webkit.org/show_bug.cgi?id=47198
* page/Chrome.h:
Declare ViewportArguments as struct, not as class.
2010-10-05 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=47204
Make isSelfCollapsingBlock use logical height instead of height in all its checks.
Added fast/blockflow/self-collapsing-block.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelfCollapsingBlock):
2010-10-05 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Relax restrictions on FileWriter::didWrite calls
https://bugs.webkit.org/show_bug.cgi?id=47139
No new tests; they're still waiting on the first implementation.
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::FileWriter):
(WebCore::FileWriter::write):
(WebCore::FileWriter::didWrite):
* fileapi/FileWriter.h:
2010-10-05 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
[chromium] getData('text/uri-list') should return the same thing that was passed to setData('text/uri-list')
https://bugs.webkit.org/show_bug.cgi?id=46943
We no longer parse the input of setData('text/uri-list') and only store
the valid URLs that were parsed out.
Test: editing/pasteboard/dataTransfer-setData-getData.html
* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::clearData):
(WebCore::ChromiumDataObject::clearAllExceptFiles):
(WebCore::ChromiumDataObject::types):
(WebCore::ChromiumDataObject::getData):
(WebCore::ChromiumDataObject::setData):
* platform/chromium/ChromiumDataObject.h:
2010-10-05 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Support FontPlatformData::isFixedPitch for custom fonts
https://bugs.webkit.org/show_bug.cgi?id=47124
Instead of determining whether or not a font is a fixed-width font
lazily, do it up front. For fonts not backed by Fontconfig patterns,
fetch information about whether or not the font is fixed-width from
the FreeType face.
No new tests as this should not change functionality.
* platform/graphics/cairo/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Initialize the m_fixedWidth member
from the Fontconfig pattern or the FreeType face.
(WebCore::FontPlatformData::operator=): Copy over the m_fixedWidth member.
(WebCore::FontPlatformData::isFixedPitch): Just return the value of the m_fixedWidth member.
* platform/graphics/cairo/FontPlatformDataFreeType.h: Added an m_fixedWidth member.
2010-10-05 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=47199
Make float positioning work in block layout with block children.
It doesn't work yet from inside line layout, since line layout is unpatched.
Added fast/blockflow/floats-in-block-layout.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustFloatingBlock):
(WebCore::RenderBlock::setLogicalLeftForChild):
(WebCore::RenderBlock::setLogicalTopForChild):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatingObject::type):
(WebCore::RenderBlock::FloatingObject::renderer):
(WebCore::RenderBlock::logicalRightForFloat):
(WebCore::RenderBlock::setLogicalTopForFloat):
(WebCore::RenderBlock::setLogicalLeftForFloat):
(WebCore::RenderBlock::setLogicalHeightForFloat):
(WebCore::RenderBlock::setLogicalWidthForFloat):
2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Web process crash when pressing modifiers in input field
https://bugs.webkit.org/show_bug.cgi?id=44935
Revert part of the http://trac.webkit.org/changeset/69105 due to a
test regression. Unix: Add ASSERTs to plugin related code. These
will fail if Qt WebKit2 is used with plugins, unless code is not
fixed before.
* plugins/qt/PluginViewQt.cpp:
(WebCore::setXKeyEventSpecificFields): Use qKeyEvent, Use ASSERT as a reminder.
2010-10-05 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioBasicProcessorNode files
https://bugs.webkit.org/show_bug.cgi?id=46495
No new tests since audio API is not yet implemented.
* webaudio/AudioBasicProcessorNode.cpp: Added.
(WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
(WebCore::AudioBasicProcessorNode::initialize):
(WebCore::AudioBasicProcessorNode::uninitialize):
(WebCore::AudioBasicProcessorNode::process):
(WebCore::AudioBasicProcessorNode::pullInputs):
(WebCore::AudioBasicProcessorNode::reset):
(WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
(WebCore::AudioBasicProcessorNode::numberOfChannels):
* webaudio/AudioBasicProcessorNode.h: Added.
(WebCore::AudioBasicProcessorNode::processor):
2010-10-05 Chris Marrin <cmarrin@apple.com>
Unreviewed.
The platform/graphics/gpu folder was mistakenly inside the filters folder.
I moved it to the right place in the Group Tree.
* WebCore.xcodeproj/project.pbxproj:
2010-10-05 Chris Marrin <cmarrin@apple.com>
Reviewed by Adam Roben.
Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash
https://bugs.webkit.org/show_bug.cgi?id=47197
This is work in progress and the crash only happens with ACCELERATED_2D_CANVAS turned on (which is off
by default). Many existing test cases will crash before and after this patch.
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::create):
2010-10-05 Tony Chang <tony@chromium.org>
Reviewed by Kent Tamura.
[chromium] properly paint really small scrollbar arrows on linux
https://bugs.webkit.org/show_bug.cgi?id=47109
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
(WebCore::ScrollbarThemeChromiumLinux::buttonSize): Clamp button size based on available size. This matches what
we do on Win.
2010-10-05 Nate Chapin <japhet@chromium.org>
Reviewed by David Levin.
Remove unused CachedResource::Status values (New and NotCached).
https://bugs.webkit.org/show_bug.cgi?id=47132
Refactor only, no new tests.
* loader/CachedResource.h:
* loader/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::checkCacheObjectStatus):
2010-10-04 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Nate Chapin.
Rename get* and open*Cursor per the spec on IDBIndex
https://bugs.webkit.org/show_bug.cgi?id=46906
The spec changed so that:
IDBIndex.get -> getKey
IDBIndex.getObject -> get
IDBIndex.openCursor -> openKeyCursor
IDBIndex.openObjectCursor -> openCursor
Existing tests cover since this is just renaming stuff.
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
* storage/IDBIndex.h:
* storage/IDBIndex.idl:
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
* storage/IDBIndexBackendImpl.h:
* storage/IDBIndexBackendInterface.h:
2010-10-05 Keith Kyzivat <keith.kyzivat@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix breakage in RVCT 2.2 compile
https://bugs.webkit.org/show_bug.cgi?id=47187
Fix bug in RVCT 2.2 compile for Symbian^3 in html/canvas/Int32Array.h and
html/canvas/Uin8Array.h
For RVCT2.2, the using clause is unneeded, and can be omitted.
A Test case cannot be made for this since this is a build-related issue.
* html/canvas/Int32Array.h:
* html/canvas/Uint8Array.h:
2010-10-04 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBDatabase::createObjectStore/removeObjectStore and IDBObjectStore::createIndex/removeIndex should be synchronous.
https://bugs.webkit.org/show_bug.cgi?id=46883
Makes the schema manipulation methods synchronous. Modifies the transaction
logic to support tasks that may have pending events as well as tasks that
don't have such events.
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::removeObjectStore):
* storage/IDBDatabase.h:
* storage/IDBDatabase.idl:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
(WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
* storage/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(WebCore::IDBIndexBackendImpl::id):
(WebCore::IDBIndexBackendImpl::setId):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::removeIndex):
* storage/IDBObjectStore.h:
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
(WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
* storage/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::create):
(WebCore::IDBObjectStoreBackendImpl::id):
(WebCore::IDBObjectStoreBackendImpl::setId):
(WebCore::IDBObjectStoreBackendImpl::autoIncrement):
* storage/IDBObjectStoreBackendInterface.h:
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
(WebCore::IDBTransactionBackendImpl::run):
(WebCore::IDBTransactionBackendImpl::taskTimerFired):
(WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
* storage/IDBTransactionBackendImpl.h:
2010-10-05 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
WAI-ARIA 'marquee' role live region uses aria-live="polite", should use aria-live="off"
https://bugs.webkit.org/show_bug.cgi?id=47185
Test: platform/mac/accessibility/aria-liveregion-marquee-default.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
2010-10-05 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Interior scrollbars do not draw their background properly
https://bugs.webkit.org/show_bug.cgi?id=47096
Correct the method that the GTK+ theme drawing code uses to
draw scrolled window backgrounds. Now it uses gtk_paint_shadow,
the same as the actual code from GTK+.
No new tests as this is very hard to write tests for. The bug only
manifests on some GTK+ themes and we have no test harness mechanism
for testing rendering with non-default GTK+ themes.
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paintScrollbarBackground): No longer
initialize the widget state, as it's unused by the callee.
(WebCore::ScrollbarThemeGtk::paint): Remove an inaccurate comment.
* platform/gtk/gtk2drawing.c:
(moz_gtk_scrolled_window_paint): Paint scrolled window backgrounds
with gtk_paint_shadow instead of gtk_paint_box.
2010-10-05 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Use PlatformRefPtr instead of OwnPtr in FileSystem
https://bugs.webkit.org/show_bug.cgi?id=47025
PlatformRefPtr is a better choice here because all Brew MP instances are
reference counted.
* platform/brew/FileSystemBrew.cpp:
(WebCore::getFileSize):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::canonicalPath):
(WebCore::makeAllDirectories):
(WebCore::openTemporaryFile):
2010-10-05 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Complex text rendering does not render custom fonts
https://bugs.webkit.org/show_bug.cgi?id=41091
For fonts that do not have a FontConfig pattern (including custom
fonts), fall back to the simple text rendering path. This is a work-
-around for not supporting Pango rendering with non-FontConfig fonts.
Test: platform/gtk/fonts/font-face-with-complex-text.html
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::Font::drawComplexText): Fall back to the simple path for custom fonts.
(WebCore::Font::floatWidthForComplexText): Ditto.
(WebCore::Font::offsetForPositionForComplexText): Ditto.
(WebCore::Font::selectionRectForComplexText): Ditto.
2010-10-05 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Use PlatformRefPtr in getDisplayInfo
https://bugs.webkit.org/show_bug.cgi?id=47023
Use PlatformRefPtr to release IBitmap* automatically.
* platform/brew/ScreenBrew.cpp:
(WebCore::getDisplayInfo):
2010-10-05 Kristian Monsen <kristianm@google.com>
Reviewed by Steve Block.
Including JavaScriptCore/config.h from WebCore/config.h
instead of from WebCorePrefix.h.
https://bugs.webkit.org/show_bug.cgi?id=47179
No new tests, just changing where files are included.
* WebCorePrefix.h:
* config.h:
2010-10-05 Jakob Petsovits <jpetsovits@rim.com>
Reviewed by Andreas Kling.
[Qt] Make build work with QT_NO_CURSOR
https://bugs.webkit.org/show_bug.cgi?id=46097
Add a missing include.
* platform/qt/QWebPageClient.h:
2010-10-05 Jakob Petsovits <jpetsovits@rim.com>
Reviewed by Andreas Kling.
[Qt] Make build work with QT_NO_CURSOR
https://bugs.webkit.org/show_bug.cgi?id=46097
createCustomCursor() is a static function and not used
in that file if QT_NO_CURSOR is defined, so rather than
making it return 0, it should not exist altogether.
* platform/qt/CursorQt.cpp:
(WebCore::createCustomCursor):
2010-10-05 Adam Roben <aroben@apple.com>
Windows linker warning fix
* WebCore.vcproj/WebCore.vcproj: Exclude JSDOMTokenList.cpp from the
build, since it is already being compiled via DerivedSources.cpp. Also
let VS reorder some files.
2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Web process crash when pressing modifiers in input field
https://bugs.webkit.org/show_bug.cgi?id=44935
Fix null pointer dereference by not using
PlatformKeyboardEvent::m_qtEvent. This member is not set when
event comes from WebKit2. Unix: Add ASSERTs to plugin related
code. These will fail if WebKit2 is used with plugins, unless code
is not fixed before. Symbian: Add ASSERT to code which uses
qtEvent(). It will fail when WebKit2 is enabled for Symbian, if
code is not fixed before.
* platform/PlatformKeyboardEvent.h:
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::isVirtualKeyCodeRepresentingCharacter): Added.
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Avoid using m_qtEvent.
(WebCore::PlatformKeyboardEvent::nativeModifiers): Added. Use ASSERT as a reminder.
(WebCore::PlatformKeyboardEvent::nativeScanCode): Added. Use ASSERT as a reminder.
* plugins/qt/PluginViewQt.cpp:
(WebCore::setXKeyEventSpecificFields):
* plugins/symbian/PluginViewSymbian.cpp:
(WebCore::PluginView::handleKeyboardEvent): Add ASSERT as a reminder.
2010-10-05 Kwang Yul Seo <skyul@company100.net>
Reviewed by Csaba Osztrogonác.
Add ENABLE(ACCELERATED_2D_CANVAS) guard to LoopBlinnLocalTriangulator.cpp
https://bugs.webkit.org/show_bug.cgi?id=47115
LoopBlinnLocalTriangulator.cpp depends on LoopBlinnMathUtils.cpp which is guarded by
ENABLE(ACCELERATED_2D_CANVAS).
* platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp:
2010-10-05 Satish Sampath <satish@chromium.org>
Reviewed by Kent Tamura.
Added event onwebkitspeechchange to invoke on new speech input results.
https://bugs.webkit.org/show_bug.cgi?id=47127
* dom/EventNames.h: Added webkitspeechchange event name.
* html/HTMLAttributeNames.in: Added onwebkitspeechchange attribute name.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute): Handle new attribute set.
(WebCore::HTMLInputElement::dispatchWebkitSpeechChangeEvent): Invoke the event handler.
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl: Added attribute to IDL.
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Invoke new event handler instead of onChange
2010-10-05 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Rename @webkitspeech to @x-webkit-speech to follow HTML5 convention
https://bugs.webkit.org/show_bug.cgi?id=46873
The @webkitspeech attribute is renamed to @x-webkit-speech per the HTML5 spec for extension
attributes. The DOM attribute in IDL was renamed to 'webkitSpeech' as well. But the generated
code for the attribute did not match the generated code for the IDL, so I modified
dom/make_names.pl to generate the appropriate name for such extension attributes.
* bindings/generic/RuntimeEnabledFeatures.h: Rename flag accessor to match IDL attribute name.
(WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled):
* dom/make_names.pl: Additions to generate names for x-webkit-xxxx attributes that match the
generated code from IDL and remember the original names including the x- prefix when writing
out the cpp files.
* html/HTMLAttributeNames.in: Rename @webkitspeech to @x-webkit-speech
* html/HTMLInputElement.idl: Rename @webkitspeech to @webkitSpeech
2010-10-04 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [Chromium][Extension API] provide tab id of inspected tab in extension API
https://bugs.webkit.org/show_bug.cgi?id=47080
* inspector/front-end/ExtensionServer.js: Added support for platform-specific extensions API.
(WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
2010-10-05 Sanjeev Radhakrishnan <sanjeevr@chromium.org>
Reviewed by Darin Fisher.
Fixed implementation of pluginWidgetFromDocument to search for the "embed" element rather than just use the first child.
https://bugs.webkit.org/show_bug.cgi?id=47129
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::pluginWidgetFromDocument):
2010-10-05 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add BiquadDSPKernel files
https://bugs.webkit.org/show_bug.cgi?id=46528
No new tests since audio API is not yet implemented.
* webaudio/BiquadDSPKernel.cpp: Added.
(WebCore::BiquadDSPKernel::process):
* webaudio/BiquadDSPKernel.h: Added.
(WebCore::BiquadDSPKernel::BiquadDSPKernel):
(WebCore::BiquadDSPKernel::reset):
(WebCore::BiquadDSPKernel::biquadProcessor):
2010-10-05 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
Fix AudioContext to use new HRTFDatabaseLoader API
https://bugs.webkit.org/show_bug.cgi?id=46858
No new tests since audio API is not yet implemented.
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::isRunnable):
* webaudio/AudioContext.h:
* webaudio/AudioContext.idl:
2010-10-05 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioPannerNode files
https://bugs.webkit.org/show_bug.cgi?id=46505
No new tests since audio API is not yet implemented.
* webaudio/AudioPannerNode.cpp: Added.
(WebCore::fixNANs):
(WebCore::AudioPannerNode::AudioPannerNode):
(WebCore::AudioPannerNode::~AudioPannerNode):
(WebCore::AudioPannerNode::pullInputs):
(WebCore::AudioPannerNode::process):
(WebCore::AudioPannerNode::reset):
(WebCore::AudioPannerNode::initialize):
(WebCore::AudioPannerNode::uninitialize):
(WebCore::AudioPannerNode::listener):
(WebCore::AudioPannerNode::setPanningModel):
(WebCore::AudioPannerNode::getAzimuthElevation):
(WebCore::AudioPannerNode::dopplerRate):
(WebCore::AudioPannerNode::distanceConeGain):
(WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
* webaudio/AudioPannerNode.h: Added.
(WebCore::AudioPannerNode::create):
(WebCore::AudioPannerNode::panningModel):
(WebCore::AudioPannerNode::position):
(WebCore::AudioPannerNode::setPosition):
(WebCore::AudioPannerNode::orientation):
(WebCore::AudioPannerNode::setOrientation):
(WebCore::AudioPannerNode::velocity):
(WebCore::AudioPannerNode::setVelocity):
(WebCore::AudioPannerNode::distanceModel):
(WebCore::AudioPannerNode::setDistanceModel):
(WebCore::AudioPannerNode::refDistance):
(WebCore::AudioPannerNode::setRefDistance):
(WebCore::AudioPannerNode::maxDistance):
(WebCore::AudioPannerNode::setMaxDistance):
(WebCore::AudioPannerNode::rolloffFactor):
(WebCore::AudioPannerNode::setRolloffFactor):
(WebCore::AudioPannerNode::coneInnerAngle):
(WebCore::AudioPannerNode::setConeInnerAngle):
(WebCore::AudioPannerNode::coneOuterAngle):
(WebCore::AudioPannerNode::setConeOuterAngle):
(WebCore::AudioPannerNode::coneOuterGain):
(WebCore::AudioPannerNode::setConeOuterGain):
(WebCore::AudioPannerNode::distanceGain):
(WebCore::AudioPannerNode::coneGain):
* webaudio/AudioPannerNode.idl: Added.
2010-10-04 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[Cairo] Port drawTiledShadow to the new ContextShadow
https://bugs.webkit.org/show_bug.cgi?id=45902
Ported the drawTiledShadow function to the ContextShadow, it
renders shadows for rects faster than the simple blurring using
tiling of a smaller rect. We will remove the old function in a
next patch when starting to use ContextShadows for cairo
rendering.
* platform/graphics/ContextShadow.h:
* platform/graphics/cairo/ContextShadowCairo.cpp:
(WebCore::ContextShadow::drawRectShadowWithoutTiling):
(WebCore::ContextShadow::drawRectShadow):
2010-10-05 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add BiquadProcessor files
https://bugs.webkit.org/show_bug.cgi?id=46527
No new tests since audio API is not yet implemented.
* webaudio/BiquadProcessor.cpp: Added.
(WebCore::BiquadProcessor::BiquadProcessor):
(WebCore::BiquadProcessor::~BiquadProcessor):
(WebCore::BiquadProcessor::createKernel):
(WebCore::BiquadProcessor::process):
* webaudio/BiquadProcessor.h: Added.
(WebCore::BiquadProcessor::filterCoefficientsDirty):
(WebCore::BiquadProcessor::parameter1):
(WebCore::BiquadProcessor::parameter2):
(WebCore::BiquadProcessor::parameter3):
(WebCore::BiquadProcessor::type):
2010-10-05 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add EqualPowerPanner files
https://bugs.webkit.org/show_bug.cgi?id=45077
No new tests since audio API is not yet implemented.
* platform/audio/EqualPowerPanner.cpp: Added.
(WebCore::EqualPowerPanner::EqualPowerPanner):
(WebCore::EqualPowerPanner::pan):
* platform/audio/EqualPowerPanner.h: Added.
(WebCore::EqualPowerPanner::reset):
2010-10-05 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add HighPass2FilterNode files
https://bugs.webkit.org/show_bug.cgi?id=46533
No new tests since audio API is not yet implemented.
* webaudio/HighPass2FilterNode.cpp: Added.
(WebCore::HighPass2FilterNode::HighPass2FilterNode):
* webaudio/HighPass2FilterNode.h: Added.
(WebCore::HighPass2FilterNode::create):
(WebCore::HighPass2FilterNode::cutoff):
(WebCore::HighPass2FilterNode::resonance):
(WebCore::HighPass2FilterNode::biquadProcessor):
* webaudio/HighPass2FilterNode.idl: Added.
2010-10-05 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add LowPass2FilterNode files
https://bugs.webkit.org/show_bug.cgi?id=46532
No new tests since audio API is not yet implemented.
* webaudio/LowPass2FilterNode.cpp: Added.
(WebCore::LowPass2FilterNode::LowPass2FilterNode):
* webaudio/LowPass2FilterNode.h: Added.
(WebCore::LowPass2FilterNode::create):
(WebCore::LowPass2FilterNode::cutoff):
(WebCore::LowPass2FilterNode::resonance):
(WebCore::LowPass2FilterNode::biquadProcessor):
* webaudio/LowPass2FilterNode.idl: Added.
2010-10-04 Alejandro G. Castro <alex@igalia.com>
Reviewed by Kent Tamura.
Fixed compilation problem added in commit 69082. The interface of
the function has two parameters with the same name.
* rendering/RenderBlock.h:
2010-10-04 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioUtilities files
https://bugs.webkit.org/show_bug.cgi?id=47011
No new tests since audio API is not yet implemented.
* platform/audio/AudioUtilities.cpp: Added.
(WebCore::AudioUtilities::decibelsToLinear):
(WebCore::AudioUtilities::linearToDecibels):
(WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
* platform/audio/AudioUtilities.h: Added.
2010-10-04 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47112
Convert addOverhangingFloats and addIntrudingFloats to be block-flow-aware.
Also clean up how floats are placed to use a bit instead of the magic -1 value on top().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::removeFloatingObjectsBelow):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::markLinesDirtyInBlockRange):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatingObject::FloatingObject):
(WebCore::RenderBlock::FloatingObject::isPlaced):
(WebCore::RenderBlock::FloatingObject::setIsPlaced):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::determineStartPosition):
2010-10-04 Nico Weber <thakis@chromium.org>
Reviewed by Kenneth Russell.
Fix broken C++ in PODInterval and PODIntervalTree
https://bugs.webkit.org/show_bug.cgi?id=47063
See http://clang.llvm.org/compatibility.html#dep_lookup . Since
valueToString needs to work with non-class types, it needs to be
declared before it's used. And since it needs to handle many types, it
needs to be a template function, for which clients will need to
provide specializations for the types they care about. Partial template
specialization is only supported for structs, so wrap the function in
a struct, too.
* platform/graphics/gpu/PODInterval.h:
(WebCore::PODInterval::toString):
* platform/graphics/gpu/PODIntervalTree.h:
(WebCore::PODIntervalTree::checkInvariantsFromNode):
* platform/graphics/gpu/PODRedBlackTree.h:
(WebCore::PODRedBlackTree::dumpFromNode):
2010-10-04 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
Spatial Navigation: Add support for <input type="radio">
https://bugs.webkit.org/show_bug.cgi?id=46993
When using Spatial Navigation, every radio button should be focusable and
users should be able to navigate from one button to the next without moving the selection.
Tests: fast/events/spatial-navigation/snav-radio-group.html
fast/events/spatial-navigation/snav-radio.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isKeyboardFocusable):
Every radio button should be keyboard focusable, if using Spatial Navigation.
(WebCore::HTMLInputElement::defaultEventHandler):
Disable the algorithm for selecting the next radio button within a group, if using Spatial Navigation.
2010-10-04 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Andreas Kling.
SVGFEGaussianBlurElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=47074
The patch also implements the simple setStdDeviation method.
Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html
svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html
svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html
svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::setStdDeviation):
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
* svg/SVGFEGaussianBlurElement.h:
2010-10-04 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Add Base64DecodePolicy option at base64Decode()
https://bugs.webkit.org/show_bug.cgi?id=41510
Add an option for ignoring characters in base64 data.
This is necessary for decoding data urls.
Also add an overload to decode WebCore::String directly.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::atob):
* page/Page.cpp:
(WebCore::Page::userStyleSheetLocationChanged):
* platform/text/Base64.cpp:
(WebCore::base64Encode):
(WebCore::base64Decode):
(WebCore::base64DecodeInternal):
* platform/text/Base64.h:
(WebCore::):
2010-10-04 Ryuan Choi <bunhere@gmail.com>
Unreviewed build fix.
[WML] Build fix for r68854
https://bugs.webkit.org/show_bug.cgi?id=47043
Include HTMLParserIdioms.h.
No features added, so no new tests.
* wml/WMLAElement.cpp:
* wml/WMLImageLoader.cpp:
2010-10-04 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed build fix.
[CMAKE] Build fix for r68901
https://bugs.webkit.org/show_bug.cgi?id=47042
Move plugins/PluginPackage.cpp
No features added, so no new tests.
* CMakeLists.txt:
2010-10-04 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Hook FileEntry::createWriter to DOMFileSystem::createWriter
https://bugs.webkit.org/show_bug.cgi?id=46908
No new tests--still waiting for the first complete implementation.
* fileapi/FileEntry.cpp:
(WebCore::FileEntry::createWriter):
2010-10-04 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Antonio Gomes.
Spatial Navigation: select element does not release focus with Spatial Navigation
https://bugs.webkit.org/show_bug.cgi?id=46896
When using Spatial Navigation, once a select element is focused, you cannot use arrow keys
to navigate out of the select element. That is because select element currently uses the
arrow keys to change the selected element.
Change the behavior of select element so it does not change selection, if Spatial Navigation
is on.
This patch is addressing the case where Spatial Navigation is used
in a mobile device, and the flag ENABLE_NO_LISTBOX_RENDERING is on.
In the future we can add support for the case where the flag is off, and
the user needs to traverse the select element inline.
Tests: fast/events/spatial-navigation/snav-multiple-select.html
fast/events/spatial-navigation/snav-single-select.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::menuListDefaultEventHandler):
2010-10-04 Sriram Neelakandan <sriram.neelakandan@gmail.com>
Reviewed by Andreas Kling.
[Qt] QNetworkReplyHandler forces buffered output for FormData with files
https://bugs.webkit.org/show_bug.cgi?id=46259
No new tests. Existing form submit tests should cover this change.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::FormDataIODevice::FormDataIODevice):
(WebCore::FormDataIODevice::computeSize):
Add computeSize() for computing form device size
(WebCore::QNetworkReplyHandler::start):
Call computeSize(), fill Content-Length and prevent UploadData buffering
* platform/network/qt/QNetworkReplyHandler.h:
(WebCore::FormDataIODevice::getFormDataSize):
2010-10-04 Chang Shu <chang.shu@nokia.com>
Reviewed by Antonio Gomes.
Fixed the typo that searches the wrong direction in the no-focus-node case.
As a result, after page is loaded, pressing key "arrowdown" will bring the
focus to the 1st element instead of the last element.
https://bugs.webkit.org/show_bug.cgi?id=46901
Test: fast/events/spatial-navigation/snav-1st-stop.html
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusDirectionally):
2010-10-04 Simon Fraser <simon.fraser@apple.com>
No review.
Touch cf/SocketStreamHandle.h and add an #ifdef to qt/SocketStreamHandle.h
to fail at compile time if Mac includes that header.
* platform/network/cf/SocketStreamHandle.h:
* platform/network/qt/SocketStreamHandle.h:
2010-10-04 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=47136
WebSocket tests are crashing
The Mac xcode project was finding qt/SocketStreamHandle.h because of
an inadvertent change in r68951. Thus the header and implementation didn't match,
and memory corruption ensued.
* WebCore.xcodeproj/project.pbxproj:
2010-10-04 Chris Marrin <cmarrin@apple.com>
Reviewed by James Robinson.
Move SharedGraphicsContext3D from ChromeClient to Page
https://bugs.webkit.org/show_bug.cgi?id=47113
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
* page/ChromeClient.h:
* page/Page.cpp:
(WebCore::Page::sharedGraphicsContext3D):
* page/Page.h:
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::create):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
2010-10-04 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Nate Chapin.
Implement IndexedDB's oncomplete and ontimeout.
https://bugs.webkit.org/show_bug.cgi?id=47106
Add ontimeout and oncomplete to IDBTransaction and plumb
them. Test this behavior in the existing IDBTransaction-basics
test.
* WebCore.gypi:
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::mode):
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):
(WebCore::IDBTransaction::onTimeout):
(WebCore::IDBTransaction::stop):
(WebCore::IDBTransaction::onAbortTimerFired):
(WebCore::IDBTransaction::onCompleteTimerFired):
(WebCore::IDBTransaction::onTimeoutTimerFired):
* storage/IDBTransaction.h:
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::commit):
* storage/IDBTransactionCallbacks.h:
2010-10-04 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
Crash at WebCore::nextCandidate + 27
https://bugs.webkit.org/show_bug.cgi?id=47118
<rdar://problem/7282934>
When we canonicalize a Position to create a VisiblePosition, the position
is passed by reference. In canonicalPosition we call updateLayoutIgnorePendingStylesheets
that can produce a lot of side effects, including changing the selection.
This becomes a serious problem whne the position passed as reference is one of
the selection endpoints.
Test: editing/selection/focus-crash.html
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::canonicalPosition):
2010-10-04 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=37812
Assertion failure when appcache/fail-on-update.html is run twice in a row
Test: http/tests/appcache/fail-on-update-2.html
For some reason, I can't reproduce this assertion failure with ToT, but the fixes I made
previously are still good, and covered by the new test.
* loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
Handle the case when the cache is already obsolete by the time cache selection occurs.
* loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::failedLoadingMainResource):
It's not true that loading from appcache always succeeds - it can be aborted.
* loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store):
Calling ensureOriginRecord(group->origin()) can change lastInsertRowID!
2010-10-04 Erik Arvidsson <arv@chromium.org>
Reviewed by James Robinson.
https://bugs.webkit.org/show_bug.cgi?id=47122
Crash in classList when class attribute is empty.
Tests: fast/dom/HTMLElement/class-list.html
* html/DOMTokenList.cpp:
(WebCore::DOMTokenList::length):
(WebCore::DOMTokenList::containsInternal):
(WebCore::DOMTokenList::classNames):
2010-10-04 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Use isHTMLSpace in more places, and optimize it
https://bugs.webkit.org/show_bug.cgi?id=47103
* css/CSSParser.cpp:
(WebCore::parseColorInt): Use isHTMLSpace instead of a separate isCSSWhitespace function.
(WebCore::parseAlphaValue): Ditto.
(WebCore::CSSParser::text): Ditto.
* dom/SpaceSplitString.h: Removed isClassWhitespace.
* dom/SpaceSplitString.cpp:
(WebCore::SpaceSplitStringData::createVector): Use isHTMLSpace instead of isClassWhitespace.
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged): Ditto.
* html/DOMTokenList.cpp:
(WebCore::validateToken): Ditto.
(WebCore::DOMTokenList::removeInternal): Ditto.
* html/parser/HTMLParserIdioms.h: Added histogram data an changed so that non-spaces take
only a single branch and plain old spaces take only two branches.
2010-10-04 Justin Schuh <jschuh@chromium.org>
Reviewed by James Robinson.
HTMLMediaElement delayed load should fire asynchronously
https://bugs.webkit.org/show_bug.cgi?id=45765
Test: media/remove-from-document-before-load.html
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::decrementLoadEventDelayCount):
(WebCore::Document::loadEventDelayTimerFired):
* dom/Document.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::asyncEventTimerFired):
(WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
* html/HTMLMediaElement.h:
2010-10-04 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
ResourceHandle's public/protected/private sections are fragmented
https://bugs.webkit.org/show_bug.cgi?id=47038
Minor cleanup.
* platform/network/ResourceHandle.h:
2010-10-04 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=43506
<rdar://problem/8289284> foreign-iframe-main.html occasionally crashes (during the next test,
idempotent-update.html)
Application cache doesn't use ResourceLoader machinery (for better or worse), so we need to
abort update process explicitly.
Note that in principle, update could piggyback on any other existing frame - or even run
frameless - but currently, it's tied to the first frame that requested update.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::stopLoadingInFrame):
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::~ApplicationCacheHost):
(WebCore::ApplicationCacheHost::stopLoadingInFrame):
* loader/appcache/ApplicationCacheHost.h:
2010-10-04 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Rename RedirectScheduler to NavigationScheduler
https://bugs.webkit.org/show_bug.cgi?id=47037
This class schedules more than just redirects. In fact, it schedules
most kinds of navigations.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/BindingDOMWindow.h:
(WebCore::::createWindow):
(WebCore::::open):
* bindings/generic/BindingFrame.h:
(WebCore::::navigateIfAllowed):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation):
(WebCore::createWindow):
(WebCore::JSDOMWindow::open):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::setLocation):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::reload):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadCallback):
* dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::processHttpEquiv):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setResourceTrackingEnabled):
(WebCore::InspectorController::reloadPage):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setDefersLoading):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::didOpenURL):
(WebCore::FrameLoader::didExplicitOpen):
(WebCore::FrameLoader::cancelAndClear):
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::checkCompleted):
(WebCore::FrameLoader::provisionalLoadStarted):
(WebCore::FrameLoader::completed):
(WebCore::FrameLoader::prepareForCachedPageRestore):
* loader/FrameLoader.h:
* loader/NavigationScheduler.cpp: Added.
(WebCore::ScheduledNavigation::ScheduledNavigation):
(WebCore::ScheduledNavigation::~ScheduledNavigation):
(WebCore::ScheduledNavigation::shouldStartTimer):
(WebCore::ScheduledNavigation::didStartTimer):
(WebCore::ScheduledNavigation::didStopTimer):
(WebCore::ScheduledNavigation::delay):
(WebCore::ScheduledNavigation::lockHistory):
(WebCore::ScheduledNavigation::lockBackForwardList):
(WebCore::ScheduledNavigation::wasDuringLoad):
(WebCore::ScheduledNavigation::isLocationChange):
(WebCore::ScheduledNavigation::wasUserGesture):
(WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
(WebCore::ScheduledURLNavigation::fire):
(WebCore::ScheduledURLNavigation::didStartTimer):
(WebCore::ScheduledURLNavigation::didStopTimer):
(WebCore::ScheduledURLNavigation::url):
(WebCore::ScheduledURLNavigation::referrer):
(WebCore::ScheduledRedirect::ScheduledRedirect):
(WebCore::ScheduledRedirect::shouldStartTimer):
(WebCore::ScheduledLocationChange::ScheduledLocationChange):
(WebCore::ScheduledRefresh::ScheduledRefresh):
(WebCore::ScheduledRefresh::fire):
(WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
(WebCore::ScheduledHistoryNavigation::fire):
(WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
(WebCore::ScheduledFormSubmission::fire):
(WebCore::ScheduledFormSubmission::didStartTimer):
(WebCore::ScheduledFormSubmission::didStopTimer):
(WebCore::NavigationScheduler::NavigationScheduler):
(WebCore::NavigationScheduler::~NavigationScheduler):
(WebCore::NavigationScheduler::redirectScheduledDuringLoad):
(WebCore::NavigationScheduler::locationChangePending):
(WebCore::NavigationScheduler::clear):
(WebCore::NavigationScheduler::scheduleRedirect):
(WebCore::NavigationScheduler::mustLockBackForwardList):
(WebCore::NavigationScheduler::scheduleLocationChange):
(WebCore::NavigationScheduler::scheduleFormSubmission):
(WebCore::NavigationScheduler::scheduleRefresh):
(WebCore::NavigationScheduler::scheduleHistoryNavigation):
(WebCore::NavigationScheduler::timerFired):
(WebCore::NavigationScheduler::schedule):
(WebCore::NavigationScheduler::startTimer):
(WebCore::NavigationScheduler::cancel):
* loader/NavigationScheduler.h: Added.
* loader/RedirectScheduler.cpp: Removed.
* loader/RedirectScheduler.h: Removed.
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadOrRedirectSubframe):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::selectCache):
* page/Frame.cpp:
(WebCore::Frame::Frame):
* page/Frame.h:
(WebCore::Frame::navigationScheduler):
* page/History.cpp:
(WebCore::History::back):
(WebCore::History::forward):
(WebCore::History::go):
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::findInRequest):
2010-10-04 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Remove ENABLE_SANDBOX
https://bugs.webkit.org/show_bug.cgi?id=47032
I'm not sure there's a reason for this to be behind a compile flag
anymore.
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* features.pri:
* html/HTMLIFrameElement.cpp:
(WebCore::parseSandboxAttribute):
(WebCore::HTMLIFrameElement::parseMappedAttribute):
2010-10-04 Huahui Wu <mediadependent@gmail.com>
Reviewed by Darin Adler.
Fix a compiler error for ANDROID introduced by bug 45221.
https://bugs.webkit.org/show_bug.cgi?id=47095
It's a small fix for a compiler error, so there is no new test.
* platform/android/PlatformTouchEventAndroid.cpp:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
2010-10-04 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: doAXRangeForLine does not work
https://bugs.webkit.org/show_bug.cgi?id=47101
Asking for NSAccessibilityRangeForLine was returning a null range for any line number > 0.
The code was using a SelectionController to extend to the next line. Rather than change the implementation
of that core functionality, it is cleaner to use endOfLine to find the end of the line.
Test: platform/mac/accessibility/range-for-line-textarea.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::doAXRangeForLine):
2010-10-04 Brent Fulgham <bfulgham@webkit.org>
Unreviewed, build fix for r68951.
Add stub implementation for ProxyServer logic.
* WebCore.vcproj/WebCore.vcproj: Add new WinCairo file.
* WebCore/platform/network/curl/ProxyServerCurl.cpp: Added
2010-10-04 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=47035
Application cache selection algorithm should only be invoked after navigation
Tests: http/tests/appcache/document-write-html-element-2.html
http/tests/appcache/document-write-html-element.html
http/tests/appcache/insert-html-element-with-manifest-2.html
http/tests/appcache/insert-html-element-with-manifest.html
* dom/DocumentParser.cpp: (WebCore::DocumentParser::DocumentParser):
* dom/DocumentParser.h:
(WebCore::DocumentParser::setDocumentWasLoadedAsPartOfNavigation):
(WebCore::DocumentParser::documentWasLoadedAsPartOfNavigation):
Track whether the document being parsed is being loaded as part of navigation.
* html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedByParser): Only run the
cache selection algorithm if the document is being loaded as part of navigation. We don't
want to switch associated appcache is someone document.writes <html manifest=...>.
* html/HTMLHtmlElement.h: We need to differentiate between parsing and DOM manipulation, so
this code can't be in HTMLHtmlElement::insertedIntoDocument().
* dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs):
* dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement):
* html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure):
* html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure):
* html/PluginDocument.cpp: (WebCore::PluginDocumentParser::createDocumentStructure):
* html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
Check for manifest attribute in cases specified by HTML5.
* html/parser/HTMLConstructionSite.h: Removed unused insertHTMLHtmlElement().
* loader/DocumentWriter.cpp: (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
* loader/DocumentWriter.h:
Forward this call to DocumentParser, since DocumentWriter is supposed to encapsulate it.
* loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): Receiving data from
loader means being loaded as part of navigation. This notion is used in HTML5 without a rigorous
definition that I could find - this seems to be a meaningful formalization.
2010-10-04 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47100
Convert clearFloats() to be block-flow-aware. Helpers that it calls have not been patched though.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clearFloats):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalTopForFloat):
(WebCore::RenderBlock::logicalLeftForFloat):
(WebCore::RenderBlock::logicalWidthForFloat):
2010-10-04 Diego Gonzalez <diegohcg@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Hook up DeviceOrientation data for Qt support
https://bugs.webkit.org/show_bug.cgi?id=47052
Get DeviceOrientation necessary data via Qt mobility library
using a provider class.
* WebCore.pro:
2010-10-01 Victoria Kirst <vrk@google.com>
Reviewed by James Robinson.
Fixing crash when audio media player is destructed
https://bugs.webkit.org/show_bug.cgi?id=47020
Adds assert for LayerRenderer in destructor.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::~VideoLayerChromium):
2010-10-04 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: do not show breakpoint in front-end if it was not set in v8
https://bugs.webkit.org/show_bug.cgi?id=46749
* bindings/v8/DebuggerScript.js:
():
2010-10-04 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[cairo] Context shadow modifies the data of the surface without
flushing and marking as dirty
https://bugs.webkit.org/show_bug.cgi?id=47079
Added the cairo_surface_flush and cairo_surface_mark_dirty before
and after modifying the image pixels directly.
* platform/graphics/cairo/ContextShadowCairo.cpp:
(WebCore::ContextShadow::endShadowLayer):
2010-10-04 Alejandro G. Castro <alex@igalia.com>
Reviewed by Xan Lopez.
Crashed caused by missing OwnPtrCairo include, for more
information check the issue in the bug 46268.
* platform/graphics/cairo/CairoUtilities.cpp:
2010-10-04 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[cairo] Move some cairo functions to the CairoUtilities
https://bugs.webkit.org/show_bug.cgi?id=47076
Moved some cairo functions to the CairoUtilities so we can use
them outside GraphicsContextCairo.
* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::appendPathToCairoContext):
(WebCore::setPathOnCairoContext):
(WebCore::appendWebCorePathToCairoContext):
(WebCore::toCairoOperator):
(WebCore::drawPatternToCairoContext):
* platform/graphics/cairo/CairoUtilities.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::Image::drawPattern):
2010-10-04 podivilov@chromium.org <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: implement pausing on event listeners (back-end part)
https://bugs.webkit.org/show_bug.cgi?id=46624
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setPauseOnNextStatement):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setPauseOnNextStatement):
* bindings/v8/ScriptDebugServer.h:
* dom/Node.cpp:
(WebCore::Node::dispatchGenericEvent):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::setNativeBreakpoint):
(WebCore::InspectorController::removeNativeBreakpoint):
(WebCore::InspectorController::shouldBreakOnEvent):
(WebCore::InspectorController::shouldBreakOnXMLHttpRequest):
* inspector/InspectorController.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
(WebCore::InspectorDebuggerAgent::pause):
(WebCore::InspectorDebuggerAgent::didContinue):
(WebCore::InspectorDebuggerAgent::breakProgram):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::eventHasListeners):
(WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
(WebCore::InspectorInstrumentation::instrumentDidDispatchEventImpl):
(WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::instrumentWillDispatchEvent):
(WebCore::InspectorInstrumentation::instrumentDidDispatchEvent):
(WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::id):
* inspector/front-end/CallStackSidebarPane.js:
2010-10-04 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add total bar to the network panel.
https://bugs.webkit.org/show_bug.cgi?id=47081
* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.createDividerElement):
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid.prototype.removeChild):
(WebInspector.DataGrid.prototype.sortNodes):
(WebInspector.DataGrid.prototype._clickInHeaderCell):
(WebInspector.DataGrid.prototype.markColumnAsSortedBy):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype.resize):
(WebInspector.NetworkPanel.prototype._positionSummaryBar):
(WebInspector.NetworkPanel.prototype._createTimelineGrid):
(WebInspector.NetworkPanel.prototype._createSortingFunctions):
(WebInspector.NetworkPanel.prototype._sortItems):
(WebInspector.NetworkPanel.prototype._sortByTimeline):
(WebInspector.NetworkPanel.prototype._createFilterStatusBarItems):
(WebInspector.NetworkPanel.prototype._createSummaryBar):
(WebInspector.NetworkPanel.prototype._updateSummaryBar):
(WebInspector.NetworkPanel.prototype._updateFilter):
(WebInspector.NetworkPanel.prototype.show):
(WebInspector.NetworkPanel.prototype.refresh):
(WebInspector.NetworkPanel.prototype.reset):
(WebInspector.NetworkDataGridNode.SizeComparator):
(WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
(WebInspector.NetworkTotalGridNode):
(WebInspector.NetworkTotalGridNode.prototype.createCells):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.createFilterPanel):
* inspector/front-end/inspector.css:
(.scope-bar-divider):
* inspector/front-end/networkPanel.css:
(.network-timeline-grid):
(.network-summary-bar):
(.network-summary-bar-bottom):
(.data-grid td .network-summary-bar):
2010-09-28 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
Viewport data change notifications
https://bugs.webkit.org/show_bug.cgi?id=46755
Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has
changed and its current value. Viewport data belongs to the document, but it is useful to keep the current
viewport data in Page as a reference, to be able to send notifications only when the current viewport
has changed.
* dom/Document.cpp:
(WebCore::Document::processViewport):
(WebCore::Document::setInPageCache):
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::operator==):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::HTMLBodyElement):
* page/Chrome.cpp:
(WebCore::Chrome::viewportDataChanged):
* page/Chrome.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::viewportDataChanged):
* page/Page.cpp:
(WebCore::Page::updateViewportArguments):
* page/Page.h:
(WebCore::Page::viewportArguments):
2010-10-03 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix for r68996.
* html/BaseDateAndTimeInputType.cpp: Includes <wtf/MathExtras.h> for isfinite().
* html/MonthInputType.cpp: ditto.
* html/NumberInputType.cpp: ditto.
* html/RangeInputType.cpp: ditto.
2010-10-03 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Refactor HTMLInputElement: Move parseToDouble() and
parseToDateComponents() to InputType.
https://bugs.webkit.org/show_bug.cgi?id=46965
Introduce BaseDateAndTimeInputType, which is a super class of
date, datetime, datetime-local, month, time, and week types.
No new tests. Just a refactoring.
* Android.mk: Add BaseDateAndTimeInputType.
* CMakeLists.txt: ditto.
* GNUmakefile.am: ditto.
* WebCore.gypi: ditto.
* WebCore.pro: ditto.
* WebCore.vcproj/WebCore.vcproj: ditto.
* WebCore.xcodeproj/project.pbxproj: ditto.
* html/BaseDateAndTimeInputType.cpp: Added.
(WebCore::BaseDateAndTimeInputType::parseToDouble):
(WebCore::BaseDateAndTimeInputType::parseToDateComponents):
* html/BaseDateAndTimeInputType.h: Added.
(WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
* html/DateInputType.cpp:
(WebCore::DateInputType::parseToDateComponentsInternal):
* html/DateInputType.h:
(WebCore::DateInputType::DateInputType):
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::parseToDateComponentsInternal):
* html/DateTimeInputType.h:
(WebCore::DateTimeInputType::DateTimeInputType):
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::parseToDateComponentsInternal):
* html/DateTimeLocalInputType.h:
(WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
* html/HTMLInputElement.cpp: Replace parseToD* calls with m_inputType->parseToD*.
(WebCore::HTMLInputElement::typeMismatch):
(WebCore::HTMLInputElement::rangeUnderflow):
(WebCore::HTMLInputElement::rangeOverflow):
(WebCore::HTMLInputElement::minimum):
(WebCore::HTMLInputElement::maximum):
(WebCore::HTMLInputElement::stepBase):
(WebCore::HTMLInputElement::stepMismatch):
(WebCore::HTMLInputElement::applyStep):
(WebCore::HTMLInputElement::valueAsDate):
(WebCore::HTMLInputElement::valueAsNumber):
(WebCore::HTMLInputElement::handleKeyEventForRange):
(WebCore::HTMLInputElement::stepUpFromRenderer):
* html/HTMLInputElement.h:
* html/InputType.cpp:
(WebCore::InputType::parseToDouble):
(WebCore::InputType::parseToDateComponents):
* html/InputType.h:
* html/MonthInputType.cpp:
(WebCore::MonthInputType::parseToDouble):
(WebCore::MonthInputType::parseToDateComponentsInternal):
* html/MonthInputType.h:
(WebCore::MonthInputType::MonthInputType):
* html/NumberInputType.cpp:
(WebCore::NumberInputType::parseToDouble):
* html/NumberInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::parseToDouble):
* html/RangeInputType.h:
* html/TimeInputType.cpp:
(WebCore::TimeInputType::parseToDateComponentsInternal):
* html/TimeInputType.h:
(WebCore::TimeInputType::TimeInputType):
* html/WeekInputType.cpp:
(WebCore::WeekInputType::parseToDateComponentsInternal):
* html/WeekInputType.h:
(WebCore::WeekInputType::WeekInputType):
2010-10-03 Adam Barth <abarth@webkit.org>
Reviewed by Holger Freyther.
ASSERT(m_state = Open); is bad news bears
https://bugs.webkit.org/show_bug.cgi?id=47057
Added by ap (review by darin) in http://trac.webkit.org/changeset/50951
Too bad the compiler doesn't catch these errors. I don't believe this
is possible to test.
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::writeStreamCallback):
2010-10-03 Adam Barth <abarth@webkit.org>
Reviewed by Holger Freyther.
All the WebSocket tests crash
https://bugs.webkit.org/show_bug.cgi?id=47056
More code that tries to hold onto temporaries with references.
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::didOpen):
2010-10-03 Adam Barth <abarth@webkit.org>
Reviewed by Holger Freyther.
All the WebSocket tests crash
https://bugs.webkit.org/show_bug.cgi?id=47055
This code attempts to hold onto temporary objects using references.
That doesn't work in C++. Instead, we need to actually store the
objects somewhere.
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocketConstructor::constructJSWebSocket):
2010-10-02 Diego Gonzalez <diegohcg@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Provide Qt support for DeviceMotion/Orientation clients
https://bugs.webkit.org/show_bug.cgi?id=47051
Add Qt DeviceMotion/Orientation dummy clients in build system.
* WebCore.pro:
2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Rewrite SVG text layout code
https://bugs.webkit.org/show_bug.cgi?id=45532
Modernize SVG text layout engine, split the layout process into three phases, so that each results can be cached (which will be done in a follow-up patch).
Phase #1) - SVGTextLayoutAttributesBuilder
------------------------------------------
Parse x/y/dx/dy/rotate values of the <text> subtree (<text x="30 40">A<tspan>B<tspan x="50">C</tspan></tspan></text>)
This is done by SVGTextLayoutAttributesBuilder. It builds a SVGTextLayoutAttributes object for each RenderSVGInlineText renderer, and stores it there.
Phase #1 is started from RenderSVGText::layout(), before RenderBlockLineLayout is laying out the inline children, and thus before the InlineBox tree is created.
Now we know which character has an associated absolute x or y position, denoting the start of a new text chunk. Whenever we encounter a new text chunk
RenderBlockLineLayout should create a new SVGInlineTextBox. This is very important, as BiDi reordering shouldn't happen across text chunks, as well as ligature detection.
The text chunk concept is now merged right into the InlineBox tree, so we don't need to hack around the lack of that, as done for the previous years.
Phase #2) - SVGTextLayoutEngine
------------------------------------------
RenderSVGText::layout() calls RenderBlock::layoutInlineChildren() right after phase #1 ends. The InlineBox tree is created. During that process findNextLineBreak()
decides how to split up the text into InlineTextBoxes. It has already been patched, to ask RenderSVGInlineText::characterStartsNewTextChunk(int position), whether the
current character should go in a new SVGInlineTextBox or not. This requires that phase #1 already stored these information in the RenderSVGInlineText objects.
For each <text> object a SVGRootInlineBox is created (in constructLine()) and all child boxes are added. After that SVGRootInlineBox::computePerCharacterLayoutInformation()
is called (unlike HTML text, which splits the vertical & horizontal layout in two phases, it's just one single phase for SVG). This function invokes SVGTextLayoutEngine
and starts phase #2 of the layout process.
SVGTextLayoutEngine lays out the content of each SVGInlineTextBox either on a line or a path. It contains all the logic handling, alignment-baseline, dominant-baseline,
letter-spacing, word-spacing, kerning, glyph-orientation-(horizontal|vertical), rotation, etc. etc.
As result it generates a set of SVGTextFragment objects which are stored in each SVGInlineTextBox. Each SVGTextFragment is a portion of text that can be rendered/measured
at once. Some examples to illustrate what's going on:
<text x="20">ABCD</text>:
- SVGInlineTextBox
- SVGTextFragment, start 0 length 4, "ABCD" (x=20)
<text x="20 100">ABCD</text>:
- SVGInlineTextBox
- SVGTextFragment, start 0 length 1, "A" (x=20)
- SVGInlineTextBox
- SVGTextFragment, start 0 length 1, "B" (x=100)
- SVGTextFragment, start 1 length 2, "CD" (x=100 + advance_of_last)
<text><textPath xlink:href="#somePath">ABCD</textPath></text>:
- SVGInlineTextBox
- SVGTextFragment, start 0 length 1, "A" (rotated!)
- SVGTextFragment, start 1 length 1, "B" (rotated!)
- SVGTextFragment, start 2 length 1, "C" (rotated!)
- SVGTextFragment, start 3 length 1, "D" (rotated!)
<text x="0 50 100">A<tspan>B</tspan>C</text>
- SVGInlineTextBox
- SVGTextFragment, start 0 length 1, "A" (x=0)
- SVGInlineFlowBox
- SVGInlineTextBox
- SVGTextFragment, start 0 length 1, "B" (x=50)
- SVGInlineTextBox
- SVGTextFragment, start 0 length 1, "C" (x=100)
When painting text SVGInlineTextBox just walks its fragments and paints them. Text selection works the same.
All text measurements (width/height etc.) have already been done in phase #2 and aren't required anymore while painting/selecting.
This is one of the main benefits of the new text layout engine, painting & selection is cheap now, compared to the layout process.
We're now doing phase #1 everytime RenderSVGText::layout() is called. This is not necessary, we only have to recompute these information
if the x/y/dx/dy or rotate list of an element in the <text> subtree changes or the text content itself -> this will be done in a follow-up patch.
It's likely that we'll also find ways to skip phase #2 in certain situations.
Phase #3) - SVGTextChunkBuilder
------------------------------------------
After phase #2 finished, we can post-process the text fragments. Certain operations have to be applied on a "per chunk" basis.
text-anchor should be applied to individual text chunks, as well as textLength corrections (lengthAdjust="spacing" / lengthAdjust="spacingAndGlyphs").
SVGTextChunkBuilder just walks the SVGInlineTextBox, and collects all boxes belonging to a certain chunk. For each of the chunks all fragments
are post-processed. For instance for text-anchor="middle", all x positions of all fragments are shifted by -fragmentWidth/2 (for horizonal text).
After phase #1 - #3 finished, SVGRootInlineBox::computePerCharacterLayoutInformation() utilizies the stored SVGTextFragments to lay out all child
boxes in the InlineBox tree (setWidth/Height, etc.), the size and position of the SVGRootInlineBox and it's parent RenderSVGText object.
This should give interessted readers a good summary of how the new text layout engine works.
See LayoutTests/ChangeLog for more details on test progression.
Tests: svg/custom/text-rotation.svg
svg/custom/text-x-dy-lists.svg
* Android.mk: Add SVGTextLayoutEngine.* / SVGTextChunkBuilder.* to build. Remove SVGCharacterData.* / SVGTextChunkLayoutInfo.* / SVGTextLayoutUtilities.* from build.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* rendering/InlineBox.h:
(WebCore::InlineBox::isSVGInlineFlowBox): Add helper function to identify SVGInlineFlowBoxes. The variants for SVGInlineTextBox etc. already exist.
* rendering/InlineTextBox.h: Devirtualize selectionStartEnd, SVG is no longer overriding it.
* rendering/RenderSVGAllInOne.cpp: removes
* rendering/RenderText.cpp:
(WebCore::RenderText::setTextInternal): Remove SVG specific hacks, moved to RenderSVGInlineText.
* rendering/SVGCharacterData.cpp: Removed.
* rendering/SVGCharacterData.h: Removed.
* rendering/SVGCharacterLayoutInfo.cpp: Removed.
* rendering/SVGCharacterLayoutInfo.h: Removed.
* rendering/SVGRenderTreeAsText.cpp: Hack DRT output to be somewhat compatible with the current output, the plan is to change it completly after this patch.
(WebCore::writeRenderSVGTextBox):
(WebCore::writeSVGInlineTextBox):
* rendering/SVGTextChunkLayoutInfo.cpp: Removed.
* rendering/SVGTextChunkLayoutInfo.h: Removed.
* rendering/SVGTextLayoutUtilities.cpp: Removed.
* rendering/SVGTextLayoutUtilities.h: Removed.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Only return immediately if SVGRenderStyle::diff produced StyleDifferenceLayout, it it's sth. else be sure to ask RenderStyle itself what to do.
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::isVerticalWritingMode): New helper method, moved from SVGTextLayoutUtilities.
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::applySVGWhitespaceRules): Moved from RenderText into a SVG specific place.
(WebCore::RenderSVGInlineText::RenderSVGInlineText): Use applySVGWhitespaceRules on the incoming text.
(WebCore::RenderSVGInlineText::styleDidChange): Only apply SVG white space rules, when using xml:space="preserve", otherwhise the constructor already handled it.
(WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Create text chunks for absolute y values as well, SVG 1.1 2nd Edition demands that.
(WebCore::RenderSVGInlineText::positionForPoint): New function operating on all SVGInlineTextBoxes and their SVGTextFragments.
* rendering/svg/RenderSVGInlineText.h:
(WebCore::RenderSVGInlineText::layoutAttributes): Stores the layout attributes generated by SVGTextLayoutAttributesBuilder.
(WebCore::toRenderSVGInlineText): New helper methods for casting.
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): Add comment, that SVGTextLayoutAttributesBuilder is just phase one of the layout process.
(WebCore::RenderSVGText::positionForPoint): Simplified implementation for SVGs needs.
* rendering/svg/RenderSVGText.h:
* rendering/svg/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::paintSelectionBackground): Seperated selection background drawing from actual text rendering, to make sure selection is always in background for SVG.
(WebCore::SVGInlineFlowBox::paint): Call computetextMatchMarkerRectForRenderer, before painting.
(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): New method.
* rendering/svg/SVGInlineFlowBox.h:
(WebCore::SVGInlineFlowBox::isSVGInlineFlowBox):
* rendering/svg/SVGInlineTextBox.cpp: Completly rewritten, operates on SVGTextFragments, produced by the SVGTextLayoutEngine. Whole new concept, compared to the old hack.
* rendering/svg/SVGInlineTextBox.h:
(WebCore::SVGInlineTextBox::clearTextFragments): Only used by SVGTextLayoutEngine, to clean up previously computed fragments.
(WebCore::SVGInlineTextBox::textFragments): Offers access to the fragments in the box.
(WebCore::SVGInlineTextBox::startsNewTextChunk): Does this box start a new text chunk?
(WebCore::SVGInlineTextBox::setStartsNewTextChunk): SVGTextLayoutEngine marks this box, if it starts a new text chunk.
* rendering/svg/SVGRootInlineBox.cpp: Remove old code regarding text chunk parts.
(WebCore::SVGRootInlineBox::paint): Selection is now painted before text, to assure it's really in the background.
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use new SVGTextLayoutEngine.
(WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Feed SVGTextLayoutEngine with SVGInlineTextBoxes, detect the begin/end of path layouts.
(WebCore::SVGRootInlineBox::layoutChildBoxes): Use new isSVGInlineTextBox() helper method.
(WebCore::SVGRootInlineBox::closestLeafChildForPosition): Simplified version for SVG.
* rendering/svg/SVGRootInlineBox.h: Remove access to text chunks, they're now longer stored in the SVGRootInlineBox.
* rendering/svg/SVGTextChunk.cpp: s/SVGTextChunkNew/SVGTextChunk/
* rendering/svg/SVGTextChunk.h:
* rendering/svg/SVGTextChunkBuilder.cpp: Added.
* rendering/svg/SVGTextChunkBuilder.h: Added.
* rendering/svg/SVGTextLayoutAttributes.cpp: Constify dump() method.
* rendering/svg/SVGTextLayoutAttributes.h:
(WebCore::SVGTextLayoutAttributes::textMetricsValues):
* rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewritten, consume less memory, while building the layout attributes.
* rendering/svg/SVGTextLayoutAttributesBuilder.h:
* rendering/svg/SVGTextLayoutEngine.cpp: Added.
* rendering/svg/SVGTextLayoutEngine.h: Added.
* rendering/svg/SVGTextQuery.cpp: Rewritten to deal with the new SVGTextFragment/SVGTextLayoutAttributes logic.
* rendering/svg/SVGTextQuery.h:
2010-10-02 Alpha Lam <hclam@chromium.org>
Build fix. Not reviewed.
An adhoc fix for a crash found by reliability bot. This will make the
reliability bot happy. A proper fix is pending commit.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::~VideoLayerChromium):
2010-10-01 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
FormatBlockCommand and IndentOutdentCommand should use the same code to iterate paragraphs
https://bugs.webkit.org/show_bug.cgi?id=46840
Added ApplyBlockElementCommand, which is an abstract class inherited by FormatBlockCommand
and IndentOutdentCommand. It is intended to be inherited by InsertListCommand as well.
ApplyBlockElementCommand's doApply verifies the current selection and exits early
if it's invalid or orphaned or if the current selection is outside editable region.
It then calls formatSelection to apply the block element after which doApply restores the selection.
formatSelection iterates through paragraphs and calls formatParagraph, a pure virtual function
implemented by FormatBlockCommand and IndentOutdentCommand, on each paragraph.
No new tests are added since this is a refactoring.
* Android.mk: Added ApplyBlockElementCommand.cpp.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Added ApplyBlockElementCommand.cpp and ApplyBlockElementCommand.h.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* editing/ApplyBlockElementCommand.cpp: Added.
(WebCore::countParagraphs): Moved from IndentOutdentCommand.cpp
(WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): Added.
(WebCore::ApplyBlockElementCommand::doApply): Moved from IndentOutdentCommand::doApply.
(WebCore::ApplyBlockElementCommand::formatSelection): Moved from IndentOutdentCommand::indentRegion.
(WebCore::ApplyBlockElementCommand::createBlockElement): Added.
(WebCore::ApplyBlockElementCommand::splitTextNodes): Moved from IndentOutdentCommand::splitTextNodes.
* editing/ApplyBlockElementCommand.h: Added.
* editing/EditingAllInOne.cpp:
* editing/EditorCommand.cpp:
(WebCore::executeFormatBlock):
* editing/FormatBlockCommand.cpp: Removed doApply.
(WebCore::FormatBlockCommand::FormatBlockCommand): Calls ApplyBlockElementCommand's constructor.
(WebCore::FormatBlockCommand::formatParagraph): Renamed from doApplyForSingleParagraph.
* editing/FormatBlockCommand.h: FormatBlockCommand inherits from ApplyBlockElementCommand.
(WebCore::FormatBlockCommand::create): Uses QualifiedName for the tag name instead of AtomicString.
* editing/IndentOutdentCommand.cpp: Removed doApply, indentIntoBlockquote, and splitTextNodes.
(WebCore::IndentOutdentCommand::IndentOutdentCommand): Calls ApplyBlockElementCommand's constructor.
(WebCore::IndentOutdentCommand::indentIntoBlockquote): The code to nullify targetBlockquote
when the next paragraph is in a different table cell is moved to ApplyBlockElementCommand::formatSelection.
(WebCore::IndentOutdentCommand::formatSelection): Added. Calls outdentRegion when outdenting.
(WebCore::IndentOutdentCommand::formatParagraph): Added. Calls tryIndentingAsListItem and indentIntoBlockquote.
* editing/IndentOutdentCommand.h: IndentOutdentCommand inherits from ApplyBlockElementCommand.
2010-10-01 Mark Rowe <mrowe@apple.com>
Build fix.
Clear the executable bit from a number of source files.
* page/Frame.cpp:
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
* platform/graphics/win/WKCACFLayerRenderer.cpp:
* platform/graphics/win/WKCACFLayerRenderer.h:
* platform/network/ResourceRawHeaders.h:
* rendering/RenderLayerCompositor.cpp:
* rendering/RenderLayerCompositor.h:
2010-10-01 Martin Robinson <mrobinson@igalia.com>
Reviewed by Adam Barth.
[GTK] r68923 broke some plugin tests
https://bugs.webkit.org/show_bug.cgi?id=47040
No longer pass focus and blur events to plugins when the "old" DOM Level
2 DOMFocusIn/DOMFocusOut events occur. r68923 made a change which means
that the DOM Level 3 version is always fired for this event.
No new tests, as this should cause the failing tests to pass.
* plugins/PluginView.cpp:
(WebCore::PluginView::handleEvent): No longer pass focus and blur events to
plugins when DOMFocusIn / DOMFocusOut events occur.
2010-10-01 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Plug-ins should have access to the private browsing state.
https://bugs.webkit.org/show_bug.cgi?id=47031
<rdar://problem/8505405>
* page/Page.cpp:
(WebCore::Page::privateBrowsingStateChanged):
When iterating over all widgets, also look for PluginViewBase classes and invoke their
privateBrowsingStateChange member function.
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::privateBrowsingStateChanged):
Add function.
2010-10-01 Brian Weinstein <bweinstein@apple.com>
Build Fix for Windows.
* WebCore.vcproj/WebCore.vcproj: Don't have an empty post-build step, use
WebCoreCommon.vsprops to handle post-build step.
* WebCore.vcproj/WebCoreCommon.vsprops: Set the post-build step to delete
$(WebKitOutputDir)/buildfailed.
2010-10-01 Ragner Magalhaes <ragner.magalhaes@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Segmentation fault during zoom out
https://bugs.webkit.org/show_bug.cgi?id=46984
* platform/qt/QtMobileWebStyle.cpp:
(QtMobileWebStyle::drawChecker): Adjust checkerSize to be greater than or equals to middle.
2010-10-01 Anders Carlsson <andersca@apple.com>
Another Qt build fix attempt.
* WebCore.pro:
2010-10-01 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=47021
Patch the floatBottom function and its friends. Rename them and consolidate them to be block-flow-aware.
Nothing testable yet, since most of the float code is still unpatched.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::newLine):
(WebCore::RenderBlock::nextFloatLogicalBottomBelow):
(WebCore::RenderBlock::lowestFloatLogicalBottom):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::getClearDelta):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalBottomForFloat):
(WebCore::RenderBlock::hasOverhangingFloats):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::fitBelowFloats):
2010-10-01 Anders Carlsson <andersca@apple.com>
Fix typo.
* platform/network/qt/ProxyServerQt.cpp:
(WebCore::proxyServersForURL):
2010-10-01 Anders Carlsson <andersca@apple.com>
Add Qt ProxyServer stub.
* WebCore.pro:
* platform/network/qt/ProxyServerQt.cpp: Added.
(WebCore::proxyServersForURL):
2010-10-01 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
https://bugs.webkit.org/show_bug.cgi?id=47022
<rdar://problem/8504712>
* WebCore.exp.in:
Export proxyServersForURL and toString.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Add new files.
* platform/network/ProxyServer.cpp: Added.
(WebCore::appendProxyServerString):
(WebCore::toString):
New function that converts a vector of ProxyServers into a PAC style string.
* platform/network/ProxyServer.h: Added.
(WebCore::ProxyServer::ProxyServer):
(WebCore::ProxyServer::type):
(WebCore::ProxyServer::hostName):
(WebCore::ProxyServer::port):
Add ProxyServer class.
* platform/network/cf/ProxyServerCFNet.cpp: Added.
(WebCore::proxyServersForURL):
(WebCore::addProxyServersForURL):
Query CFNetwork for the proxy servers given a URL.
2010-09-30 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
texImage2D fails on 16-bit-per-channel images
https://bugs.webkit.org/show_bug.cgi?id=46947
* platform/graphics/GraphicsContext3D.cpp: Handling 16-bit-per-channel source formats.
(WebCore::convertColor16To8):
(WebCore::doPacking):
* platform/graphics/GraphicsContext3D.h: Ditto.
* platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
(WebCore::GraphicsContext3D::getImageData):
2010-10-01 Eric Uhrhane <ericu@chromium.org>
Reviewed by Nate Chapin.
Add v8 binding helpers to make FileWriter be an EventTarget.
https://bugs.webkit.org/show_bug.cgi?id=46910
No new tests; still waiting for the first complete implementation.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2010-10-01 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=47015
Change FloatingObject to store its dimensions as a rect.
This will make it easier for logical access for block-flow later on if
top/bottom is no different from left/width. This change also simplifies
calling code a bit in places.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::fillSelectionGaps):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::removeFloatingObjectsBelow):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::positionNewFloatOnLine):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):
(WebCore::RenderBlock::nextFloatBottomBelow):
(WebCore::RenderBlock::floatBottom):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
(WebCore::RenderBlock::leftBottom):
(WebCore::RenderBlock::rightBottom):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::adjustForBorderFit):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatingObject::FloatingObject):
(WebCore::RenderBlock::FloatingObject::left):
(WebCore::RenderBlock::FloatingObject::right):
(WebCore::RenderBlock::FloatingObject::top):
(WebCore::RenderBlock::FloatingObject::bottom):
(WebCore::RenderBlock::FloatingObject::width):
(WebCore::RenderBlock::FloatingObject::height):
(WebCore::RenderBlock::FloatingObject::setLeft):
(WebCore::RenderBlock::FloatingObject::setTop):
(WebCore::RenderBlock::FloatingObject::setWidth):
(WebCore::RenderBlock::FloatingObject::setHeight):
(WebCore::RenderBlock::FloatingObject::frameRect):
(WebCore::RenderBlock::FloatingObject::setFrameRect):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::matchedEndLine):
2010-10-01 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
DOMFocusIn/DOMFocusOut return focusin/focusout Event.type
https://bugs.webkit.org/show_bug.cgi?id=42580
<rdar://problem/8107311>
This change removes the aliased type machinery from the Event class.
We now fire the event with the new name and the oldname.
Tests: Modified fast/events/focusinout.html to check the event
type.
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* dom/Event.cpp: Removed aliasedType and hasAliasedType.
* dom/Event.h: Removed aliasedType and hasAliasedType.
* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners): Removed aliasedType related code.
2010-10-01 David Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46642, make replaced elements work with block-flow. This patch changes
all of the computeReplacedLogicalWidth and comuteReplacedLogicalHeight functions (and their helpers) to use logical width
and logical height instead.
Added fast/blockflow/block-level-images.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalWidth):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced):
* rendering/RenderBox.h:
(WebCore::RenderBox::intrinsicLogicalWidth):
(WebCore::RenderBox::intrinsicLogicalHeight):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::isLogicalWidthSpecified):
(WebCore::RenderImage::isLogicalHeightSpecified):
(WebCore::RenderImage::computeReplacedLogicalWidth):
(WebCore::RenderImage::computeReplacedLogicalHeight):
(WebCore::RenderImage::calcAspectRatioLogicalWidth):
(WebCore::RenderImage::calcAspectRatioLogicalHeight):
* rendering/RenderImage.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):
(WebCore::RenderReplaced::calcAspectRatioLogicalWidth):
(WebCore::RenderReplaced::calcAspectRatioLogicalHeight):
(WebCore::RenderReplaced::computePreferredLogicalWidths):
* rendering/RenderReplaced.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computePreferredLogicalWidths):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
* rendering/RenderSVGRoot.h:
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::computeReplacedLogicalWidth):
(WebCore::RenderVideo::computeReplacedLogicalHeight):
* rendering/RenderVideo.h:
2010-10-01 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Adler.
Remove unused Request::buffer() and Request::m_buffer.
https://bugs.webkit.org/show_bug.cgi?id=47003
* loader/Request.h:
2010-10-01 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/7563219> Null dereference when dragging an element with generated content
https://bugs.webkit.org/show_bug.cgi?id=47005
Test: fast/css-generated-content/drag-state.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::updateDragState): Null-check node().
2010-10-01 Robert Hogan <robert@webkit.org>
Reviewed by Adam Barth.
[Qt] Fix http/tests/loading/redirect-methods.html
Document our redirection behaviour too.
https://bugs.webkit.org/show_bug.cgi?id=41571
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
* platform/network/qt/QNetworkReplyHandler.h:
2010-10-01 Adam Roben <aroben@apple.com>
Copy forwarding headers and Inspector JS files as part of
WebCoreGenerated.vcproj
WebCoreGenerated.vcproj runs on every build, while WebCore.vcproj only
runs when a .h or .cpp file changes. By moving the copying to
WebCoreGenerated, it will happen even when someone only changes a JS
file (as happened in r68887).
Fixes <http://webkit.org/b/46988> <rdar://problem/8502489> REGRESSION
(r68887): Web Inspector: inspector/extensions*.html are failing on
Windows
Reviewed by Anders Carlsson.
* WebCore.vcproj/WebCore.vcproj: Moved invocation of
copyForwardingHeaders and copyInspectorFiles from here...
* WebCore.vcproj/WebCoreGenerated.vcproj: ...to here.
2010-09-30 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Implement queryCommandState('justifyFull')
https://bugs.webkit.org/show_bug.cgi?id=46954
Implemented queryCommandState('justifyFull').
New tests are added to editing/style/inline-style-container.html
* editing/ApplyStyleCommand.cpp:
(WebCore::getTextAlignment): Added support for CSSValueJustify.
* editing/EditorCommand.cpp:
(WebCore::stateJustifyFull): Added.
(WebCore::createCommandMap): Added stateJustifyFull.
2010-10-01 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Autocorrection shouldn't prompt the same correction after user has edited previous correction.
https://bugs.webkit.org/show_bug.cgi?id=46839
<rdar://problem/8476963>
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedSelection): Remove "CorrectionIndicator" marker instead of
"Replacement" marker. Since the former controls whether we draw autocorrection underline,
and the latter is used to prevent autocorrection from being applied again on already auto-
corrected word. So the "Replacement" shouldn't be removed.
2010-10-01 Patrick Gansterer <paroga@webkit.org>
Reviewed by Anders Carlsson.
[CMake] Add handling for ENABLE(NETSCAPE_PLUGIN_API)
https://bugs.webkit.org/show_bug.cgi?id=46309
* CMakeLists.txt:
* CMakeListsEfl.txt:
2010-10-01 David Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46996, patch the functions dealing with the bottom of the block to
be block-flow-aware.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::handleAfterSideOfBlock):
2010-10-01 Pratik Solanki <psolanki@apple.com>
Reviewed by Geoffrey Garen.
Specify ALWAYS_INLINE at function declaration not function definition
https://bugs.webkit.org/show_bug.cgi?id=46960
For functions defined with ALWAYS_INLINE, add the attribute to the declaration as well.
* css/CSSStyleSelector.h:
* rendering/InlineIterator.h:
* rendering/style/RenderStyle.h:
2010-10-01 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.
Added fast/css/rtl-to-viewport.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
2010-10-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=44406
<rdar://problem/8310921> Application Cache crash when a fallback document has a manifest URL
Test: http/tests/appcache/foreign-fallback.html
* loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
Changed ApplicationCacheResource lookup to find fallback resources correctly.
2010-10-01 Kwang Yul Seo <skyul@company100.net>
Unreviewed, Brew MP build fix.
* platform/brew/ClipboardBrew.cpp:
(WebCore::ClipboardBrew::ClipboardBrew):
2010-10-01 Rafael Antognolli <antognolli@profusion.mobi>
Unreviewed build fix.
[CMAKE] Build fix for r68878
https://bugs.webkit.org/show_bug.cgi?id=46985
Fix name of files added to CMakeLists.txt:
SVGTextLayoutBaseline.cpp -> SVGTextLayoutEngineBaseline.cpp
SVGTextLayoutSpacing.cpp -> SVGTextLayoutEngineSpacing.cpp
No features added, so no new tests.
* CMakeLists.txt:
2010-10-01 Ragner Magalhaes <ragner.magalhaes@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] New buttons style for Qt Mobile theme
https://bugs.webkit.org/show_bug.cgi?id=46920
Rename Maemo5Webstyle to QtMobileWebStyle since it implements the style for all Qt mobile platform.
Adjust new Qt mobile style for buttons, radios, checks and combos.
* WebCore.pro:
* css/themeQtMobile.css: Adjust gradient color for buttons and combos.
(select):
(select:active):
* platform/qt/QtMobileWebStyle.cpp: Renamed from platform/qt/Maemo5Webstyle.cpp to match name scheme.
(QtMobileWebStyle::QtMobileWebStyle):
(drawRectangularControlBackground):
(QtMobileWebStyle::drawChecker):
(QtMobileWebStyle::findChecker):
(QtMobileWebStyle::drawRadio): Adjust gradient color for RadioButton.
(QtMobileWebStyle::findRadio):
(QtMobileWebStyle::drawControl): Adjust gradient color for CheckBox.
(QtMobileWebStyle::drawMultipleComboButton):
(QtMobileWebStyle::drawSimpleComboButton): Adjust ComboBox arrow.
(QtMobileWebStyle::getButtonImageSize):
(QtMobileWebStyle::findComboButton):
(QtMobileWebStyle::drawComplexControl):
* platform/qt/QtMobileWebStyle.h: Renamed from platform/qt/Maemo5Webstyle.h to match name scheme.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::RenderThemeQt):
2010-10-01 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [Extensions API] expose page load events timings
Added webInspector.resources.getPageTimings()
https://bugs.webkit.org/show_bug.cgi?id=45954
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI.Resources.prototype):
(WebInspector.injectedExtensionAPI.Resources.prototype.getPageTimings):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype._onGetPageTimings):
* inspector/front-end/HAREntry.js: Return page event timings as -1 if start or event time unknown.
(WebInspector.HARLog.prototype._buildPages):
(WebInspector.HARLog.prototype.buildMainResourceTimings):
(WebInspector.HARLog.prototype._convertResource):
(WebInspector.HARLog.prototype._pageEventTime):
2010-10-01 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WIN] Add GDIExtras
https://bugs.webkit.org/show_bug.cgi?id=46974
Some, but not all WinCE environments have support for AlphaBlend().
Add this files to check for AlphaBlend (and SoftLink) on WinCE.
On WinNT alphaBlendIfSupported() inlines AlphaBlend and returns true.
* platform/graphics/win/GDIExtras.cpp: Added.
(WebCore::AlphaBlendPointer):
* platform/graphics/win/GDIExtras.h: Added.
(WebCore::hasAlphaBlendSupport):
(WebCore::alphaBlendIfSupported):
2010-10-01 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Use alphaBlendIfSupported in GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=46979
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::GraphicsContextPlatformPrivate::paintBackTransparentLayerBitmap):
2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Add two new helper files for the new SVGTextLayoutEngine
https://bugs.webkit.org/show_bug.cgi?id=46972
Refactor code from SVGTextLayoutUtilities into two seperated classes.
SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used.
Doesn't affect any functionality yet, as the new classes are not used so far.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/svg/SVGTextFragment.h:
* rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added.
(WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline):
(WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
(WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline):
(WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
(WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
(WebCore::glyphOrientationIsMultiplyOf180Degrees):
(WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
* rendering/svg/SVGTextLayoutEngineBaseline.h: Added.
* rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added.
(WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing):
(WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
(WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
* rendering/svg/SVGTextLayoutEngineSpacing.h: Added.
2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Andreas Kling.
Rename SVGTextLayoutBuilder to SVGTextLayoutAttributesBuilder
https://bugs.webkit.org/show_bug.cgi?id=46971
Doesn't affect any functionality, just moves files around.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): Adopt to renaming.
* rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Copied from rendering/svg/SVGTextLayoutBuilder.cpp.
* rendering/svg/SVGTextLayoutAttributesBuilder.h: Copied from rendering/svg/SVGTextLayoutBuilder.h.
* rendering/svg/SVGTextLayoutBuilder.cpp: Removed.
* rendering/svg/SVGTextLayoutBuilder.h: Removed.
2010-10-01 MORITA Hajime <morrita@google.com>
Unreviewed build fix.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::PlatformContextSkia):
2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Andreas Kling.
Move SVG text related renderers into rendering/svg/
https://bugs.webkit.org/show_bug.cgi?id=46969
Doesn't affect any functionality, just moves files around.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderSVGAllInOne.cpp:
* rendering/RenderSVGInline.cpp: Removed.
* rendering/RenderSVGInline.h: Removed.
* rendering/RenderSVGInlineText.cpp: Removed.
* rendering/RenderSVGInlineText.h: Removed.
* rendering/RenderSVGTSpan.cpp: Removed.
* rendering/RenderSVGTSpan.h: Removed.
* rendering/RenderSVGText.cpp: Removed.
* rendering/RenderSVGText.h: Removed.
* rendering/RenderSVGTextPath.cpp: Removed.
* rendering/RenderSVGTextPath.h: Removed.
* rendering/SVGInlineFlowBox.cpp: Removed.
* rendering/SVGInlineFlowBox.h: Removed.
* rendering/SVGInlineTextBox.cpp: Removed.
* rendering/SVGInlineTextBox.h: Removed.
* rendering/SVGRootInlineBox.cpp: Removed.
* rendering/SVGRootInlineBox.h: Removed.
* rendering/SVGTextQuery.cpp: Removed.
* rendering/SVGTextQuery.h: Removed.
* rendering/svg/RenderSVGInline.cpp: Copied from rendering/RenderSVGInline.cpp.
* rendering/svg/RenderSVGInline.h: Copied from rendering/RenderSVGInline.h.
* rendering/svg/RenderSVGInlineText.cpp: Copied from rendering/RenderSVGInlineText.cpp.
* rendering/svg/RenderSVGInlineText.h: Copied from rendering/RenderSVGInlineText.h.
* rendering/svg/RenderSVGTSpan.cpp: Copied from rendering/RenderSVGTSpan.cpp.
* rendering/svg/RenderSVGTSpan.h: Copied from rendering/RenderSVGTSpan.h.
* rendering/svg/RenderSVGText.cpp: Copied from rendering/RenderSVGText.cpp.
* rendering/svg/RenderSVGText.h: Copied from rendering/RenderSVGText.h.
* rendering/svg/RenderSVGTextPath.cpp: Copied from rendering/RenderSVGTextPath.cpp.
* rendering/svg/RenderSVGTextPath.h: Copied from rendering/RenderSVGTextPath.h.
* rendering/svg/SVGInlineFlowBox.cpp: Copied from rendering/SVGInlineFlowBox.cpp.
* rendering/svg/SVGInlineFlowBox.h: Copied from rendering/SVGInlineFlowBox.h.
* rendering/svg/SVGInlineTextBox.cpp: Copied from rendering/SVGInlineTextBox.cpp.
* rendering/svg/SVGInlineTextBox.h: Copied from rendering/SVGInlineTextBox.h.
* rendering/svg/SVGRootInlineBox.cpp: Copied from rendering/SVGRootInlineBox.cpp.
* rendering/svg/SVGRootInlineBox.h: Copied from rendering/SVGRootInlineBox.h.
* rendering/svg/SVGTextQuery.cpp: Copied from rendering/SVGTextQuery.cpp.
* rendering/svg/SVGTextQuery.h: Copied from rendering/SVGTextQuery.h.
2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Add SVGTextMetrics/SVGTextFragment/SVGTextChunk primitives used by the new layout engine
https://bugs.webkit.org/show_bug.cgi?id=46964
The new SVG text layout engine will use these new classes.
1) SVGTextMetrics is used to measure either single glyphs (which may span multiple characters, when ligatures are defined) or a range of characters.
-> In "single glyph" mode, it returns the width/height of the glyph, the length of the glyph (> 1, when ligatures are used) and a "Glyph" object
describing the glyph (name of glyph, when used together with SVG Fonts and the unicode string the glyph describes).
-> In "range of characters" mode, it returns the width/height of the range, and its length.
All measurements are done using the regular Font::floatWidth() methods, this class just encapsulates its usage for the SVG text layout engine.
2) SVGTextFragment describes a fragment of text, living in a SVGInlineTextBox, which can be measured/rendered in one shot.
It contains all necessary information to render the fragment (x/y/width/height, offset into characters() buffer for the first char of the fragment,
length, and an arbitary transformation, holding information about rotations/scale/glyph-orientation etc.)
In future the SVGTextLayoutEngine will generate SVGTextFragment objects for each SVGInlineTextBox. When painting no more measurements have to
be performed as SVGTextFragment contains all necessary information to render text / select text etc.
3) SVGTextChunk describes a SVG text chunk, which may span multiple text boxes (and in turn text fragments).
Quotes from SVG spec:
Each absolute position adjustment defines a new "text chunk". Absolute position adjustments impact text layout in the following ways:
* Ligatures only occur when a set of characters which might map to a ligature are all in the same text chunk.
* Each text chunk represents a separate block of text for alignment due to "text-anchor" property values.
* Reordering of characters due to bidirectionality only occurs within a text chunk. Reordering does not happen across text chunks.
An absolute position adjustment occurs in the following circumstances:
* At the start of a <text> element
* At the start of each <textPath> element
* For each character within a <text>, <tspan>, <tref> and <altGlyph> element which has an "x" or "y" attribute value assigned to it explicitly
After the line-layout finishes, each "text chunk" is altered according to the textLength and text-anchor processing rules
(eg. for text-anchor="middle" moving the whole text chunk by -fragmentWidth/2, for horizontal text).
SVGTextChunk is just a simple helper class, that encapsulates measuring/altering a text chunk.
Doesn't affect any tests, as these classes aren't used so far.
* Android.mk: Add SVGTextMetrics.*, SVGTextFragment.h, SVGTextChunk.* to build.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* rendering/svg/SVGTextChunk.cpp: Added.
* rendering/svg/SVGTextChunk.h: Added.
* rendering/svg/SVGTextFragment.h: Added.
* rendering/svg/SVGTextMetrics.cpp: Added.
* rendering/svg/SVGTextMetrics.h: Added.
2010-10-01 Vincent Scheib <scheib@chromium.org>
Reviewed by James Robinson.
REGRESSION: Lots of fast canvas updates fail to completely render
https://bugs.webkit.org/show_bug.cgi?id=46319
Test: fast/repaint/canvas-putImageData.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::putImageData):
2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Add helper methods to cast between renderers & SVGTextContent/PositioningElement
https://bugs.webkit.org/show_bug.cgi?id=46963
Doesn't affect any tests.
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::elementFromRenderer):
* svg/SVGTextContentElement.h:
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::elementFromRenderer):
* svg/SVGTextPositioningElement.h:
2010-09-30 MORITA Hajime <morrita@google.com>
Reviewed by James Robinson.
[Chromium] build fails unless ACCELERATED_2D_CANVAS defined
https://bugs.webkit.org/show_bug.cgi?id=46955
Added ifdef guard around SharedGraphicsContext3D.
No new tests. just a build fix.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::~PlatformContextSkia):
(WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
(WebCore::PlatformContextSkia::readbackHardwareToSoftware):
* platform/graphics/skia/PlatformContextSkia.h:
(WebCore::PlatformContextSkia::gpuCanvas):
2010-09-30 Kent Tamura <tkent@chromium.org>
Reviewed by Chris Fleizach.
[Windows] Implement <input type=number> UI
https://bugs.webkit.org/show_bug.cgi?id=38381
Implement theme drawing for inner-spin-button.
No new tests. Existing tests for type=number will cover this change.
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::RenderThemeWin):
Handle m_spinButtonTheme.
(WebCore::RenderThemeWin::spinButtonTheme): ditto.
(WebCore::RenderThemeWin::close): ditto.
(WebCore::RenderThemeWin::determineClassicState):
Add ControlSubPart parameter, and add support for InnerSpinButtonPart.
(WebCore::RenderThemeWin::determineSpinButtonState): Added.
(WebCore::RenderThemeWin::getClassicThemeData):
Add ControlSubPart parameter, and handle InnerSpinButtonPart.
(WebCore::RenderThemeWin::getThemeData): ditto.
(WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
Set SM_CXVSCROLL value to the width.
(WebCore::RenderThemeWin::paintInnerSpinButton):
Call drawControl() for the upper part and the lower part.
* rendering/RenderThemeWin.h:
2010-09-30 Kent Tamura <tkent@chromium.org>
Unreviewed, Windows build fix for r68854
* WebCore.vcproj/copyForwardingHeaders.cmd:
Copy WebCore/html/parser/*.h.
2010-09-30 Abhishek Arya <inferno@chromium.org>
Reviewed by Dan Bernstein.
While updating :before and :after content, make sure that the generated
container is allowed to add the child type.
https://bugs.webkit.org/show_bug.cgi?id=46106
Test: fast/css-generated-content/text-before-table-col-crash.html
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent):
2010-09-30 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Daniel Bates.
[GTK] Crash on testatk.c unittest because of a call to ASSERT_NOT_REACHED
https://bugs.webkit.org/show_bug.cgi?id=46886
Removed call to ASSERT_NOT_REACHED() from listMarkerSuffix().
So far, this assertion made sense because it was not possible that
a call to listMarkerSuffix() happened when the style of the list
item was one of the following: Asterisks, Circle, Discm Footnotes,
NoneListStyle or Square (it's easy to figure this out by checking
the functions where listMarkerSuffix() was called).
However, since revision 68415 (about bug 45381), there's a new
place where listMarkerSuffix() is being called (the suffix()
public method), regardless of the style of the item being or not
one of those pointed out, so the aforementioned assertion in
listMarkerSuffix() would no longer be correct, as now it's ok to
reach those cases in the switch statement.
* rendering/RenderListMarker.cpp:
(WebCore::listMarkerSuffix): Removed call to ASSERT_NOT_REACHED().
2010-09-30 Beth Dakin <bdakin@apple.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=46948 Crash with all-
whitespace separators for mfenced
Check the size of characters instead of separators in case all the
separators were whitespace.
* mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::updateFromElement):
2010-09-30 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Remove remaining calls to deprecatedParseURL
https://bugs.webkit.org/show_bug.cgi?id=26599
Test: fast/replaced/object-param-spaces.html
* css/CSSHelper.cpp: Removed.
* css/CSSHelper.h: Removed deprecatedParseURL.
* html/parser/HTMLParserIdioms.cpp:
(WebCore::stripLeadingAndTrailingHTMLSpaces):
Fixed bug where the function would turn the null string into the empty string.
Fixed bug where the function would not strip all trailing spaces.
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::CSSPreloadScanner): Initialize m_state
instead of calling the reset function.
(WebCore::CSSPreloadScanner::scan): Tweaked coding style.
(WebCore::CSSPreloadScanner::tokenize): Use isHTMLSpace instead of
an identical local function named isWhitespace.
(WebCore::parseCSSStringOrURL): Added. This function does what
deprecatedParseURL did before, and this is the only place in WebKit
that needs it. The code implements the rules for a string or URL
token. The real CSS parser does this with flex and the code to hook
flex up to yacc, so the function is not needed there.
(WebCore::CSSPreloadScanner::emitRule): Streamlined the code a bit
and mae it call parseCSSStringOrURL.
* bindings/generic/BindingSecurity.h:
(WebCore::::allowSettingFrameSrcToJavascriptUrl):
* bindings/js/JSDOMBinding.cpp:
(WebCore::allowSettingSrcToJavascriptURL):
* bindings/js/JSHTMLFrameElementCustom.cpp:
(WebCore::allowSettingJavascriptURL):
* bindings/objc/DOM.mm:
(-[DOMElement _getURLAttribute:]):
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
* dom/Document.cpp:
(WebCore::Document::processBaseElement):
* dom/Element.cpp:
(WebCore::isAttributeToRemove):
(WebCore::Element::getURLAttribute):
(WebCore::Element::getNonEmptyURLAttribute):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::parseMappedAttribute):
(WebCore::HTMLAnchorElement::href):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseMappedAttribute):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::sourceURI):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::parseMappedAttribute):
* html/HTMLMediaElement.cpp:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseMappedAttribute):
(WebCore::HTMLObjectElement::parametersForPlugin):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::parseMappedAttribute):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::parseMappedAttribute):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLNames::PreloadTask::setUrlToLoad):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::Attributes::parseAction):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::declareAndWriteDragImage):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeImage):
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::declareAndWriteDragImage):
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::declareAndWriteDragImage):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::absoluteMediaURL):
(WebCore::HitTestResult::absoluteLinkURL):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::sourceURI):
* wml/WMLAElement.cpp:
(WebCore::WMLAElement::defaultEventHandler):
* wml/WMLImageLoader.cpp:
(WebCore::WMLImageLoader::sourceURI):
Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
* WebCore.exp.in: Updated.
* Android.mk: Removed CSSHelper.cpp.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSAttrCustom.cpp:
* bindings/js/JSElementCustom.cpp:
* bindings/v8/custom/V8ElementCustom.cpp:
* bindings/v8/custom/V8LocationCustom.cpp:
* css/CSSParser.cpp:
* html/HTMLMediaElement.cpp:
* html/HTMLVideoElement.cpp:
* loader/ImageLoader.cpp:
* rendering/style/RenderStyle.h:
Removed unneeded include of CSSHelper.h.
2010-09-30 Alexey Marinichev <amarinichev@chromium.org>
Reviewed by Chris Marrin.
Add GetGraphicsResetStatusARB entry point from ARB_robustness
extension to GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=46850
Added stubs for GraphicsContext3D::getGraphicsResetStatusARB for
Mac and QT.
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
2010-09-30 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46938
Rewrite margin collapsing to be block-flow-aware. Eliminate a bunch of the margin functions on RenderBox in favor of a single
master function for grabbing all the margin values for a child: marginValuesForChild on RenderBlock. Introduce a new
MarginValues struct to make returning the collection of 4 margin values easy.
fast/blockflow/inline-direction-positioning.html progresses to have the correct results.
Added fast/blockflow/margin-collapse.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::setMaxMarginBeforeValues):
(WebCore::RenderBlock::setMaxMarginAfterValues):
(WebCore::RenderBlock::marginValuesForChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::MarginValues::MarginValues):
(WebCore::RenderBlock::MarginValues::positiveMarginBefore):
(WebCore::RenderBlock::MarginValues::negativeMarginBefore):
(WebCore::RenderBlock::MarginValues::positiveMarginAfter):
(WebCore::RenderBlock::MarginValues::negativeMarginAfter):
(WebCore::RenderBlock::MarginValues::setPositiveMarginBefore):
(WebCore::RenderBlock::MarginValues::setNegativeMarginBefore):
(WebCore::RenderBlock::MarginValues::setPositiveMarginAfter):
(WebCore::RenderBlock::MarginValues::setNegativeMarginAfter):
(WebCore::RenderBlock::maxPositiveMarginBefore):
(WebCore::RenderBlock::maxNegativeMarginBefore):
(WebCore::RenderBlock::maxPositiveMarginAfter):
(WebCore::RenderBlock::maxNegativeMarginAfter):
(WebCore::RenderBlock::initMaxMarginValues):
(WebCore::RenderBlock::collapsedMarginBefore):
(WebCore::RenderBlock::collapsedMarginAfter):
(WebCore::RenderBlock::MarginInfo::clearMargin):
(WebCore::RenderBlock::MarginInfo::setPositiveMargin):
(WebCore::RenderBlock::MarginInfo::setNegativeMargin):
(WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
(WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
(WebCore::RenderBlock::MarginInfo::setMargin):
(WebCore::RenderBlock::MarginInfo::positiveMargin):
(WebCore::RenderBlock::MarginInfo::negativeMargin):
(WebCore::RenderBlock::MarginInfo::margin):
(WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
* rendering/RenderBox.h:
(WebCore::RenderBox::collapsedMarginBefore):
(WebCore::RenderBox::collapsedMarginAfter):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
2010-09-30 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Fix InternetGetCookie in CookieJarWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=46929
If the InternetGetCookie fails the output size won't be set.
Set the default size to 0, so we always get the correct size
and check the return value of InternetGetCookie.
* platform/network/win/CookieJarWin.cpp:
(WebCore::cookies):
2010-09-30 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Use OwnPtr for HBRUSH and HPEN in GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=46881
Also add some missing SelectObject calls.
* platform/graphics/wince/GraphicsContextWinCE.cpp:
(WebCore::createPen):
(WebCore::createBrush):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
2010-09-30 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein and Darin Adler.
WebCore uses the main thread to process sleep notifications
https://bugs.webkit.org/show_bug.cgi?id=46935
<rdar://problem/8495374>
Rewrite the old WebCorePowerNotifier to use IOKit directly.
On Snow Leopard, set up power notifications to arrive on a dispatch queue,
so that we can handle them quickly even if the main thread is hung.
(Tiger and Leopard will still get the old behavior).
* WebCore.xcodeproj/project.pbxproj:
Link with IOKit.
* platform/mac/SharedTimerMac.mm:
(WebCore::PowerObserver::PowerObserver):
Initialize the IOKit machinery.
(WebCore::PowerObserver::~PowerObserver):
Tear down the IOKit notifications.
(WebCore::PowerObserver::didReceiveSystemPowerNotification):
Acknowledge the event immediately and then call the shared timer functions. On Snow Leopard, we
make sure to call the shared timer functions on the main thread.
2010-09-30 James Simonsen <simonjam@chromium.org>
Reviewed by Adam Barth.
[Web Timing] Make requestEnd equal to start of response
https://bugs.webkit.org/show_bug.cgi?id=46302
* page/Timing.cpp:
(WebCore::Timing::requestEnd):
2010-09-30 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
fast/canvas/webgl/draw-elements-out-of-bounds.html is crashing on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=46870
* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Remove ShFinalize().
2010-09-30 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
WebKit nests font element when applying different font styles
https://bugs.webkit.org/show_bug.cgi?id=45568
The bug was caused by fixRangeAndApplyInlineStyle's not including fully selected ancestors,
and addInlineStyleIfNeeded's always surrounding the contents by new elements as supposed to
adding font attributes or style attribute.
Fixed the bug by extending the node range in fixRangeAndApplyInlineStyle and finding
the appropriate container node to add attributes in addInlineStyleIfNeeded.
addInlineStyleIfNeeded now tires to add font and style attributes to the inner most font and
span elements respectively.
Also added an early exit check to removeStyleFromRunBeforeApplyingStyle so that WebKit does not
modify the contents when the entire contents already have the desired style.
Test: editing/style/inline-style-container.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
(WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2010-09-30 Jarred Nicholls <jarred@sencha.com>
Reviewed by Darin Adler.
Removed unnecessary calls to ceil() on an int
Removing the call fixes MSVC build errors
https://bugs.webkit.org/show_bug.cgi?id=46931
* platform/graphics/ContextShadow.cpp:
(WebCore::ContextShadow::calculateLayerBoundingRect):
2010-09-30 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=46932
Get fast/blockflow/root-lr-basic.html results to be correct by patching a few more
height() calls to be logicalHeight().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::handleAfterSideOfBlock):
2010-09-30 Cris Neckar <cdn@chromium.org>
Reviewed by Darin Adler.
Added check to test for removed counter node when calling findPlaceForCounter() in updateCounters().
Added refcounting to counternodes in countermaps.
https://bugs.webkit.org/show_bug.cgi?id=46387
Test: fast/css/counters/counter-traverse-table-cell.html
* rendering/CounterNode.cpp:
(WebCore::CounterNode::create):
* rendering/CounterNode.h:
* rendering/RenderCounter.cpp:
(WebCore::makeCounterNode):
(WebCore::destroyCounterNodeWithoutMapRemoval):
(WebCore::RenderCounter::destroyCounterNodes):
(WebCore::RenderCounter::destroyCounterNode):
(WebCore::updateCounters):
2010-09-30 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=46928
Add isLeftToRightDirection() to RenderStyle and change callers that did direction() == LTR and direction() == RTL to use this instead.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::isLeftPage):
(WebCore::CSSStyleSelector::applyProperty):
* editing/Editor.cpp:
(WebCore::Editor::hasBidiSelection):
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* rendering/InlineBox.h:
(WebCore::InlineBox::isLeftToRightDirection):
(WebCore::InlineBox::caretLeftmostOffset):
(WebCore::InlineBox::caretRightmostOffset):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::paintTextDecorations):
* rendering/InlineIterator.h:
(WebCore::InlineIterator::direction):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::placeEllipsisBox):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::textPos):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::determineLogicalLeftPositionForChild):
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::paintColumnContents):
(WebCore::RenderBlock::getHorizontalSelectionGapInfo):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
(WebCore::RenderBlock::columnRectAt):
(WebCore::RenderBlock::layoutColumns):
(WebCore::getBorderPaddingMargin):
(WebCore::RenderBlock::localCaretRect):
(WebCore::RenderBlock::marginStartForChild):
(WebCore::RenderBlock::marginEndForChild):
(WebCore::RenderBlock::setMarginStartForChild):
(WebCore::RenderBlock::setMarginEndForChild):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::getBorderPaddingMargin):
(WebCore::RenderBlock::constructLine):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::skipTrailingWhitespace):
(WebCore::RenderBlock::skipLeadingWhitespace):
(WebCore::RenderBlock::findNextLineBreak):
(WebCore::RenderBlock::checkLinesForTextOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::marginStart):
(WebCore::RenderBox::marginEnd):
(WebCore::RenderBox::setMarginStart):
(WebCore::RenderBox::setMarginEnd):
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::containingBlockWidthForPositioned):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::localCaretRect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffsetX):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::layoutLegend):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlexibleBox.cpp:
(WebCore::FlexBoxIterator::FlexBoxIterator):
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeScrollDimensions):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::positionListMarker):
(WebCore::RenderListItem::markerTextWithSuffix):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::updateMargins):
(WebCore::RenderListMarker::suffix):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::computePosition):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::valuePartRect):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::valuePartRect):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::calcBorderLeft):
(WebCore::RenderTable::calcBorderRight):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
(WebCore::RenderTableCell::borderHalfLeft):
(WebCore::RenderTableCell::borderHalfRight):
(WebCore::RenderTableCell::collectBorderStyles):
(WebCore::RenderTableCell::paintCollapsedBorder):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::recalcOuterBorder):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect):
(WebCore::RenderText::positionLineBox):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::forwardEvent):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::levelIndicatorFor):
(WebCore::RenderThemeMac::paintProgressBar):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeTextRun):
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::measureCharacter):
(WebCore::SVGInlineTextBox::buildLayoutInformation):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineTextBox):
* rendering/SVGTextLayoutUtilities.cpp:
(WebCore::svgTextRunForInlineTextBox):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::borderStartWidth):
(WebCore::RenderStyle::borderEndWidth):
(WebCore::RenderStyle::marginStart):
(WebCore::RenderStyle::marginEnd):
(WebCore::RenderStyle::marginStartUsing):
(WebCore::RenderStyle::marginEndUsing):
(WebCore::RenderStyle::paddingStart):
(WebCore::RenderStyle::paddingEnd):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::isLeftToRightDirection):
* wml/WMLTableElement.cpp:
(WebCore::WMLTableElement::alignCells):
2010-09-30 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=46923
Make determineLogicalLeftPositionForChild block-flow-aware. Rewrite the function so that there aren't
completely separate LTR/RTL cases.
Added fast/blockflow/inline-direction-positioning.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::determineLogicalLeftPositionForChild):
(WebCore::RenderBlock::setLogicalLeftForChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalWidthForChild):
(WebCore::RenderBlock::logicalRightOffsetForContent):
(WebCore::RenderBlock::logicalLeftOffsetForContent):
2010-09-29 Adam Roben <aroben@apple.com>
Fix color media queries on Windows
Fixes <http://webkit.org/b/42973> <rdar://problem/8234072> (color:8)
media query does not evaluate to true for 32bpp displays on Windows
Test: fast/media/color-does-not-include-alpha.html
Reviewed by Darin Adler.
* platform/win/PlatformScreenWin.cpp:
(WebCore::screenDepthPerComponent): Use screenDepth instead of trying
to interpret DEVMODE directly, since screenDepth knows how to correct
for video drivers that return 32 instead of 24.
2010-09-29 Adam Roben <aroben@apple.com>
Make sure screen.colorDepth/screen.pixelDepth don't include the bits
used for alpha
Fixes <http://webkit.org/b/42972> <rdar://problem/8234071>
screen.colorDepth and screen.pixelDepth return 32 on Windows, but
should return 24 (according to CSSOM View and Firefox)
Reviewed by Darin Adler.
* platform/win/PlatformScreenWin.cpp:
(WebCore::screenDepth): If Windows says there are 32 bits per pixel,
return 24 instead, as 32 includes the alpha component but this
function is supposed to ignore the alpha component.
2010-09-30 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
[chromium] Refactor ChromiumDataObject to use getters/setters.
https://bugs.webkit.org/show_bug.cgi?id=46559
This is an intermediate step to converting ChromiumDataObject to use
callbacks to the browser to retrieve data.
This is covered by existing tests.
* editing/chromium/EditorChromium.cpp:
(WebCore::Editor::newGeneralClipboard):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::clearData):
(WebCore::ChromiumDataObject::clearAll):
(WebCore::ChromiumDataObject::clearAllExceptFiles):
(WebCore::ChromiumDataObject::hasData):
(WebCore::ChromiumDataObject::types):
(WebCore::ChromiumDataObject::getData):
(WebCore::ChromiumDataObject::setData):
(WebCore::ChromiumDataObject::ChromiumDataObject):
* platform/chromium/ChromiumDataObject.h:
(WebCore::ChromiumDataObject::create):
(WebCore::ChromiumDataObject::urlTitle):
(WebCore::ChromiumDataObject::setUrlTitle):
(WebCore::ChromiumDataObject::htmlBaseUrl):
(WebCore::ChromiumDataObject::setHtmlBaseUrl):
(WebCore::ChromiumDataObject::containsFilenames):
(WebCore::ChromiumDataObject::filenames):
(WebCore::ChromiumDataObject::setFilenames):
(WebCore::ChromiumDataObject::fileExtension):
(WebCore::ChromiumDataObject::setFileExtension):
(WebCore::ChromiumDataObject::fileContentFilename):
(WebCore::ChromiumDataObject::setFileContentFilename):
(WebCore::ChromiumDataObject::fileContent):
(WebCore::ChromiumDataObject::setFileContent):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::normalizeType):
(WebCore::ClipboardChromium::clearData):
(WebCore::ClipboardChromium::clearAllData):
(WebCore::ClipboardChromium::getData):
(WebCore::ClipboardChromium::setData):
(WebCore::ClipboardChromium::types):
(WebCore::ClipboardChromium::files):
(WebCore::writeImageToDataObject):
(WebCore::ClipboardChromium::declareAndWriteDragImage):
(WebCore::ClipboardChromium::writeURL):
(WebCore::ClipboardChromium::writeRange):
(WebCore::ClipboardChromium::writePlainText):
* platform/chromium/ClipboardChromiumWin.cpp:
(WebCore::ClipboardChromium::validateFileName):
* platform/chromium/ClipboardMimeTypes.cpp:
* platform/chromium/ClipboardMimeTypes.h:
* platform/chromium/DragDataChromium.cpp:
(WebCore::containsHTML):
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
(WebCore::DragData::containsFiles):
(WebCore::DragData::asFilenames):
(WebCore::DragData::containsPlainText):
(WebCore::DragData::asPlainText):
(WebCore::DragData::canSmartReplace):
(WebCore::DragData::asFragment):
* platform/chromium/ReadableDataObject.cpp:
(WebCore::ReadableDataObject::getURL):
(WebCore::ReadableDataObject::getHTML):
* platform/chromium/WritableDataObject.cpp:
(WebCore::WritableDataObject::clearData):
(WebCore::WritableDataObject::setData):
(WebCore::WritableDataObject::setURL):
(WebCore::WritableDataObject::setHTML):
2010-09-30 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Make 2D accelerated canvas rendering build on Mac
https://bugs.webkit.org/show_bug.cgi?id=46007
Add accelerated 2D rendering files to Mac build, fix build errors,
add ifdefs to compile only when the ACCELERATED_2D_CANVAS flag is
enabled, and add a skeleton of the mac specific file so it builds.
DrawingBufferMac.mm, the Mac specific file does nothing right now
other than initialize and create a layer. The rest will be added
when I do the actual implementation.
The most significant change was to SharedGraphicsContext3D, which
had a static local OwnPtr in one of the methods. This was causing
the exit time destructor warning. Getting rid of the OwnPtr fixed
the problem. Since the pointer that was being wrapped was to a
static object that would never get destroyed, the OwnPtr was not
necessary.
I also added the ACCELERATED_2D_CANVAS flag to build-webkit
and FeatureDefines.xcconfig for WebCore, WebKit and JavaScriptCore.
But right now the flag is off by default.
* Configurations/FeatureDefines.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/gpu/DrawingBuffer.cpp:
* platform/graphics/gpu/DrawingBuffer.h:
(WebCore::DrawingBuffer::WillPublishCallback::~WillPublishCallback):
* platform/graphics/gpu/LoopBlinnClassifier.cpp:
* platform/graphics/gpu/LoopBlinnMathUtils.cpp:
* platform/graphics/gpu/LoopBlinnTextureCoords.cpp:
* platform/graphics/gpu/Shader.cpp:
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::allContexts):
* platform/graphics/gpu/SolidFillShader.cpp:
* platform/graphics/gpu/TexShader.cpp:
* platform/graphics/gpu/Texture.cpp:
* platform/graphics/gpu/Texture.h:
* platform/graphics/gpu/TilingData.cpp:
* platform/graphics/gpu/mac: Added.
* platform/graphics/gpu/mac/DrawingBufferMac.mm: Added.
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::~DrawingBuffer):
(WebCore::DrawingBuffer::reset):
(WebCore::DrawingBuffer::platformLayer):
2010-09-30 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Dirk Schulze.
SVGFECompositeElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=46902
Tests: svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html
svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html
svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html
svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html
svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html
svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html
svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html
svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html
svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html
svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html
svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html
svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html
svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html
svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::svgAttributeChanged):
* svg/SVGFECompositeElement.h:
2010-09-29 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Finished IDBTransaction for IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=46823
Switch the rest of IndexedDB to use transactions.
Implement most of setVersion.
Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc.
Switch to using the standard cross thread task stuff.
Make everything threadsafe so it works with cross thread copy
(will be useful in the future).
Fix some subtle bugs in transactions.
Various bits of clean up (when I couldn't resist).
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::LocalContext::LocalContext):
(WebCore::LocalContext::~LocalContext):
(WebCore::createIDBKeyFromSerializedValueAndKeyPath):
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::release):
(WebCore::SerializedScriptValue::SerializedScriptValue):
* bindings/v8/SerializedScriptValue.h:
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* platform/CrossThreadCopier.cpp:
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbFactory):
(WebCore::IDBAny::idbTransaction):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
* storage/IDBCallbacks.h:
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::IDBCursor):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::remove):
* storage/IDBCursor.h:
(WebCore::IDBCursor::create):
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::update):
(WebCore::IDBCursorBackendImpl::updateInternal):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::continueFunctionInternal):
(WebCore::IDBCursorBackendImpl::remove):
(WebCore::IDBCursorBackendImpl::removeInternal):
* storage/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::setSetVersionTransaction):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::removeObjectStore):
(WebCore::IDBDatabase::setVersion):
(WebCore::IDBDatabase::close):
* storage/IDBDatabase.h:
* storage/IDBDatabase.idl:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
(WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
(WebCore::IDBDatabaseBackendImpl::close):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::openObjectCursor):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::getObject):
(WebCore::IDBIndex::get):
* storage/IDBIndex.h:
(WebCore::IDBIndex::create):
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursorInternal):
(WebCore::IDBIndexBackendImpl::openObjectCursor):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::getInternal):
(WebCore::IDBIndexBackendImpl::getObject):
(WebCore::IDBIndexBackendImpl::get):
* storage/IDBIndexBackendImpl.h:
* storage/IDBIndexBackendInterface.h:
* storage/IDBKey.cpp:
(WebCore::IDBKey::IDBKey):
* storage/IDBKey.h:
* storage/IDBKeyRange.h:
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::remove):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::removeIndex):
(WebCore::IDBObjectStore::openCursor):
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::getInternal):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::remove):
(WebCore::IDBObjectStoreBackendImpl::removeInternal):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
(WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
* storage/IDBObjectStoreBackendImpl.h:
* storage/IDBObjectStoreBackendInterface.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::timerFired):
* storage/IDBRequest.h:
(WebCore::IDBRequest::create):
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
(WebCore::IDBTransactionBackendImpl::run):
(WebCore::IDBTransactionBackendImpl::start):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::timerFired):
* storage/IDBTransactionBackendImpl.h:
2010-09-30 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Martin Robinson.
[Gtk] build still broken since r68521
https://bugs.webkit.org/show_bug.cgi?id=46795
makevalues.pl and makeprop.pl generate 3 files in one run.
Double or triple target is incorrect, because on a multicore
machine make processes targets in parallel.
Setting a->b->c dependencies for 3 generated files guarantees
that make doesn't execute the recipe of the rule more than one.
* GNUmakefile.am: Dependencies and missing headers added.
2010-09-30 Andrey Kosyakov <caseq@chromium.org>
Unreviewed build fix (marked ResourceRawHeaders.h as private)
* WebCore.xcodeproj/project.pbxproj:
2010-09-29 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: display headers actually used by network stack in Resources tab
https://bugs.webkit.org/show_bug.cgi?id=46092
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateResponse):
* platform/network/ResourceRawHeaders.h: Added.
* platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
(WebCore::ResourceRequestBase::reportRawHeaders):
(WebCore::ResourceRequestBase::setReportRawHeaders):
(WebCore::ResourceRequestBase::ResourceRequestBase):
* platform/network/ResourceResponseBase.cpp: Added support for raw headers.
(WebCore::ResourceResponseBase::resourceRawHeaders):
(WebCore::ResourceResponseBase::setResourceRawHeaders):
* platform/network/ResourceResponseBase.h:
2010-09-29 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: display headers actually used by network stack in Resources tab
https://bugs.webkit.org/show_bug.cgi?id=46092
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateResponse):
* platform/network/ResourceRawHeaders.h: Added.
* platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
(WebCore::ResourceRequestBase::reportRawHeaders):
(WebCore::ResourceRequestBase::setReportRawHeaders):
(WebCore::ResourceRequestBase::ResourceRequestBase):
* platform/network/ResourceResponseBase.cpp: Added support for raw headers.
(WebCore::ResourceResponseBase::resourceRawHeaders):
(WebCore::ResourceResponseBase::setResourceRawHeaders):
* platform/network/ResourceResponseBase.h:
2010-09-30 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] V8 port: Unbreak build
Add missing <wtf/text/CString.h> include.
* loader/PingLoader.cpp:
2010-09-29 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: assign the resource loading finish time which was obtained from the network stack
as the end time for the corresponding event in Timeline.
See related change for Resources panel https://bugs.webkit.org/show_bug.cgi?id=45664
https://bugs.webkit.org/show_bug.cgi?id=46789
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
* inspector/InspectorTimelineAgent.h:
2010-09-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: implement sorting by timeline in network panel + filtering.
https://bugs.webkit.org/show_bug.cgi?id=45657
A number of drive-by fixes, sorting by timeline added,
0-based timeline for duration added, filters added,
more love for detailed view + nice headers.
* English.lproj/localizedStrings.js:
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.markColumnAsSortedBy):
(WebInspector.DataGrid.prototype.headerTableHeader):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel):
(WebInspector.NetworkPanel.prototype.get statusBarItems):
(WebInspector.NetworkPanel.prototype._createTable):
(WebInspector.NetworkPanel.prototype._makeHeaderInnerHTML):
(WebInspector.NetworkPanel.prototype._createSortingFunctions):
(WebInspector.NetworkPanel.prototype._sortByTimeline):
(WebInspector.NetworkPanel.prototype._sortItems):
(WebInspector.NetworkPanel.prototype._createFilterPanel):
(WebInspector.NetworkPanel.prototype._showCategory):
(WebInspector.NetworkPanel.prototype._hideCategory):
(WebInspector.NetworkPanel.prototype._updateFilter):
(WebInspector.NetworkPanel.prototype._filter):
(WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
(WebInspector.NetworkPanel.prototype.reset):
(WebInspector.NetworkPanel.prototype._setLargerResources):
(WebInspector.NetworkDataGridNode.prototype.createCells):
(WebInspector.NetworkDataGridNode.prototype._createDivInTD):
(WebInspector.NetworkDataGridNode.prototype._refreshURLCell):
(WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
(WebInspector.NetworkDataGridNode.prototype._appendSubtitle):
(WebInspector.NetworkDataGridNode.SizeComparator):
(WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.updateDividers):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
* inspector/front-end/inspector.css:
(.data-grid th.sort-ascending > div::after):
(.data-grid th.sort-descending > div::after):
(.status-bar-items):
* inspector/front-end/networkPanel.css:
(.network.panel .data-grid td):
(.network.panel .data-grid th):
(.network.panel .data-grid.small th):
(.network.panel .data-grid .data-container):
(.network.panel .data-grid.small .data-container):
(.network.panel .data-grid select):
(.network.panel .data-grid td.time-column):
(.network-cell-subtitle):
(.network-header-subtitle):
(.network-event-divider):
(.network.panel .network-timeline-grid.small .network-event-divider):
(.network.panel .resources-dividers-label-bar):
(.network.panel .network-timeline-grid.small .resources-dividers-label-bar):
(.network.panel .resources-divider-label):
(.network.panel .resources-dividers-label-bar .resources-divider):
(.network.panel .network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
(.network.panel .resources-divider.first .resources-divider-label):
(.network.panel .resources-dividers-label-bar .resources-divider.first):
(#network-filter):
(.data-grid table.data tr.revealed.network-category-websockets, .data-grid table.data tr.revealed.network-category-other):
(.data-grid.filter-all table.data tr.revealed.network-category-other, .data-grid.filter-other table.data tr.revealed.network-category-other):
2010-09-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Ensure we always report a valid size for the video
Some QtMultimedia-backends require a paint before even giving us
a size, so we start out by using the default video size, and then
update it once QtMultimedia starts feeding us valid sizes.
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
(WebCore::MediaPlayerPrivateQt::nativeSizeChanged):
(WebCore::MediaPlayerPrivateQt::setSize):
(WebCore::MediaPlayerPrivateQt::naturalSize):
* platform/graphics/qt/MediaPlayerPrivateQt.h:
2010-09-30 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Andreas Kling.
RenderSVGTextPath lacks isSVGTextPath() method
https://bugs.webkit.org/show_bug.cgi?id=46888
Make RenderSVGTextPath objects easily detectable, using a isSVGTextPath() method, like all other SVG renderers have.
* rendering/RenderObject.h:
(WebCore::RenderObject::isSVGTextPath): Return false.
* rendering/RenderSVGTextPath.h: Changed indentation of whole file.
(WebCore::RenderSVGTextPath::isSVGTextPath): Return true.
(WebCore::RenderSVGTextPath::renderName):
(WebCore::toRenderSVGTextPath): Add helper casting methods.
2010-09-30 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
AffineTransform should expose methods calculating the x/y scale factors
https://bugs.webkit.org/show_bug.cgi?id=46887
Expose methods calculating the x/y scale factors for an AffineTransform.
* platform/graphics/transforms/AffineTransform.cpp:
(WebCore::affineTransformDecompose): Move xScale / yScale calculations in their own functions.
(WebCore::AffineTransform::xScale):
(WebCore::AffineTransform::yScale):
* platform/graphics/transforms/AffineTransform.h:
2010-09-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Ensure that the media player backend does not leave any resources around
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt):
2010-09-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Minor cleanup of MediaPlayerPrivateQt
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
(WebCore::MediaPlayerPrivateQt::currentTime):
(WebCore::MediaPlayerPrivateQt::positionChanged):
(WebCore::MediaPlayerPrivateQt::paint):
2010-09-30 Jochen Eisinger <jochen@chromium.org>
Reviewed by Jeremy Orlow.
Mark unused parameters as such.
https://bugs.webkit.org/show_bug.cgi?id=46880
* inspector/InspectorDOMAgent.cpp:
* page/Geolocation.cpp:
(WebCore::Geolocation::clearWatch):
2010-09-29 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: extract Inspector Instrumentation API as a class.
https://bugs.webkit.org/show_bug.cgi?id=46614
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::sendCallback):
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
(WebCore::notifyChildInserted):
(WebCore::dispatchChildRemovalEvents):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::removeAttribute):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
* inspector/InspectorController.h:
* inspector/InspectorInstrumentation.cpp: Added.
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::characterDataModifiedImpl):
(WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
* inspector/InspectorInstrumentation.h: Added.
(WebCore::InspectorInstrumentation::frontendCreated):
(WebCore::InspectorInstrumentation::frontendDeleted):
(WebCore::InspectorInstrumentation::hasFrontends):
(WebCore::InspectorInstrumentation::willInsertDOMNode):
(WebCore::InspectorInstrumentation::didInsertDOMNode):
(WebCore::InspectorInstrumentation::willRemoveDOMNode):
(WebCore::InspectorInstrumentation::willModifyDOMAttr):
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::characterDataModified):
(WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
(WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
(WebCore::InspectorInstrumentation::inspectorControllerForDocument):
(WebCore::InspectorInstrumentation::inspectorControllerForPage):
* workers/SharedWorker.cpp:
2010-09-30 Kwang Yul Seo <skyul@company100.net>
Reviewed by Darin Adler.
Build fix: Add ENABLE(INSPECTOR) guard
https://bugs.webkit.org/show_bug.cgi?id=46852
Page does not have inspectorController() when ENABLE(INSPECTOR) is 0.
* inspector/InspectorController.h:
(WebCore::InspectorController::inspectorControllerForDocument):
2010-09-30 Michael Nordman <michaeln@google.com>
Reviewed by David Levin.
Make it possible to copy platform specific data members of ResourceRequest and ResourceResponse
across threads and to compare platform specific data members of ResourceRequest.
- Added two instance methods to the platform specific subclasses: doPlatformAdopt and doPlatformCopyData.
- Also added a "shadowable" static method for platformCompare to ResourceRequestBase, a similar method
is already present on ResourceResponseBase.
- Converted the cross thread structs defined in ResourceRequest/ResponseBase.h to base
classes and extended those base classes in the platform specific headers to provide a place
to hold additional fields.
- Used this mechanism to have the chromium port's data members make the hop.
https://bugs.webkit.org/show_bug.cgi?id=46430
No new tests. Just plumbing.
* WebCore.exp.in: removed the symbol for the now inlined == operator
* WebCore.gypi: added chromium/ResourceResponse.cpp
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::copyData):
(WebCore::ResourceRequestBase::compare):
* platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::platformCompare):
(WebCore::operator==):
(WebCore::operator!=):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::asResourceResponse):
(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):
* platform/network/ResourceResponseBase.h:
* platform/network/android/ResourceRequest.h:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
* platform/network/android/ResourceResponse.h:
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
* platform/network/cf/ResourceRequest.h:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
* platform/network/cf/ResourceResponse.h:
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
* platform/network/chromium/ResourceRequest.cpp:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
* platform/network/chromium/ResourceRequest.h:
* platform/network/chromium/ResourceResponse.cpp: Added.
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
* platform/network/chromium/ResourceResponse.h:
* platform/network/curl/ResourceRequest.h:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
* platform/network/curl/ResourceResponse.h:
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
* platform/network/mac/ResourceRequest.h:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
* platform/network/mac/ResourceResponse.h:
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
* platform/network/qt/ResourceRequest.h:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
* platform/network/qt/ResourceResponse.h:
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
* platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):
* platform/network/soup/ResourceResponse.h:
(WebCore::ResourceResponse::doUpdateResourceResponse):
(WebCore::ResourceResponse::doPlatformCopyData):
(WebCore::ResourceResponse::doPlatformAdopt):
2010-09-29 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Put default initialize() and uninitialize() methods in AudioNode
https://bugs.webkit.org/show_bug.cgi?id=46767
No new tests since audio API is not yet implemented.
* webaudio/AudioNode.cpp:
(WebCore::AudioNode::initialize):
(WebCore::AudioNode::uninitialize):
* webaudio/AudioNode.h:
2010-09-29 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Refactor HTMLInputElement: Make DeprecatedInputType private.
https://bugs.webkit.org/show_bug.cgi?id=46791
No new tests because this doesn't change any behavior.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createTypeMap):
* html/HTMLInputElement.h:
Move DeprecatedInputType, deprecatedInputType() and
parseToDateComponents() to the private section, make
createTypeMap() a member function of HTMLInputElement.
(WebCore::HTMLInputElement::deprecatedInputType):
2010-09-29 Mihai Parparita <mihaip@chromium.org>
Reviewed by Darin Fisher.
REGRESSION: page reload on back button after history.pushState with appearing/disappearing iframes
https://bugs.webkit.org/show_bug.cgi?id=46324
Revert same document check to the way it was before r66238 for history
entries created by pushState or fragment changes. Logic fror determining
if same document navigation should be used is moved to HistoryItem.
Tests: fast/history/same-document-iframes-changing-fragment.html
fast/history/same-document-iframes-changing-pushstate.html
* history/HistoryItem.cpp:
(WebCore::HistoryItem::shouldDoSameDocumentNavigationTo):
(WebCore::HistoryItem::hasSameDocumentTree):
(WebCore::HistoryItem::hasSameFrames):
* history/HistoryItem.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadItem):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadItem):
2010-09-29 MORITA Hajime <morrita@google.com>
Unreviewed build fix.
WebCore::ESpeak causes missing symbol with no ENABLE_SVG
https://bugs.webkit.org/show_bug.cgi?id=46865
Moves ESpeak related function definitions outside ENABLE_SVG block.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ESpeak):
(WebCore::CSSPrimitiveValue::operator EVectorEffect):
2010-09-29 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioChannelSplitter files
https://bugs.webkit.org/show_bug.cgi?id=46290
No new tests since audio API is not yet implemented.
* webaudio/AudioChannelSplitter.cpp: Added.
(WebCore::AudioChannelSplitter::AudioChannelSplitter):
(WebCore::AudioChannelSplitter::process):
(WebCore::AudioChannelSplitter::reset):
* webaudio/AudioChannelSplitter.h: Added.
(WebCore::AudioChannelSplitter::create):
* webaudio/AudioChannelSplitter.idl: Added.
2010-09-29 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Fix DirectoryReader's behavior to trigger only one EntriesCallback per readEntries
https://bugs.webkit.org/show_bug.cgi?id=46563
Test: fast/filesystem/read-directory.html
* fileapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::readDirectory): Changed to take DirectoryReader
as a parameter.
* fileapi/DOMFileSystem.h:
(WebCore::DOMFileSystem::scheduleCallback): Added.
* fileapi/DirectoryReader.cpp:
(WebCore::DirectoryReader::DirectoryReader): Added initializer for
m_hasMore flag.
(WebCore::DirectoryReader::readEntries): Changed to schedule
EntriesCallback with an empty array if m_hasMore flag is set false.
* fileapi/DirectoryReader.h:
(WebCore::DirectoryReader::filesystem): Added.
(WebCore::DirectoryReader::setHasMore): Added.
* fileapi/FileSystemCallbacks.cpp:
(WebCore::EntriesCallbacks::create):
(WebCore::EntriesCallbacks::EntriesCallbacks): Changed to take
DirectoryReader as a parameter.
(WebCore::EntriesCallbacks::didReadDirectoryEntry):
(WebCore::EntriesCallbacks::didReadDirectoryEntries): Changed 1) not to
trigger the second callback when hasMore is false, and 2) to update
the DirectoryReader's m_hasMore flag.
* fileapi/FileSystemCallbacks.h:
2010-09-29 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioGainNode files
https://bugs.webkit.org/show_bug.cgi?id=46286
No new tests since audio API is not yet implemented.
* webaudio/AudioGainNode.cpp: Added.
(WebCore::AudioGainNode::AudioGainNode):
(WebCore::AudioGainNode::process):
(WebCore::AudioGainNode::reset):
(WebCore::AudioGainNode::checkNumberOfChannelsForInput):
* webaudio/AudioGainNode.h: Added.
(WebCore::AudioGainNode::create):
(WebCore::AudioGainNode::gain):
* webaudio/AudioGainNode.idl: Added.
2010-09-29 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioChannelMerger files
https://bugs.webkit.org/show_bug.cgi?id=46291
No new tests since audio API is not yet implemented.
* webaudio/AudioChannelMerger.cpp: Added.
(WebCore::AudioChannelMerger::AudioChannelMerger):
(WebCore::AudioChannelMerger::process):
(WebCore::AudioChannelMerger::reset):
* webaudio/AudioChannelMerger.h: Added.
(WebCore::AudioChannelMerger::create):
* webaudio/AudioChannelMerger.idl: Added.
2010-09-29 Chris Fleizach <cfleizach@apple.com>
No review. Missed file for patch.
AX: implement CSS3 Speech "speak"
https://bugs.webkit.org/show_bug.cgi?id=46827
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
2010-09-29 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
Crash at lineBreakExistsAtPosition + 125
<rdar://problem/7028809>
https://bugs.webkit.org/show_bug.cgi?id=46770
lineBreakExistsAtPosition is called from InsertTextCommand::input,
where we compute the downstream position of the endingSelection().
Downstream can return the original position, that comes from a VisibleSelection
but there is no guarantee that its renderer is still there. Everywhere we dereference
a renderer we check if it's null.
There is no regression test.
* editing/htmlediting.cpp:
(WebCore::lineBreakExistsAtPosition): Added check that the renderer is not null
before dereferencing it.
2010-09-29 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Add additional checks to StringBuilder.
<rdar://problem/7761248>
* platform/text/StringBuilder.cpp:
(WebCore::checkAppend):
(WebCore::StringBuilder::append):
(WebCore::StringBuilder::toString):
(WebCore::StringBuilder::clear):
(WebCore::StringBuilder::length):
* platform/text/StringBuilder.h:
(WebCore::StringBuilder::StringBuilder):
(WebCore::StringBuilder::setNonNull):
(WebCore::StringBuilder::isNull):
2010-09-29 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
plugins/npruntime/invoke-failure.html fails in WebKit2 due to slightly different exception being thrown
https://bugs.webkit.org/show_bug.cgi?id=46715
<rdar://problem/8485909>
Remove exclamation points from exceptions.
* bindings/v8/V8NPObject.cpp:
(WebCore::npObjectInvokeImpl):
* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
2010-09-29 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Add additional check to Text::wholeText.
<rdar://problem/8304795>
* dom/Text.cpp:
(WebCore::Text::wholeText):
2010-09-29 Brian Weinstein <bweinstein@apple.com>
Reviewed by Brady Eidson.
REGRESSION (r66129): Loading full-frame .swf file crashes with flash blocker extension enabled
<https://bugs.webkit.org/show_bug.cgi?id=46773>
<rdar://problem/8390975>
After r66129, start scripts were run on plugin documents, and cancelling the load of a plugin
document could cause Safari to crash.
If a plugin load on an initial document is cancelled, we cancel the main resource load (where the
main resource is the plugin), and if the load is restarted and allowed, we don't go through the manual
loading path like we do on the initial load of a plugin in a plugin document.
Tests: plugins/plugin-document-load-prevented-userscript.html
plugins/plugin-document-willSendRequest-null.html
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget): If the plugin load was cancelled, and this is in a
plugin document, call a function on PluginDocument that cancels the main resource load, and
sets a plugin document flag.
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes): Null check the widget's renderer, because it could be
null if the load was cancelled.
(WebCore::PluginDocument::PluginDocument): Initialize the new variable.
(WebCore::PluginDocument::cancelManualPluginLoad): Cancel the main resource load of the plugin document
(which is a plugin in the case of a plugin document).
* html/PluginDocument.h:
(WebCore::PluginDocument::shouldLoadPluginManually): Returns whether or not we should load the plugin
manually.
(WebCore::PluginDocument::setShouldLoadPluginManually): Set whether or not we should load the plugin
manually.
(WebCore::toPluginDocument):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin): Check if we should load the plugin manually according to the plugin
document.
2010-09-29 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46844, make estimateLogicalTopPosition
block-flow-aware.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::estimateLogicalTopPosition):
(WebCore::RenderBlock::collapsedMarginBeforeForChild):
(WebCore::RenderBlock::collapsedMarginAfterForChild):
* rendering/RenderBlock.h:
2010-09-29 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Minor cleanup to AudioContext
https://bugs.webkit.org/show_bug.cgi?id=46843
No new tests since audio API is not yet implemented
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::lock):
(WebCore::AudioContext::handleDeferredFinishDerefs):
2010-09-29 MORITA Hajime <morrita@google.com>
Reviewed by Eric Seidel.
Assertion failed when accessing -webkit-margin-top-collapse via computed style.
https://bugs.webkit.org/show_bug.cgi?id=46798
There was a switch statement which missed enum entries in getPropertyCSSValue().
This change added these entries to prevent the leak.
It also added extra case statements to encourage the compiler's help.
Test: fast/css/getComputedStyle/margin-top-bottom-collapse-alias.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2010-09-29 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Limit number of AudioNode deletions per render quantum in AudioContext
https://bugs.webkit.org/show_bug.cgi?id=46834
No new tests since audio API is not yet implemented.
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::handlePostRenderTasks):
(WebCore::AudioContext::deleteMarkedNodes):
2010-09-29 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=46838
Get rid of the marginXXXUsing/setMarginXXXUsing methods on RenderBox. I'm inverting the way these are called
and putting the methods on RenderBlock instead. The methods can be named better this way and the getters
can operate on RenderBoxModelObjects instead of just RenderBoxes.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::marginBeforeForChild):
(WebCore::RenderBlock::marginAfterForChild):
(WebCore::RenderBlock::marginStartForChild):
(WebCore::RenderBlock::marginEndForChild):
(WebCore::RenderBlock::setMarginStartForChild):
(WebCore::RenderBlock::setMarginEndForChild):
(WebCore::RenderBlock::setMarginBeforeForChild):
(WebCore::RenderBlock::setMarginAfterForChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalHeightForChild):
(WebCore::RenderBlock::logicalTopForChild):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::marginBefore):
(WebCore::RenderBox::marginAfter):
(WebCore::RenderBox::marginStart):
(WebCore::RenderBox::marginEnd):
(WebCore::RenderBox::setMarginStart):
(WebCore::RenderBox::setMarginEnd):
(WebCore::RenderBox::setMarginBefore):
(WebCore::RenderBox::setMarginAfter):
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::computeBlockDirectionMargins):
* rendering/RenderBox.h:
(WebCore::RenderBox::setMarginTop):
(WebCore::RenderBox::setMarginBottom):
(WebCore::RenderBox::setMarginLeft):
(WebCore::RenderBox::setMarginRight):
2010-09-29 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
Removed input type site-specific quirk for mail.google.com
https://bugs.webkit.org/show_bug.cgi?id=46836
* bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::needsGmailQuirk): Removed.
(WebCore::JSHTMLInputElement::type): Removed this custom getter.
* html/HTMLInputElement.idl: Removed the JSCCustomGetter custom attribute
from the type attribute.
2010-09-29 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Simon Fraser.
CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
https://bugs.webkit.org/show_bug.cgi?id=46777
It should not be possible to get to be in the LoadingFromSourceElement
state with a null current source node. This was a possible scenario
where the current source node was cleared but the load state was not
cleared as well. Tried and could not create a test case for this.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::userCancelledLoad): clear the load state because we also clear the current source node.
2010-09-29 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46835, patch a few more height/logicalHeights. Rename stretchesToViewHeight.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
* rendering/RenderBox.h:
(WebCore::RenderBox::stretchesToViewport):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffsetY):
2010-09-29 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: implement CSS3 Speech "speak"
https://bugs.webkit.org/show_bug.cgi?id=46827
Support the "speak" style as defined in
http://www.w3.org/TR/css3-speech/#speak
This puts all the pieces in place for a platform to support this ability, but there's no platform implementation yet.
Test: platform/mac/accessibility/css-speech-speak.html
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::speakProperty):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::speakProperty):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ESpeak):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::speak):
(WebCore::InheritedFlags::setSpeak):
(WebCore::InheritedFlags::initialSpeak):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
2010-09-29 João Paulo Rechi Vita <jprvita@profusion.mobi>
Reviewed by Antonio Gomes.
[Curl] Fix unused and unitialized warnings.
https://bugs.webkit.org/show_bug.cgi?id=46831
No new tests since no new funcionality has been added.
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::allowsAnyHTTPSCertificateHosts):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::handleLocalReceiveResponse):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::initializeHandle):
2010-09-29 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46824
Convert layoutBlockChild (but not the functions it calls) to be block-flow-aware.
fast/blockflow/root-lr.html progresses as a result of this change.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::estimateLogicalTopPosition):
(WebCore::RenderBlock::determineLogicalLeftPositionForChild):
(WebCore::RenderBlock::setLogicalTopForChild):
(WebCore::RenderBlock::layoutBlockChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalHeightForChild):
(WebCore::RenderBlock::logicalTopForChild):
* rendering/RenderBox.h:
2010-09-29 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Antonio Gomes.
queryCommandValue "formatBlock" always returns false
https://bugs.webkit.org/show_bug.cgi?id=21305
Implemented queryCommandValue('formatBlock'). We match the Firefox's behavior exactly
because Firefox and Internet Explorer support the same set of elements
(address, h1, h2, h3, h4, h5, h6, and p) and Firefox's behavior is more compatible with Opera.
See the bug for the detailed discussion.
WebKit's implementation returns the local name of the lowest common ancestor
of the selection with the tag name address, h1, h2, h3, h4, h5, h6, or p.
It returns "" when there is no such an ancestor or there is no selection.
Test: editing/execCommand/query-format-block.html
* editing/Editor.cpp:
(WebCore::isElementForFormatBlockCommand):
(WebCore::Editor::elementForFormatBlockCommand):
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::valueFormatBlock):
(WebCore::createCommandMap):
2010-09-29 Matt Perry <mpcomplete@chromium.org>
Reviewed by Darin Fisher.
Remove obsolete registerExtension variants from chromium port.
https://bugs.webkit.org/show_bug.cgi?id=46683
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::createNewContext):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::registeredExtensionWithV8):
(WebCore::V8Proxy::registerExtension):
* bindings/v8/V8Proxy.h:
2010-09-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Chris Fleizach.
[GTK] editing/selection/selection-modify-crash.html crashes when run in Xvfb
https://bugs.webkit.org/show_bug.cgi?id=46822
When parentObjectUnignored returns null in objectAndOffsetUnignored consider that
a failure case. Handle this failure appropriately at all call sites.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_text_get_caret_offset): Handle the failure of objectAndOffsetUnignored.
(objectAndOffsetUnignored): Always check the return value of parentObjectUnignored and
return 0 to indicate failure when that happens.
* editing/gtk/SelectionControllerGtk.cpp:
(WebCore::SelectionController::notifyAccessibilityForSelectionChange): Handle the failure
case of objectAndOffsetUnignored.
2010-09-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r68657.
http://trac.webkit.org/changeset/68657
https://bugs.webkit.org/show_bug.cgi?id=46820
reason "Breaks win debug build" (Requested by podivilov on
#webkit).
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::sendCallback):
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
(WebCore::notifyChildInserted):
(WebCore::dispatchChildRemovalEvents):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::removeAttribute):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::willInsertDOMNodeImpl):
(WebCore::InspectorController::didInsertDOMNodeImpl):
(WebCore::InspectorController::willRemoveDOMNodeImpl):
(WebCore::InspectorController::didRemoveDOMNodeImpl):
(WebCore::InspectorController::willModifyDOMAttrImpl):
(WebCore::InspectorController::didModifyDOMAttrImpl):
(WebCore::InspectorController::characterDataModifiedImpl):
(WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
* inspector/InspectorController.h:
(WebCore::InspectorController::willInsertDOMNode):
(WebCore::InspectorController::didInsertDOMNode):
(WebCore::InspectorController::willRemoveDOMNode):
(WebCore::InspectorController::willModifyDOMAttr):
(WebCore::InspectorController::didModifyDOMAttr):
(WebCore::InspectorController::characterDataModified):
(WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
(WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
(WebCore::InspectorController::inspectorControllerForNode):
(WebCore::InspectorController::inspectorControllerForDocument):
* inspector/InspectorInstrumentation.cpp: Removed.
* inspector/InspectorInstrumentation.h: Removed.
* workers/SharedWorker.cpp:
2010-09-29 Xiaomei Ji <xji@chromium.org>
Reviewed by David Levin.
Performance improvement for FontLinux.
https://bugs.webkit.org/show_bug.cgi?id=46374
Reduce new/delete operations by storing the maximum capacity of the glyph
array and use that value in subsequent HB_ShapeItem calls. (Note that a
call to HB_ShapeItem may reduce the value of m_item.num_glyphs below the
capacity.)
Also be consistent with zero'ing the glyph arrays before calling
HB_ShapeItem.
There is no functionality changes so no new tests are added.
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::createGlyphArrays):
(WebCore::TextRunWalker::resetGlyphArrays):
(WebCore::TextRunWalker::shapeGlyphs):
2010-09-29 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: extract Inspector Instrumentation API as a class.
https://bugs.webkit.org/show_bug.cgi?id=46614
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::sendCallback):
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
(WebCore::notifyChildInserted):
(WebCore::dispatchChildRemovalEvents):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::removeAttribute):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
* inspector/InspectorController.h:
* inspector/InspectorInstrumentation.cpp: Added.
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::characterDataModifiedImpl):
(WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
* inspector/InspectorInstrumentation.h: Added.
(WebCore::InspectorInstrumentation::frontendCreated):
(WebCore::InspectorInstrumentation::frontendDeleted):
(WebCore::InspectorInstrumentation::hasFrontends):
(WebCore::InspectorInstrumentation::willInsertDOMNode):
(WebCore::InspectorInstrumentation::didInsertDOMNode):
(WebCore::InspectorInstrumentation::willRemoveDOMNode):
(WebCore::InspectorInstrumentation::willModifyDOMAttr):
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::characterDataModified):
(WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
(WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
(WebCore::InspectorInstrumentation::inspectorControllerForDocument):
(WebCore::InspectorInstrumentation::inspectorControllerForPage):
2010-09-29 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46786, convert layoutBlockChild (but not any functions it calls)
to be block-flow-aware.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::handleAfterSideOfBlock):
(WebCore::RenderBlock::layoutBlockChildren):
* rendering/RenderBlock.h:
* rendering/RenderBox.h:
(WebCore::RenderBox::scrollbarLogicalHeight):
2010-09-29 João Paulo Rechi Vita <jprvita@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] General small fixes.
https://bugs.webkit.org/show_bug.cgi?id=46813
This commit spots a comparison between signed and unsigned integer
expressions, a missing return and a never-called function.
No new tests since no new funcionality has been added.
* platform/efl/SharedBufferEfl.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
2010-09-29 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha Silva.
build still broken since r68521
https://bugs.webkit.org/show_bug.cgi?id=46795
Call make-values.pl once only. It seems calling it multiple times
in the same build produces a wrong CSSValueKeywordsHash.h which
has a duplicate declaration of its valueList variable. The double
call is triggered by the double targets in the Makefile rules and
makevalues.pl generates one of them, which screws up the build. A
more proper fix should be done with the advices on
http://www.cmcrossroads.com/cm-basics/12905-rules-with-multiple-outputs-in-gnu-make
* GNUmakefile.am:
2010-09-29 João Paulo Rechi Vita <jprvita@profusion.mobi>
Unreviewed build fix.
Fix CMake build for ENABLE_PROGRESS_TAG.
https://bugs.webkit.org/show_bug.cgi?id=46808
No new tests since it's a build fix.
* CMakeLists.txt:
2010-09-29 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Use generic mechanism to report exceptions in V8CustomVoidCallback
https://bugs.webkit.org/show_bug.cgi?id=46803
No new tests. It's covered by existing tests under LayoutTests/storage
* bindings/v8/custom/V8CustomVoidCallback.cpp:
(WebCore::invokeCallback):
2010-09-29 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Rename the input element's @speech attribute to @webkitspeech since it is still experimental.
https://bugs.webkit.org/show_bug.cgi?id=46799
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitspeechEnabled): Rename the runtime feature flag getter.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in: Rename the css style name.
* css/html.css: Rename the css style name.
(input::-webkit-input-speech-button):
* html/HTMLAttributeNames.in: Rename the @speech attribute.
* html/HTMLInputElement.cpp: Update code using the attribute.
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::isSpeechEnabled):
* html/HTMLInputElement.idl: Rename the @speech attribute.
2010-09-29 MORITA Hajime <morrita@google.com>
[Chromium] failed to build without ACCELERATED_COMPOSITING
https://bugs.webkit.org/show_bug.cgi?id=46793
Moved constant definitions from inside ACCELERATED_COMPOSITING to
outside of the condition.
* WebCore.gypi:
* platform/graphics/chromium/VideoFrameChromium.cpp: Added just for defining constants.
* platform/graphics/chromium/VideoLayerChromium.cpp:
2010-09-28 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: [Resources panel] Need more visible "at a glance".
https://bugs.webkit.org/show_bug.cgi?id=45657
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.updateWidths):
(WebInspector.DataGrid.prototype.sortNodes):
(WebInspector.DataGrid.prototype._resizerDragging):
(WebInspector.DataGrid.prototype._endResizerDragging):
(WebInspector.DataGridNode.prototype.selectable.true.get element):
(WebInspector.DataGridNode.prototype.createCells):
(WebInspector.DataGridNode.prototype.refresh):
* inspector/front-end/Images/networkIcon.png: Copied from WebCore/inspector/front-end/Images/resourcesIcon.png.
* inspector/front-end/NetworkPanel.js: Added.
* inspector/front-end/Settings.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.toolbar-item.network .toolbar-icon):
(.data-grid .data-container):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
(WebInspector.updateResource):
* inspector/front-end/networkPanel.css: Added.
2010-09-28 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: move pauseOnExceptionState under control of InspectorState
It is Inspector Protocol cleanup activity.
The actual state of this flag can be obtained as a return value of setPauseOnExceptionState command
or as a value in InspectorState object.
https://bugs.webkit.org/show_bug.cgi?id=46724
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::getInspectorState):
(WebCore::InspectorController::populateScriptObjects):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
(WebCore::InspectorDebuggerAgent::pauseOnExceptionsState):
* inspector/InspectorDebuggerAgent.h:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone.populateInspectorState):
(WebInspector.doLoadedDone):
(WebInspector.reportProtocolError):
2010-09-28 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
check USE(GSTREAMER) instead of ENABLE(VIDEO) in gstreamer/ files
https://bugs.webkit.org/show_bug.cgi?id=46717
Guard the gstreamer/ files with USE(GSTREAMER), which is more
explicit than ENABLE(VIDEO).
* GNUmakefile.am: Define WTF_USE_GSTREAMER only if GStreamer
support is enabled.
* platform/graphics/gstreamer/DataSourceGStreamer.cpp:
* platform/graphics/gstreamer/DataSourceGStreamer.h:
* platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
* platform/graphics/gstreamer/GOwnPtrGStreamer.h:
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
* platform/graphics/gstreamer/GStreamerGWorld.h:
* platform/graphics/gstreamer/ImageGStreamer.h:
* platform/graphics/gstreamer/ImageGStreamerCG.mm:
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/PlatformVideoWindow.h:
* platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
* platform/graphics/gstreamer/VideoSinkGStreamer.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
2010-09-28 Kent Tamura <tkent@chromium.org>
Unreviewed, windows build fix for r68629.
* WebCore.vcproj/WebCore.vcproj: Add TimeInputType.{cpp,h}
2010-09-28 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=41292
Pass the right popupAllowed flag to current execution frame,
so WebKit can get right gesture status for popups initiated
from plugins.
This also makes v8 binding's ScriptController::processingUserGesture
match what jsc version.
Test: plugins/plugin-initiate-popup-window.html
* bindings/v8/NPV8Object.cpp:
(_NPN_EvaluateHelper):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::ScriptController):
(WebCore::ScriptController::processingUserGesture):
* bindings/v8/ScriptController.h:
(WebCore::ScriptController::setAllowPopupsFromPlugin):
(WebCore::ScriptController::allowPopupsFromPlugin):
2010-09-28 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Refactor HTMLInputElement: Introducing InputType class and classes
for each input element types.
https://bugs.webkit.org/show_bug.cgi?id=45872
No new tests because this doesn't change any behavior.
* Android.mk: Add new files.
* CMakeLists.txt: ditto.
* GNUmakefile.am: ditto.
* WebCore.gypi: ditto.
* WebCore.pro: ditto.
* WebCore.vcproj/WebCore.vcproj: ditto.
* WebCore.xcodeproj/project.pbxproj: ditto.
* html/BaseTextInputType.cpp: Added.
(WebCore::BaseTextInputType::isTextType):
(WebCore::BaseTextInputType::patternMismatch):
* html/BaseTextInputType.h: Added.
(WebCore::BaseTextInputType::BaseTextInputType):
* html/ButtonInputType.cpp: Added.
(WebCore::ButtonInputType::create):
(WebCore::ButtonInputType::formControlType):
* html/ButtonInputType.h: Added.
(WebCore::ButtonInputType::ButtonInputType):
* html/CheckboxInputType.cpp: Added.
(WebCore::CheckboxInputType::create):
(WebCore::CheckboxInputType::formControlType):
* html/CheckboxInputType.h: Added.
(WebCore::CheckboxInputType::CheckboxInputType):
* html/ColorInputType.cpp: Added.
(WebCore::ColorInputType::create):
(WebCore::ColorInputType::formControlType):
* html/ColorInputType.h: Added.
(WebCore::ColorInputType::ColorInputType):
* html/DateInputType.cpp: Added.
(WebCore::DateInputType::create):
(WebCore::DateInputType::formControlType):
* html/DateInputType.h: Added.
(WebCore::DateInputType::DateInputType):
* html/DateTimeInputType.cpp: Added.
(WebCore::DateTimeInputType::create):
(WebCore::DateTimeInputType::formControlType):
* html/DateTimeInputType.h: Added.
(WebCore::DateTimeInputType::DateTimeInputType):
* html/DateTimeLocalInputType.cpp: Added.
(WebCore::DateTimeLocalInputType::create):
(WebCore::DateTimeLocalInputType::formControlType):
* html/DateTimeLocalInputType.h: Added.
(WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
* html/EmailInputType.cpp: Added.
(WebCore::EmailInputType::create):
(WebCore::EmailInputType::formControlType):
* html/EmailInputType.h: Added.
(WebCore::EmailInputType::EmailInputType):
* html/FileInputType.cpp: Added.
(WebCore::FileInputType::create):
(WebCore::FileInputType::formControlType):
* html/FileInputType.h: Added.
(WebCore::FileInputType::FileInputType):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement): Initialize m_inputType.
(WebCore::HTMLInputElement::patternMismatch): Delegate to InputType.
(WebCore::HTMLInputElement::updateType): Update m_inputType with new type.
(WebCore::HTMLInputElement::formControlType): Delegate to InputType.
(WebCore::HTMLInputElement::isTextField): ditto.
(WebCore::HTMLInputElement::isTextType): ditto.
* html/HTMLInputElement.h:
* html/HiddenInputType.cpp: Added.
(WebCore::HiddenInputType::create):
(WebCore::HiddenInputType::formControlType):
* html/HiddenInputType.h: Added.
(WebCore::HiddenInputType::HiddenInputType):
* html/ImageInputType.cpp: Added.
(WebCore::ImageInputType::create):
(WebCore::ImageInputType::formControlType):
* html/ImageInputType.h: Added.
(WebCore::ImageInputType::ImageInputType):
* html/InputType.cpp: Added.
(WebCore::createInputTypeFactoryMap):
(WebCore::InputType::create):
(WebCore::InputType::createText):
(WebCore::InputType::~InputType):
(WebCore::InputType::isTextField):
(WebCore::InputType::isTextType):
(WebCore::InputType::patternMismatch):
(WebCore::InputTypeNames::button):
(WebCore::InputTypeNames::checkbox):
(WebCore::InputTypeNames::color):
(WebCore::InputTypeNames::date):
(WebCore::InputTypeNames::datetime):
(WebCore::InputTypeNames::datetimelocal):
(WebCore::InputTypeNames::email):
(WebCore::InputTypeNames::file):
(WebCore::InputTypeNames::hidden):
(WebCore::InputTypeNames::image):
(WebCore::InputTypeNames::isindex):
(WebCore::InputTypeNames::month):
(WebCore::InputTypeNames::number):
(WebCore::InputTypeNames::password):
(WebCore::InputTypeNames::radio):
(WebCore::InputTypeNames::range):
(WebCore::InputTypeNames::reset):
(WebCore::InputTypeNames::search):
(WebCore::InputTypeNames::submit):
(WebCore::InputTypeNames::telephone):
(WebCore::InputTypeNames::text):
(WebCore::InputTypeNames::time):
(WebCore::InputTypeNames::url):
(WebCore::InputTypeNames::week):
* html/InputType.h: Added.
(WebCore::InputType::InputType):
(WebCore::InputType::element):
* html/IsIndexInputType.cpp: Added.
(WebCore::IsIndexInputType::create):
(WebCore::IsIndexInputType::formControlType):
* html/IsIndexInputType.h: Added.
(WebCore::IsIndexInputType::IsIndexInputType):
* html/MonthInputType.cpp: Added.
(WebCore::MonthInputType::create):
(WebCore::MonthInputType::formControlType):
* html/MonthInputType.h: Added.
(WebCore::MonthInputType::MonthInputType):
* html/NumberInputType.cpp: Added.
(WebCore::NumberInputType::create):
(WebCore::NumberInputType::formControlType):
* html/NumberInputType.h: Added.
(WebCore::NumberInputType::NumberInputType):
* html/PasswordInputType.cpp: Added.
(WebCore::PasswordInputType::create):
(WebCore::PasswordInputType::formControlType):
* html/PasswordInputType.h: Added.
(WebCore::PasswordInputType::PasswordInputType):
* html/RadioInputType.cpp: Added.
(WebCore::RadioInputType::create):
(WebCore::RadioInputType::formControlType):
* html/RadioInputType.h: Added.
(WebCore::RadioInputType::RadioInputType):
* html/RangeInputType.cpp: Added.
(WebCore::RangeInputType::create):
(WebCore::RangeInputType::formControlType):
* html/RangeInputType.h: Added.
(WebCore::RangeInputType::RangeInputType):
* html/ResetInputType.cpp: Added.
(WebCore::ResetInputType::create):
(WebCore::ResetInputType::formControlType):
* html/ResetInputType.h: Added.
(WebCore::ResetInputType::ResetInputType):
* html/SearchInputType.cpp: Added.
(WebCore::SearchInputType::create):
(WebCore::SearchInputType::formControlType):
* html/SearchInputType.h: Added.
(WebCore::SearchInputType::SearchInputType):
* html/SubmitInputType.cpp: Added.
(WebCore::SubmitInputType::create):
(WebCore::SubmitInputType::formControlType):
* html/SubmitInputType.h: Added.
(WebCore::SubmitInputType::SubmitInputType):
* html/TelephoneInputType.cpp: Added.
(WebCore::TelephoneInputType::create):
(WebCore::TelephoneInputType::formControlType):
* html/TelephoneInputType.h: Added.
(WebCore::TelephoneInputType::TelephoneInputType):
* html/TextFieldInputType.cpp: Added.
(WebCore::TextFieldInputType::isTextField):
* html/TextFieldInputType.h: Added.
(WebCore::TextFieldInputType::TextFieldInputType):
* html/TextInputType.cpp: Added.
(WebCore::TextInputType::create):
(WebCore::TextInputType::formControlType):
* html/TextInputType.h: Added.
(WebCore::TextInputType::TextInputType):
* html/TimeInputType.cpp: Added.
(WebCore::TimeInputType::create):
(WebCore::TimeInputType::formControlType):
* html/TimeInputType.h: Added.
(WebCore::TimeInputType::TimeInputType):
* html/URLInputType.cpp: Added.
(WebCore::URLInputType::create):
(WebCore::URLInputType::formControlType):
* html/URLInputType.h: Added.
(WebCore::URLInputType::URLInputType):
* html/WeekInputType.cpp: Added.
(WebCore::WeekInputType::create):
(WebCore::WeekInputType::formControlType):
* html/WeekInputType.h: Added.
(WebCore::WeekInputType::WeekInputType):
2010-09-28 David Hyatt <hyatt@apple.com>
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=46782, rename the top and bottom margin quirk getters/setters.
Also do a bit of cleanup for block flow roots. Make sure they don't try to propagate overhanging floats out
to ancestors.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::addOverhangingFloats):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
* rendering/RenderObject.h:
(WebCore::RenderObject::isMarginBeforeQuirk):
(WebCore::RenderObject::isMarginAfterQuirk):
(WebCore::RenderObject::setMarginBeforeQuirk):
(WebCore::RenderObject::setMarginAfterQuirk):
2010-09-28 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46780
Rename the pos/neg/collapsed margin methods. Rename all the members of the RenderBlockRareData struct.
No logical changes. Just renames.
* editing/TextIterator.cpp:
(WebCore::shouldEmitExtraNewlineForNode):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::estimateVerticalPosition):
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::setMaxMarginBeforeValues):
(WebCore::RenderBlock::setMaxMarginAfterValues):
(WebCore::RenderBlock::absoluteRects):
(WebCore::RenderBlock::absoluteQuads):
(WebCore::RenderBlock::rectWithOutlineForRepaint):
(WebCore::RenderBlock::addFocusRingRects):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::maxPosMarginBefore):
(WebCore::RenderBlock::maxNegMarginBefore):
(WebCore::RenderBlock::maxPosMarginAfter):
(WebCore::RenderBlock::maxNegMarginAfter):
(WebCore::RenderBlock::initMaxMarginValues):
(WebCore::RenderBlock::maxMarginBefore):
(WebCore::RenderBlock::maxMarginAfter):
(WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
(WebCore::RenderBlock::RenderBlockRareData::beforePosDefault):
(WebCore::RenderBlock::RenderBlockRareData::beforeNegDefault):
(WebCore::RenderBlock::RenderBlockRareData::afterPosDefault):
(WebCore::RenderBlock::RenderBlockRareData::afterNegDefault):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
* rendering/RenderBox.h:
(WebCore::RenderBox::collapsedMarginBefore):
(WebCore::RenderBox::collapsedMarginAfter):
(WebCore::RenderBox::maxMarginBefore):
(WebCore::RenderBox::maxMarginAfter):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
2010-09-28 Kevin Ollivier <kevino@theolliviers.com>
[wx] wxMSW build fix. Don't use multiple inheritance in PopupMenuWx to avoid debug build
compiler error about ambiguity over which new override (wx's or FastAllocBase's) to use.
* platform/wx/PopupMenuWx.cpp:
(WebCore::PopupMenuEventHandler::PopupMenuEventHandler):
(WebCore::PopupMenuEventHandler::OnMenuItemSelected):
(WebCore::PopupMenuWx::PopupMenuWx):
(WebCore::PopupMenuWx::show):
* platform/wx/PopupMenuWx.h:
2010-09-28 Xiaomei Ji <xji@chromium.org>
Reviewed by NOBODY (revert unsquashed git commits)
Revert change sets 68583 to 68590, which are un-squashed git-commits: Performance improvement for FontLinux regarding issue 46374.
https://bugs.webkit.org/show_bug.cgi?id=46374
2010-09-28 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Tony Chang.
Split webcore_html off webcore_remaining.
webcore_remaining is still too large for certain 32 bits toolsets.
https://bugs.webkit.org/show_bug.cgi?id=46445
* WebCore.gyp/WebCore.gyp:
2010-09-28 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Delete and forward delete shouldn't start autocorrection panel timer.
https://bugs.webkit.org/show_bug.cgi?id=46679
<rdar://problem/8463917>
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping): Only start correction panel timer
when the editing command is InsertText.
(WebCore::TypingCommand::typingAddedToOpenCommand): Add an argument to pass in command type.
* editing/TypingCommand.h: Add an argument to typingAddedToOpenCommand().
2010-09-28 Mihai Parparita <mihaip@chromium.org>
Reviewed by Dimitri Glazkov.
No back/forward list entry added when submitting a form via an onclick handler inside a frame
https://bugs.webkit.org/show_bug.cgi?id=44140
Lock the back/forward list for JavaScript form submissions inside frames
only if they're not in response to user gestures.
Tests: fast/history/form-submit-in-frame-via-onclick.html
fast/history/form-submit-in-frame.html
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::scheduleFormSubmission):
2010-09-28 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
Fix typo in previous checkin.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
2010-09-28 Nat Duca <nduca@chromium.org>
Reviewed by James Robinson.
[chromium] invalidateRootLayerRect needs to schedule compositor
https://bugs.webkit.org/show_bug.cgi?id=46219
Update comments on LayerChromium commit/display functions to clarify
their limitations. Remove unused dirtying logic from
LayerRendererChromium.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setNeedsCommit):
(WebCore::LayerChromium::setNeedsDisplay):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::present):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-09-28 Jenn Braithwaite <jennb@chromium.org>
Reviewed by Dmitry Titov.
Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
https://bugs.webkit.org/show_bug.cgi?id=46663
No new tests. API addition only. Will be used in separate patch.
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::didTransferChildFrameToNewDocument):
* loader/FrameLoaderClient.h:
* page/Frame.cpp:
(WebCore::Frame::transferChildFrameToNewDocument):
Pass former page to didTransferChildFrameToNewDocument.
2010-09-28 W. James MacLean <wjmaclean@chromium.org>
Reviewed by James Robinson.
Scaled Resized images are blurred when sent to Skia
https://bugs.webkit.org/show_bug.cgi?id=42370
This patch modifies ImageSkia.cpp to fix the calculation of resampled
bitmap sizes so as to include the transform matrix of the canvas.
Test: svg/custom/image-rescale.svg
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode):
(WebCore::drawResampledBitmap):
2010-09-28 James Robinson <jamesr@chromium.org>
[chromium] Decrease warning level on chromium linux temporarily. This is causing failures on some bots
* WebCore.gyp/WebCore.gyp:
2010-09-27 James Robinson <jamesr@chromium.org>
Reviewed by Tony Chang.
[chromium] Increase warning level for chromium linux build
https://bugs.webkit.org/show_bug.cgi?id=46687
This sets the chromium_code gyp variable to 1 for the chromium
linux WebCore build and fixes the warnings that exposes. This
matches the chromium mac build's compiler settings more closely
and should cut down on the number of patches that break mac but
compile cleaning on linux.
* WebCore.gyp/WebCore.gyp:
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
(WebCore::ScrollbarThemeChromiumLinux::paintButton):
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::nextScriptRun):
(WebCore::TextRunWalker::getTextRun):
(WebCore::TextRunWalker::getNormalizedTextRun):
(WebCore::TextRunWalker::setGlyphXPositions):
(WebCore::glyphIndexForXPositionInScriptRun):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/chromium/HarfbuzzSkia.cpp:
(WebCore::getOutlinePoint):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::updateRootLayerTextureRect):
* platform/graphics/gpu/Texture.cpp:
(WebCore::copySubRect):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::readbackHardwareToSoftware):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setSize):
* platform/image-decoders/gif/GIFImageDecoder.h:
2010-09-28 Stephen White <senorblanco@chromium.org>
Reviewed by Csaba Osztrogonác.
Fix for r68521 to build on VS2008/Release.
* html/DocTypeStrings.gperf:
Don't emit "#include <string.h>" here, since we're inside a namespace.
* make-hash-tools.pl:
Emit #include <string.h> manually where required.
* platform/ColorData.gperf:
Don't emit "#include <string.h>" here, since we're inside a namespace.
2010-09-28 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
Right now we have two properties named margin-top-collapse and margin-after-collapse. They are proprietary and only used by Safari RSS.
I am adding margin-before-collapse and margin-after-collapse and just aliasing the old properties to the new ones.
This way we have some names that are directionally independent.
Note that these properties aren't like other directional properties. They are about what to do with the before side and after side of
your block's margins when collapsing with adjacent blocks. The meaning of before/after depend on the block-flow directionality
of the containing block.
Computed style tests all changed and the remove-shorthand.html test covers manipulation of the shorthand.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyLonghand.cpp:
(WebCore::initShorthandMap):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::layoutBlockChild):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::marginBeforeCollapse):
(WebCore::InheritedFlags::marginAfterCollapse):
(WebCore::InheritedFlags::setMarginBeforeCollapse):
(WebCore::InheritedFlags::setMarginAfterCollapse):
(WebCore::InheritedFlags::initialMarginBeforeCollapse):
(WebCore::InheritedFlags::initialMarginAfterCollapse):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
2010-09-28 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[Cairo] FreeType fonts should obey FontConfig hinting/anti-aliasing settings
https://bugs.webkit.org/show_bug.cgi?id=46740
When creating a font from a FontConfig pattern, use the FontConfig pattern's
hinting and anti-aliasing settings. This follows the Chromium Linux approach
of having FontConfig settings take precedence over GTK+ settings, as GTK+
settings cannot be configured per-font and per-font-size.
Test: platform/gtk/fonts/fontconfig-aliasing-settings.html
* platform/graphics/cairo/FontPlatformDataFreeType.cpp:
(WebCore::convertFontConfigSubpixelOrder): Added this helper which converts
the FontConfig subpixel order into the cairo equivalent.
(WebCore::convertFontConfigHintStyle): Added this helper which converts the
FontConfig hint style into the cairo equivalent.
(WebCore::setCairoFontOptionsFromFontConfigPattern): Added this helper which
reads the font rendering settings from a pattern and translates them into the
appropriate cairo_font_options_t settings.
(WebCore::FontPlatformData::FontPlatformData): When creating a font from a
FontConfig pattern use setCairoFontOptionsFromFontConfigPattern to get the
appropriate rendering options for the font.
2010-09-28 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler and Dave Hyatt.
Vertical scroll bar on apple.com is too short with WebKit2
<rdar://problem/8379230>
https://bugs.webkit.org/show_bug.cgi?id=46739
Adds a function to recalculate the scrollbars to take advantage of
a changed window re-sizer rect.
* WebCore.exp.in:
* platform/ScrollView.cpp:
(WebCore::ScrollView::windowResizerRectChanged):
* platform/ScrollView.h:
2010-09-28 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46750
Rename the MarginInfo members and functions to be block-flow independent.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::adjustFloatingBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::estimateVerticalPosition):
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::handleBottomOfBlock):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::applyAfterBreak):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::MarginInfo::setAtBeforeSideOfBlock):
(WebCore::RenderBlock::MarginInfo::setAtAfterSideOfBlock):
(WebCore::RenderBlock::MarginInfo::setMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::setMarginAfterQuirk):
(WebCore::RenderBlock::MarginInfo::setDeterminedMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::atBeforeSideOfBlock):
(WebCore::RenderBlock::MarginInfo::canCollapseWithMarginBefore):
(WebCore::RenderBlock::MarginInfo::canCollapseWithMarginAfter):
(WebCore::RenderBlock::MarginInfo::canCollapseMarginBeforeWithChildren):
(WebCore::RenderBlock::MarginInfo::canCollapseMarginAfterWithChildren):
(WebCore::RenderBlock::MarginInfo::determinedMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::marginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::marginAfterQuirk):
2010-09-28 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Improved the handling of soft hyphens in Copy and Find operations, addressing the following
bugs:
<rdar://problem/7938878> Soft hyphenation and the clipboard
https://bugs.webkit.org/show_bug.cgi?id=11154
window.getSelection().toString() breaks soft hyphen &shy;
https://bugs.webkit.org/show_bug.cgi?id=26774
<rdar://problem/5640505> soft hyphen breaks search function
https://bugs.webkit.org/show_bug.cgi?id=16675
Test: fast/text/find-soft-hyphen.html
Changed line layout code to not skip over soft hyphens but rather include them in the text
boxes. Changed font code to render the soft hyphen character as a zero width space, so that
the former change will not affect rendering of soft hyphens in the middle of the line. Also
changed line layout code to mark text boxes where hyphenation occurred due to a soft hyphen
as hyphenated, so that the hyphen string specified in CSS will be appended to them.
Not omitting the soft hyphens from the text boxes makes the text iterator emit them, which
solves the Copy and plain-text conversion issues. Previously, the iterator would emit a space
to account for non-rendered characters between adjacent boxes, which was wrong in this case.
To make Find work, soft hyphens are folded into 0, which is ignorable in the collation used
for Find.
* editing/TextIterator.cpp:
(WebCore::foldQuoteMarkOrSoftHyphen): Renamed foldQuoteMark() to this and added folding of
soft hyphen to 0.
(WebCore::foldQuoteMarksAndSoftHyphens): Renamed foldQuoteMarks() to thid and added folding
of soft hyphen to 0.
(WebCore::SearchBuffer::SearchBuffer): Updated for renames.
(WebCore::SearchBuffer::append): Ditto.
* platform/graphics/Font.h:
(WebCore::Font::treatAsSpace): Replaced number literal with name.
(WebCore::Font::treatAsZeroWidthSpace): Added softHyphen.
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage): Get the zero width space glyph for soft hyphen.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::collectComplexTextRuns): Removed special handling that made
a trailing soft hyphen render as hyphen-minus. All soft hyphens are now rendered as zero width
spaces, and where a line break actually occurs at a soft hyphen, rendering code appends the
CSS-specified hyphenate character to the text run that is passed to us here.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::chopMidpointsAt): Removed this function, which was only used for skipping over soft
hyphens.
(WebCore::checkMidpoints): Removed code related to skipping over soft hyphens.
(WebCore::RenderBlock::findNextLineBreak): Removed code to skip over soft hyphens. Ignore
a line break opportunity at a soft hyphen if the style specifies 'hyphens: none'. Set
'hyphenated' to true if a line break occurs at a soft hyphen.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::hyphenString): Changed the assertion to allow querying for the hyphen
string for 'hyphens: manual'.
2010-09-28 Martin Robinson <mrobinson@igalia.com>
More GTK+ build fixes after r68521.
* GNUmakefile.am: Added proper dependency tracking for some
new autogenerated files.
2010-09-28 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Text drawing taints GraphicsContext's QPainter::pen()
https://bugs.webkit.org/show_bug.cgi?id=46744
Test: fast/canvas/canvas-style-intact-after-text.html
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon): Make sure the QPainter's pen is
restored after filling and/or stroking text.
2010-09-28 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Autocorrection panel is shown at incorrect location when WebView is scrolled.
https://bugs.webkit.org/show_bug.cgi?id=46531
<rdar://problem/8455376>
* dom/Range.h: Make getBorderAndTextQuads() public so that it can be used by Editor.
* editing/Editor.cpp:
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Replaced call to textQuads()
with getBorderAndTextQuads().
2010-09-28 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBRequest should not have a method called abort.
https://bugs.webkit.org/show_bug.cgi?id=46720
IDBRequest::abort() was dropped from the spec following discussion in
http://www.w3.org/Bugs/Public/show_bug.cgi?id=10165
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::~IDBRequest):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::timerFired):
(WebCore::IDBRequest::scheduleEvent):
* storage/IDBRequest.h:
* storage/IDBRequest.idl:
2010-09-28 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
CrashTracer: 1,382 crashes in Safari at com.apple.WebCore: WebCore::VisiblePosition::canonicalPosition + 78
https://bugs.webkit.org/show_bug.cgi?id=45927
AXTextMarkers store pointers to Nodes without any retain or reference. If a Node is deallocated and then
a client tries to use a text marker that references that node, it leads to this crash.
The AXObjectCache instance now keeps a HashSet of Node's being used. When a node becomes deallocated, it removes itself
from the HashSet. When creating a VisiblePosition from an AXTextMarker, the cache can then check if the node is valid
before proceeding.
Test: platform/mac/accessibility/crash-invalid-text-marker-node.html
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::visiblePositionForTextMarkerData):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
Modify to check whether a node is valid before proceeeding.
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::setNodeInUse):
(WebCore::AXObjectCache::removeNodeForUse):
(WebCore::AXObjectCache::isNodeInUse):
Methods for managing whether a node is in use by text markers.
* accessibility/mac/AccessibilityObjectWrapper.mm:
(textMarkerForVisiblePosition):
(-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
(visiblePositionForTextMarker):
(-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
(visiblePositionForStartOfTextMarkerRange):
(visiblePositionForEndOfTextMarkerRange):
(-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
(textMarkerRangeFromVisiblePositions):
(-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
(-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
(-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
Change these calls so that the axObjectCache() can be passed in to create the visible position.
* dom/Document.cpp:
(WebCore::Document::axObjectCacheExists):
* dom/Document.h:
* dom/Node.cpp:
(WebCore::Node::~Node):
If accessibility is enabled, inform the axObjectCache() that this node is disappearing.
2010-09-28 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioDestinationNode files
https://bugs.webkit.org/show_bug.cgi?id=45009
No new tests since audio API is not yet implemented.
* webaudio/AudioDestinationNode.cpp: Added.
(WebCore::AudioDestinationNode::AudioDestinationNode):
(WebCore::AudioDestinationNode::~AudioDestinationNode):
(WebCore::AudioDestinationNode::initialize):
(WebCore::AudioDestinationNode::uninitialize):
(WebCore::AudioDestinationNode::provideInput):
* webaudio/AudioDestinationNode.h: Added.
(WebCore::AudioDestinationNode::create):
(WebCore::AudioDestinationNode::process):
(WebCore::AudioDestinationNode::reset):
(WebCore::AudioDestinationNode::currentTime):
(WebCore::AudioDestinationNode::sampleRate):
(WebCore::AudioDestinationNode::numberOfChannels):
* webaudio/AudioDestinationNode.idl: Added.
2010-09-28 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
audio engine: audio output classes
https://bugs.webkit.org/show_bug.cgi?id=34716
No new tests since audio API is not yet implemented.
* platform/audio/AudioDestination.h: Added.
(WebCore::AudioDestination::~AudioDestination):
* platform/audio/mac/AudioDestinationMac.cpp: Added.
(WebCore::AudioDestination::create):
(WebCore::AudioDestination::hardwareSampleRate):
(WebCore::AudioDestinationMac::AudioDestinationMac):
(WebCore::AudioDestinationMac::~AudioDestinationMac):
(WebCore::AudioDestinationMac::configure):
(WebCore::AudioDestinationMac::start):
(WebCore::AudioDestinationMac::stop):
(WebCore::AudioDestinationMac::render):
(WebCore::AudioDestinationMac::inputProc):
* platform/audio/mac/AudioDestinationMac.h: Added.
(WebCore::AudioDestinationMac::isPlaying):
(WebCore::AudioDestinationMac::sampleRate):
2010-09-28 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioGain files
https://bugs.webkit.org/show_bug.cgi?id=46285
No new tests since audio API is not yet implemented.
* webaudio/AudioGain.h: Added.
(WebCore::AudioGain::create):
(WebCore::AudioGain::AudioGain):
* webaudio/AudioGain.idl: Added.
2010-09-28 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Fix possible illegal float values in AudioParam
https://bugs.webkit.org/show_bug.cgi?id=46681
No new tests since audio API is not yet implemented.
* webaudio/AudioParam.h:
(WebCore::AudioParam::setValue):
2010-09-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Rename member variable in MediaPlayerPrivateQt
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
* platform/graphics/qt/MediaPlayerPrivateQt.h:
2010-09-28 Andras Becsi <abecsi@webkit.org>
[Gtk] Build fix. Remove leftover trailing backslash.
* GNUmakefile.am:
2010-09-28 Andras Becsi <abecsi@webkit.org>
Unreviewed.
[Gtk] Build fix after r68521
No new tests needed.
* GNUmakefile.am:
2010-09-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Andreas Kling.
[Qt] Rename MediaPlayerPrivate to MediaPlayerPrivateQt/Phonon
https://bugs.webkit.org/show_bug.cgi?id=36663
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
* platform/graphics/qt/MediaPlayerPrivateQt.h:
* platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
* platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2010-09-28 Andras Becsi <abecsi@webkit.org>
Reviewed by Csaba Osztrogonác.
Undefined reference errors when linking due to gperf and inlining.
webkit.org/b/29244
EFL CMake changes by Leandro Pereira <leandro@profusion.mobi>
Refactor gperf code generation and usage to fix the debug build with gcc>4.4.
Hitherto gperf generated C code, these files were included in multiple C++ files across WebCore
to access the functionality provided. This resulted in debug build failure with newer gcc versions
because of a behaviour change of gcc, which disables C style inlining in debug mode.
The make-hash-tools.pl script lets gperf generate C++ code for all gperf files now, which are compiled
in their own compilation unit.
The functionality provided by the generated code is wrapped behind HashTools.h, so there is no need
for multiple inclusions of generated C files to access these functions.
No new tests needed.
* CMakeLists.txt:
* WebCore.gyp/WebCore.gyp:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
* css/makeprop.pl:
* css/makevalues.pl:
* html/DocTypeStrings.gperf:
* html/HTMLDocument.cpp:
* make-hash-tools.pl:
* platform/ColorData.gperf:
* platform/graphics/Color.cpp:
2010-09-28 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Canvas: Crash when setting a font with size in 'ex' units
https://bugs.webkit.org/show_bug.cgi?id=46538
update() the style's font after setting the style's font description.
Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
that the style's font is properly initialized (for xHeight().)
Fixes crash on IE test center's canvas-text-font-002 test.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
2010-09-28 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Remove support for Qt 4.5
https://bugs.webkit.org/show_bug.cgi?id=46718
Remove the code for versions of Qt prior to 4.6.
* WebCore.pro:
* features.pri:
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::start):
* platform/network/qt/ResourceRequestQt.cpp:
(WebCore::ResourceRequest::toNetworkRequest):
* platform/qt/QWebPageClient.h:
2010-09-28 Kent Tamura <tkent@chromium.org>
Unreviewed, run sort-Xcode-project-file
* WebCore.xcodeproj/project.pbxproj:
2010-09-28 Huahui Wu <mediadependent@gmail.com>
Reviewed by Steve Block.
Add multi-touch for Android.
https://bugs.webkit.org/show_bug.cgi?id=45221
The Android touch event used to take one point as the touch point,
it's now changed to a vector of points to support multi-touch.
Tests: fast/events/touch/basic-multi-touch-events-limited.html
fast/events/touch/touch-target-limited.html
* platform/PlatformTouchEvent.h:
* platform/PlatformTouchPoint.h:
* platform/android/PlatformTouchEventAndroid.cpp:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
* platform/android/PlatformTouchPointAndroid.cpp:
(WebCore::PlatformTouchPoint::PlatformTouchPoint):
2010-09-27 Kent Tamura <tkent@chromium.org>
Reviewed by Alexey Proskuryakov.
Fix assertion failure in a case that the dirty flag of a textarea element is changed
https://bugs.webkit.org/show_bug.cgi?id=45681
We need to call setNeedsValidityCheck() after updating m_isDirty.
Test: fast/forms/textarea-checkValidity-crash.html
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::setValue):
(WebCore::HTMLTextAreaElement::setNonDirtyValue):
(WebCore::HTMLTextAreaElement::setValueCommon):
* html/HTMLTextAreaElement.h:
2010-09-27 Abhishek Arya <inferno@chromium.org>
Reviewed by Dan Bernstein.
When the block RunIn is destroyed, its line box tree is not deleted. As a result, it
gets later used during dirtying of inline text boxes step where this deleted parent is
accessed. The fix is to delete the line box tree before destroying the runin block.
https://bugs.webkit.org/show_bug.cgi?id=46376
Test: fast/text/dirty-inline-textbox-crash.html
* rendering/RenderText.cpp:
(WebCore::RenderText::dirtyLineBoxes):
2010-09-27 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Fix event sequencing in FileWriter
https://bugs.webkit.org/show_bug.cgi?id=46544
Only set readyState to DONE when we're about to send the last progress
event associated with an operation. Make sure all progress events come
from backend calls, and aren't ever fired synchronously in response to
user JS method calls.
No new tests, as none of this is fully implemented yet.
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::write):
(WebCore::FileWriter::truncate):
(WebCore::FileWriter::abort):
(WebCore::FileWriter::didWrite):
(WebCore::FileWriter::didTruncate):
(WebCore::FileWriter::didFail):
2010-09-27 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
Add HRTFDatabase files
https://bugs.webkit.org/show_bug.cgi?id=46233
No new tests since audio API is not yet implemented.
* platform/audio/HRTFDatabase.cpp: Added.
(WebCore::HRTFDatabase::create):
(WebCore::HRTFDatabase::HRTFDatabase):
(WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
(WebCore::HRTFDatabase::indexFromElevationAngle):
* platform/audio/HRTFDatabase.h: Added.
(WebCore::HRTFDatabase::numberOfAzimuths):
(WebCore::HRTFDatabase::sampleRate):
2010-09-27 Alpha Lam <hclam@chromium.org>
Build fix. Not reviewed.
Move constant definitions to VideoLayerChromium.cpp.
A proper fix should come later.
* platform/graphics/chromium/VideoLayerChromium.cpp:
2010-09-23 Antonio Gomes <agomes@rim.com>
Reviewed by Kenneth Rohde Christiansen.
Make Document::nodesFromRect more flexible
https://bugs.webkit.org/show_bug.cgi?id=46336
The patch changes the API for the Document::nodesFromRect() method as follows:
from
- RefPtf<NodeList> nodesFromRect(int x, int y, unsigned horizontalPadding, unsigned verticalPadding, bool ignoreClipping)
to
- RefPtf<NodeList> nodesFromRect(int x, int y, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding,
unsigned leftPadding, bool ignoreClipping)
Previously the method was receiving as parameter horizontal and vertical padding values.
In practice, the horizontal padding was being used to expand a given center point in both
right and left directions, while vertical padding was expanding it to the top and bottom directions.
Although this design makes it possible to improve the touch experience on mobile devices
(Document::nodesFromRect exposes the rect based hit testing system), empirical experiments
showed that, specially in capacitive touch screens, users tend to tap below elements. So
for even more accurate results (which means here the possibility of pleasant tapping experience),
it makes sense to use a region that is offset more above the touch point, favoring elements
above the touch point.
The patch basically implements that, increasing the API flexible and power by making it possible
to specify different padding values for each direction in a given orientation.
Changes were made accordingly to the HitTestResult, RenderLayer, RenderImage and RenderLineBoxList
classes.
WebCore:
* WebCore.exp.in:
* dom/Document.h: API adjustment.
* dom/Document.idl: Ditto.
* dom/Document.cpp: API adjustment and method body implementation accordingly.
(WebCore::Document::nodesFromRect):
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint): For simplicity, I did not change the signature
but the way the padding value passed in as parameter is being used to construct a HitTestResult.
* rendering/HitTestResult.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
(WebCore::HitTestResult::HitTestResult): Ditto.
(WebCore::HitTestResult::operator=): Ditto.
(WebCore::HitTestResult::rectFromPoint): Ditto.
* rendering/HitTestResult.h:
(WebCore::HitTestResult::topPadding): getter for the top padding.
(WebCore::HitTestResult::rightPadding): getter for the right padding.
(WebCore::HitTestResult::bottomPadding): getter for the bottom padding.
(WebCore::HitTestResult::leftPadding): getter for the left padding.
(WebCore::HitTestResult::rectFromPoint): Added a static method that given a center point and padding values for each direction,
returns the rect that is going to be used in WebCore's hit testing processing.
* rendering/RenderImage.cpp: Changed the rect-based bits from using IntSize (padding) to separated paddings for each direction.
(WebCore::RenderImage::nodeAtPoint): Ditto.
* rendering/RenderLayer.cpp: Ditto.
(WebCore::RenderLayer::hitTestLayer): Ditto.
(WebCore::RenderLayer::hitTestList): Ditto.
* rendering/RenderLineBoxList.cpp: Ditto.
(WebCore::RenderLineBoxList::hitTest): Ditto.
2010-09-27 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
Add HRTFDatabaseLoader files
https://bugs.webkit.org/show_bug.cgi?id=46234
No new tests since audio API is not yet implemented.
* platform/audio/HRTFDatabaseLoader.cpp: Added.
(WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
(WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
(WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
(WebCore::databaseLoaderEntry):
(WebCore::HRTFDatabaseLoader::load):
(WebCore::HRTFDatabaseLoader::loadAsynchronously):
(WebCore::HRTFDatabaseLoader::isLoaded):
(WebCore::HRTFDatabaseLoader::defaultHRTFDatabase):
* platform/audio/HRTFDatabaseLoader.h: Added.
(WebCore::HRTFDatabaseLoader::database):
(WebCore::HRTFDatabaseLoader::databaseSampleRate):
2010-09-27 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
queryCommandState with justifyCenter, justifyLeft, and justifyRight always return false
https://bugs.webkit.org/show_bug.cgi?id=45910
Implemented queryCommandState for justifyCenter, justifyLeft, and justifyRight commands.
Added getTextAlignment to convert -webkit-center, -webkit-left, and -webkit-right to
center, left, and right respectively because they can be treated equally for editing purposes.
Test: editing/execCommand/query-text-alignment.html
* editing/ApplyStyleCommand.cpp:
(WebCore::getTextAlignment): Added.
(WebCore::getPropertiesNotIn): Uses getTextAlignment.
* editing/EditorCommand.cpp:
(WebCore::stateJustifyCenter): Added.
(WebCore::stateJustifyLeft): Added.
(WebCore::stateJustifyRight): Added.
(WebCore::createCommandMap): Refers to stateJustifyCenter, stateJustifyLeft, and stateJustifyRight.
2010-09-27 Alpha Lam <hclam@chromium.org>
Unreviewed. Build fix.
Reorder member declarations and fix other warnings.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::~VideoLayerChromium):
(WebCore::VideoLayerChromium::updateContents):
(WebCore::VideoLayerChromium::determineTextureFormat):
(WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
* platform/graphics/chromium/VideoLayerChromium.h:
2010-09-27 Kenneth Russell <kbr@google.com>
Unreviewed, Qt build fix. Stub out CanvasRenderingContext::checkOrigin(const HTMLVideoElement*)
on platforms that don't support video after r68460.
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::checkOrigin):
2010-09-27 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
CrashTracer: 1,803 crashes in Safari at com.apple.WebCore: -[AccessibilityObjectWrapper accessibilityIsIgnored] + 56
https://bugs.webkit.org/show_bug.cgi?id=46662
Before calling updateBackingStore(), the wrapper object needs to be retained, lest it be invalidated during
the updateBackingStore call. This consolidates all calls to updateBackingStore().
Test: platform/mac/accessibility/removing-textarea-after-edit-crash.html
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
Use an ASSERT here to catch the crash because DRT won't cause AppKit to post notifications.
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper prepareAccessibilityMethod]):
(-[AccessibilityObjectWrapper accessibilityActionNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
(-[AccessibilityObjectWrapper accessibilityHitTest:]):
(-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[AccessibilityObjectWrapper accessibilityIsIgnored]):
(-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
(-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
(-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
(-[AccessibilityObjectWrapper accessibilityPerformAction:]):
(-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
(-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
(-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
2010-09-27 Adrienne Walker <enne@google.com>
Reviewed by Adam Barth.
WebGL's readPixels doesn't respect origin-clean flag
Push CanvasRenderingContext2D checkOrigin logic into base class so it can be shared between different kinds of canvas contexts.
https://bugs.webkit.org/show_bug.cgi?id=45718
Test: LayoutTests/http/tests/canvas/webgl/origin-clean-conformance.html
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::checkOrigin):
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::~CanvasRenderingContext):
(WebCore::CanvasRenderingContext::canvas):
(WebCore::CanvasRenderingContext::is2d):
(WebCore::CanvasRenderingContext::is3d):
(WebCore::CanvasRenderingContext::isAccelerated):
(WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
(WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
(WebCore::CanvasRenderingContext::platformLayer):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::drawImageFromRect):
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::videoFrameToImage):
(WebCore::WebGLRenderingContext::texSubImage2D):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
2010-09-27 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
REGRESSION (r68054): Buttons no longer render at correct sizes
https://bugs.webkit.org/show_bug.cgi?id=46513
Test: fast/forms/input-button-sizes.html
The setUpButtonCell function was running only once, but needed to run every time
through the button function.
* platform/mac/ThemeMac.mm:
(WebCore::leakButtonCell): Added. Separate one-time initialization code.
(WebCore::setUpButtonCell): Removed the first-time initialization part of this function.
(WebCore::button): Merged the three functions back into one.
2010-09-27 Victoria Kirst <vrk@google.com>
Reviewed by James Robinson.
Modifies VideoLayerChromium to do YUV to RGB color conversion in the
GPU. Also adds support for RGBA video frame formats, though this code
path is currently never run because the video frames are in YV12
format.
https://bugs.webkit.org/show_bug.cgi?id=45069
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::videoLayerSharedValues):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::SharedValues::SharedValues):
(WebCore::VideoLayerChromium::SharedValues::~SharedValues):
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::~VideoLayerChromium):
(WebCore::VideoLayerChromium::updateContents):
(WebCore::VideoLayerChromium::updateYUVContents):
(WebCore::VideoLayerChromium::allocateYUVTextures):
(WebCore::VideoLayerChromium::updateYUVTextures):
(WebCore::VideoLayerChromium::updateRGBAContents):
(WebCore::VideoLayerChromium::allocateTexture):
(WebCore::VideoLayerChromium::updateTexture):
(WebCore::VideoLayerChromium::updateContentsCompleted):
(WebCore::VideoLayerChromium::draw):
(WebCore::VideoLayerChromium::drawYUV):
(WebCore::VideoLayerChromium::drawRGBA):
* platform/graphics/chromium/VideoLayerChromium.h:
(WebCore::VideoLayerChromium::drawsContent):
(WebCore::VideoLayerChromium::SharedValues::yuvShaderProgram):
(WebCore::VideoLayerChromium::SharedValues::rgbaShaderProgram):
(WebCore::VideoLayerChromium::SharedValues::yuvShaderMatrixLocation):
(WebCore::VideoLayerChromium::SharedValues::rgbaShaderMatrixLocation):
(WebCore::VideoLayerChromium::SharedValues::yuvWidthScaleFactorLocation):
(WebCore::VideoLayerChromium::SharedValues::rgbaWidthScaleFactorLocation):
(WebCore::VideoLayerChromium::SharedValues::yTextureLocation):
(WebCore::VideoLayerChromium::SharedValues::uTextureLocation):
(WebCore::VideoLayerChromium::SharedValues::vTextureLocation):
(WebCore::VideoLayerChromium::SharedValues::yuvAlphaLocation):
(WebCore::VideoLayerChromium::SharedValues::rgbaTextureLocation):
(WebCore::VideoLayerChromium::SharedValues::ccMatrixLocation):
(WebCore::VideoLayerChromium::SharedValues::initialized):
2010-09-27 Peter Kasting <pkasting@google.com>
Reviewed by James Robinson.
ImageDecoderSkia.cpp needs to check for allocator failure when copying
bitmaps.
https://bugs.webkit.org/show_bug.cgi?id=46437
* manual-tests/large-size-image-crash.html: Added.
* manual-tests/resources/large-size-image-crash.gif: Added.
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::RGBA32Buffer::copyBitmapData):
* platform/image-decoders/ImageDecoder.h:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::initFrameBuffer):
* platform/image-decoders/qt/RGBA32BufferQt.cpp:
(WebCore::RGBA32Buffer::copyBitmapData):
* platform/image-decoders/skia/ImageDecoderSkia.cpp:
(WebCore::RGBA32Buffer::copyBitmapData):
2010-09-27 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
Revert r63307, it broke repainting dynamically changed SVG content
https://bugs.webkit.org/show_bug.cgi?id=46499
This patch reverts r63307 and adds a regression test for what broke.
Test: fast/repaint/repaint-svg-after-style-change.html
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):
2010-09-27 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by James Robinson.
[chromium] Making LayerChromium's destructor virtual so that the appropriate
derived class destructors get called when the layer tree is taken down.
ContentLayerChromium and its derived types (ImageLayerChromium for now) will
free up the texture allocated for their contents upon destruction. To avoid
having the LayerRendererChromium destructor getting called before the layers
are destroyed and thus leaving their textures orphaned, the layers now hold
a ref counted pointer to the renderer that uses them.
https://bugs.webkit.org/show_bug.cgi?id=46139
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::~ContentLayerChromium):
(WebCore::ContentLayerChromium::setLayerRenderer):
(WebCore::ContentLayerChromium::cleanupResources):
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerRenderer):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::layerRenderer):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::deleteLayerTexture):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-09-27 Erik Arvidsson <arv@chromium.org>
Reviewed by Darin Adler.
Implement HTML 5's HTMLElement.classList property
https://bugs.webkit.org/show_bug.cgi?id=20709
This adds a DOMTokenList class that is used for the classList property. DOMTokenList uses a SpaceSplitString for fast
contains check. In standards mode the existing classNames is used but in quirks mode we use an internal SpaceSplitString
because classList is always case sensitive.
Tests: fast/dom/HTMLElement/class-list-gc.html
fast/dom/HTMLElement/class-list-quirks.html
fast/dom/HTMLElement/class-list.html
perf/class-list-remove.html
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.jscbindings.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/GNUmakefile.am:
* bindings/js/JSElementCustom.cpp:
(WebCore::JSElement::markChildren): Make sure that we keep the wrapper while the element is alive.
* bindings/scripts/CodeGeneratorJS.pm: DOMTokenList has a string indexed getter.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/custom/V8DOMTokenListCustom.cpp: Added.
(WebCore::toV8):
* dom/Element.cpp:
(WebCore::Element::classList):
(WebCore::Element::optionalClassList):
* dom/Element.h:
* dom/ElementRareData.h: This now has an OwnPtr to a ClassList if the Element::classList is ever called.
* dom/SpaceSplitString.h:
(WebCore::SpaceSplitString::isNull):
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged): Update the classList if it exists.
* dom/StyledElement.h:
* html/DOMTokenList.cpp: Added.
(WebCore::validateToken):
(WebCore::DOMTokenList::DOMTokenList):
(WebCore::DOMTokenList::ref):
(WebCore::DOMTokenList::deref):
(WebCore::DOMTokenList::length):
(WebCore::DOMTokenList::item):
(WebCore::DOMTokenList::contains):
(WebCore::DOMTokenList::containsInternal): The internal methods do no validation of the token.
(WebCore::DOMTokenList::add):
(WebCore::DOMTokenList::addInternal):
(WebCore::DOMTokenList::remove):
(WebCore::DOMTokenList::removeInternal):
(WebCore::DOMTokenList::toggle):
(WebCore::DOMTokenList::toString):
(WebCore::DOMTokenList::reset):
(WebCore::DOMTokenList::classNames):
* html/DOMTokenList.h: Added.
(WebCore::DOMTokenList::create):
(WebCore::DOMTokenList::element):
* html/DOMTokenList.idl: Added.
* html/HTMLElement.idl:
* page/DOMWindow.cpp:
* page/DOMWindow.idl:
2010-09-27 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Add local triangulation of cubic curve control points
https://bugs.webkit.org/show_bug.cgi?id=45252
(Re-landing; I neglected to actually add the new files in
http://trac.webkit.org/changeset/68045 .)
Adding a localized triangulation algorithm which takes as input
the four control points of a cubic curve segment and provides both
triangles as well as the ability to walk the interior edges. The
latter will be used later to fill the interior of shapes bounded
by these cubic curves, quadratic curves and line segments.
* platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
(WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
(WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
(WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
(WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
(WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
(WebCore::LoopBlinnLocalTriangulator::reset):
(WebCore::LoopBlinnLocalTriangulator::triangulate):
(WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
(WebCore::LoopBlinnLocalTriangulator::addTriangle):
(WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
(WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
* platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
(WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
(WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
(WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
(WebCore::LoopBlinnLocalTriangulator::Vertex::set):
(WebCore::LoopBlinnLocalTriangulator::Vertex::end):
(WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
(WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
(WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
(WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
(WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
(WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
(WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
(WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
(WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
(WebCore::LoopBlinnLocalTriangulator::getVertex):
(WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
(WebCore::LoopBlinnLocalTriangulator::getTriangle):
(WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
(WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):
2010-09-27 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioNode files
https://bugs.webkit.org/show_bug.cgi?id=45571
No new tests since audio API is not yet implemented.
* webaudio/AudioNode.cpp: Added.
(WebCore::AudioNode::AudioNode):
(WebCore::AudioNode::~AudioNode):
(WebCore::AudioNode::setType):
(WebCore::AudioNode::lazyInitialize):
(WebCore::AudioNode::addInput):
(WebCore::AudioNode::addOutput):
(WebCore::AudioNode::input):
(WebCore::AudioNode::output):
(WebCore::AudioNode::connect):
(WebCore::AudioNode::disconnect):
(WebCore::AudioNode::processIfNecessary):
(WebCore::AudioNode::pullInputs):
(WebCore::AudioNode::ref):
(WebCore::AudioNode::deref):
(WebCore::AudioNode::finishDeref):
(WebCore::AudioNode::printNodeCounts):
* webaudio/AudioNode.h: Added.
(WebCore::AudioNode::context):
(WebCore::AudioNode::type):
(WebCore::AudioNode::isInitialized):
(WebCore::AudioNode::numberOfInputs):
(WebCore::AudioNode::numberOfOutputs):
(WebCore::AudioNode::sampleRate):
(WebCore::AudioNode::checkNumberOfChannelsForInput):
* webaudio/AudioNode.idl: Added.
2010-09-27 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46665
Patch RenderView's layout and computeLogicalWidth/Height methods to be block-flow-aware.
Added fast/root-lr-basic.html
* rendering/RenderView.cpp:
(WebCore::RenderView::computeLogicalHeight):
(WebCore::RenderView::computeLogicalWidth):
(WebCore::RenderView::layout):
* rendering/RenderView.h:
(WebCore::RenderView::viewLogicalWidth):
(WebCore::RenderView::viewLogicalHeight):
2010-09-24 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Hook up ANGLE with chromium --in-process-webgl port
https://bugs.webkit.org/show_bug.cgi?id=44309
* platform/graphics/GraphicsContext3D.h: Move Angle stuff inside MAC only section.
2010-09-27 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46659
Patch the width/height/x/y calls in layoutBlock() to be their logical equivalents instead.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
2010-09-27 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46649, fix failing layout tests.
The implementation of setting the before/after margins was wrong and poking the wrong margin values.
Once I made them set the correct values, it revealed that one of the new block flow tests wasn't
actually working. In order to fix it, I had to make the block direction margin computation actually
use the containing block's block-flow in order to return the right answer. This involved cleaning
up computeBlockDirectionMargins to be more like computeInlineDirectionMargins.
fast/css/logical-property-resolution.html also caught the bug. Its results are now correct.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::determineHorizontalPosition):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::insertFloatingObject):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::setMarginBeforeUsing):
(WebCore::RenderBox::setMarginAfterUsing):
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeBlockDirectionMargins):
* rendering/RenderBox.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderObject.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::marginBeforeUsing):
(WebCore::RenderStyle::marginAfterUsing):
* rendering/style/RenderStyle.h:
2010-09-14 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Textures and renderbuffers should be detached first before deletion if they are attached to framebuffers
https://bugs.webkit.org/show_bug.cgi?id=43942
Test: fast/canvas/webgl/object-deletion-behaviour.html
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::deleteObjectImpl): Delete the object only once.
* html/canvas/WebGLFramebuffer.cpp: Use RefPtr for attachment WebGLObjects.
(WebCore::WebGLFramebuffer::WebGLFramebuffer):
(WebCore::WebGLFramebuffer::removeAttachment): Remove an attachment data ref.
(WebCore::WebGLFramebuffer::onAttachedObjectChange):
(WebCore::WebGLFramebuffer::getColorBufferFormat):
(WebCore::WebGLFramebuffer::deleteObjectImpl):
(WebCore::WebGLFramebuffer::initializeRenderbuffers):
* html/canvas/WebGLFramebuffer.h: Declare removeAttachment().
* html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::setObject): Make it protected and can only be called when initializing.
* html/canvas/WebGLObject.h:
(WebCore::WebGLObject::onDetached): Fix a bug.
(WebCore::WebGLObject::isDeleted): Expose the delete flag.
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::deleteObjectImpl): Detach shaders when deleting a program.
* html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::deleteObjectImpl): Delete the object only once.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::deleteFramebuffer): Bind to internal fbo when deleting the currently-bound fbo.
(WebCore::WebGLRenderingContext::deleteRenderbuffer): Remove renderbuffer from currently-bound fbo upon deletion.
(WebCore::WebGLRenderingContext::deleteTexture): Remove texture from currently-bound fbo upon deletion.
(WebCore::WebGLRenderingContext::useProgram): Fix a condition.
* html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::deleteObjectImpl): Delete the object only once.
* html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::deleteObjectImpl): Ditto.
2010-09-27 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Antonio Gomes.
stateStyle (@EditorCommand.cpp) should ask EditingBehavior for platform specific behavior
https://bugs.webkit.org/show_bug.cgi?id=41989
queryCommandState returns true even when in the mixed state
https://bugs.webkit.org/show_bug.cgi?id=46382
Fixed stateStyle so that it calls selectionStartHasStyle when shouldToggleStyleBasedOnStartOfSelection
is true (Mac platforms) and calls selectionHasStyle otherwise (non-Mac platforms).
Also fixed queryCommandState so that it only returns true when the state is TrueTriState
as supposed to returning true whenever the state is not FalseTriState. New behavior matches that of
other browsers such as Firefox and Internet Explorer.
* dom/Document.cpp:
(WebCore::Document::queryCommandState):
* editing/EditorCommand.cpp:
(WebCore::executeToggleStyle):
(WebCore::stateStyle):
2010-09-27 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46647, add getters/setters for the logical position of a box.
Also made all of the logicalWidth/Height getters/setters inline for performance.
* rendering/RenderBox.cpp:
* rendering/RenderBox.h:
(WebCore::RenderBox::logicalLeft):
(WebCore::RenderBox::logicalTop):
(WebCore::RenderBox::logicalWidth):
(WebCore::RenderBox::logicalHeight):
(WebCore::RenderBox::setLogicalLeft):
(WebCore::RenderBox::setLogicalTop):
(WebCore::RenderBox::setLogicalWidth):
(WebCore::RenderBox::setLogicalHeight):
(WebCore::RenderBox::setLogicalLocation):
2010-09-27 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46639, make computeLogicalHeight block-flow-aware.
This patch does the following:
(1) Makes computeLogicalHeight block-flow-aware (patching all helper functions as needed to make this work).
(2) Makes block flow roots (blocks whose parent has a different block-flow directionality) establish new block formatting contexts.
(This causes them to not collapse their margins with their children and to avoid floats).
(3) Patch all occurrences of setHeight in block and line layout to setLogicalHeight so that height doesn't get incorrectly
overwritten for lr/rl block-flow. This is necessary to write tests that examine the width/height of the blocks.
Added multiple new tests in fast/blockflow.
fast/css/logical-property-resolution gives the correct results now.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
(WebCore::RenderBlock::adjustFloatingBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::determineHorizontalPosition):
(WebCore::RenderBlock::handleBottomOfBlock):
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::positionNewFloatOnLine):
(WebCore::RenderBlock::newLine):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForLine):
(WebCore::RenderBlock::getClearDelta):
(WebCore::RenderBlock::layoutColumns):
* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::fitBelowFloats):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::marginBefore):
(WebCore::RenderBox::marginBeforeUsing):
(WebCore::RenderBox::marginAfter):
(WebCore::RenderBox::marginAfterUsing):
(WebCore::RenderBox::setMarginBefore):
(WebCore::RenderBox::setMarginAfter):
(WebCore::RenderBox::setMarginBeforeUsing):
(WebCore::RenderBox::setMarginAfterUsing):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedHeightUsing):
(WebCore::RenderBox::availableLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::computeBlockDirectionMargins):
(WebCore::RenderBox::avoidsFloats):
* rendering/RenderBox.h:
(WebCore::RenderBox::contentLogicalWidth):
(WebCore::RenderBox::contentLogicalHeight):
(WebCore::RenderBox::stretchesToViewHeight):
(WebCore::RenderBox::availableLogicalWidth):
(WebCore::RenderBox::availableWidth):
(WebCore::RenderBox::availableHeight):
(WebCore::RenderBox::isBlockFlowRoot):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
2010-09-27 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
[Gtk] Adjust atk_text_get_text_at_offset to account for bullets/numbers in list items
https://bugs.webkit.org/show_bug.cgi?id=45381
Ensure list markers are consistently used in the Atk wrapper.
This patch does two things (both needed to fix the bug): It
improves the way list items markers are exposed through the Atk
Wrapper (by exposing the exact text in the marker, including the
marker suffix, if any) and makes sure the marker is consistently
considered and treated in those methods of the AtkText interface
that would need it (like atk_text_get_character_count or
atk_text_get_run_attributes, for instance).
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(textForObject):
Append/prepend list marker when needed.
(webkit_accessible_text_get_text):
Use the new function markerTextWithSuffix() to expose a more
accurate value.
(accessibilityObjectLength):
Consider list items marker to return the length of an object,
if needed. Also, added some extra checks.
(webkit_accessible_text_get_character_count):
Just delegate on accessibilityObjectLength, to make it
cleaner and more consistent.
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::markerTextWithSuffix):
New public function to return a single string with the
marker associated to the item and its suffix, considering
text direction (LTR or RTL).
* rendering/RenderListItem.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::suffix):
New public function to return a String with the suffix
associated to the marker.
* rendering/RenderListMarker.h:
2010-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r68389.
http://trac.webkit.org/changeset/68389
https://bugs.webkit.org/show_bug.cgi?id=46637
test_shell is crashing on chromium Win (Requested by loislo on
#webkit).
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::pushGCEventRecords):
(WebCore::InspectorTimelineAgent::didGC):
(WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::didCallFunction):
(WebCore::InspectorTimelineAgent::willDispatchEvent):
(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::willLayout):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::willRecalculateStyle):
(WebCore::InspectorTimelineAgent::didRecalculateStyle):
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::didPaint):
(WebCore::InspectorTimelineAgent::willWriteHTML):
(WebCore::InspectorTimelineAgent::didWriteHTML):
(WebCore::InspectorTimelineAgent::didInstallTimer):
(WebCore::InspectorTimelineAgent::didRemoveTimer):
(WebCore::InspectorTimelineAgent::willFireTimer):
(WebCore::InspectorTimelineAgent::didFireTimer):
(WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
(WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
(WebCore::InspectorTimelineAgent::willLoadXHR):
(WebCore::InspectorTimelineAgent::didLoadXHR):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
(WebCore::InspectorTimelineAgent::willSendResourceRequest):
(WebCore::InspectorTimelineAgent::willReceiveResourceData):
(WebCore::InspectorTimelineAgent::didReceiveResourceData):
(WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
(WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
(WebCore::InspectorTimelineAgent::didMarkTimeline):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):
(WebCore::InspectorTimelineAgent::reset):
(WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
(WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
2010-09-27 Kinuko Yasuda <kinuko@google.com>
Reviewed by Adam Barth.
[Cleanup] Add create method to FileSystemCallbacks to get rid of naked new's
https://bugs.webkit.org/show_bug.cgi?id=46561
Also cleanup the callbacks layering to pass AsyncFileSystemCallbacks
object to LocalFileSystem::requestFileSystem (rather than
FileSystemCallback and ErrorCallback) so that all the callbacks class
we pass from WebCore to WebKit/chromium/src will be
AsyncFileSystemCallbacks.
No new tests; this patch is only for cleanup and there should be no functionality changes.
* fileapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::getMetadata):
(WebCore::DOMFileSystem::move):
(WebCore::DOMFileSystem::copy):
(WebCore::DOMFileSystem::remove):
(WebCore::DOMFileSystem::getParent):
(WebCore::DOMFileSystem::getFile):
(WebCore::DOMFileSystem::getDirectory):
(WebCore::DOMFileSystem::createWriter):
(WebCore::DOMFileSystem::readDirectory):
* fileapi/FileSystemCallbacks.cpp:
(WebCore::EntryCallbacks::create): Added.
(WebCore::EntriesCallbacks::create): Added.
(WebCore::FileSystemCallbacks::create): Added.
(WebCore::MetadataCallbacks::create): Added.
(WebCore::FileWriterCallbacks::create): Added.
(WebCore::VoidCallbacks::create): Added.
* fileapi/FileSystemCallbacks.h:
* fileapi/LocalFileSystem.cpp:
(WebCore::openFileSystem):
(WebCore::LocalFileSystem::requestFileSystem): Changed to take
AsyncFileSystemCallbacks as (a) callback argument(s).
* fileapi/LocalFileSystem.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::requestFileSystem): Made a corresponding change
to LocalFileSystem::requestFileSystem.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::requestFileSystem): Made a corresponding change
to LocalFileSystem::requestFileSystem.
2010-09-27 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Fix memory safety issue during positioning list marker as a result of assuming
that list item's parent can always be casted to a RenderBox. The display of the parent
can be manipluated using css as Inline which causes a bad cast.
https://bugs.webkit.org/show_bug.cgi?id=46384
Test: fast/lists/parent-box-not-box-crash.html
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::positionListMarker):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::layout):
2010-09-19 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Wrong font instantiated from an unknown font family
https://bugs.webkit.org/show_bug.cgi?id=36548
When FontConfig returns a match for a particular family name, ensure that
the family name matches the configured alias for the original pattern. This
should prevent selecting FontConfig fallbacks in situations where the next
font on the CSS fallback list should be used. This requires moving all FontConfig
matching logic into FontCacheFreeType and out of FontPlatformDataFreeType.
It should be there anyway.
Test: platform/gtk/fonts/font-family-fallback.html
* platform/graphics/cairo/FontCacheFreeType.cpp:
(WebCore::FontCache::platformInit): Simply call FcInit here instead of
deferring to FontPlatformData.
(WebCore::FontCache::getLastResortFallbackFont): The last resort font should
be a fallback font or else the new FontConfig logic may result in null font data
if it cannot find an appropriate match.
(WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Added. Helper function
which converts WebCore fallback names into ones that FontConfig understands.
(WebCore::isFallbackFontAllowed): Added. Helper function that allows FontConfig
fallbacks to be used when generic family names are specified.
(WebCore::FontCache::createFontPlatformData): Move all FontConfig matching logic here
and prevent against the situation where FontConfig returns a different family name
than we asked for.
* platform/graphics/cairo/FontCustomPlatformData.cpp: Updated FontPlatformData constructor.
* platform/graphics/cairo/FontPlatformDataFreeType.cpp: Update the constructor to
take the FcPattern returned and the original FontDescription. We no longer need the other
arguments, because the selection is now done by FontCacheFreeType.
(WebCore::FontPlatformData::FontPlatformData): Remove the FontConfig selection logic from
this code.
* platform/graphics/cairo/FontPlatformDataFreeType.h: Updated method definitions.
* platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Fixed includes.
* platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added a PlatformRefPtr specialization
for cairo_font_face_t.
(WTF::refPlatformPtr): Added.
(WTF::derefPlatformPtr): Added.
* platform/graphics/cairo/PlatformRefPtrCairo.h: Updated method definitons.
* platform/graphics/cairo/SimpleFontDataCairo.cpp:
(WebCore::SimpleFontData::smallCapsFontData): Fixed FontPlatformData constructor.
2010-09-27 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GTK] Doesn't build with gtk+ 2.14
https://bugs.webkit.org/show_bug.cgi?id=46565
Fixed the build for GTK+ 2.14 by adding backward compatible
a backward-compatible function for gtk_menu_item_get_label and a
utility function to create a blank mouse cursor. Those functions
are used in the fullscreen video controller and in the DRT
EventSender.
* platform/gtk/GtkVersioning.c:
(gdk_window_get_root_coords):
(blankCursor):
(gtk_menu_item_get_label):
* platform/gtk/GtkVersioning.h:
2010-09-23 Stephen White <senorblanco@chromium.org>
Reviewed by James Robinson.
[CHROMIUM] Fix for canvas clearRect() with clipping active, when
--enable-accelerated-2d-canvas is on.
https://bugs.webkit.org/show_bug.cgi?id=46412
Covered by layout test http://philip.html5.org/tests/canvas/suite/tests/2d.clearRect.clip.html.
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clearRect):
Check if a clip is active during clipRect(), and force to software
if so. Force a readback in this case, since clearRect() is not
compatible with mixed-mode rendering.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::canvasClipApplied):
* platform/graphics/skia/PlatformContextSkia.h:
Implement accessor to check if a clip is active.
2010-09-14 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
drawElements with count=0 and offset = 0 should not generate GL error or crash
https://bugs.webkit.org/show_bug.cgi?id=45769
* html/canvas/WebGLRenderingContext.cpp: Deal with count=0 case.
(WebCore::WebGLRenderingContext::validateIndexArrayConservative):
(WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
(WebCore::WebGLRenderingContext::drawElements):
2010-09-16 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Fold getString into getParameter and implement new queries
https://bugs.webkit.org/show_bug.cgi?id=40321
Test: fast/canvas/webgl/gl-getstring.html
* html/canvas/WebGLRenderingContext.cpp: Merge getString enums into getParameter.
(WebCore::WebGLRenderingContext::getParameter):
* html/canvas/WebGLRenderingContext.h: Remove getString.
* html/canvas/WebGLRenderingContext.idl: Remove getString.
2010-09-24 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
gl-teximage fails on chrome mac bot
https://bugs.webkit.org/show_bug.cgi?id=45332
Add support for alpha first pixel formats.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::doPacking):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-09-17 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: implement go-to-line feature
https://bugs.webkit.org/show_bug.cgi?id=45166
* English.lproj/localizedStrings.js:
* inspector/front-end/GoToLineDialog.js: Added.
(WebInspector.GoToLineDialog):
(WebInspector.GoToLineDialog.show):
(WebInspector.GoToLineDialog.prototype._hide):
(WebInspector.GoToLineDialog.prototype._onKeyDown):
(WebInspector.GoToLineDialog.prototype._onBlur):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._registerShortcuts):
(WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
(WebInspector.ScriptsPanel.prototype.showGoToLineDialog):
* inspector/front-end/goToLineDialog.css: Added.
(.go-to-line-dialog):
* inspector/front-end/inspector.html:
2010-09-24 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: add XHR breakpoints sidebar pane to front-end
https://bugs.webkit.org/show_bug.cgi?id=46483
* English.lproj/localizedStrings.js:
* WebCore.gypi:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
* inspector/InspectorTimelineAgent.h:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
(WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
(WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
(WebInspector.Breakpoint.prototype.compareTo):
(WebInspector.XHRBreakpoint):
(WebInspector.XHRBreakpoint.prototype.get enabled):
(WebInspector.XHRBreakpoint.prototype.set enabled):
(WebInspector.XHRBreakpoint.prototype.get url):
(WebInspector.XHRBreakpoint.prototype.formatLabel):
(WebInspector.XHRBreakpoint.prototype.compareTo):
(WebInspector.XHRBreakpoint.prototype.remove):
(WebInspector.XHRBreakpoint.prototype._setOnBackend.didSet):
(WebInspector.XHRBreakpoint.prototype._setOnBackend):
(WebInspector.XHRBreakpoint.prototype._removeFromBackend):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.XHRBreakpointsSidebarPane):
(WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
(WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
(WebInspector.BreakpointItem.prototype.compareTo):
(WebInspector.BreakpointItem.prototype._checkboxClicked):
(WebInspector.BreakpointItem.prototype._enableChanged):
(WebInspector.BreakpointItem.prototype._breakpointClicked):
(WebInspector.XHRBreakpointItem):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s):
(WebInspector.CallStackSidebarPane.prototype.updateStatus.append):
(WebInspector.CallStackSidebarPane.prototype.updateStatus):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMBreakpoint.prototype.compareTo):
* inspector/front-end/Images/paneAddButtons.png: Added.
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.pane > .title > button.add):
(.pane > .title > button.add:hover):
(.pane > .title > button.add:active):
(.pane > .body .breakpoint-condition):
* inspector/front-end/inspector.js:
(WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
(WebInspector.createXHRBreakpointsSidebarPane):
2010-09-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Merge AbstractTimelinePanel into ResourcesPanel.
https://bugs.webkit.org/show_bug.cgi?id=46612
I am refactoring resources panel and would like to merge abstract
one back in since it is not use anywhere else.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/AbstractTimelinePanel.js: Removed.
* inspector/front-end/ResourceCategory.js:
(WebInspector.ResourceCategory):
(WebInspector.ResourceCategory.prototype.toString):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.get items):
(WebInspector.ResourcesPanel.prototype.createInterface):
(WebInspector.ResourcesPanel.prototype.createFilterPanel.createFilterElement):
(WebInspector.ResourcesPanel.prototype.createFilterPanel):
(WebInspector.ResourcesPanel.prototype.showCategory):
(WebInspector.ResourcesPanel.prototype.hideCategory):
(WebInspector.ResourcesPanel.prototype.filter):
(WebInspector.ResourcesPanel.prototype._updateFilter):
(WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
(WebInspector.ResourcesPanel.prototype.get needsRefresh):
(WebInspector.ResourcesPanel.prototype.set needsRefresh):
(WebInspector.ResourcesPanel.prototype.refreshIfNeeded):
(WebInspector.ResourcesPanel.prototype.resize):
(WebInspector.ResourcesPanel.prototype.invalidateAllItems):
(WebInspector.ResourcesPanel.prototype.get calculator):
(WebInspector.ResourcesPanel.prototype.set calculator):
(WebInspector.ResourcesPanel.prototype.addItem):
(WebInspector.ResourcesPanel.prototype.removeItem):
(WebInspector.ResourcesPanel.prototype.refreshItem):
(WebInspector.ResourcesPanel.prototype.revealAndSelectItem):
(WebInspector.ResourcesPanel.prototype.sortItems):
(WebInspector.ResourcesPanel.prototype.adjustScrollPosition):
(WebInspector.ResourcesPanel.prototype.addEventDivider):
(WebInspector.ResourcesPanel.prototype.hideEventDividers):
(WebInspector.ResourcesPanel.prototype.showEventDividers):
(WebInspector.ResourcesPanel.prototype.show):
(WebInspector.ResourcesPanel.prototype.refresh):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
(WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
(WebInspector.ResourceBaseCalculator):
(WebInspector.ResourceBaseCalculator.prototype.computeSummaryValues):
(WebInspector.ResourceBaseCalculator.prototype.computeBarGraphPercentages):
(WebInspector.ResourceBaseCalculator.prototype.computeBarGraphLabels):
(WebInspector.ResourceBaseCalculator.prototype.get boundarySpan):
(WebInspector.ResourceBaseCalculator.prototype.updateBoundaries):
(WebInspector.ResourceBaseCalculator.prototype.reset):
(WebInspector.ResourceBaseCalculator.prototype._value):
(WebInspector.ResourceBaseCalculator.prototype.formatValue):
(WebInspector.ResourceTimeCalculator):
(WebInspector.ResourceTransferSizeCalculator):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2010-09-27 Ragner Magalhaes <ragner.magalhaes@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] New input style for Qt Mobile theme
https://bugs.webkit.org/show_bug.cgi?id=46461
Rename themeQtMaemo5.css to themeQtMobile.css since it is the theme for all Qt mobile platform.
Adjust new input style.
* WebCore.pri:
* css/themeQtMobile.css: Renamed from css/themeQtMaemo5.css
(select):
(select:disabled):
(select:active):
(select:active:disabled):
(textarea):
(textarea:disabled):
(textarea:active):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::extraDefaultStyleSheet): Renamed themeQtMaemo5UserAgentStyleSheet to themeQtMobileUserAgentStyleSheet to match renamed file.
2010-09-27 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Antonio Gomes.
[Qt] Enable local rendering of NPAPI plugins on Maemo6.
https://bugs.webkit.org/show_bug.cgi?id=46618
* WebCore.pro:
* bridge/npapi.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::setValue):
(WebCore::PluginView::PluginView):
* plugins/PluginView.h:
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):
(WebCore::PluginView::platformGetValueStatic):
2010-09-27 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: divide InspectorTimelineAgent into two parts.
We have an idea to split InspectorTimelineAgent into two parts.
The first part is an instrumentation API which can be used for DOM breakpoints too.
The other is the real Timeline agent which do a transformation of raw data into timeline data.
https://bugs.webkit.org/show_bug.cgi?id=46611
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent2::TimelineRecordEntry::TimelineRecordEntry):
(WebCore::InspectorTimelineAgent2::GCEvent::GCEvent):
(WebCore::InspectorTimelineAgent2::InspectorTimelineAgent2):
(WebCore::InspectorTimelineAgent2::~InspectorTimelineAgent2):
(WebCore::InspectorTimelineAgent2::didGC):
(WebCore::InspectorTimelineAgent2::addRecordToTimeline):
(WebCore::InspectorTimelineAgent2::setHeapSizeStatistic):
(WebCore::InspectorTimelineAgent2::startNewRecord):
(WebCore::InspectorTimelineAgent2::completeCurrentRecord):
(WebCore::InspectorTimelineAgent2::asyncRecord):
(WebCore::InspectorTimelineAgent2::atomicRecord):
(WebCore::InspectorTimelineAgent2::getTopRecordData):
(WebCore::InspectorTimelineAgent2::reset):
(WebCore::InspectorTimelineAgent2::resetFrontendProxyObject):
(WebCore::InspectorTimelineAgent2::pushGCEventRecords):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::reset):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::didCallFunction):
(WebCore::InspectorTimelineAgent::willDispatchEvent):
(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::willLayout):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::willRecalculateStyle):
(WebCore::InspectorTimelineAgent::didRecalculateStyle):
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::didPaint):
(WebCore::InspectorTimelineAgent::willWriteHTML):
(WebCore::InspectorTimelineAgent::didWriteHTML):
(WebCore::InspectorTimelineAgent::didInstallTimer):
(WebCore::InspectorTimelineAgent::didRemoveTimer):
(WebCore::InspectorTimelineAgent::willFireTimer):
(WebCore::InspectorTimelineAgent::didFireTimer):
(WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
(WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
(WebCore::InspectorTimelineAgent::willLoadXHR):
(WebCore::InspectorTimelineAgent::didLoadXHR):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
(WebCore::InspectorTimelineAgent::willSendResourceRequest):
(WebCore::InspectorTimelineAgent::willReceiveResourceData):
(WebCore::InspectorTimelineAgent::didReceiveResourceData):
(WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
(WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
(WebCore::InspectorTimelineAgent::didMarkTimeline):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):
(WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
* inspector/InspectorTimelineAgent.h:
2010-09-27 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Sam Weinig.
Implement CSSStyleRule::setSelectorText()
This involves removing the "selectorText" "setter raises(DOMException)" clause from the IDL files,
since the setter no longer raises the exception, as per http://dev.w3.org/csswg/cssom/#dom-cssstylerule-selectortext
https://bugs.webkit.org/show_bug.cgi?id=46487
Test: fast/css/css-set-selector-text.html
* css/CSSPageRule.idl:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
* css/CSSStyleRule.h:
* css/CSSStyleRule.idl:
2010-09-27 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
Filter builder should be able to follow the filter object dependencies
https://bugs.webkit.org/show_bug.cgi?id=45812
To propagate the changes of a primitive object, a data structure
is needed which stores the dependent primitive objects. (Those
who use the resulting image.) This data structure is implemented
as a hash map, which contains primitive object and set of primitive
objects <key,value> pairs. The hash map is able to follow the
dynamic topology changes.
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives):
* rendering/RenderSVGResourceFilterPrimitive.h:
(WebCore::RenderSVGResourceFilterPrimitive::renderName):
(WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::SVGFilterBuilder):
(WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
(WebCore::SVGFilterBuilder::clearEffects):
* svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::getEffectReferences):
(WebCore::SVGFilterBuilder::addBuiltinEffects):
2010-09-27 Andreas Kling <andreas.kling@nokia.com>
Rubber-stamped by Kenneth Rohde Christiansen.
[Qt] 32-bit Flash crashes on repeated SetWindow calls
https://bugs.webkit.org/show_bug.cgi?id=46616
Re-enable PluginQuirkDontCallSetWindowMoreThanOnce for Qt on x86 Unix.
We incorrectly thought this was fixed in Flash 10, but it turns out it
was just never broken on 64-bit.
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):
2010-09-27 İsmail Dönmez <ismail@namtrac.org>
Reviewed by Andreas Kling.
Add PluginView::setJavaScriptPaused(bool) stub for WinCE.
* platform/qt/TemporaryLinkStubsQt.cpp:
(PluginView::setJavaScriptPaused):
2010-09-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Dirk Schulze.
Bug 46607 - [WML] Fix a build break when WML is enabled
Fix a build break when WML is enabled.
* wml/WMLElement.cpp: Include HTMLParserIdioms.h
(WebCore::WMLElement::parseMappedAttribute): Add additional parameter to invoke parseHTMLInteger() function.
2010-09-26 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Barth.
Remove dead code and fix header includes in ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=46479
Also add missing member varibale from r68167.
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::onRequestComplete):
* platform/network/win/ResourceHandleWin.h: Removed.
2010-09-26 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Barth.
Add WTF::StringHasher::createBlobHash
https://bugs.webkit.org/show_bug.cgi?id=46514
Add this function for hashing FormElementKey and QualifiedNameComponents.
* dom/Document.cpp:
(WebCore::FormElementKeyHash::hash):
* dom/QualifiedName.h:
(WebCore::hashComponents):
(WebCore::QualifiedNameHash::hash):
2010-09-26 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46519
Convert the implementation of computeLogicalWidth to work with block-flow.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::determineHorizontalPosition):
Patched to call the new computeMarginsInContainingBlockInlineDirection. Eventually determineHorizontalPosition will
be placing children along the inline direction of the containing block, and those children may have mismatched
block flows. The new computeMarginsInContainingBlockInlineDirection function is designed to handle that.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::marginStart):
(WebCore::RenderBox::marginStartUsing):
(WebCore::RenderBox::marginEnd):
(WebCore::RenderBox::marginEndUsing):
(WebCore::RenderBox::setMarginStart):
(WebCore::RenderBox::setMarginEnd):
(WebCore::RenderBox::setMarginStartUsing):
(WebCore::RenderBox::setMarginEndUsing):
Helpers that allow for marginStart/End access and that also allow for marginStart/End to be computed based off another
element's block-flow and direction (typically the containing block).
(WebCore::RenderBox::computeBorderBoxLogicalWidth):
(WebCore::RenderBox::computeBorderBoxLogicalHeight):
(WebCore::RenderBox::computeContentBoxLogicalWidth):
(WebCore::RenderBox::computeContentBoxLogicalHeight):
Patched to use logical border/padding widths and heights.
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
A function for returning the available logical height of a perpendicular containing block. If a child has vertical
text for example and its block-flow is "lr", its available logical width is determined by the logical
height of the containing block when that containing block is perpendicular, e.g. "tb".
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalWidthUsing):
Patched to be block-flow-aware and to use logical width values everywhere.
(WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
Patched to use logical widths.
(WebCore::RenderBox::computeMarginsInContainingBlockInlineDirection):
A new function that is directionally abstract and that can handle the computation of margins in the containing
block's inline direction. This function is written such that a perpendicular child block flow can still be
pushed to the center, left or right in the containing block's inline direction.
(WebCore::RenderBox::computePositionedLogicalWidth):
This function is still largely unpatched. A future patch will address positioend elements.
* rendering/RenderBox.h:
(WebCore::RenderBox::stretchesToMinIntrinsicLogicalWidth):
* rendering/RenderFieldset.h:
(WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
Renames.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
Renames, but not converted yet. Tables will happen in a future patch.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::marginStartUsing):
(WebCore::RenderStyle::marginEndUsing):
* rendering/style/RenderStyle.h:
Added helpers for accessing marginStart and End using another style's direction and block flow (typically will
be the containing block's).
fast/block/basic/016.html changed, since centering now always awards the extra pixel for odd widths to the end margin
instead of the right margin. This is a progression.
fast/css/logical-property-values.html is now reporting garbage results, which is expected now that some of the core layout
functions have been patched.
Horizontal block flows are untestable still, since the normal layout process incorrectly blows away any computed height values.
2010-09-26 Antonio Gomes <agomes@rim.comg>
Reviewed by Kenneth Rohde Christiansen.
DRT/Mac nodesFromRect support
[Mac][DRT] Implement LayoutTestController::nodesFromRect
https://bugs.webkit.org/show_bug.cgi?id=46580
Symbol files updated.
* WebCore.exp.in: Added symbols to Document::nodesFromRect and bits of JSDocument now
needed in WebKit/mac.
* WebCore.xcodeproj/project.pbxproj: Set both JSDocument.h and JSNodeList as private headers
now that they are referred in WebKit/mac.
2010-09-26 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
Implement location.origin and HTMLAnchorElement.origin
https://bugs.webkit.org/show_bug.cgi?id=46558
These attributes are part of my proposed URL API:
https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en
Hixie thought we should implement as much of this API as makes sense on
Location and HTMLAnchorElement as well. I'm starting with the origin
attribute, because that seems like the biggest bang for the buck.
Tests: fast/dom/anchor-origin.html
http/tests/misc/location-origin.html
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::origin):
* html/HTMLAnchorElement.h:
* html/HTMLAnchorElement.idl:
* page/Location.cpp:
(WebCore::Location::origin):
* page/Location.h:
* page/Location.idl:
2010-09-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r68343.
http://trac.webkit.org/changeset/68343
https://bugs.webkit.org/show_bug.cgi?id=46581
broke GTK+ (Requested by kling on #webkit).
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
2010-09-25 Antonio Gomes <agomes@rim.com>
Reviewed by Kenneth Christiansen and Andreas Kling.
document.nodesFromRect() needs to be removed from Document.idl
https://bugs.webkit.org/show_bug.cgi?id=46492
As discussed with Sam Weinig on IRC, it was decided to removed
nodesFromRect() from the Document.idl, and that way, not exposing
it to Web content.
Reason: there is no plan to make it standard at the moment, and at the
very least, the method should had been originally added with the "webkit"
prefix, which was not the case.
* dom/Document.idl:
2010-09-26 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Dirk Schulze.
SVGFEBlendElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=46464
Tests: svg/dynamic-updates/SVGFEBlendElement-dom-in-attr.html
svg/dynamic-updates/SVGFEBlendElement-dom-in2-attr.html
svg/dynamic-updates/SVGFEBlendElement-dom-mode-attr.html
svg/dynamic-updates/SVGFEBlendElement-svgdom-in-prop.html
svg/dynamic-updates/SVGFEBlendElement-svgdom-in2-prop.html
svg/dynamic-updates/SVGFEBlendElement-svgdom-mode-prop.html
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::svgAttributeChanged):
* svg/SVGFEBlendElement.h:
2010-09-26 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Dan Bernstein.
Canvas: Crash when setting a font with size in 'ex' units
https://bugs.webkit.org/show_bug.cgi?id=46538
update() the style's font after setting the style's font description.
Needed because CSSPrimitiveValue::computeLengthDouble() later assumes
that the style's font is properly initialized (for xHeight().)
Fixes crash on IE test center's canvas-text-font-002 test.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
2010-09-26 Kwang Yul Seo <skyul@company100.net>
Reviewed by Eric Seidel.
[BREWMP] Don't pass PassOwnPtr in makeAllDirectories
https://bugs.webkit.org/show_bug.cgi?id=42058
Change makeAllDirectories to take a raw FileMgr pointer
because it is not safe to pass PassOwnPtr recursively.
* platform/brew/FileSystemBrew.cpp:
(WebCore::makeAllDirectories):
2010-09-26 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
[Qt] fix http/tests/uri/escaped-entity.html
Replace invalid encodings with the appropriate escaped entity.
See also http://bugreports.qt.nokia.com/browse/QTBUG-13412
https://bugs.webkit.org/show_bug.cgi?id=45245
* platform/text/qt/TextCodecQt.cpp:
(WebCore::TextCodecQt::encode):
2010-09-25 Abhishek Arya <inferno@chromium.org>
Reviewed by Nikolas Zimmermann.
Fix the macro to bail out after setting the SVG style to 'initial'. Check that color is
SVGColor before calling colorFromSVGColorCSSValue which makes sure we don't set invalid
color. Also, doing the static cast in the caller and keeping the function
colorFromSVGColorCSSValue clean to accept only take SVGColor objects.
https://bugs.webkit.org/show_bug.cgi?id=46471
Test: svg/css/invalid-color-crash.svg
* css/SVGCSSStyleSelector.cpp:
(WebCore::colorFromSVGColorCSSValue):
(WebCore::CSSStyleSelector::applySVGProperty):
2010-09-25 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
FormatBlockCommand's modifyRange and doApply should be merged
https://bugs.webkit.org/show_bug.cgi?id=46504
Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
Merged the code in modifyRange into doApply and cleaned up.
No new tests are added since this is a cleanup.
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::doApply): Merged with modifyRange; calls doApplyForSingleParagraph.
(WebCore::FormatBlockCommand::doApplyForSingleParagraph): Added.
* editing/FormatBlockCommand.h:
2010-09-25 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
<rdar://problem/8478160> Null deref in InlineBox::height()
https://bugs.webkit.org/show_bug.cgi?id=45344
Test: fast/css/first-line-parent-style-different.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::firstLineStyleSlowCase): Set the pseudo style bit on the RenderStyle
which is going to supply the first-line style rather than on this objects RenderStyle. The
styles may differ.
2010-09-25 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
<rdar://problem/8478182> Make canHyphenate() return false for unsupported locales
No change in functionality, hence no new test.
* platform/text/cf/HyphenationCF.cpp:
(WebCore::::createValueForKey): Return 0 if hyphenation is not available for the locale.
(WebCore::cfLocaleCache): Moved the definition of the cache from lastHyphenLocation() to
this new getter to allow canHyphenate() to share it.
(WebCore::canHyphenate): Now returns true only if hyphenation is available.
(WebCore::lastHyphenLocation): Added an assertion.
2010-09-25 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] GraphicsContext::setLineDash() should scale dashOffset to penWidth
https://bugs.webkit.org/show_bug.cgi?id=46548
Fixes incorrect rendering of <http://www.carto.net/svg/samples/animated_bustrack.shtml>
This is covered by existing layout tests which need to be rebaselined.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setLineDash):
2010-09-24 Sam Weinig <sam@webkit.org>
Rubber-stamped by Dan Bernstein.
Fix accidental increase in the size of InlineBox by using a bit
field to indicate that a bool should only take up 1 bit.
* rendering/InlineBox.h:
2010-09-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Accelerated transitions do not suspend/resume properly.
https://bugs.webkit.org/show_bug.cgi?id=43792
(1) Fix regression from r68233, where if an animation affected two
properties, only one would animate. The testcase tests this.
(2) Fix a flash at the end of an animation or transition that has been
paused and resumed. The flash occurred because we used CAAnimation's
timeOffset when resuming to push the start of the animation into
the past. However, timeOffset does not play nicely with fill modes,
causing a single frame of animation with the element in its unanimated state.
Fixed this by offsetting the beginTime into the past, rather than setting
timeOffset. Normally we submit animations with beginTime == 0, and rely
on CA assigning a beginTime when the animation is committed. This beginTime
is then passed to AnimationController to sync hardware and software animations.
However, since the code now assigns beginTimes in the past (on resume),
we now have to denote whether we've done this, and send an appropriate
timestamp back to AnimationController.
(3) Finally, the patch removes PropertyAnimationPair and just uses LayerPropertyAnimation
instead. This is just cleanup.
Test: animations/opacity-transform-animation.html
* platform/graphics/mac/GraphicsLayerCA.h: Remove PropertyAnimationPair,
and change AnimationsMap to store a vector of LayerPropertyAnimation.
New method, animationDidStart(), is called from the -animationDidStart: callback.
* platform/graphics/mac/GraphicsLayerCA.mm:
(-[WebAnimationDelegate animationDidStart:]): Just call m_graphicsLayer->animationDidStart()
now.
(WebCore::animationIdentifier): We need to pass in the property, to fix (1)
(WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Copy the WebKitAnimationBeginTimeSet
value, if present.
(WebCore::GraphicsLayerCA::animationDidStart): Call notifyAnimationStarted() on the client,
after testing if we set a non-zero beginTime on this particular animation.
(WebCore::GraphicsLayerCA::updateLayerAnimations): Change to use LayerPropertyAnimation.
(WebCore::GraphicsLayerCA::setCAAnimationOnLayer): Set value for WebKitAnimationBeginTimeSetKey
if we have a non-zero timeOffset. Make animationID an NSString, to avoid several conversions.
(WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): Make animationID an NSString, to
avoid several conversions.
(WebCore::copyAnimationProperties): Copy WebKitAnimationBeginTimeSetKey if present.
(WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Make animationID an NSString, to avoid
several conversions.
2010-09-24 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
SVG: Avoid calling pow() in genericParseNumber() unless necessary
https://bugs.webkit.org/show_bug.cgi?id=46537
0.4% speedup on <http://themaninblue.com/experiment/AnimationBenchmark/svg/>
* svg/SVGParserUtilities.cpp:
(WebCore::genericParseNumber): Only call pow() when we have an exponent.
2010-09-24 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] opening local files on win32
https://bugs.webkit.org/show_bug.cgi?id=31066
This is tested by changes to the testmimehandling API test.
* platform/network/soup/ResourceHandleSoup.cpp: Properly convert the GContentType
of a file into a mime type. This is important for non-Unix platforms.
2010-09-24 Pawel Hajdan <phajdan.jr@chromium.org>
Reviewed by Dumitru Daniliuc.
Move the implementation of chromium_vfs to webkit for POSIX.
This allows us to link Chrome with system-provided SQLite on Linux.
See also http://code.google.com/p/chromium/issues/detail?id=22208.
https://bugs.webkit.org/show_bug.cgi?id=45416
No new tests.
* platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
(sqliteErrorFromPosixError):
(releaseLockInfo):
(releaseOpenInfo):
(findLockInfo):
(chromiumCheckReservedLock):
(rangeLock):
(chromiumLock):
(closePendingFds):
(chromiumUnlock):
(chromiumCloseNoLock):
(chromiumClose):
(chromiumCheckReservedLockNoop):
(chromiumLockNoop):
(chromiumUnlockNoop):
(seekAndRead):
(chromiumRead):
(seekAndWrite):
(chromiumWrite):
(syncWrapper):
(chromiumSync):
(chromiumTruncate):
(chromiumFileSize):
(chromiumFileControl):
(chromiumSectorSize):
(chromiumDeviceCharacteristics):
(fillInChromiumFile):
(findReusableFd):
(chromiumOpen):
(chromiumDelete):
(chromiumAccess):
(chromiumFullPathname):
(chromiumDlOpen):
(chromiumDlError):
(chromiumDlSym):
(chromiumDlClose):
(chromiumRandomness):
(chromiumSleep):
(chromiumCurrentTime):
(chromiumGetLastError):
(WebCore::SQLiteFileSystem::registerSQLiteVFS):
2010-09-24 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Dirk Schulze.
SVG: Make SVGLength's stringToLengthType() stricter and faster
https://bugs.webkit.org/show_bug.cgi?id=46066
Only accept unit names immediately following the numeric value.
This behavior matches Gecko.
Also, using String::endsWith("foo") caused a temporary WTF::String to be created.
Avoid this by comparing characters directly.
10.5% speedup on <http://data.xeoh.net/svg.benchmark/>
Test: svg/custom/invalid-length-units.html
* svg/SVGLength.cpp:
(WebCore::stringToLengthType):
(WebCore::SVGLength::setValueAsString):
2010-09-24 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
Keep viewport information in Document
https://bugs.webkit.org/show_bug.cgi?id=46385
The viewport meta data (layout viewport, scale) needs to be set again when bringing
back a page from the page cache. As the viewport metadata is only retrieved while parsing
the document, we need to store it in the Document class.
Test: fast/viewport/viewport-128.html
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::processViewport):
(WebCore::Document::setInPageCache):
* dom/Document.h:
(WebCore::Document::viewportArguments):
2010-09-24 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46496, rename containingBlockWidthForContent to
containingBlockLogicalWidthForContent.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::localCaretRect):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeReplacedWidthUsing):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffsetX):
(WebCore::RenderBoxModelObject::containingBlockLogicalWidthForContent):
* rendering/RenderBoxModelObject.h:
2010-09-24 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46489, rename the lineWidth and left/RightOffset methods
to reflect that they will be logical.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::determineHorizontalPosition):
(WebCore::RenderBlock::leftSelectionOffset):
(WebCore::RenderBlock::rightSelectionOffset):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForLine):
(WebCore::RenderBlock::availableLogicalWidthForLine):
(WebCore::RenderBlock::getClearDelta):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalRightOffsetForLine):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::skipTrailingWhitespace):
(WebCore::RenderBlock::skipLeadingWhitespace):
(WebCore::RenderBlock::fitBelowFloats):
(WebCore::RenderBlock::findNextLineBreak):
(WebCore::RenderBlock::checkLinesForTextOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockWidthForContent):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::applyLineClamp):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::positionListMarker):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::selectionTop):
2010-09-24 Abhishek Arya <inferno@chromium.org>
Reviewed by Simon Fraser.
Comply with spec by generalizing container on which transforms can be applied.
https://bugs.webkit.org/show_bug.cgi?id=46485
Already covered by existing tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTransformFromContainer):
2010-09-24 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=46482, rename the various prefWidth functions to use
preferredLogicalWidth.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
(WebCore::AutoTableLayout::calcEffectiveWidth):
* rendering/AutoTableLayout.h:
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
(WebCore::FixedTableLayout::computePreferredLogicalWidths):
* rendering/FixedTableLayout.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::getClearDelta):
(WebCore::RenderBlock::computePreferredLogicalWidths):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::dirtyLineBoxesForRenderer):
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::RenderBox):
(WebCore::RenderBox::minPreferredLogicalWidth):
(WebCore::RenderBox::maxPreferredLogicalWidth):
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
* rendering/RenderBox.h:
(WebCore::RenderBox::computePreferredLogicalWidths):
* rendering/RenderCounter.cpp:
(WebCore::RenderCounter::computePreferredLogicalWidths):
* rendering/RenderCounter.h:
* rendering/RenderDataGrid.cpp:
(WebCore::RenderDataGrid::computePreferredLogicalWidths):
* rendering/RenderDataGrid.h:
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::computePreferredLogicalWidths):
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
* rendering/RenderFileUploadControl.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
(WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
(WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
(WebCore::RenderFlexibleBox::allowedChildFlex):
* rendering/RenderFlexibleBox.h:
* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::canvasSizeChanged):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computePreferredLogicalWidths):
* rendering/RenderListBox.h:
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::updateMarkerLocation):
(WebCore::RenderListItem::computePreferredLogicalWidths):
* rendering/RenderListItem.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::layout):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMargins):
* rendering/RenderListMarker.h:
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::computePreferredLogicalWidths):
* rendering/RenderMenuList.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
(WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
* rendering/RenderObject.h:
(WebCore::RenderObject::preferredLogicalWidthsDirty):
(WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
(WebCore::RenderObject::minPreferredLogicalWidth):
(WebCore::RenderObject::maxPreferredLogicalWidth):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computePreferredLogicalWidths):
* rendering/RenderReplaced.h:
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::computePreferredLogicalWidths):
* rendering/RenderReplica.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computePreferredLogicalWidths):
* rendering/RenderSVGRoot.h:
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::computePreferredLogicalWidths):
* rendering/RenderScrollbarPart.h:
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::computePreferredLogicalWidths):
* rendering/RenderSlider.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
(WebCore::RenderTable::computePreferredLogicalWidths):
* rendering/RenderTable.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computePreferredLogicalWidths):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::computePreferredLogicalWidths):
* rendering/RenderTableCol.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::trimmedPrefWidths):
(WebCore::RenderText::minPreferredLogicalWidth):
(WebCore::RenderText::maxPreferredLogicalWidth):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width):
* rendering/RenderText.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computePreferredLogicalWidths):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::preferredContentWidth):
(WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::updateIntrinsicSize):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::computePreferredLogicalWidths):
(WebCore::RenderView::layout):
* rendering/RenderView.h:
* rendering/TableLayout.h:
2010-09-24 Jian Li <jianli@chromium.org>
Reviewed by Alexey Proskuryakov.
DOMWindow::revokeBlobURL erroneously uses ParsedURLString.
https://bugs.webkit.org/show_bug.cgi?id=46434
Test: fast/files/revoke-blob-url.html
* page/DOMWindow.cpp:
(WebCore::DOMWindow::revokeBlobURL):
2010-09-24 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46474
Patch computeWidthUsing to be block-flow-aware. Rename the WidthType enum to LogicalWidthType. Make computeLogicalWidthUsing
query the style for logical width properties instead of width properties.
fast/css/logical-property-resolution.html now fails and gives bad results. This is expected. It will become correct
again as more layout code gets patched.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalWidthUsing):
(WebCore::RenderBox::sizesToIntrinsicWidth):
* rendering/RenderBox.h:
2010-09-24 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Clicking "Select All" in audits panel has no effect when the checkbox is unchecked
Only add category event listeners to real categories, not to "Select All"
https://bugs.webkit.org/show_bug.cgi?id=46467
* inspector/front-end/AuditLauncherView.js:
(WebInspector.AuditLauncherView.prototype._createCategoryElement):
2010-09-24 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Remove unnecessary casts in DeviceOrientation V8 bindings
https://bugs.webkit.org/show_bug.cgi?id=46466
Remove unnecessary casts of v8::Value::NumberValue() to double from
the custom v8 bindings code for DeviceOrientation/Motion.
No new tests: just cleanup, no new functionality.
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
* bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
2010-09-24 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: move searchingForNode flag in InspectorController under control of InspectorCookies.
Four functions from Inspector IDL go away.
Searching for node feature of Inspector keeps alive even after navigation.
https://bugs.webkit.org/show_bug.cgi?id=46462
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::updateInspectorStateCookie):
(WebCore::InspectorController::restoreInspectorStateFromCookie):
(WebCore::InspectorController::setSearchingForNode):
(WebCore::InspectorController::populateScriptObjects):
* inspector/InspectorController.h:
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.hide):
(WebInspector.ElementsPanel.prototype.updateFocusedNode):
(WebInspector.ElementsPanel.prototype._setSearchingForNode):
(WebInspector.ElementsPanel.prototype.setSearchingForNode):
(WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
* inspector/front-end/inspector.js:
(WebInspector._updateFocusedNode):
2010-09-24 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBTransactionCoordinator incorrectly assumes that aborted transactions must have been started or running.
https://bugs.webkit.org/show_bug.cgi?id=46459
No new tests, storage/indexeddb/transaction-basics.html covers this.
Also fixes http://code.google.com/p/chromium/issues/detail?id=56732
* storage/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::didFinishTransaction):
2010-09-24 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Update DeviceMotionEvent to spec
https://bugs.webkit.org/show_bug.cgi?id=46344
The spec has changed: the DeviceMotionEvent attributes accelerationX,
accelerationY, etc. have been baked into an 'acceleration' attribute
which returns an object with x, y, and z values. Likewise for the
rotation rate. The 'accelerationIncludingGravity' attribute is new.
* WebCore.exp.in:
The DeviceMotionData::create member function has changed. Also export
create functions for DeviceMotionData::Acceleration and RotationRate.
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::acceleration):
(WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
(WebCore::JSDeviceMotionEvent::rotationRate):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
Manually create and return objects with the right attributes for
acceleration, accelerationIncludingGravity, and rotationRate.
When creating the DeviceMotionData object in initDeviceMotionEvent,
accept any input objects that have the right attributes.
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
(WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
V8 counterpart to the JSC code above.
* dom/DeviceMotionData.cpp:
(WebCore::DeviceMotionData::Acceleration::create):
(WebCore::DeviceMotionData::Acceleration::Acceleration):
(WebCore::DeviceMotionData::RotationRate::create):
(WebCore::DeviceMotionData::RotationRate::RotationRate):
(WebCore::DeviceMotionData::create):
(WebCore::DeviceMotionData::DeviceMotionData):
* dom/DeviceMotionData.h:
(WebCore::DeviceMotionData::Acceleration::canProvideX):
(WebCore::DeviceMotionData::Acceleration::canProvideY):
(WebCore::DeviceMotionData::Acceleration::canProvideZ):
(WebCore::DeviceMotionData::Acceleration::x):
(WebCore::DeviceMotionData::Acceleration::y):
(WebCore::DeviceMotionData::Acceleration::z):
(WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
(WebCore::DeviceMotionData::RotationRate::canProvideBeta):
(WebCore::DeviceMotionData::RotationRate::canProvideGamma):
(WebCore::DeviceMotionData::RotationRate::alpha):
(WebCore::DeviceMotionData::RotationRate::beta):
(WebCore::DeviceMotionData::RotationRate::gamma):
(WebCore::DeviceMotionData::acceleration):
(WebCore::DeviceMotionData::accelerationIncludingGravity):
(WebCore::DeviceMotionData::rotationRate):
Add member classes Acceleration and RotationRate to DeviceMotionData.
* dom/DeviceMotionEvent.idl:
Update according to the spec. Acceleration and RotationRate need not
be backed by native classes.
2010-09-24 Romain Pokrzywka <romain@kdab.com>
Reviewed by Simon Hausmann.
[Qt] Fix the Wince build.
* WebCore.pro: Apply msvc flags to wince, too.
2010-09-24 Anders Bakken <agbakken@gmail.com>
Reviewed by Simon Hausmann.
[Qt] Enable building Qt/Webkit with debug symbols
With this patch one can configure with -webkit-debug to build Webkit
with debug symbols without having to manually edit WebCore.pro.
* WebCore.pro:
2010-09-24 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Web Sockets are insecure with QtWebKit
https://bugs.webkit.org/show_bug.cgi?id=44769
Throw an error when the server certificate is not valid.
DRT currently does not support secure websocket connection,
so no new tests. This was tested with the server at
http://code.google.com/p/pywebsocket instead.
* platform/network/qt/SocketStreamHandleQt.cpp:
(WebCore::SocketStreamHandlePrivate::socketSslErrors):
2010-09-24 Jia Pu <jpu@apple.com>
Reviewed by Shinichiro Hamaji.
Need to remove autocorrection underlines in current line when newline is entered.
https://bugs.webkit.org/show_bug.cgi?id=45709
<rdar://problem/8335576>
This change affects only Mac OSX build.
* dom/DocumentMarker.h: Added "CorrectionIndicator" to indicate the words on which we need
to draw autocorrection underline. We cannot use existing "Replacement" for this purpose,
since it is not meant to be removed once it is added. But we need to remove all autocorrection
underlines when a line break or paragraph separator is inserted, which is the behavior in
NSTextView. Hence we need a separate marker value for drawing autocorrection underline.
* editing/Editor.cpp:
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Add "CorrectionIndicator" when
autocorrection takes place.
(WebCore::Editor::changeSelectionAfterCommand): Remove "CorrectionIndicator" markers if the
command results in inserting paragraph separator.
* rendering/InlineTextBox.cpp:
(WebCore::textCheckingLineStyleForMarkerType): Use "CorrectionIndicator" marker instead of
"Replacement" to draw autocorrection underline.
(WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
2010-09-24 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Remove unnecessary parameter from AsyncFileWriterClient::didTruncate
https://bugs.webkit.org/show_bug.cgi?id=46390
* fileapi/AsyncFileWriterClient.h:
Added state to FileWriter to replace the parameter.
* fileapi/FileWriter.h:
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::truncate):
(WebCore::FileWriter::didTruncate):
2010-09-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r68236.
http://trac.webkit.org/changeset/68236
https://bugs.webkit.org/show_bug.cgi?id=46449
compile fix didn't work (Requested by dino___ on #webkit).
* WebCore.exp.in:
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::xAcceleration):
(WebCore::JSDeviceMotionEvent::yAcceleration):
(WebCore::JSDeviceMotionEvent::zAcceleration):
(WebCore::JSDeviceMotionEvent::xRotationRate):
(WebCore::JSDeviceMotionEvent::yRotationRate):
(WebCore::JSDeviceMotionEvent::zRotationRate):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::xAccelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::yAccelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::zAccelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::xRotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::yRotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::zRotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
* dom/DeviceMotionData.cpp:
(WebCore::DeviceMotionData::create):
(WebCore::DeviceMotionData::DeviceMotionData):
* dom/DeviceMotionData.h:
(WebCore::DeviceMotionData::xAcceleration):
(WebCore::DeviceMotionData::yAcceleration):
(WebCore::DeviceMotionData::zAcceleration):
(WebCore::DeviceMotionData::xRotationRate):
(WebCore::DeviceMotionData::yRotationRate):
(WebCore::DeviceMotionData::zRotationRate):
(WebCore::DeviceMotionData::canProvideXAcceleration):
(WebCore::DeviceMotionData::canProvideYAcceleration):
(WebCore::DeviceMotionData::canProvideZAcceleration):
(WebCore::DeviceMotionData::canProvideXRotationRate):
(WebCore::DeviceMotionData::canProvideYRotationRate):
(WebCore::DeviceMotionData::canProvideZRotationRate):
* dom/DeviceMotionEvent.idl:
2010-09-24 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Send webkit accessibility notifications to Chromium.
https://bugs.webkit.org/show_bug.cgi?id=45156
* WebCore.gypi:
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::handleScrolledToAnchor):
* dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::setFocusedNode):
* editing/SelectionController.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::postAccessibilityNotification):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
2010-09-24 David Hyatt <hyatt@apple.com>
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=46454, rename a bunch of the width and height calculation methods.
calcReplacedWidth -> computeReplacedWidth
calcHorizontalMargins -> computeInlineDirectionMargins
calcVerticalMargins -> computeBlockDirectionMargins
calcWidthUsing -> computeLogicalWidthUsing
calcHeightUsing -> computeLogicalHeightUsing
calcReplacedHeight/HeightUsing -> computeReplacedHeight/HeightUsing
calcAbsoluteHorizontalValues -> computePositionedLogicalWidthUsing
calcAbsoluteVerticalValues -> computePositionedLogicalHeightUsing
calcAbsoluteHorizontal -> computePositionedLogicalWIdth
calcAbsoluteVertical -> computePositionedLogicalHeight
calcAbsoluteHorizontalReplaced -> computePositionedLogicalWidthReplaced
calcAbsoluteVerticalReplaced -> computePositionedLogicalHeightReplaced
calcBorderBoxWidth/Height -> computeBorderBoxLogicalWidth/LogicalHeight
calcContentBoxWidth/Height -> computeContentBoxLogicalWidth/LogicalHeight
shouldCalculateSizeAsReplaced -> shouldComputeSizeAsReplaced
calcPercentageHeight -> computePercentageLogicalHeight
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::determineHorizontalPosition):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::calcPrefWidths):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeBorderBoxLogicalWidth):
(WebCore::RenderBox::computeBorderBoxLogicalHeight):
(WebCore::RenderBox::computeContentBoxLogicalWidth):
(WebCore::RenderBox::computeContentBoxLogicalHeight):
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalWidthUsing):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedWidth):
(WebCore::RenderBox::computeReplacedWidthUsing):
(WebCore::RenderBox::computeReplacedHeight):
(WebCore::RenderBox::computeReplacedHeightUsing):
(WebCore::RenderBox::availableHeightUsing):
(WebCore::RenderBox::computeBlockDirectionMargins):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced):
* rendering/RenderBox.h:
(WebCore::RenderBox::shouldComputeSizeAsReplaced):
* rendering/RenderDataGrid.cpp:
(WebCore::RenderDataGrid::calcPrefWidths):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::calcPrefWidths):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::calcPrefWidths):
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::computeReplacedWidth):
(WebCore::RenderImage::computeReplacedHeight):
(WebCore::RenderImage::calcAspectRatioWidth):
(WebCore::RenderImage::calcAspectRatioHeight):
* rendering/RenderImage.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::calcPrefWidths):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::calcPrefWidths):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::container):
* rendering/RenderObject.h:
(WebCore::RenderObject::computeBlockDirectionMargins):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedWidth):
(WebCore::RenderReplaced::computeReplacedHeight):
(WebCore::RenderReplaced::calcAspectRatioWidth):
(WebCore::RenderReplaced::calcAspectRatioHeight):
(WebCore::RenderReplaced::calcPrefWidths):
* rendering/RenderReplaced.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::calcPrefWidths):
(WebCore::RenderSVGRoot::computeReplacedWidth):
(WebCore::RenderSVGRoot::computeReplacedHeight):
* rendering/RenderSVGRoot.h:
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::calcPrefWidths):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
(WebCore::RenderTable::layout):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::calcPrefWidths):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::computeReplacedWidth):
(WebCore::RenderVideo::computeReplacedHeight):
* rendering/RenderVideo.h:
2010-09-23 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46451
Rename calcWidth to computeLogicalWidth. Rename calcHeight to computeLogicalHeight.
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::layout):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::getClearDelta):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::calcPercentageHeight):
(WebCore::RenderBox::calcReplacedHeightUsing):
(WebCore::RenderBox::availableHeightUsing):
(WebCore::RenderBox::calcAbsoluteHorizontal):
* rendering/RenderBox.h:
(WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::computeLogicalWidth):
(WebCore::RenderForeignObject::computeLogicalHeight):
* rendering/RenderForeignObject.h:
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::canvasSizeChanged):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::computeLogicalHeight):
(WebCore::RenderIFrame::computeLogicalWidth):
(WebCore::RenderIFrame::layout):
* rendering/RenderIFrame.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
* rendering/RenderIndicator.cpp:
(WebCore::RenderIndicator::layout):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computeLogicalHeight):
* rendering/RenderListBox.h:
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::computeLogicalWidth):
(WebCore::RenderMeter::computeLogicalHeight):
* rendering/RenderMeter.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::layout):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
(WebCore::RenderTable::layout):
* rendering/RenderTable.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeLogicalWidth):
* rendering/RenderTableCell.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeLogicalHeight):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::textBlockWidth):
(WebCore::RenderTextControlSingleLine::decorationWidthRight):
(WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
(WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
* rendering/RenderView.cpp:
(WebCore::RenderView::computeLogicalHeight):
(WebCore::RenderView::computeLogicalWidth):
* rendering/RenderView.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
2010-09-23 Hans Wennborg <hans@chromium.org>
Reviewed by Simon Fraser.
Update DeviceMotionEvent to spec
https://bugs.webkit.org/show_bug.cgi?id=46344
The spec has changed: the DeviceMotionEvent attributes accelerationX,
accelerationY, etc. have been baked into an 'acceleration' attribute
which returns an object with x, y, and z values. Likewise for the
rotation rate. The 'accelerationIncludingGravity' attribute is new.
* WebCore.exp.in:
The DeviceMotionData::create member function has changed. Also export
create functions for DeviceMotionData::Acceleration and RotationRate.
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::acceleration):
(WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
(WebCore::JSDeviceMotionEvent::rotationRate):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
Manually create and return objects with the right attributes for
acceleration, accelerationIncludingGravity, and rotationRate.
When creating the DeviceMotionData object in initDeviceMotionEvent,
accept any input objects that have the right attributes.
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
(WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
V8 counterpart to the JSC code above.
* dom/DeviceMotionData.cpp:
(WebCore::DeviceMotionData::Acceleration::create):
(WebCore::DeviceMotionData::Acceleration::Acceleration):
(WebCore::DeviceMotionData::RotationRate::create):
(WebCore::DeviceMotionData::RotationRate::RotationRate):
(WebCore::DeviceMotionData::create):
(WebCore::DeviceMotionData::DeviceMotionData):
* dom/DeviceMotionData.h:
(WebCore::DeviceMotionData::Acceleration::canProvideX):
(WebCore::DeviceMotionData::Acceleration::canProvideY):
(WebCore::DeviceMotionData::Acceleration::canProvideZ):
(WebCore::DeviceMotionData::Acceleration::x):
(WebCore::DeviceMotionData::Acceleration::y):
(WebCore::DeviceMotionData::Acceleration::z):
(WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
(WebCore::DeviceMotionData::RotationRate::canProvideBeta):
(WebCore::DeviceMotionData::RotationRate::canProvideGamma):
(WebCore::DeviceMotionData::RotationRate::alpha):
(WebCore::DeviceMotionData::RotationRate::beta):
(WebCore::DeviceMotionData::RotationRate::gamma):
(WebCore::DeviceMotionData::acceleration):
(WebCore::DeviceMotionData::accelerationIncludingGravity):
(WebCore::DeviceMotionData::rotationRate):
Add member classes Acceleration and RotationRate to DeviceMotionData.
* dom/DeviceMotionEvent.idl:
Update according to the spec. Acceleration and RotationRate need not
be backed by native classes.
2010-09-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Accelerated transitions do not suspend/resume properly.
https://bugs.webkit.org/show_bug.cgi?id=43792
Fix suspending of accelerated transitions.
GraphicsLayer changes unify the handling of transitions and animations
in GraphicsLayer. Both are now identified by name, so the code
now refers to "animationName" rather than "keyframesName". Transitions
use a dummy name which is not a valid keyframe identifier.
Tests: animations/suspend-transform-animation.html
transitions/suspend-transform-transition.html
* page/animation/ImplicitAnimation.h:
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::pauseAnimation): Call down to the RenderLayerBacking
to tell it that an accelerated transition was paused.
* platform/graphics/GraphicsLayer.h:
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::animationNameForTransition): Create a name
for the transition of the given property.
(WebCore::GraphicsLayer::addAnimation): Generalize "keyframe" to "animation" in the parameter names.
(WebCore::GraphicsLayer::pauseAnimation): ditto
(WebCore::GraphicsLayer::removeAnimation): ditto
* platform/graphics/mac/GraphicsLayerCA.h: Parameter renaming, and some method renames for clarity.
(WebCore::GraphicsLayerCA::animationIsRunning):
(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): struct rename for clarity.
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::animationIdentifier): the animationName already has the property baked in.
(WebCore::GraphicsLayerCA::moveOrCopyLayerAnimation): just deals with one animation now.
(WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): we have to trawl through
m_runningAnimations to get the identifiers for the animations that need to be copied.
(WebCore::GraphicsLayerCA::addAnimation): rename parameters.
(WebCore::GraphicsLayerCA::pauseAnimation): re-ordered methods here. member var renames.
(WebCore::GraphicsLayerCA::removeAnimation): ditto.
(WebCore::GraphicsLayerCA::updateLayerAnimations): no need to iterate over m_transitionPropertiesToRemove,
and no more divergence between transitions and animations.
(WebCore::GraphicsLayerCA::setCAAnimationOnLayer): renames for clarity.
(WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): ditto
(WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): ditto
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes): renames
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): renames
(WebCore::GraphicsLayerCA::suspendAnimations): whitespace.
* rendering/RenderLayerBacking.h: Group the transition and animation methods together.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::animationPaused): Re-ordered methods for clarity.
(WebCore::RenderLayerBacking::animationFinished): ditto
(WebCore::RenderLayerBacking::startTransition): Use animationNameForTransition() to generate
the animation identifier.
(WebCore::RenderLayerBacking::transitionPaused): Call pauseAnimation, using animationNameForTransition()
to generate the animation identifier.
(WebCore::RenderLayerBacking::transitionFinished): Call removeAnimation, using animationNameForTransition()
to generate the animation identifier.
(WebCore::RenderLayerBacking::notifyAnimationStarted): Moved.
(WebCore::RenderLayerBacking::notifySyncRequired): Moved.
2010-09-23 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46442
Disallow the setting of block-flow to anything other than "tb" for all table-related display types
and flexible box display types. By disallowing block-flow on the subclasses of RenderBlock like tables
and flexible boxes, we ensure that alterations to the RenderBlock base class won't result in misrenderings
in tables and flexible boxes that try to specify other block flow values.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
2010-09-23 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Add Worker support for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=45808
Exposed requestFileSystem and Flags constructor on worker contexts.
Also changed how to get the base path for Web file systems (in
non-chromium ports) so that it works for workers too.
This patch assumes each port calls
LocalFileSystem::initializeLocalFileSystem() in its initialization
phase.
No new tests; tests will be added when we have complete implementation.
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::fileSystemEnabled): Changed to
reflect AsyncFileSystem::isAvailable
* bindings/generic/RuntimeEnabledFeatures.h: Moved the implementation
of fileSystemEnabled to .cpp.
* fileapi/LocalFileSystem.cpp:
(WebCore::LocalFileSystem::initializeLocalFileSystem): Added.
(WebCore::LocalFileSystem::localFileSystem): Added.
(WebCore::LocalFileSystem::fileSystemBasePath): Added.
* fileapi/LocalFileSystem.h:
(WebCore::LocalFileSystem::~LocalFileSystem): Removed. (As now it's
going to be used as a singleton.)
* page/DOMWindow.cpp:
(WebCore::DOMWindow::requestFileSystem): Changed to use a singleton
instance of LocalFileSystem.
* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::canAccessFileSystem): Added.
* page/Settings.cpp: Removed fileSystemRootPath method.
* page/Settings.h: Removed fileSystemRootPath method.
* platform/AsyncFileSystem.cpp:
(WebCore::AsyncFileSystem::isAvailable): Added.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::requestFileSystem): Added to expose
requestFileSystem method in worker contexts.
(WebCore::WorkerContext::Observer): Added.
(WebCore::WorkerContext::registerObserver): Added.
(WebCore::WorkerContext::unregisterObserver): Added.
(WebCore::WorkerContext::notifyObserversOfStop): Added.
* workers/WorkerContext.h:
* workers/WorkerContext.idl:
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadShutdownStartTask::performTask): Modified to
call workerContext->notifyObserversOfStop to notify worker observers
of the worker thread termination.
2010-09-23 Matthew Delaney <mdelaney@apple.com>
Reviewed by Oliver Hunt.
Lower the default canvas interpolation quality for platforms that use CG
https://bugs.webkit.org/show_bug.cgi?id=45722
Lowered the default image interpolation quality for platforms that
use CG down to low since this is as good as if not better than
other graphics platforms defaults (being bilinear interpolation).
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
* html/HTMLCanvasElement.h: Moved in macros for default canvas interp quality.
* platform/graphics/GraphicsContext.h: Moved out macros for default canvas interp quality. It makes more sense for them to be housed where they're used.
2010-09-23 David Hyatt <hyatt@apple.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=46414, rename line box methods that refer specifically to
"horizontal" and "vertical." Replace those terms with "inline direction" and "block direction."
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::computeBlockDirectionOverflow):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
(WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
* rendering/RootInlineBox.h:
2010-09-23 Andrew Wilson <atwilson@chromium.org>
Unreviewed, rolling out r68197.
http://trac.webkit.org/changeset/68197
https://bugs.webkit.org/show_bug.cgi?id=46344
Breaks
* WebCore.exp.in:
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::xAcceleration):
(WebCore::JSDeviceMotionEvent::yAcceleration):
(WebCore::JSDeviceMotionEvent::zAcceleration):
(WebCore::JSDeviceMotionEvent::xRotationRate):
(WebCore::JSDeviceMotionEvent::yRotationRate):
(WebCore::JSDeviceMotionEvent::zRotationRate):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::xAccelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::yAccelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::zAccelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::xRotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::yRotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::zRotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
* dom/DeviceMotionData.cpp:
(WebCore::DeviceMotionData::create):
(WebCore::DeviceMotionData::DeviceMotionData):
* dom/DeviceMotionData.h:
(WebCore::DeviceMotionData::xAcceleration):
(WebCore::DeviceMotionData::yAcceleration):
(WebCore::DeviceMotionData::zAcceleration):
(WebCore::DeviceMotionData::xRotationRate):
(WebCore::DeviceMotionData::yRotationRate):
(WebCore::DeviceMotionData::zRotationRate):
(WebCore::DeviceMotionData::canProvideXAcceleration):
(WebCore::DeviceMotionData::canProvideYAcceleration):
(WebCore::DeviceMotionData::canProvideZAcceleration):
(WebCore::DeviceMotionData::canProvideXRotationRate):
(WebCore::DeviceMotionData::canProvideYRotationRate):
(WebCore::DeviceMotionData::canProvideZRotationRate):
* dom/DeviceMotionEvent.idl:
2010-09-23 David Hyatt <hyatt@apple.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=46403, convert the margin/border/padding accessors
to be logical.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
(WebCore::InlineFlowBox::placeBoxesHorizontally):
(WebCore::InlineFlowBox::paintBoxShadow):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintTextDecorations):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::InlineFlowBox):
(WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft):
(WebCore::InlineFlowBox::marginBorderPaddingLogicalRight):
(WebCore::InlineFlowBox::marginLogicalLeft):
(WebCore::InlineFlowBox::marginLogicalRight):
(WebCore::InlineFlowBox::borderLogicalLeft):
(WebCore::InlineFlowBox::borderLogicalRight):
(WebCore::InlineFlowBox::paddingLogicalLeft):
(WebCore::InlineFlowBox::paddingLogicalRight):
(WebCore::InlineFlowBox::includeLogicalLeftEdge):
(WebCore::InlineFlowBox::includeLogicalRightEdge):
(WebCore::InlineFlowBox::setEdges):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeHorizontalPositionsForLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockWidthForPositioned):
(WebCore::RenderBox::calcAbsoluteHorizontalValues):
(WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
2010-09-23 Jeff Schiller <jeffschiller@google.com>
Reviewed by David Hyatt.
Ensure that SVG documents included by reference (object, iframe, embed) have transparent
backgrounds (not white). https://bugs.webkit.org/show_bug.cgi?id=10687
Test: svg/in-html/by-reference.html
* dom/Document.cpp:
(WebCore::Document::hasSVGRootNode):
* dom/Document.h:
(WebCore::Document::hasSVGRootNode):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
2010-09-23 Hans Wennborg <hans@chromium.org>
Reviewed by Simon Fraser.
Update DeviceMotionEvent to spec
https://bugs.webkit.org/show_bug.cgi?id=46344
The spec has changed: the DeviceMotionEvent attributes accelerationX,
accelerationY, etc. have been baked into an 'acceleration' attribute
which returns an object with x, y, and z values. Likewise for the
rotation rate. The 'accelerationIncludingGravity' attribute is new.
* WebCore.exp.in:
The DeviceMotionData::create member function has changed. Also export
create functions for DeviceMotionData::Acceleration and RotationRate.
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::acceleration):
(WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
(WebCore::JSDeviceMotionEvent::rotationRate):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
Manually create and return objects with the right attributes for
acceleration, accelerationIncludingGravity, and rotationRate.
When creating the DeviceMotionData object in initDeviceMotionEvent,
accept any input objects that have the right attributes.
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
(WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
V8 counterpart to the JSC code above.
* dom/DeviceMotionData.cpp:
(WebCore::DeviceMotionData::Acceleration::create):
(WebCore::DeviceMotionData::Acceleration::Acceleration):
(WebCore::DeviceMotionData::RotationRate::create):
(WebCore::DeviceMotionData::RotationRate::RotationRate):
(WebCore::DeviceMotionData::create):
(WebCore::DeviceMotionData::DeviceMotionData):
* dom/DeviceMotionData.h:
(WebCore::DeviceMotionData::Acceleration::canProvideX):
(WebCore::DeviceMotionData::Acceleration::canProvideY):
(WebCore::DeviceMotionData::Acceleration::canProvideZ):
(WebCore::DeviceMotionData::Acceleration::x):
(WebCore::DeviceMotionData::Acceleration::y):
(WebCore::DeviceMotionData::Acceleration::z):
(WebCore::DeviceMotionData::RotationRate::canProvideAlpha):
(WebCore::DeviceMotionData::RotationRate::canProvideBeta):
(WebCore::DeviceMotionData::RotationRate::canProvideGamma):
(WebCore::DeviceMotionData::RotationRate::alpha):
(WebCore::DeviceMotionData::RotationRate::beta):
(WebCore::DeviceMotionData::RotationRate::gamma):
(WebCore::DeviceMotionData::acceleration):
(WebCore::DeviceMotionData::accelerationIncludingGravity):
(WebCore::DeviceMotionData::rotationRate):
Add member classes Acceleration and RotationRate to DeviceMotionData.
* dom/DeviceMotionEvent.idl:
Update according to the spec. Acceleration and RotationRate need not
be backed by native classes.
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Set synchronous handle in ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=46395
When loading synchronous network resources, we need to use a synchronous internet handle.
* platform/network/ResourceHandle.h:
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously):
(WebCore::ResourceHandle::setSynchronousInternetHandle):
2010-09-23 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46326
Crash when trying to create a NodeIterator rooted at a document-less DocumentType node
Test: fast/dom/node-iterator-with-doctype-root.html
* dom/Document.cpp: (WebCore::Document::detachNodeIterator): Added a comment explaining that
attach/detach may not always be paired.
* dom/NodeIterator.cpp:
(WebCore::NodeIterator::NodeIterator): Don't try to register with the document if there is none.
(WebCore::NodeIterator::~NodeIterator): Ditto.
(WebCore::NodeIterator::detach): Ditto.
(WebCore::NodeIterator::updateForNodeRemoval): There should be a document if we're getting a
notification.
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Add synchronous loading for local files to ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=46392
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Remove (has|set)ReceivedResponse() from public ResourceHandleWin API
https://bugs.webkit.org/show_bug.cgi?id=46391
There is no need for this functions to be public, so remove them.
* platform/network/ResourceHandle.h:
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onRequestComplete):
2010-09-23 David Hyatt <hyatt@apple.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=46400
Add logicalLeft/Top getter/setters to line boxes.
* rendering/InlineBox.h:
(WebCore::InlineBox::logicalLeft):
(WebCore::InlineBox::setLogicalLeft):
(WebCore::InlineBox::logicalTop):
(WebCore::InlineBox::setLogicalTop):
2010-09-23 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Reduce minimum DOMTimer interval
https://bugs.webkit.org/show_bug.cgi?id=45362
Since the setInterval call is meant to reflect a global change for
all pages' DOMTimers, it's misleading to have it be a method on a
given page's settings' object. Thus, this patch changes the call to be static.
This simple change to using a static call instead of the page's setting's
method doesn't warrant a test.
* page/Settings.h: Changed the setInterval call to be static.
2010-09-23 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46386, give line boxes a vertical bit so that it's easy to know
the overall direction of the line without having to ask the containing block.
Also couldn't resist some cleanup. Tightened up the type of the renderobject passed to RootInlineBox's
constructor to be a RenderBlock. Moved all the virtual logical height stuff outside of the SVG ifdef
since TrailingFloatsRootInlineBox uses it and should work without SVG enabled.
* rendering/EllipsisBox.h:
(WebCore::EllipsisBox::EllipsisBox):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::isVertical):
(WebCore::InlineBox::setIsVertical):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::placeEllipsis):
* rendering/RootInlineBox.h:
* rendering/SVGRootInlineBox.h:
(WebCore::SVGRootInlineBox::SVGRootInlineBox):
* rendering/TrailingFloatsRootInlineBox.h:
(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Check for a valid ResourceHandleClient in ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=46389
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onRequestComplete): Add checks to ensure client() is not 0.
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Fix ResourceHandleWin::cancel() for network resources
https://bugs.webkit.org/show_bug.cgi?id=46383
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onRequestComplete): Check it requestHandle is not 0.
(WebCore::ResourceHandle::cancel): Set requestHandle to 0.
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Add handling for form data and additional HTTP headers in ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=46369
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
2010-09-23 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser
'seeking' event should always fire
https://bugs.webkit.org/show_bug.cgi?id=45694
Update seek algorithm to match current spec.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState): Don't need to fire 'seeking' event here.
(WebCore::HTMLMediaElement::seek): Always fire 'seeking'. Update comments.
(WebCore::HTMLMediaElement::finishSeek): Update comments.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
2010-09-23 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Rename FileWriterClient to AsyncFileWriterClient.
https://bugs.webkit.org/show_bug.cgi?id=46325
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/AsyncFileWriter.h:
* fileapi/AsyncFileWriterClient.h: Copied from WebCore/fileapi/FileWriterClient.h.
* fileapi/FileWriter.h:
* fileapi/FileWriterClient.h: Removed.
* platform/AsyncFileSystem.h:
2010-09-23 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46378, rename width/height on line boxes to logicalWidth/logicalHeight.
* editing/visible_units.cpp:
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::paintSelection):
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/InlineBox.cpp:
(WebCore::InlineBox::logicalHeight):
(WebCore::InlineBox::canAccommodateEllipsis):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::hasVirtualLogicalHeight):
(WebCore::InlineBox::setHasVirtualLogicalHeight):
(WebCore::InlineBox::virtualLogicalHeight):
(WebCore::InlineBox::setLogicalWidth):
(WebCore::InlineBox::logicalWidth):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally):
(WebCore::InlineFlowBox::placeBoxesVertically):
(WebCore::InlineFlowBox::computeVerticalOverflow):
(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paintFillLayer):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
(WebCore::InlineFlowBox::paintTextDecorations):
(WebCore::InlineFlowBox::placeEllipsisBox):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::visibleOverflowRect):
(WebCore::InlineFlowBox::bottomLayoutOverflow):
(WebCore::InlineFlowBox::rightLayoutOverflow):
(WebCore::InlineFlowBox::layoutOverflowRect):
(WebCore::InlineFlowBox::bottomVisualOverflow):
(WebCore::InlineFlowBox::rightVisualOverflow):
(WebCore::InlineFlowBox::visualOverflowRect):
(WebCore::InlineFlowBox::setHorizontalOverflowPositions):
(WebCore::InlineFlowBox::setVerticalOverflowPositions):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::placeEllipsisBox):
(WebCore::InlineTextBox::nodeAtPoint):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCustomHighlight):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::calculateBoundaries):
(WebCore::InlineTextBox::setSpaceAdd):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintEllipsisBoxes):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::adjustForBorderFit):
(WebCore::RenderBlock::addFocusRingRects):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeHorizontalPositionsForLine):
(WebCore::RenderBlock::checkLinesForTextOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintCustomHighlight):
(WebCore::RenderBox::containingBlockWidthForPositioned):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::applyLineClamp):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::absoluteQuads):
(WebCore::RenderInline::linesBoundingBox):
(WebCore::RenderInline::addFocusRingRects):
(WebCore::RenderInline::paintOutline):
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::createInlineFlowBox):
(WebCore::RenderSVGInline::absoluteQuads):
* rendering/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::createTextBox):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::createRootInlineBox):
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRects):
(WebCore::RenderText::absoluteRectsForRange):
(WebCore::RenderText::absoluteQuadsForRange):
(WebCore::RenderText::positionForPoint):
(WebCore::RenderText::localCaretRect):
(WebCore::RenderText::linesBoundingBox):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeTextRun):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::canAccommodateEllipsis):
(WebCore::RootInlineBox::placeEllipsis):
(WebCore::RootInlineBox::addHighlightOverflow):
(WebCore::RootInlineBox::paintCustomHighlight):
(WebCore::RootInlineBox::fillLineSelectionGap):
(WebCore::RootInlineBox::closestLeafChildForXPos):
* rendering/SVGInlineFlowBox.h:
(WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
(WebCore::SVGInlineFlowBox::virtualLogicalHeight):
(WebCore::SVGInlineFlowBox::setLogicalHeight):
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::SVGInlineTextBox):
* rendering/SVGInlineTextBox.h:
(WebCore::SVGInlineTextBox::virtualLogicalHeight):
(WebCore::SVGInlineTextBox::setLogicalHeight):
(WebCore::SVGInlineTextBox::selectionHeight):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeRenderSVGTextBox):
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::layoutChildBoxes):
(WebCore::SVGRootInlineBox::layoutRootBox):
* rendering/SVGRootInlineBox.h:
(WebCore::SVGRootInlineBox::SVGRootInlineBox):
(WebCore::SVGRootInlineBox::virtualLogicalHeight):
(WebCore::SVGRootInlineBox::setLogicalHeight):
* rendering/TrailingFloatsRootInlineBox.h:
(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
(WebCore::TrailingFloatsRootInlineBox::virtualLogicalHeight):
2010-09-23 Matthew Delaney <mdelaney@apple.com>
Reviewed by Oliver Hunt.
context.drawImage with (source rect's height) = -(input image's native height) draws nothing
https://bugs.webkit.org/show_bug.cgi?id=46243
This patch changes canvasrenderingcontext2d's drawImage with an image element to
normalize the source and dest rects to acheive the desired canvas spec behavior
of allowing negative widths and heights that don't cause flipping and fix the
adverse behavior of specifying a source rect height of negative the source image's height
Tests: canvas/philip/tests/2d.drawImage.negativeSourceHeight.html
canvas/philip/tests/2d.drawImage.negativeSourceHeight2.html
canvas/philip/tests/2d.drawImage.negativeSourceHeightAndWidth.html
* html/canvas/CanvasRenderingContext2D.cpp: Normalize rects in drawImage before calling
lower level draw calls.
2010-09-23 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Dirk Schulze.
SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=46363
The patch also implements the simple setRadius method.
Tests: svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html
svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html
svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html
svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html
svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html
svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::setRadius):
(WebCore::SVGFEMorphologyElement::svgAttributeChanged):
* svg/SVGFEMorphologyElement.h:
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Add synchronous loading for network resources to ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=46364
Use return value of onRequestComplete() to indicate that an additional
call to it is required for receiving remaining network data.
* platform/network/ResourceHandle.h:
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onRequestComplete):
(WebCore::ResourceHandle::start):
2010-09-23 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
Implement <a ping> (disabled by default).
https://bugs.webkit.org/show_bug.cgi?id=30458
Tests: http/tests/navigation/ping-cross-origin-from-https.html
http/tests/navigation/ping-cross-origin.html
http/tests/navigation/ping-same-origin.html
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::sendPings):
* html/HTMLAnchorElement.h:
* html/HTMLAttributeNames.in:
* loader/PingLoader.cpp:
(WebCore::PingLoader::sendPing): Set ping-specific headers.
(WebCore::PingLoader::PingLoader):
* loader/PingLoader.h:
(WebCore::PingLoader::timeout): Ensure pings eventually timeout, since
the normal cancel mechanism can't stop them.
* page/Settings.cpp:
* page/Settings.h: Add hyperlinkAuditingEnabled.
2010-09-23 Steve VanDeBogart <vandebo@chromium.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=46312
Use Skia's SkSafeRef/SkSafeUnref functions instead of safeRef/safeUnref.
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::~FontPlatformData):
* platform/graphics/skia/GradientSkia.cpp:
(WebCore::Gradient::platformDestroy):
* platform/graphics/skia/PatternSkia.cpp:
(WebCore::Pattern::platformDestroy):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::State::~State):
(WebCore::PlatformContextSkia::drawRect):
(WebCore::PlatformContextSkia::setStrokeShader):
(WebCore::PlatformContextSkia::setFillShader):
(WebCore::PlatformContextSkia::setDashPathEffect):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::paintSkiaText):
2010-09-23 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Csaba Osztrogonác.
Fix warnings regarding print format in 64 bits
https://bugs.webkit.org/show_bug.cgi?id=46357
Use inttypes.h in order to have portable print formats across 32 and
64 bits.
* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::getFileNameForNewDatabase):
2010-09-23 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioContext files
https://bugs.webkit.org/show_bug.cgi?id=44890
No new tests since audio API is not yet implemented.
* webaudio/AudioContext.cpp: Added.
(WebCore::AudioContext::createAudioRequest):
(WebCore::AudioContext::create):
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::~AudioContext):
(WebCore::AudioContext::lazyInitialize):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::isInitialized):
(WebCore::AudioContext::isRunnable):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::document):
(WebCore::AudioContext::hasDocument):
(WebCore::AudioContext::refBuffer):
(WebCore::AudioContext::createBuffer):
(WebCore::AudioContext::createBufferSource):
(WebCore::AudioContext::createJavaScriptNode):
(WebCore::AudioContext::createLowPass2Filter):
(WebCore::AudioContext::createHighPass2Filter):
(WebCore::AudioContext::createPanner):
(WebCore::AudioContext::createConvolver):
(WebCore::AudioContext::createAnalyser):
(WebCore::AudioContext::createGainNode):
(WebCore::AudioContext::createDelayNode):
(WebCore::AudioContext::createChannelSplitter):
(WebCore::AudioContext::createChannelMerger):
(WebCore::AudioContext::notifyNodeFinishedProcessing):
(WebCore::AudioContext::derefFinishedSourceNodes):
(WebCore::AudioContext::refNode):
(WebCore::AudioContext::derefNode):
(WebCore::AudioContext::derefUnfinishedSourceNodes):
(WebCore::AudioContext::lock):
(WebCore::AudioContext::tryLock):
(WebCore::AudioContext::unlock):
(WebCore::AudioContext::isAudioThread):
(WebCore::AudioContext::isGraphOwner):
(WebCore::AudioContext::addDeferredFinishDeref):
(WebCore::AudioContext::handlePostRenderTasks):
(WebCore::AudioContext::handleDeferredFinishDerefs):
(WebCore::AudioContext::markForDeletion):
(WebCore::AudioContext::deleteMarkedNodes):
* webaudio/AudioContext.h: Added.
(WebCore::AudioContext::destination):
(WebCore::AudioContext::currentTime):
(WebCore::AudioContext::sampleRate):
(WebCore::AudioContext::listener):
(WebCore::AudioContext::temporaryMonoBus):
(WebCore::AudioContext::temporaryStereoBus):
(WebCore::AudioContext::incrementConnectionCount):
(WebCore::AudioContext::connectionCount):
(WebCore::AudioContext::setAudioThread):
(WebCore::AudioContext::audioThread):
(WebCore::AudioContext::isAudioThreadFinished):
(WebCore::AudioContext::AutoLocker::AutoLocker):
(WebCore::AudioContext::AutoLocker::~AutoLocker):
(WebCore::AudioContext::RefInfo::RefInfo):
* webaudio/AudioContext.idl: Added.
2010-09-23 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
IndexedDB shouldn't crash on invalid index names
https://bugs.webkit.org/show_bug.cgi?id=46362
For now, return null. In a later patch, we'll do proper exception raising.
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::index):
2010-09-23 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Fix the memory safety issue by checking containerObject is a RenderBox
before doing the transforms.
https://bugs.webkit.org/show_bug.cgi?id=46365
Test: compositing/overflow/get-transform-from-non-box-container.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTransformFromContainer):
2010-09-23 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=46314.
The RenderView's block-flow should match the root element's block-flow. When we create (or re-create) the style for the document, take
the block-flow from the document element's style and use it if it's available.
Also patch styleDidChange so that if the block-flow changes dynamically after we have already made the document style, we'll propagate
the change back up to the RenderView and have it do a relayout.
No tests possible yet, since you can't see the document's style anywhere, and block-flow isn't doing anything to affect layout
yet.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
2010-09-23 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: source frame popups shouldn't disappear when hovered
https://bugs.webkit.org/show_bug.cgi?id=46358
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._mouseMove):
2010-09-23 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
[Regression][Gtk] Left and Right Arrows no longer function when caret browsing is enabled
https://bugs.webkit.org/show_bug.cgi?id=45375
Consider caret browsing for Move commands.
Test: platform/gtk/editing/selection/caret-mode-left-right-arrows.html
* editing/EditorCommand.cpp:
(WebCore::createCommandMap): Use "caret browsing aware functions"
as isEnabled() function for those commands moving the caret
forward and backward across characters, words, lines or paragraphs,
not just left and right, as it was the case so far.
2010-09-23 Brad Moore <bradm@apple.com>
Reviewed by Dan Bernstein.
Address a remaining discrepancy in piecewise text measurement
https://bugs.webkit.org/show_bug.cgi?id=45796
Don't include always-integral space widths in the floating point accumulator designed
to minimize precision loss. This brings whole-string measurement in line with piecewise
text measurement when dealing with fonts with fractional advances.
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance): Change the associativity of width addition to minimize precision loss.
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Cleanup network communication code in ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=46200
Add logic for request handling directly into ResourceHandle::start and fix style.
Use Unicode instead of ASCII Windows API functions.
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onRequestComplete):
(WebCore::ResourceHandle::start):
2010-09-23 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Andreas Kling.
Invalid assertion in ScriptCallback
https://bugs.webkit.org/show_bug.cgi?id=46348
Removing invalid ASSERT from method ScriptCallback::call().
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptCallback::call):
2010-09-23 Martin Robinson <mrobinson@igalia.com>
Reviewed by Ariya Hidayat.
[Cairo] Generalize ContextShadow from the Qt port and use it for shadow code
https://bugs.webkit.org/show_bug.cgi?id=45599
Make ContextShadow platform-independent and add a Cairo implementation. This is currently
disabled for Cairo, but will be enabled in a followup patch with new baselines.
No new tests as this does not change functionality.
* GNUmakefile.am: Update source lists.
* WebCore.pro: Update source lists.
* platform/graphics/ContextShadow.cpp: Added. A generalized version of Qt's ContextShadow.
(WebCore::ContextShadow::ContextShadow):
(WebCore::ContextShadow::clear):
(WebCore::ContextShadow::blurLayerImage):
(WebCore::ContextShadow::calculateMinimalLayerRect):
* platform/graphics/ContextShadow.h: Added.
(WebCore::ContextShadow::offset):
* platform/graphics/cairo/CairoUtilities.cpp: Added.
(WebCore::setSourceRGBAFromColor): A utility to set the source RGBA on a Cairo surface from a WebCore color.
* platform/graphics/cairo/CairoUtilities.h: Added.
* platform/graphics/cairo/ContextShadowCairo.cpp: Added.
(WebCore::purgeScratchBuffer): Static function to purge the shadow buffer.
(WebCore::PurgeScratchBufferTimer::fired): Timer callback.
(WebCore::scheduleScratchBufferPurge): Schedule's a WebCore timer to purge the shadow buffer.
(WebCore::getScratchBuffer): Create or reuse the scratch buffer.
(WebCore::ContextShadow::beginShadowLayer): Added.
(WebCore::ContextShadow::endShadowLayer): Added.
* platform/graphics/gtk/CairoUtilities.cpp: Removed.
* platform/graphics/gtk/CairoUtilities.h: Removed.
* platform/graphics/gtk/GdkCairoUtilities.cpp: Renamed from CairoUtilities.cpp.
(getCairoSurfacePixel):
(getGdkPixbufPixel):
(cairoImageSurfaceToGdkPixbuf):
* platform/graphics/gtk/GdkCairoUtilities.h: Added.
* platform/graphics/gtk/ImageBufferGtk.cpp:
* platform/graphics/gtk/ImageGtk.cpp:
* platform/graphics/qt/ContextShadow.cpp: Removed.
* platform/graphics/qt/ContextShadow.h: Removed.
* platform/graphics/qt/ContextShadowQt.cpp: Added. Adapted from code originally in ContextShadow.cpp.
(WebCore::ShadowBuffer::ShadowBuffer):
(WebCore::ShadowBuffer::scratchImage):
(WebCore::ShadowBuffer::schedulePurge):
(WebCore::ShadowBuffer::timerEvent):
(WebCore::ContextShadow::beginShadowLayer):
(WebCore::ContextShadow::endShadowLayer):
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon): Updated to reflect new ContextShadow members.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::hasShadow): Updated to reflect new ContextShadow members.
(WebCore::GraphicsContext::strokeArc): Ditto.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
(WebCore::GraphicsContext::fillPath): Ditto.
(WebCore::GraphicsContext::strokePath): Ditto.
(WebCore::GraphicsContext::fillRect): Ditto.
(WebCore::GraphicsContext::fillRoundedRect): Ditto.
(WebCore::GraphicsContext::setPlatformShadow): Ditto.
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Add internetStatusCallback to ResourceHandleWin.
https://bugs.webkit.org/show_bug.cgi?id=46187
Add callback for asynchronous network transfer.
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleInternal.h:
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::callOnRedirect):
(WebCore::callOnRequestComplete):
(WebCore::ResourceHandle::internetStatusCallback):
(WebCore::ResourceHandle::onRedirect):
2010-09-23 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBTransactionCoordinator contains a broken assertion.
https://bugs.webkit.org/show_bug.cgi?id=46356
Remove the broken assertion.
* storage/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::processStartedTransactions):
2010-09-23 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: highlight DOM nodes when navigating the DOM with keyboard
https://bugs.webkit.org/show_bug.cgi?id=46346
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype.onselect):
* inspector/front-end/treeoutline.js:
(TreeOutline.prototype._treeKeyDown):
(TreeElement.prototype.selectOnMouseDown):
(TreeElement.prototype.select):
2010-09-23 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[Chromium] Build broken due to missing include in IDBTransactionBackendImpl.h
https://bugs.webkit.org/show_bug.cgi?id=46352
No new tests needed, build fix.
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStore):
* storage/IDBTransactionBackendImpl.h:
2010-09-23 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
IDBObjectStore::get should run in a transaction.
https://bugs.webkit.org/show_bug.cgi?id=44700
Implements logic for running IDBObjectStore::get() in a transaction.
Refactors the pending transaction monitor and the transaction coordinator
to use pointers instead of transaction IDs.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::didLeaveScriptContext):
* storage/IDBCursorBackendImpl.cpp:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::objectStore):
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::objectStore):
* storage/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::transactionCoordinator):
* storage/IDBFactoryBackendImpl.cpp:
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::get):
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::create):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBTask::IDBTask):
(WebCore::IDBTask::performTask):
(WebCore::createTask):
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::getInternal):
* storage/IDBObjectStoreBackendImpl.h:
* storage/IDBObjectStoreBackendInterface.h:
* storage/IDBPendingTransactionMonitor.cpp:
(WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
(WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
(WebCore::IDBPendingTransactionMonitor::abortPendingTransactions):
* storage/IDBPendingTransactionMonitor.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::~IDBRequest):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::timerFired):
* storage/IDBRequest.h:
(WebCore::IDBRequest::create):
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::objectStore):
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
(WebCore::IDBTransactionBackendImpl::run):
(WebCore::IDBTransactionBackendImpl::start):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::timerFired):
* storage/IDBTransactionBackendImpl.h:
(WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::isFinished):
* storage/IDBTransactionBackendInterface.h:
* storage/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::createTransaction):
(WebCore::IDBTransactionCoordinator::didStartTransaction):
(WebCore::IDBTransactionCoordinator::didFinishTransaction):
(WebCore::IDBTransactionCoordinator::processStartedTransactions):
* storage/IDBTransactionCoordinator.h:
2010-09-23 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WINCE] Remove usage of MemoryManager
https://bugs.webkit.org/show_bug.cgi?id=46206
MemoryManager does not provide any extra value, so remove it.
* page/wince/FrameWinCE.cpp:
(WebCore::imageFromSelection):
* platform/graphics/wince/PlatformPathWinCE.cpp:
(WebCore::drawPolygons):
2010-09-23 Darin Adler <darin@apple.com>
Reviewed by Chris Fleizach.
media/video-controls-with-mutation-event-handler.html crashing
https://bugs.webkit.org/show_bug.cgi?id=46169
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlInputElement::MediaControlInputElement): Don't take a type argument.
We can't set the type until after the element is created beacuse of reference counting rules.
(WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Don't pass the type.
(WebCore::MediaControlMuteButtonElement::create): Set the type.
(WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): More of the same.
(WebCore::MediaControlPlayButtonElement::create): Ditto.
(WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Ditto.
(WebCore::MediaControlSeekButtonElement::create): Ditto.
(WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
(WebCore::MediaControlRewindButtonElement::create): Ditto.
(WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
(WebCore::MediaControlReturnToRealtimeButtonElement::create): Ditto.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Ditto.
(WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
(WebCore::MediaControlTimelineElement::create): Ditto.
(WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Ditto.
(WebCore::MediaControlVolumeSliderElement::create): Ditto.
(WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
(WebCore::MediaControlFullscreenButtonElement::create): Ditto.
* rendering/MediaControlElements.h: Removed the type argument from the MediaControlInputElement
constructor.
2010-09-22 Luke Macpherson <macpherson@chromium.org>
Reviewed by Alexey Proskuryakov.
Don't allow empty strings as tokens in xmlhttprequest, as per rfc2616 section 2.2.
XMLHttpRequest: setRequestHeader() does not throw SYNTAX_ERR exception if the header field name is empty
https://bugs.webkit.org/show_bug.cgi?id=46151
Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name.html
* xml/XMLHttpRequest.cpp:
(WebCore::isValidToken):
2010-09-22 Kwang Yul Seo <skyul@company100.net>
Reviewed by Adam Barth.
[BREWMP] Enable touch events
https://bugs.webkit.org/show_bug.cgi?id=46321
Enable TOUCH_EVENTS by porting PlatformTouchEvent and PlatformTouchPoint.
Brew MP does not support multi touch, so enable only single touch for now.
* platform/PlatformTouchEvent.h:
* platform/PlatformTouchPoint.h:
* platform/brew/PlatformTouchEventBrew.cpp: Added.
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
* platform/brew/PlatformTouchPointBrew.cpp: Added.
(WebCore::PlatformTouchPoint::PlatformTouchPoint):
2010-09-22 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
https://bugs.webkit.org/show_bug.cgi?id=46334
* WebCore.exp.in: Export __ZN7WebCore27applicationIsMicrosoftMyDayEv.
* platform/mac/RuntimeApplicationChecks.h:
* platform/mac/RuntimeApplicationChecks.mm:
(WebCore::applicationIsMicrosoftMyDay): Determine if the embeddding
application is Microsoft My Day by checking the bundle identifier.
2010-09-22 Andy Estes <aestes@apple.com>
Rubber-stamped by Darin Adler.
Fix a typo and correct an inaccurate phrase in a comment.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
2010-09-22 Andy Estes <aestes@apple.com>
Reviewed by Adam Barth.
REGRESSION (r61285): <script /> parses differently in HTML5
https://bugs.webkit.org/show_bug.cgi?id=42909
If pre-HTML5 parser quirks are enabled, the HTMLTreeBuilder should
handle self-closing script tags like the old parser did. Specifically,
"<script />" should be treated as "<script></script>".
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
HTMLTreeBuilder with the value of usePreHTML5ParserQuirks().
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processEndTag): If the tokenizer is not
currently in DataState, this means that the current end token is fake
and was created by the tree builder to handle a self-closing script tag.
Assert that pre-HTML5 quirks are enabled and set the tokenizer's state
to DataState in this case.
(WebCore::HTMLTreeBuilder::processStartTagForInHead): If pre-HTML5
parser quirks are enabled and the script tag is self-closing, create and
procses a fake script end tag.
* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::create):
2010-09-22 Mihai Parparita <mihaip@chromium.org>
Reviewed by Darin Fisher.
[Chromium] User style layout tests don't pass on Chromium
https://bugs.webkit.org/show_bug.cgi?id=46069
Instead of making resetUserStyleCacheInAllFrames be a no-op for
Chromium, have it be controlled by a UserStyleInjectionTime enum.
Also move the UserStyleSheet::Level enum to be inside
UserStyleSheetTypes for consistency.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::pageGroupUserSheets):
* page/PageGroup.cpp:
(WebCore::PageGroup::addUserStyleSheetToWorld):
* page/PageGroup.h:
* page/UserStyleSheet.h:
(WebCore::UserStyleSheet::UserStyleSheet):
(WebCore::UserStyleSheet::level):
* page/UserStyleSheetTypes.h:
2010-09-22 Ruben <chromium@hybridsource.org>
Reviewed by Tony Chang.
[chromium] added ifdefs for FreeBSD support
https://bugs.webkit.org/show_bug.cgi?id=46316
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::platform):
* bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
(WebCore::V8InspectorFrontendHost::platformCallback):
* dom/SelectElement.cpp:
* loader/CachedFont.cpp:
* page/EventHandler.cpp:
* page/chromium/EventHandlerChromium.cpp:
* platform/Scrollbar.cpp:
* platform/chromium/ChromiumBridge.h:
* platform/graphics/chromium/FontPlatformData.h:
* platform/graphics/skia/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::createFontCustomPlatformData):
* platform/graphics/skia/FontCustomPlatformData.h:
2010-09-22 Rafael Antognolli <antognolli@profusion.mobi>
Unreviewed build fix.
[EFL] Fix build due to latest EFL (Edje) changes.
https://bugs.webkit.org/show_bug.cgi?id=46317
Make the change int -> Edje_Load_Error (enum).
No new functionality, so no new tests.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::themePartCacheEntryReset):
(WebCore::RenderThemeEfl::createEdje):
(WebCore::RenderThemeEfl::applyPartDescriptions):
* platform/efl/ScrollbarEfl.cpp:
(ScrollbarEfl::setParent):
2010-09-22 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: aria-hidden change doesn't update the ax tree
https://bugs.webkit.org/show_bug.cgi?id=45836
Test: accessibility/aria-hidden-update.html
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
2010-09-22 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
[FileSystem] Fix Flags handling in DirectoryEntry custom binding code
https://bugs.webkit.org/show_bug.cgi?id=46028
Do not use adoptRef to get RefPtr from a raw pointer that is already
adopted in toNative/toJS.
Test: fast/filesystem/flags-passing.html
* bindings/js/JSDirectoryEntryCustom.cpp:
(WebCore::JSDirectoryEntry::getFile):
(WebCore::JSDirectoryEntry::getDirectory):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
2010-09-22 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Need to stop autocorrection panel timer when selection changes.
https://bugs.webkit.org/show_bug.cgi?id=46201
<rdar://problem/8441042>
* editing/Editor.cpp:
(WebCore::Editor::appliedEditing): Stop correction timer after editing.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): When text checking is done for
showing autocorrection panel, we suppress all corrections that are not at the end of
text checking range. So that we don't replace other words while showing correction panel
for the last word.
(WebCore::Editor::stopCorrectionPanelTimer): Stop correction timer.
* editing/Editor.h: Added stopCorrectionPanelTimer() method.
2010-09-22 Eric Uhrhane <ericu@chromium.org>
Reviewed by Dumitru Daniliuc.
Add Chromium implementation for FileWriter
https://bugs.webkit.org/show_bug.cgi?id=44361
No new tests; the implementation's not yet far enough along for that.
This makes a chain of contruction-and-linking-up for various sorts of
FileWriter interfaces to call through to Chromium, and for various
sorts of FileWriterClients to call back, with object ownership always
pointing towards the Chromium API. That is, the DOM object owns an
AsyncFileWriter, which owns its implementation object, and the reverse
(client) direction is raw pointers.
File metadata is looked up before the FileWriter is returned, so that
we know the file exists and can cache its length.
The WebCore part of this is simple and generic enough to handle
Chromium, so it should be easy for me to put in a WebCore-only
implementation next.
* fileapi/AsyncFileWriter.h:
* fileapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::createWriter):
* fileapi/DOMFileSystem.h:
* fileapi/FileSystemCallbacks.cpp:
(WebCore::FileSystemCallbacksBase::didCreateFileWriter):
(WebCore::FileWriterCallbacks::FileWriterCallbacks):
(WebCore::FileWriterCallbacks::didCreateFileWriter):
* fileapi/FileSystemCallbacks.h:
* platform/AsyncFileSystem.h:
* platform/AsyncFileSystemCallbacks.h:
2010-09-22 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=46222
<rdar://problem/8461701> Document.getElementById() malfunctions if ID was changed via Attr node modification.
Test: fast/dom/Attr/change-id-via-attr-node-value.html
* dom/Attr.h:
* dom/Attr.cpp:
(WebCore::Attr::setValue): Separated a version callable from WebCore from one avaiable to JS.
Attr::setValue() can be called from Element::setAttribute(), and we don't want to update
m_elementsById (or to call attributeChanged()) twice in that case.
(WebCore::Attr::childrenChanged): If Attr's node children change, id changes.
* dom/Document.cpp: (WebCore::Document::removeElementById): Added an assertion that we are
not trying to remove something that isn't there. If we are, we probably failed to update
m_elementsById earlier.
* dom/Element.cpp: (WebCore::Element::setAttribute): If the attribute has an Attr node, its
children should be updated to match attribute value.
2010-09-22 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46311, lock form controls and replaced elements to vertical block flow.
Patch form controls that don't use RenderReplaced by hand in html.css. Patch all RenderReplaced elements
with an override of setStyle that forces the new style to have a vertical block flow. We have to do something like
this to cover the CSS3 content: url(img) method of image replacement.
* css/html.css:
(input, textarea, keygen, select, button, isindex, meter, progress):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::setStyle):
* rendering/RenderReplaced.h:
2010-09-22 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46304
display:inline should become display:inline-block when an object's block flow does not match its parent's block flow.
Added fast/blockflow/display-mutation.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::adjustRenderStyle):
* css/CSSStyleSelector.h:
2010-09-22 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Martin Robinson.
[Gtk] object:text-changed events should be emitted for entries and password text
https://bugs.webkit.org/show_bug.cgi?id=25898
Implement proper 'text-changed' signal emission for the GTK port
Call deleteTextFromNode() when needed while removing text nodes.
Do it even when removeNode() is going to be called afterwards, in
order to allow accessibility to get properly notified about the
text being removed alongside with that node.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
New function in AXObjectCache to call when text changes in a node.
Added one new function to allow notifying something changed in a
text node through the associated RenderObject, making such a
function dependant on the platform-specific implementation,
provided through a protected function (provided a proper
implementation for the GTK port and a dummy one for the others).
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::nodeTextChangeNotification): New
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXTextChange): New enumeration
(WebCore::AXObjectCache::nodeTextChangeNotification): New
(WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
* accessibility/AccessibilityRenderObject.h:
(WebCore::toAccessibilityRenderObject):
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::emitTextChanged):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification): New
Notify accessibility when something changes in a text node.
Call to AXObjectCache::nodeTextChangeNotification() to notify when
text was inserted/deleted when applying/unapplying a text edition
command, along with the offset in the original text where the
change took place and the number of characters that got affected.
* editing/AppendNodeCommand.cpp:
(WebCore::sendAXTextChangedIgnoringLineBreaks):
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
* editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
2010-09-22 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46298, add logicalWidth/Height getters/setters to RenderBox.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::logicalWidth):
(WebCore::RenderBox::logicalHeight):
(WebCore::RenderBox::setLogicalWidth):
(WebCore::RenderBox::setLogicalHeight):
* rendering/RenderBox.h:
2010-09-22 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Oliver Hunt.
Script engine agnostic ScriptCallback class
https://bugs.webkit.org/show_bug.cgi?id=43216
Refactoring class ScriptFunctionCall to create a class (ScriptCallback) that
receives a script function as a ScriptValue and calls that function with provided parameters.
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::ScriptFunctionCall):
(WebCore::ScriptCallback::ScriptCallback):
(WebCore::ScriptCallback::call):
* bindings/js/ScriptFunctionCall.h:
(WebCore::ScriptCallArgumentHandler::ScriptCallArgumentHandler):
* bindings/v8/ScriptFunctionCall.cpp:
(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::ScriptFunctionCall):
(WebCore::ScriptCallback::ScriptCallback):
(WebCore::ScriptCallback::call):
* bindings/v8/ScriptFunctionCall.h:
(WebCore::ScriptCallArgumentHandler::ScriptCallArgumentHandler):
2010-09-22 Brent Fulgham <bfulgham@webkit.org>
Unreviewed.
Build fix for invalid assertion after r68059.
* editing/ApplyStyleCommand.cpp:
(WebCore::getPropertiesNotIn): Correct assertion target after
name change.
2010-09-22 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=45957, fix regression in column rules stacking test.
Rewrite how the pagination bit gets set in RenderLayers, since it was totally broken and not
accounting for whether or not the columns block was even in the layer's containing block
hierarchy.
* rendering/RenderLayer.cpp:
(WebCore::checkContainingBlockChainForPagination):
(WebCore::RenderLayer::updatePagination):
2010-09-22 Brent Fulgham <bfulgham@webkit.org>
Unreviewed.
[WinCairo] Build fix for platform/cairo stuff after r67981.
* WebCore.vcproj/WebCore.vcproj: Add new files needed by all cairo
ports.
2010-09-22 Erik Arvidsson <arv@chromium.org>
Reviewed by Nate Chapin.
[Chromium] Fix memory model for dataset
https://bugs.webkit.org/show_bug.cgi?id=46280
This is covered by existing tests.
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
2010-09-22 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Fix wrong casts for table cell since its parent is not a RenderBlock. Remove
the redundant destroy call for empty anonymous columns or column span block.
https://bugs.webkit.org/show_bug.cgi?id=46245
Tests: fast/table/table-anonymous-block-destroy-crash.html
fast/table/table-columns-blocks-calc-crash.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
(WebCore::RenderBlock::columnsBlockForSpanningElement):
(WebCore::RenderBlock::removeChild):
2010-09-22 Matt Perry <mpcomplete@chromium.org>
Reviewed by Darin Fisher.
Trying to reland a version of r67749:
Have V8DOMWindowShell ask the embedder whether to run a V8 extension
in a particular script context.
https://bugs.webkit.org/show_bug.cgi?id=45721
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::createNewContext):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::registerExtension):
* bindings/v8/V8Proxy.h:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::allowScriptExtension):
* loader/FrameLoaderClient.h:
2010-09-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
queryCommandState returns false for Underline command when no selection is made
https://bugs.webkit.org/show_bug.cgi?id=17594
The bug was caused by selectionComputedStyle's adding -webkit-text-decorations-in-effect property
to a dummy span used to obtain the computed style when there is a typing style.
Since this property is for internal use only, the CSS parser always stripped the property.
As a result, we were always ignoring the text decorations set by the typing style.
Fixed the bug by making selectionComputedStyle directly merge the computed style of the current
caret position and the typing style. This also eliminates the need for a dummy span element.
Due to the merge, the return value of selectionComputedStyle had to be changed to CSSMutableStyleDeclaration
from CSSComputedStyleDeclaration.
Test: editing/execCommand/query-text-decoration-with-typing-style.html
* editing/ApplyStyleCommand.cpp:
(WebCore::StyleChange::init): Calls getPropertiesNotIn.
(WebCore::getPropertiesNotIn): Renamed from getPropertiesNotInComputedStyle since it takes
CSSStyleDeclaration* instead of CSSComputedStyleDeclaration* for the second argument.
(WebCore::ApplyStyleCommand::removeNonEditingProperties): Extracted from editingStyleAtPosition.
(WebCore::ApplyStyleCommand::editingStyleAtPosition): Calls removeNonEditingProperties.
* editing/ApplyStyleCommand.h:
* editing/Editor.cpp:
(WebCore::triStateOfStyle): Calls getPropertiesNotIn. Renamed from triStateOfStyleInComputedStyle
since it no longer takes CSSComputedStyleDeclaration.
(WebCore::Editor::selectionStartHasStyle): Calls selectionComputedStyle and triStateOfStyle.
(WebCore::Editor::selectionHasStyle): Ditto.
(WebCore::Editor::selectionStartCSSPropertyValue): Calls selectionComputedStyle.
(WebCore::Editor::selectionComputedStyle): See above.
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::executeToggleStyleInList): Calls selectionComputedStyle.
2010-09-22 Jamey Hicks <jamey.hicks@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Web Inspector: Remote Web Inspector support for QtWebKit
https://bugs.webkit.org/show_bug.cgi?id=43988
Runs a web debug server on port specified by QtTestBrowser
argument -remote-inspector-port. Property
_q_webInspectorServerPort of the QWebPage instance will be set
according to the argument. All pages with that property set will
be remotely inspectable.
URL for remote inspection of first QWebPage is
http://localhost:9222/webkit/inspector/inspector.html?page=1
where 1 is the number of the QWebPage instance.
The base URL yields an index page with links to the individual inspectors:
http://localhost:9222/
* WebCore.pro
2010-09-21 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release
https://bugs.webkit.org/show_bug.cgi?id=46220
* WebCore.exp.in: Updated.
* bindings/objc/ObjCEventListener.h: Use a RetainPtr for m_listener, since that
will do a CFRetain, which is right for GC rather than an -[NSObject retain],
which is not.
* bindings/objc/ObjCEventListener.mm:
(WebCore::ObjCEventListener::ObjCEventListener): Removed explicit retain.
(WebCore::ObjCEventListener::~ObjCEventListener): Removed explicit release and
added get().
(WebCore::ObjCEventListener::handleEvent): Added get();
* bridge/objc/objc_instance.mm:
(ObjcInstance::setGlobalException): Use copy/release instead of
HardRetain/HardRelease.
(ObjcInstance::moveGlobalExceptionToExecState): Ditto.
* platform/Cursor.h: Use RetainPtr for PlatformCursor on Mac.
* platform/Cursor.cpp:
(WebCore::Cursor::platformCursor): Moved this to CursorMac for the Mac.
* platform/Widget.cpp: Removed retain/releasePlatformWidget and made them
both inlines in the header file.
* platform/Widget.h: Fixed includes and added an include of RetainPtr.
Made platformWidget and setPlatformWidget non-inline on the Mac platform.
Made releasePlatformWidget and retainPlatformWidget empty inline functions
for non-GTK platforms.
* platform/graphics/mac/ImageMac.mm: Removed unneeded FoundationExtras.h
include.
* platform/mac/ClipboardMac.mm:
(WebCore::cocoaTypeFromHTMLClipboardType): use RetainPtr for the return type.
(WebCore::ClipboardMac::clearData): Use RetainPtr.
(WebCore::ClipboardMac::getData): Ditto.
(WebCore::ClipboardMac::setData): Ditto.
* platform/mac/CursorMac.mm:
(WebCore::createCustomCursor): Use RetainPtr for the return type.
(WebCore::Cursor::ensurePlatformCursor): Removed all the calls to HardRetain
since m_platformCursor is now a RetainPtr.
(WebCore::Cursor::Cursor): Ditto.
(WebCore::Cursor::operator=): Ditto. Also HardRelease.
(WebCore::Cursor::~Cursor): Ditto.
(WebCore::Cursor::platformCursor): Use get here.
* platform/mac/FoundationExtras.h: Removed all the functions except for
HardAutorelease. Later we can remove that one too.
* platform/mac/ThemeMac.mm:
(WebCore::setUpButtonCell): Changed this function to have a return value.
Otherwise we end up taking a pointer (actually a reference) to a global
variable, which does not do the right thing for GC.
(WebCore::nonDefaultButton): Added.
(WebCore::defaultButton): Added.
(WebCore::button): Changed to call two separate functions with two separate
global variables to avoid the problem with pointers to globals.
* platform/mac/WidgetMac.mm:
(WebCore::Widget::~Widget): Removed unneeded call to releasePlatformWidget.
(WebCore::Widget::platformWidget): Non-inline so we can comipile the header
plain non-Objective-C C++.
(WebCore::Widget::setPlatformWidget): Ditto.
* platform/network/mac/WebCoreURLResponse.mm:
(mimeTypeFromUTITree): Use RetainPtr for the return type.
(-[NSURLResponse adjustMIMETypeIfNecessary]): Use RetainPtr.
2010-09-22 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] r68027 caused many crashes on the bots
https://bugs.webkit.org/show_bug.cgi?id=46268
Add the appropriate OwnPtrCairo.h include which has the OwnPtr
specialization for Cairo paths. Without it, we will have memory
corruption.
* platform/graphics/cairo/PathCairo.cpp: Add OwnPtrCairo.h include.
2010-09-22 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: implement pausing on XHR
https://bugs.webkit.org/show_bug.cgi?id=46086
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::sendCallback):
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::setNativeBreakpoint):
(WebCore::InspectorController::removeNativeBreakpoint):
(WebCore::InspectorController::willInsertDOMNodeImpl):
(WebCore::InspectorController::willRemoveDOMNodeImpl):
(WebCore::InspectorController::willModifyDOMAttrImpl):
(WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
* inspector/InspectorController.h:
(WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
(WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
(WebCore::InspectorController::inspectorControllerForNode):
(WebCore::InspectorController::inspectorControllerForDocument):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::breakProgram):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorTimelineAgent.h:
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.prototype.updateStatus):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype.reset):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.debuggerPaused):
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/Settings.js:
* xml/XMLHttpRequest.h:
(WebCore::XMLHttpRequest::url):
2010-09-22 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Add local triangulation of cubic curve control points
https://bugs.webkit.org/show_bug.cgi?id=45252
Adding a localized triangulation algorithm which takes as input
the four control points of a cubic curve segment and provides both
triangles as well as the ability to walk the interior edges. The
latter will be used later to fill the interior of shapes bounded
by these cubic curves, quadratic curves and line segments.
* platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Added.
(WebCore::LoopBlinnLocalTriangulator::Triangle::contains):
(WebCore::LoopBlinnLocalTriangulator::Triangle::nextVertex):
(WebCore::LoopBlinnLocalTriangulator::Triangle::indexForVertex):
(WebCore::LoopBlinnLocalTriangulator::Triangle::makeCounterClockwise):
(WebCore::LoopBlinnLocalTriangulator::LoopBlinnLocalTriangulator):
(WebCore::LoopBlinnLocalTriangulator::reset):
(WebCore::LoopBlinnLocalTriangulator::triangulate):
(WebCore::LoopBlinnLocalTriangulator::triangulateHelper):
(WebCore::LoopBlinnLocalTriangulator::addTriangle):
(WebCore::LoopBlinnLocalTriangulator::addInteriorVertex):
(WebCore::LoopBlinnLocalTriangulator::isSharedEdge):
* platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Added.
(WebCore::LoopBlinnLocalTriangulator::Vertex::Vertex):
(WebCore::LoopBlinnLocalTriangulator::Vertex::xyCoordinates):
(WebCore::LoopBlinnLocalTriangulator::Vertex::klmCoordinates):
(WebCore::LoopBlinnLocalTriangulator::Vertex::set):
(WebCore::LoopBlinnLocalTriangulator::Vertex::end):
(WebCore::LoopBlinnLocalTriangulator::Vertex::setEnd):
(WebCore::LoopBlinnLocalTriangulator::Vertex::marked):
(WebCore::LoopBlinnLocalTriangulator::Vertex::setMarked):
(WebCore::LoopBlinnLocalTriangulator::Vertex::interior):
(WebCore::LoopBlinnLocalTriangulator::Vertex::setInterior):
(WebCore::LoopBlinnLocalTriangulator::Vertex::resetFlags):
(WebCore::LoopBlinnLocalTriangulator::Triangle::Triangle):
(WebCore::LoopBlinnLocalTriangulator::Triangle::getVertex):
(WebCore::LoopBlinnLocalTriangulator::Triangle::setVertices):
(WebCore::LoopBlinnLocalTriangulator::getVertex):
(WebCore::LoopBlinnLocalTriangulator::numberOfTriangles):
(WebCore::LoopBlinnLocalTriangulator::getTriangle):
(WebCore::LoopBlinnLocalTriangulator::numberOfInteriorVertices):
(WebCore::LoopBlinnLocalTriangulator::getInteriorVertex):
2010-09-22 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed, EFL build fix.
* CMakeListsEfl.txt:
* platform/efl/ClipboardEfl.cpp:
(WebCore::ClipboardEfl::ClipboardEfl):
2010-09-22 İsmail Dönmez <ismail@namtrac.org>
Reviewed by Andreas Kling.
[Qt] Build fix for WinCE
Add two missing stubs:
- privateBrowsingStateChanged(bool)
- bindingInstance()
* platform/qt/TemporaryLinkStubsQt.cpp:
(PluginView::privateBrowsingStateChanged):
(PluginView::bindingInstance):
2010-09-22 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] FontCustomPlatformData.cpp leaks FT_Faces
https://bugs.webkit.org/show_bug.cgi?id=16941
Attach lifetime of the FontCustomPlatformData FT_Face to the resulting cairo_font_face_t.
This will free the memory associated with the FT_Face once the cairo_font_face_t is
destroyed.
No new tests as functionality should not change.
* platform/graphics/cairo/FontCustomPlatformData.cpp:
(WebCore::releaseCustomFontData): Moved this helper method to the top of the file
and gave it a more descriptive name.
(WebCore::FontCustomPlatformData::FontCustomPlatformData): Changed the constructor to
take the FT_Face and the buffer, so to better encapsulate the creation of the cairo
face.
(WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a comment about the
fate of the FT_Face to the destructor.
(WebCore::createFontCustomPlatformData): Cleaned up the code here and moved some of the
logic into the constructor.
* platform/graphics/cairo/FontCustomPlatformData.h: Updated method definitions.
2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Kenneth Rohde Christiansen.
PluginStrategy should satisfy the needs of Qt
https://bugs.webkit.org/show_bug.cgi?id=45857
No new functionality so no new tests.
* plugins/PluginData.cpp:
(WebCore::PluginData::initPlugins):
* plugins/PluginStrategy.h: Added a |const Page*| argument to getPluginInfo.
2010-09-22 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Elements panel does not reflect changes to the text node values.
https://bugs.webkit.org/show_bug.cgi?id=46166
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::characterDataModifiedImpl):
* inspector/InspectorController.h:
(WebCore::InspectorController::characterDataModified):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::characterDataModified):
* inspector/InspectorDOMAgent.h:
(WebCore::EventListenerInfo::EventListenerInfo):
(WebCore::InspectorDOMAgent::create):
(WebCore::InspectorDOMAgent::cast):
(WebCore::InspectorDOMAgent::cssStore):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype._characterDataModified):
(WebInspector.characterDataModified):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._characterDataModified):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
2010-09-21 Ragner Magalhaes <ragner.magalhaes@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] On Maemo platform, web style is missing for some inputs
https://bugs.webkit.org/show_bug.cgi?id=46182
* css/themeQtMaemo5.css:
2010-09-22 Patrick Gansterer <paroga@webkit.org>
Unreviewed.
[WINCE] Build fix for ResourceHandleWin after r67291.
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously): Replace Frame* parameter with NetworkingContext*.
2010-09-22 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Crash due to bad cast in AXObjectCacheChromium.cpp.
https://bugs.webkit.org/show_bug.cgi?id=46237
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* page/ChromeClient.h:
(WebCore::ChromeClient::postAccessibilityNotification):
(WebCore::ChromeClient::didChangeAccessibilityObjectState):
(WebCore::ChromeClient::didChangeAccessibilityObjectChildren):
* page/chromium/ChromeClientChromium.h:
2010-09-22 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
Add HRTFElevation files
https://bugs.webkit.org/show_bug.cgi?id=45864
No new tests since audio API is not yet implemented.
* platform/audio/HRTFElevation.cpp: Added.
(WebCore::HRTFElevation::calculateSymmetricKernelsForAzimuthElevation):
(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
(WebCore::HRTFElevation::createForSubject):
(WebCore::HRTFElevation::createByInterpolatingSlices):
(WebCore::HRTFElevation::getKernelsFromAzimuth):
* platform/audio/HRTFElevation.h: Added.
(WebCore::HRTFElevation::kernelListL):
(WebCore::HRTFElevation::kernelListR):
(WebCore::HRTFElevation::elevationAngle):
(WebCore::HRTFElevation::numberOfAzimuths):
(WebCore::HRTFElevation::sampleRate):
(WebCore::HRTFElevation::HRTFElevation):
2010-09-22 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[gtk] Use the smart pointers to handle cairo_path_t
https://bugs.webkit.org/show_bug.cgi?id=46212
Modified the code to use smart pointers with cairo_path_t
variables.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::appendPathToCairoContext):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::drawTiledShadow):
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::Path):
(WebCore::Path::operator=):
(WebCore::Path::apply):
(WebCore::Path::debugString):
2010-09-22 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Implement Image::loadPlatformResource
https://bugs.webkit.org/show_bug.cgi?id=45873
Load images from the resource directory.
* platform/graphics/brew/ImageBrew.cpp: Added.
(WebCore::Image::loadPlatformResource):
2010-09-22 Chris Rogers <crogers@google.com>
Reviewed by James Robinson.
Add HRTFKernel files
https://bugs.webkit.org/show_bug.cgi?id=45863
No new tests since audio API is not yet implemented.
* platform/audio/HRTFKernel.cpp: Added.
(WebCore::extractAverageGroupDelay):
(WebCore::HRTFKernel::HRTFKernel):
(WebCore::HRTFKernel::createImpulseResponse):
(WebCore::HRTFKernel::createInterpolatedKernel):
* platform/audio/HRTFKernel.h: Added.
(WebCore::HRTFKernel::create):
(WebCore::HRTFKernel::fftFrame):
(WebCore::HRTFKernel::fftSize):
(WebCore::HRTFKernel::frameDelay):
(WebCore::HRTFKernel::sampleRate):
(WebCore::HRTFKernel::nyquist):
(WebCore::HRTFKernel::HRTFKernel):
2010-09-22 Kent Tamura <tkent@chromium.org>
Reviewed by Chris Fleizach.
Support keyboard operations for <input type=range>.
https://bugs.webkit.org/show_bug.cgi?id=45803
Increasing the value with Up/Right arrow keys by its step value,
and decreasing with Down/Left arrow keys. If an input element has
step=any attribute, increasing/decreasing by 1/100 of max-min.
Note: This change is not useful on Mac because users can't set
focus on range controls.
Test: fast/forms/range-keyoperation.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
Calls handleKeyEventForRange() for RANGE and key events.
(WebCore::HTMLInputElement::handleKeyEventForRange):
* html/HTMLInputElement.h: Add handleKeyEventForRange() declaration.
2010-09-22 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
[Gtk] Incorrect exposure of list items whose children are elements
https://bugs.webkit.org/show_bug.cgi?id=45383
Set ATK_ROLE_LIST_ITEM looking for the role of the parent object
Test: platform/gtk/accessibility/list-items-always-exposed.html
* accessibility/gtk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Always include objects with ListItemRole in accessibility for GTK.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(getInterfaceMaskFromObject): Add some specific code to handle the
special case of list markers by implementing AtkText when needed.
2010-09-22 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Make FilterEffects independent of SVG
https://bugs.webkit.org/show_bug.cgi?id=46177
Moving all FilterEffects from svg/graphics/filters to platform/graphics/filters, now that they
are independent of SVG. Removed the SVG prefix of the files and updated the headers.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/DistantLightSource.h: Copied from WebCore/svg/graphics/filters/SVGDistantLightSource.h.
* platform/graphics/filters/FEConvolveMatrix.cpp: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp.
* platform/graphics/filters/FEConvolveMatrix.h: Copied from WebCore/svg/graphics/filters/SVGFEConvolveMatrix.h.
* platform/graphics/filters/FEDiffuseLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.cpp.
* platform/graphics/filters/FEDiffuseLighting.h: Copied from WebCore/svg/graphics/filters/SVGFEDiffuseLighting.h.
* platform/graphics/filters/FEDisplacementMap.cpp: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.cpp.
* platform/graphics/filters/FEDisplacementMap.h: Copied from WebCore/svg/graphics/filters/SVGFEDisplacementMap.h.
* platform/graphics/filters/FEFlood.cpp: Copied from WebCore/svg/graphics/filters/SVGFEFlood.cpp.
* platform/graphics/filters/FEFlood.h: Copied from WebCore/svg/graphics/filters/SVGFEFlood.h.
* platform/graphics/filters/FELighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFELighting.cpp.
* platform/graphics/filters/FELighting.h: Copied from WebCore/svg/graphics/filters/SVGFELighting.h.
* platform/graphics/filters/FEMerge.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMerge.cpp.
* platform/graphics/filters/FEMerge.h: Copied from WebCore/svg/graphics/filters/SVGFEMerge.h.
* platform/graphics/filters/FEMorphology.cpp: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.cpp.
* platform/graphics/filters/FEMorphology.h: Copied from WebCore/svg/graphics/filters/SVGFEMorphology.h.
* platform/graphics/filters/FEOffset.cpp: Copied from WebCore/svg/graphics/filters/SVGFEOffset.cpp.
* platform/graphics/filters/FEOffset.h: Copied from WebCore/svg/graphics/filters/SVGFEOffset.h.
* platform/graphics/filters/FESpecularLighting.cpp: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.cpp.
* platform/graphics/filters/FESpecularLighting.h: Copied from WebCore/svg/graphics/filters/SVGFESpecularLighting.h.
* platform/graphics/filters/FETile.cpp: Copied from WebCore/svg/graphics/filters/SVGFETile.cpp.
* platform/graphics/filters/FETile.h: Copied from WebCore/svg/graphics/filters/SVGFETile.h.
* platform/graphics/filters/FETurbulence.cpp: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.cpp.
* platform/graphics/filters/FETurbulence.h: Copied from WebCore/svg/graphics/filters/SVGFETurbulence.h.
* platform/graphics/filters/LightSource.cpp: Copied from WebCore/svg/graphics/filters/SVGLightSource.cpp.
* platform/graphics/filters/LightSource.h: Copied from WebCore/svg/graphics/filters/SVGLightSource.h.
* platform/graphics/filters/PointLightSource.h: Copied from WebCore/svg/graphics/filters/SVGPointLightSource.h.
* platform/graphics/filters/SpotLightSource.h: Copied from WebCore/svg/graphics/filters/SVGSpotLightSource.h.
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDiffuseLightingElement.cpp:
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEDistantLightElement.cpp:
* svg/SVGFEFloodElement.h:
* svg/SVGFELightElement.h:
* svg/SVGFEMergeElement.h:
* svg/SVGFEMorphologyElement.h:
* svg/SVGFEOffsetElement.h:
* svg/SVGFEPointLightElement.cpp:
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFESpotLightElement.cpp:
* svg/SVGFETileElement.h:
* svg/SVGFETurbulenceElement.h:
* svg/graphics/filters/SVGDistantLightSource.h: Removed.
* svg/graphics/filters/SVGFEConvolveMatrix.cpp: Removed.
* svg/graphics/filters/SVGFEConvolveMatrix.h: Removed.
* svg/graphics/filters/SVGFEDiffuseLighting.cpp: Removed.
* svg/graphics/filters/SVGFEDiffuseLighting.h: Removed.
* svg/graphics/filters/SVGFEDisplacementMap.cpp: Removed.
* svg/graphics/filters/SVGFEDisplacementMap.h: Removed.
* svg/graphics/filters/SVGFEFlood.cpp: Removed.
* svg/graphics/filters/SVGFEFlood.h: Removed.
* svg/graphics/filters/SVGFELighting.cpp: Removed.
* svg/graphics/filters/SVGFELighting.h: Removed.
* svg/graphics/filters/SVGFEMerge.cpp: Removed.
* svg/graphics/filters/SVGFEMerge.h: Removed.
* svg/graphics/filters/SVGFEMorphology.cpp: Removed.
* svg/graphics/filters/SVGFEMorphology.h: Removed.
* svg/graphics/filters/SVGFEOffset.cpp: Removed.
* svg/graphics/filters/SVGFEOffset.h: Removed.
* svg/graphics/filters/SVGFESpecularLighting.cpp: Removed.
* svg/graphics/filters/SVGFESpecularLighting.h: Removed.
* svg/graphics/filters/SVGFETile.cpp: Removed.
* svg/graphics/filters/SVGFETile.h: Removed.
* svg/graphics/filters/SVGFETurbulence.cpp: Removed.
* svg/graphics/filters/SVGFETurbulence.h: Removed.
* svg/graphics/filters/SVGLightSource.cpp: Removed.
* svg/graphics/filters/SVGLightSource.h: Removed.
* svg/graphics/filters/SVGPointLightSource.h: Removed.
* svg/graphics/filters/SVGSpotLightSource.h: Removed.
2010-09-22 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
[WIN] Add internetHandle to WebCoreSynchronousLoader.
https://bugs.webkit.org/show_bug.cgi?id=46185
For loading content via network the WebCoreSynchronousLoader needs its own (synchronous) internetHandle.
This also adds asynchronousInternetHandle() to create a static asynchronous internetHandle.
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::createInternetHandle):
(WebCore::asynchronousInternetHandle):
(WebCore::WebCoreSynchronousLoader::internetHandle):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Create synchronous internetHandle.
(WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Delete synchronous internetHandle.
2010-09-22 Kwang Yul Seo <skyul@company100.net>
Reviewed by Chris Fleizach.
[chromium] Remove unused sys/types.h in VDMXParser.cpp
https://bugs.webkit.org/show_bug.cgi?id=46136
sys/types.h is not needed here.
* platform/graphics/chromium/VDMXParser.cpp:
2010-09-22 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Change the home directory path to the WebKit module directory
https://bugs.webkit.org/show_bug.cgi?id=45895
AEEFS_HOME_DIR denotes the currently running application's directory.
Change it to fs:/~<clsid> to use the WebKit module directory as home.
* platform/brew/FileSystemBrew.cpp:
(WebCore::homeDirectoryPath):
2010-09-22 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Add dummy Pasteboard
https://bugs.webkit.org/show_bug.cgi?id=46107
Pasteboard is not supported yet. Add dummy implementation to avoid link errors.
* platform/brew/PasteboardBrew.cpp: Added.
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::writeImage):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):
2010-09-21 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
Each EntityMaskIn* needs explanation
https://bugs.webkit.org/show_bug.cgi?id=44833
Added a description as to why we escape nbsp when serializing HTML documents but not when serializing XML documents.
* editing/markup.cpp:
2010-09-21 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
cleanup: removeInlineStyleFromElement and extractInlineStyleToPushDown should be merged
https://bugs.webkit.org/show_bug.cgi?id=46205
Cleanup required to fix the bug 27818. Added the style extraction mechanism to removeInlineStyleFromElement
and removeCSSStyle and replaced the call to extractInlineStyleToPushDown by a call to removeInlineStyleFromElement.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added extractedStyle argument.
(WebCore::ApplyStyleCommand::removeCSSStyle): Added extractedStyle argument.
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement instead of
extractInlineStyleToPushDown which has been deleted.
* editing/ApplyStyleCommand.h:
2010-09-21 Andrew Wilson <atwilson@chromium.org>
Unreviewed, rolling out r67982.
http://trac.webkit.org/changeset/67982
https://bugs.webkit.org/show_bug.cgi?id=45156
Causes crashes on chromium testshell
* WebCore.gypi:
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::handleScrolledToAnchor):
* dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::setFocusedNode):
* editing/SelectionController.h:
* editing/chromium/SelectionControllerChromium.cpp: Removed.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* page/chromium/ChromeClientChromium.h:
2010-09-21 Cosmin Truta <ctruta@chromium.org>
Reviewed by James Robinson.
RenderImage::intrinsicSizeChanged crashes when m_imageResource is missing
https://bugs.webkit.org/show_bug.cgi?id=46120
Avoid applying operator -> to m_imageResource when its underlying pointer is NULL.
* rendering/RenderImage.h:
(WebCore::RenderImage::intrinsicSizeChanged): Checked m_imageResource.
* html/HTMLImageElement.cpp:
(HTMLImageElement::createRenderer): Fixed indentation.
2010-09-21 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
[chromium] Remove GLES2Context and WebGLES2Context
https://bugs.webkit.org/show_bug.cgi?id=46131
Removed now-obsolete GLES2Context and WebGLES2Context classes, and
dependency on command buffer client code from WebCore. Built and
tested 3D CSS and WebGL content on Mac OS X to test.
* WebCore.gypi:
* platform/chromium/GLES2Context.h: Removed.
* platform/graphics/skia/ImageSkia.cpp:
2010-09-21 Geoffrey Garen <ggaren@apple.com>
Try to fix the Windows build.
* loader/Cache.cpp:
(WebCore::Cache::makeResourcePurgeable):
(WebCore::Cache::evict): Cast to int before using unary '-', to avoid an
MSVC warning.
2010-09-21 Pratik Solanki <psolanki@apple.com>
Reviewed by Geoffrey Garen and Darin Adler.
Use purgeable memory to keep more dead resources in cache
https://bugs.webkit.org/show_bug.cgi?id=44806
<rdar://problem/8350901>
This changes the behavior of dead resources in the WebCore cache to be the following if
shouldMakeResourcePurgeableOnEviction() returns true.
1. Dead resources in the cache are kept in non-purgeable memory.
2. When we prune dead resources, instead of freeing them, we mark their memory as purgeable
and keep the resources until the kernel reclaims the purgeable memory.
By leaving the in-cache dead resources in dirty resident memory, we decrease the likelihood
of the kernel claiming that memory and forcing us to refetch the resource (for example when
a user presses back).
And by having an unbounded number of resource objects using purgeable memory, we can use
as much memory as is available on the machine. The trade-off is that the CachedResource
object (and its member variables) are allocated in non-purgeable TC-malloc'd memory so
we would see slightly more memory use due to this.
* loader/Cache.cpp:
(WebCore::Cache::resourceForURL): Adjust sizes appropriately if we made resource memory
non-purgeable.
(WebCore::Cache::pruneDeadResources): When removing dead resources, try first to mark their
memory as purgeable. If not, evict the resource.
(WebCore::Cache::makeResourcePurgeable): Added. Try to mark resource
memory as purgeable. If successful, adjust the sizes so that we don't
factor this resources size in the Cache size calculation.
(WebCore::Cache::evict): Don't decrement size if we already did it in makeResourcePurgeable.
(WebCore::Cache::dumpLRULists): Extra debug logging.
* loader/Cache.h:
(WebCore::Cache::shouldMakeResourcePurgeableOnEviction): Added. Indicates if the new
behaviour is enabled.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::allClientsRemoved): Do not mark memory as purgeable. The
Cache class takes care of this.
* loader/CachedImage.cpp:
(WebCore::CachedImage::destroyDecodedData): Ditto.
* loader/CachedScript.cpp:
(WebCore::CachedScript::destroyDecodedData): Ditto.
2010-09-21 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7729077> Extending the selection to sentence boundary after a line break may select extra character
https://bugs.webkit.org/show_bug.cgi?id=46232
Test: editing/selection/extend-by-sentence-002.html
* editing/visible_units.cpp:
(WebCore::nextBoundary): The text iterators range end can be the position after
the line break, in which case the next visible is actually after the first character
of the next sentence. Instead, advance the text iterator past the newline character
and return the beginning of its range, which is guaranteed to still be before the
next sentence.
2010-09-21 Robert Hogan <robert@webkit.org>
Rubber-stamped by Ariya Hidayat.
[Qt] Build fix against qt trunk
* platform/graphics/qt/ContextShadow.cpp:
(WebCore::ContextShadow::beginShadowLayer):
2010-09-21 Tony Chang <tony@chromium.org>
Unreviewed, QT build fix.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::ClipboardQt):
2010-09-21 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
https://bugs.webkit.org/show_bug.cgi?id=46134
* WebCore.exp.in: Export __ZN7WebCore32applicationIsAOLInstantMessengerEv.
* platform/mac/RuntimeApplicationChecks.h:
* platform/mac/RuntimeApplicationChecks.mm:
(WebCore::applicationIsAOLInstantMessenger): Determine if the embedding
application is AOL Instant Messenger by checking the bundle identifier.
2010-09-21 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Send webkit accessibility notifications to Chromium.
https://bugs.webkit.org/show_bug.cgi?id=45156
* WebCore.gypi:
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::handleScrolledToAnchor):
* dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::setFocusedNode):
* editing/SelectionController.h:
* editing/chromium/SelectionControllerChromium.cpp: Added.
(WebCore::SelectionController::notifyAccessibilityForSelectionChange):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* page/chromium/ChromeClientChromium.h:
2010-09-21 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[gtk] Move copyContextProperties outside the GraphicsContextCairo
https://bugs.webkit.org/show_bug.cgi?id=46179.
Moved the copyContextProperties function to the CairoUtilities so
we can use it outside GraphicsContextCairo. We moved also the old
gtk CairoUtilities file to GdkCairoUtilities and added the new
file in the cairo directory.
* GNUmakefile.am:
* platform/graphics/cairo/CairoUtilities.cpp: Added.
(WebCore::copyContextProperties):
* platform/graphics/cairo/CairoUtilities.h: Added.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/gtk/CairoUtilities.cpp: Removed.
* platform/graphics/gtk/CairoUtilities.h: Removed.
* platform/graphics/gtk/GdkCairoUtilities.cpp: Added.
(getCairoSurfacePixel):
(getGdkPixbufPixel):
(cairoImageSurfaceToGdkPixbuf):
* platform/graphics/gtk/GdkCairoUtilities.h: Added.
* platform/graphics/gtk/ImageBufferGtk.cpp:
* platform/graphics/gtk/ImageGtk.cpp:
2010-09-21 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by James Robinson.
[chromium] Cleaned up LayerRendererChromium::prepareToDrawLayers
logic to avoid unnecessary copy operations if the existing root layer
contents aren't useful for scrolling. Also removed call to updateLayersRecursive()
as the composited layer update is actually happening in the drawLayers() method.
https://bugs.webkit.org/show_bug.cgi?id=46199
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::prepareToDrawLayers):
2010-09-21 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
Change Clipboard to use an enum instead of isForDragging = true/false
https://bugs.webkit.org/show_bug.cgi?id=46004
No new tests, since it's just a refactoring change.
* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::setDragImage):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::V8Clipboard::setDragImageCallback):
* dom/Clipboard.cpp:
(WebCore::Clipboard::Clipboard):
(WebCore::Clipboard::setDropEffect):
(WebCore::Clipboard::setEffectAllowed):
* dom/Clipboard.h:
(WebCore::Clipboard::isForCopyAndPaste):
(WebCore::Clipboard::isForDragAndDrop):
* editing/android/EditorAndroid.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/brew/EditorBrew.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/chromium/EditorChromium.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/haiku/EditorHaiku.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/mac/EditorMac.mm:
(WebCore::Editor::newGeneralClipboard):
* editing/wx/EditorWx.cpp:
(WebCore::Editor::newGeneralClipboard):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* page/haiku/EventHandlerHaiku.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::createDraggingClipboard):
* page/qt/EventHandlerQt.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* page/wx/EventHandlerWx.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* platform/android/ClipboardAndroid.cpp:
(WebCore::ClipboardAndroid::ClipboardAndroid):
(WebCore::ClipboardAndroid::clearData):
(WebCore::ClipboardAndroid::clearAllData):
(WebCore::ClipboardAndroid::setData):
* platform/android/ClipboardAndroid.h:
* platform/brew/ClipboardBrew.cpp:
(WebCore::ClipboardBrew::ClipboardBrew):
(WebCore::ClipboardBrew::clearData):
(WebCore::ClipboardBrew::clearAllData):
(WebCore::ClipboardBrew::setData):
* platform/brew/ClipboardBrew.h:
* platform/chromium/ClipboardChromium.cpp:
(WebCore::Clipboard::create):
(WebCore::ClipboardChromium::ClipboardChromium):
(WebCore::ClipboardChromium::create):
(WebCore::ClipboardChromium::getData):
* platform/chromium/ClipboardChromium.h:
* platform/efl/ClipboardEfl.cpp:
(WebCore::Editor::newGeneralClipboard):
(WebCore::ClipboardEfl::ClipboardEfl):
* platform/efl/ClipboardEfl.h:
(WebCore::ClipboardEfl::create):
* platform/gtk/ClipboardGtk.cpp:
(WebCore::Editor::newGeneralClipboard):
(WebCore::Clipboard::create):
(WebCore::ClipboardGtk::ClipboardGtk):
(WebCore::dataObjectTypeFromHTMLClipboardType):
(WebCore::ClipboardGtk::clearData):
(WebCore::ClipboardGtk::getData):
(WebCore::ClipboardGtk::setData):
* platform/gtk/ClipboardGtk.h:
(WebCore::ClipboardGtk::create):
* platform/haiku/ClipboardHaiku.cpp:
(WebCore::Clipboard::create):
(WebCore::ClipboardHaiku::ClipboardHaiku):
* platform/haiku/ClipboardHaiku.h:
(WebCore::ClipboardHaiku::create):
* platform/mac/ClipboardMac.h:
(WebCore::ClipboardMac::create):
* platform/mac/ClipboardMac.mm:
(WebCore::Clipboard::create):
(WebCore::ClipboardMac::ClipboardMac):
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::ClipboardQt):
(WebCore::ClipboardQt::~ClipboardQt):
(WebCore::ClipboardQt::clearData):
(WebCore::ClipboardQt::clearAllData):
(WebCore::ClipboardQt::setData):
(WebCore::ClipboardQt::declareAndWriteDragImage):
(WebCore::ClipboardQt::writeURL):
(WebCore::ClipboardQt::writeRange):
(WebCore::ClipboardQt::writePlainText):
* platform/qt/ClipboardQt.h:
(WebCore::ClipboardQt::create):
* platform/win/ClipboardWin.cpp:
(WebCore::Clipboard::create):
(WebCore::ClipboardWin::ClipboardWin):
(WebCore::ClipboardWin::clearData):
(WebCore::ClipboardWin::clearAllData):
(WebCore::ClipboardWin::setData):
(WebCore::ClipboardWin::setExternalDataObject):
* platform/win/ClipboardWin.h:
(WebCore::ClipboardWin::create):
* platform/win/EditorWin.cpp:
(WebCore::Editor::newGeneralClipboard):
* platform/wx/ClipboardWx.cpp:
(WebCore::ClipboardWx::ClipboardWx):
* platform/wx/ClipboardWx.h:
(WebCore::ClipboardWx::create):
2010-09-21 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Take isValueList() checks out of the asserts for memory safety.
https://bugs.webkit.org/show_bug.cgi?id=46194
Test: editing/execCommand/apply-style-text-decoration-crash.html
* editing/ApplyStyleCommand.cpp:
(WebCore::StyleChange::extractTextStyles):
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
2010-09-21 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Fixing double translation of composited layers when scrolling.
The scrolling transform is now applied by a separate layer maintained in
the RenderLayerCompositor.
https://bugs.webkit.org/show_bug.cgi?id=46193
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
2010-09-21 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46196, add marginStart/Before/End/After accessors to RenderBoxModelObject.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::marginBefore):
(WebCore::RenderBox::marginAfter):
(WebCore::RenderBox::marginStart):
(WebCore::RenderBox::marginEnd):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.h:
* rendering/RenderInline.cpp:
(WebCore::computeMargin):
(WebCore::RenderInline::marginLeft):
(WebCore::RenderInline::marginRight):
(WebCore::RenderInline::marginTop):
(WebCore::RenderInline::marginBottom):
(WebCore::RenderInline::marginStart):
(WebCore::RenderInline::marginEnd):
* rendering/RenderInline.h:
(WebCore::RenderInline::marginBefore):
(WebCore::RenderInline::marginAfter):
2010-09-21 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46190, add borderStart/Before/End/After accessors to RenderBoxModelObject.
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::borderBefore):
(WebCore::RenderBoxModelObject::borderAfter):
(WebCore::RenderBoxModelObject::borderStart):
(WebCore::RenderBoxModelObject::borderEnd):
(WebCore::RenderBoxModelObject::borderAndPaddingLogicalHeight):
(WebCore::RenderBoxModelObject::borderAndPaddingLogicalWidth):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):
* rendering/RenderTableCell.h:
2010-09-21 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] 'make dist' should be fixed in preparation for the next release
https://bugs.webkit.org/show_bug.cgi?id=46129
* GNUmakefile.am: Update the sources list to include missing headers.
2010-09-21 David Hyatt <hyatt@apple.com>
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=46188, make the cross-platform setPrinting method match the Mac version of the method.
Specifically don't pass the page size down to subframes of the one you're printing.
* page/Frame.cpp:
(WebCore::Frame::setPrinting):
2010-09-21 Patrick Gansterer <paroga@webkit.org>
Reviewed by Adam Roben.
Use WTF::Vector for storing formData in ResourceHandleWin.
https://bugs.webkit.org/show_bug.cgi?id=46180
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onHandleCreated):
(WebCore::ResourceHandle::onRequestComplete):
2010-09-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Andreas Kling.
[Qt] Check if the reply has been deleted before finishing a network request
https://bugs.webkit.org/show_bug.cgi?id=46174
A crash can happen with the following sequence:
1. QNetworkReplyHandler::abort() emits reply->deleteLater()
2. QNAM emits QNetworkReply::finished() -> calls QNetworkReplyHandler::finish()
3. event loop would call reply->deleteLater()
However a crash occurs since m_reply == 0 on step 2.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::finish):
2010-09-21 Jochen Eisinger <jochen@chromium.org>
Reviewed by Jeremy Orlow.
Use @ to concatenate the database name and the database identifier when building
the filename to use for indexed databases. That character is valid for filenames
but cannot occur in a database identifier derived from a security origin.
https://bugs.webkit.org/show_bug.cgi?id=46178
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::databaseFileName):
2010-09-21 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods
https://bugs.webkit.org/show_bug.cgi?id=45891
Tested by existing DeviceOrientation tests.
* dom/DeviceMotionClient.h:
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::~DeviceMotionController):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationClient.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::~DeviceOrientationController):
* dom/DeviceOrientationController.h:
* loader/EmptyClients.h:
(WebCore::EmptyDeviceMotionClient::deviceOrientationControllerDestroyed):
(WebCore::EmptyDeviceOrientationClient::deviceOrientationControllerDestroyed):
* platform/mock/DeviceOrientationClientMock.h:
(WebCore::DeviceOrientationClientMock::deviceOrientationControllerDestroyed):
2010-09-21 Jochen Eisinger <jochen@chromium.org>
Reviewed by Jeremy Orlow.
Factor out the file name used for a given indexed database to a static method.
https://bugs.webkit.org/show_bug.cgi?id=46090
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::openSQLiteDatabase):
(WebCore::IDBFactoryBackendImpl::databaseFileName):
* storage/IDBFactoryBackendImpl.h:
2010-09-21 Dirk Schulze <krit@webkit.org>
SVG Filter cleanup
https://bugs.webkit.org/show_bug.cgi?id=45612
Unreviewed change of epsilon back to a more tolerant value in RenderTreeAsText and made it a static const.
This should turn the bots green again.
* rendering/RenderTreeAsText.cpp:
(WebCore::hasFractions):
2010-09-21 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46125, convert table cell intrinsic padding from top/bottom-based
to before/after-based. A vertical text table can have intrinsic padding built into the left/right
direction (and this allows the base class logical padding methods on RenderBoxModelObject to be safe to use).
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::paddingTop):
(WebCore::RenderTableCell::paddingBottom):
(WebCore::RenderTableCell::paddingLeft):
(WebCore::RenderTableCell::paddingRight):
(WebCore::RenderTableCell::paddingBefore):
(WebCore::RenderTableCell::paddingAfter):
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::setIntrinsicPaddingBefore):
(WebCore::RenderTableCell::setIntrinsicPaddingAfter):
(WebCore::RenderTableCell::setIntrinsicPadding):
(WebCore::RenderTableCell::intrinsicPaddingBefore):
(WebCore::RenderTableCell::intrinsicPaddingAfter):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowHeight):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::writeTextRun):
2010-09-21 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG Filter cleanup
https://bugs.webkit.org/show_bug.cgi?id=45612
Second cleanup patch. Modified files to follow webkit style. Removed dependencies
to SVG of most of the filter effects and prepared them to move from WebCore/svg/graphics/filters
to WebCore/platform/graphics/filters/.
Renamed calculateDrawingIntRect and calculateDrawingRect to requestedRegionOfInputImageData and
drawingRegionOfInputImage to clarify the functionality and make both functions distinguishable.
* platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::apply):
* platform/graphics/filters/FEBlend.h:
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::apply):
* platform/graphics/filters/FEColorMatrix.h:
* platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::apply):
* platform/graphics/filters/FEComponentTransfer.h:
(WebCore::ComponentTransferFunction::ComponentTransferFunction):
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::apply):
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::apply):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/Filter.h:
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::requestedRegionOfInputImageData):
(WebCore::FilterEffect::drawingRegionOfInputImage):
(WebCore::FilterEffect::effectContext):
* platform/graphics/filters/FilterEffect.h:
* platform/graphics/filters/ImageBufferFilter.cpp:
* platform/graphics/filters/ImageBufferFilter.h:
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::apply):
* platform/graphics/filters/SourceAlpha.h:
(WebCore::SourceAlpha::isSourceInput):
(WebCore::SourceAlpha::SourceAlpha):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::apply):
* platform/graphics/filters/SourceGraphic.h:
(WebCore::SourceGraphic::isSourceInput):
(WebCore::SourceGraphic::SourceGraphic):
* rendering/RenderTreeAsText.cpp:
(WebCore::hasFractions):
(WebCore::operator<<):
* rendering/RenderTreeAsText.h:
(WebCore::operator<<):
* rendering/SVGRenderTreeAsText.cpp:
* rendering/SVGRenderTreeAsText.h:
* svg/graphics/filters/SVGFEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::apply):
* svg/graphics/filters/SVGFEConvolveMatrix.h:
* svg/graphics/filters/SVGFEDiffuseLighting.cpp:
* svg/graphics/filters/SVGFEDiffuseLighting.h:
* svg/graphics/filters/SVGFEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::apply):
* svg/graphics/filters/SVGFEDisplacementMap.h:
* svg/graphics/filters/SVGFEFlood.cpp:
(WebCore::FEFlood::apply):
(WebCore::FEFlood::externalRepresentation):
* svg/graphics/filters/SVGFEFlood.h:
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::apply):
* svg/graphics/filters/SVGFEImage.h:
* svg/graphics/filters/SVGFELighting.cpp:
(WebCore::FELighting::apply):
* svg/graphics/filters/SVGFELighting.h:
* svg/graphics/filters/SVGFEMerge.cpp:
(WebCore::FEMerge::apply):
* svg/graphics/filters/SVGFEMerge.h:
* svg/graphics/filters/SVGFEMorphology.cpp:
(WebCore::FEMorphology::apply):
* svg/graphics/filters/SVGFEMorphology.h:
* svg/graphics/filters/SVGFEOffset.cpp:
(WebCore::FEOffset::apply):
* svg/graphics/filters/SVGFEOffset.h:
* svg/graphics/filters/SVGFESpecularLighting.cpp:
* svg/graphics/filters/SVGFESpecularLighting.h:
* svg/graphics/filters/SVGFETile.cpp:
(WebCore::FETile::apply):
* svg/graphics/filters/SVGFETile.h:
* svg/graphics/filters/SVGFETurbulence.cpp:
(WebCore::FETurbulence::apply):
* svg/graphics/filters/SVGFETurbulence.h:
2010-09-20 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GTK] enhanced context menu for media elements
https://bugs.webkit.org/show_bug.cgi?id=45021
New items in the media Element context menu:
- play/pause
- mute/unmute
- controls display control
- switch to fullscreen (for video only)
- loop playback control
- copy media url to clipboard
- open in new window
Test: media/context-menu-actions.html
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
(WebCore::ContextMenu::checkOrEnableIfNeeded):
* platform/ContextMenuItem.h:
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
* platform/LocalizedStrings.h:
* platform/android/LocalizedStringsAndroid.cpp:
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
* platform/brew/LocalizedStringsBrew.cpp:
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::gtkStockIDFromContextMenuAction):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
* platform/haiku/LocalizedStringsHaiku.cpp:
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
* platform/wx/LocalizedStringsWx.cpp:
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteMediaURL):
(WebCore::HitTestResult::mediaSupportsFullscreen):
(WebCore::HitTestResult::mediaElement):
(WebCore::HitTestResult::toggleMediaControlsDisplay):
(WebCore::HitTestResult::toggleMediaLoopPlayback):
(WebCore::HitTestResult::enterFullscreenForVideo):
(WebCore::HitTestResult::mediaControlsEnabled):
(WebCore::HitTestResult::mediaLoopEnabled):
(WebCore::HitTestResult::mediaPlaying):
(WebCore::HitTestResult::toggleMediaPlayState):
(WebCore::HitTestResult::mediaHasAudio):
(WebCore::HitTestResult::mediaMuted):
(WebCore::HitTestResult::toggleMediaMuteState):
* rendering/HitTestResult.h:
2010-09-20 Kwang Yul Seo <skyul@company100.net>
Reviewed by Daniel Bates.
[BREWMP] Handle tab key
https://bugs.webkit.org/show_bug.cgi?id=46104
In Brew MP, AVK_FUNCTION is the key code for tab.
Process AVK_FUNCTION as tab in PlatformKeyboardEvent.
* platform/brew/PlatformKeyboardEventBrew.cpp:
(WebCore::keyIdentifierForBrewKeyCode):
(WebCore::windowsKeyCodeForKeyEvent):
2010-09-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r67918.
http://trac.webkit.org/changeset/67918
https://bugs.webkit.org/show_bug.cgi?id=46162
Broke chromium win compile (Requested by jamesr on #webkit).
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Renamed from WebCore/platform/graphics/skia/GlyphPageTreeNodeSkia.cpp.
(WebCore::GlyphPage::fill):
2010-09-20 Daniel Bates <dbates@rim.com>
Reviewed by Dan Bernstein.
Cleanup: Extract common border radii expansion code in
RenderBoxModelObject::paintBoxShadow() into function
https://bugs.webkit.org/show_bug.cgi?id=45934
Extracted code for expanding and clamping the border radii
into common function to remove duplicate code.
No functionality was changed. So, no new tests.
* rendering/RenderBoxModelObject.cpp:
(WebCore::uniformlyExpandBorderRadii): Added.
(WebCore::RenderBoxModelObject::paintBoxShadow): Moved common code to uniformlyExpandBorderRadii().
2010-09-20 Kwang Yul Seo <skyul@company100.net>
Reviewed by James Robinson.
Make sure skia is not Chromium specific
https://bugs.webkit.org/show_bug.cgi?id=39672
GGlyphPageTreeNodeLinux does not depend on Linux or Chromium.
Move GGlyphPageTreeNodeLinux to platform/graphics/skia and rename it to
GlyphPageTreeNodeSkia.cpp so that other ports can use it.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Removed.
* platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added.
2010-09-20 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Add NoStaticTables attributes to IDLs of FileSystem API for Worker support
https://bugs.webkit.org/show_bug.cgi?id=46021
Added NoStaticTables attributes to IDLs except for ones for Callbacks.
(As NoStaticTables only affects non-callback interfaces.)
* fileapi/DOMFileSystem.idl:
* fileapi/DirectoryEntry.idl:
* fileapi/DirectoryReader.idl:
* fileapi/Entry.idl:
* fileapi/EntryArray.idl:
* fileapi/FileEntry.idl:
* fileapi/Flags.idl:
* fileapi/Metadata.idl:
2010-09-20 Nico Weber <thakis@chromium.org>
Reviewed by Adam Barth.
Fix "operands of ? are integers of different signs" clang warnings
https://bugs.webkit.org/show_bug.cgi?id=46157
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::advance):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcHeight):
2010-09-20 Vangelis Kokkevis <vangelis@chromium.org>
Unreviewed, rolling out r67906.
http://trac.webkit.org/changeset/67906
https://bugs.webkit.org/show_bug.cgi?id=46139
Change causes chromium to crash when switching pages
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/LayerChromium.h:
2010-09-19 Antonio Gomes <agomes@rim.com>
Reviewed by Ojan Vafai.
SelectionController::modify should ask EditingBehavior for platform specific behavior
https://bugs.webkit.org/show_bug.cgi?id=41975
As a follow up of the refactoring work in bug 39854, patch makes SelectionController::modify()
stop accessing EditingBehaviorType values directly, and replaces its use by the EditingBehavior
class.
Since the "Settings*" parameter of the private SelectionController::modify() method becomes unneeded
with this change (it was used to query the editingBehaviorType), patch merges two modify() methods.
No behavior change, so no new tests.
* editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldAlwaysGrowSelectionWhenExtendingToBoundary):
* editing/SelectionController.cpp:
(WebCore::SelectionController::modify):
* editing/SelectionController.h:
2010-09-20 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by James Robinson.
[chromium] Making destructors of LayerChromium and ContentLayerChromium virtual
so that the derived class' destructor code gets called.
https://bugs.webkit.org/show_bug.cgi?id=46139
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/LayerChromium.h:
2010-09-20 Darin Adler <darin@apple.com>
Reviewed by James Robinson.
Deprecate the inputType function on HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=46023
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement): Use m_deprecatedTypeNumber.
(WebCore::HTMLInputElement::isValidValue): Use deprecatedInputType.
(WebCore::HTMLInputElement::typeMismatch): Ditto.
(WebCore::HTMLInputElement::valueMissing): Ditto.
(WebCore::HTMLInputElement::rangeUnderflow): Ditto.
(WebCore::HTMLInputElement::rangeOverflow): Ditto.
(WebCore::HTMLInputElement::minimum): Ditto.
(WebCore::HTMLInputElement::maximum): Ditto.
(WebCore::HTMLInputElement::stepBase): Ditto.
(WebCore::HTMLInputElement::stepMismatch): Ditto.
(WebCore::HTMLInputElement::getStepParameters): Ditto.
(WebCore::HTMLInputElement::getAllowedValueStep): Ditto.
(WebCore::HTMLInputElement::isKeyboardFocusable): Ditto.
(WebCore::HTMLInputElement::shouldUseInputMethod): Ditto.
(WebCore::HTMLInputElement::handleBlurEvent): Ditto.
(WebCore::HTMLInputElement::setType): Added a comment.
(WebCore::HTMLInputElement::updateType): Replaced the setInputType function
with this. The type is always the type attribute value, so there is no value
in passing the type string in, and this is an internal implementation detail,
not a public function.
(WebCore::createFormControlTypes): Use deprecatedNumberOfTypes.
(WebCore::HTMLInputElement::formControlType): Use deprecatedInputType.
(WebCore::HTMLInputElement::saveFormControlState): Ditto.
(WebCore::HTMLInputElement::restoreFormControlState): Ditto.
(WebCore::HTMLInputElement::accessKeyAction): Ditto.
(WebCore::HTMLInputElement::mapToEntry): Ditto.
(WebCore::HTMLInputElement::parseMappedAttribute): Ditto.
(WebCore::HTMLInputElement::rendererIsNeeded): Ditto.
(WebCore::HTMLInputElement::createRenderer): Ditto.
(WebCore::HTMLInputElement::attach): Ditto.
(WebCore::HTMLInputElement::isSuccessfulSubmitButton): Ditto.
(WebCore::HTMLInputElement::appendFormData): Ditto.
(WebCore::HTMLInputElement::isTextField): Ditto.
(WebCore::HTMLInputElement::isTextType): Ditto.
(WebCore::HTMLInputElement::setChecked): Ditto.
(WebCore::HTMLInputElement::value): Ditto.
(WebCore::HTMLInputElement::valueWithDefault): Ditto.
(WebCore::HTMLInputElement::setSuggestedValue): Ditto.
(WebCore::HTMLInputElement::setValue): Ditto.
(WebCore::HTMLInputElement::parseToDouble): Ditto.
(WebCore::HTMLInputElement::valueAsDate): Ditto.
(WebCore::HTMLInputElement::setValueAsDate): Ditto.
(WebCore::HTMLInputElement::valueAsNumber): Ditto.
(WebCore::HTMLInputElement::setValueAsNumber): Ditto.
(WebCore::HTMLInputElement::serializeForDateTimeTypes): Ditto.
(WebCore::HTMLInputElement::serialize): Ditto.
(WebCore::HTMLInputElement::setValueFromRenderer): Ditto.
(WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Ditto.
(WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
(WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
(WebCore::HTMLInputElement::defaultEventHandler): Ditto.
(WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): Ditto.
(WebCore::HTMLInputElement::files): Ditto.
(WebCore::HTMLInputElement::isAcceptableValue): Ditto.
(WebCore::HTMLInputElement::sanitizeValue): Ditto.
(WebCore::HTMLInputElement::hasUnacceptableValue): Ditto.
(WebCore::HTMLInputElement::needsActivationCallback): Ditto.
(WebCore::HTMLInputElement::isRequiredFormControl): Ditto.
(WebCore::HTMLInputElement::recalcWillValidate): Ditto.
(WebCore::HTMLInputElement::parseToDateComponents): Ditto.
(WebCore::HTMLInputElement::dataList): Ditto.
(WebCore::HTMLInputElement::isSpeechEnabled): Ditto.
* html/HTMLInputElement.h: Renamed InputType to DeprecatedInputType since it
should not be used outside this class. Renamed numberOfTypes to
dprecatedNumberOfTypes for the same reason. Changed all code to use
deprecatedInputType function instead of m_type. Renamed inputType function
to deprecatedInputType. Replaced public setInputType function with private
updateType function. Renamed m_type data member to m_deprecatedTypeNumber.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlInputElement::MediaControlInputElement):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::updateFromElement):
Use setType instead of setInputType.
2010-09-20 Mihai Parparita <mihaip@chromium.org>
Unreviewed; an attempt to fix Windows build.
* WebCore.vcproj/WebCore.vcproj:
2010-09-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
When PDF image is directly composited, it does not display
https://bugs.webkit.org/show_bug.cgi?id=46144
In the "direct image compositing" code path, we set the image directly
as the contents of the GraphicsLayer. However, this only works with
bitmap images, so we have to check that the image is a bitmap image.
Test: compositing/images/direct-pdf-image.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
2010-09-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Crash when div with content set to image gets composited (Vimeo).
https://bugs.webkit.org/show_bug.cgi?id=46140
When CSS specifies that the content of an element is an image, we make
a RenderImage, and setStyle() before setting the image resource. In this
case the compositing code can attempt to access the cached image, which
would crash with a null deref.
Fix by null-checking m_imageResource.
Test: compositing/images/content-image.html
* rendering/RenderImage.h:
(WebCore::RenderImage::cachedImage):
2010-09-20 Mihai Parparita <mihaip@chromium.org>
Reviewed by Dimitri Glazkov.
Hashchange event is no longer a simple event, needs to be its own interface
https://bugs.webkit.org/show_bug.cgi?id=36335
Add HashChangeEvent.idl and supporting files/changes.
Test: fast/loader/hashchange-event-properties.html
The original version of this patch was written by
Steven Lai <s3lance@hotmail.com>.
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* dom/Document.cpp:
(WebCore::Document::enqueueHashchangeEvent):
* dom/Event.cpp:
(WebCore::Event::isHashChangeEvent):
* dom/Event.h:
* dom/HashChangeEvent.h: Added.
(WebCore::HashChangeEvent::isHashChangeEvent):
(WebCore::HashChangeEvent::create):
(WebCore::HashChangeEvent::initHashChangeEvent):
(WebCore::HashChangeEvent::oldURL):
(WebCore::HashChangeEvent::newURL):
(WebCore::HashChangeEvent::HashChangeEvent):
* dom/HashChangeEvent.idl: Added.
* page/DOMWindow.idl:
2010-09-20 Andy Estes <aestes@apple.com>
Reviewed by Adam Barth.
REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
https://bugs.webkit.org/show_bug.cgi?id=40961
Add an optional quirk to the HTML5 tokenizer that reverts it to WebKit's
legacy behavior when the start of a new token is encountered before the
current token is finished parsing. The legacy behavior is to emit the
current token as if it were properly closed and being parsing the new
token.
Test: fast/parser/pre-html5-parser-quirks.html
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
(WebCore::usePreHTMLParserQuirks): Add a helper function to return the
value of Settings::usePreHTML5ParserQuirks() if Settings is non-NULL.
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Instantiate
m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::nextToken): If the quirk is enabled and an
unexpected '<' is encountered in certain states, emit the current token
and reprocess the '<' as the start of a new token.
* html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::create):
* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser): Instantiate
m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setUsePreHTML5ParserQuirks):
(WebCore::Settings::usePreHTML5ParserQuirks):
2010-09-20 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46132, add an isVerticalBlockFlow() method to RenderStyle and
patch callers so that they don't have to check both top-to-bottom and bottom-to-top block flow.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::availableLogicalWidth):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::logicalWidth):
(WebCore::RenderStyle::logicalHeight):
(WebCore::RenderStyle::logicalMinWidth):
(WebCore::RenderStyle::logicalMaxWidth):
(WebCore::RenderStyle::logicalMinHeight):
(WebCore::RenderStyle::logicalMaxHeight):
(WebCore::RenderStyle::borderStartWidth):
(WebCore::RenderStyle::borderEndWidth):
(WebCore::RenderStyle::marginStart):
(WebCore::RenderStyle::marginEnd):
(WebCore::RenderStyle::paddingStart):
(WebCore::RenderStyle::paddingEnd):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::isVerticalBlockFlow):
2010-09-20 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46124, add support for logical padding accessors to
RenderBoxModelObject.
Added fast/blockflow/percentage-padding.html even though it fails, so that when more of layout is patched
we can see it start passing.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paddingTop):
(WebCore::RenderBoxModelObject::paddingBottom):
(WebCore::RenderBoxModelObject::paddingLeft):
(WebCore::RenderBoxModelObject::paddingRight):
(WebCore::RenderBoxModelObject::paddingBefore):
(WebCore::RenderBoxModelObject::paddingAfter):
(WebCore::RenderBoxModelObject::paddingStart):
(WebCore::RenderBoxModelObject::paddingEnd):
* rendering/RenderBoxModelObject.h:
2010-09-20 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46126, add availableLogicalWidth() to RenderBox.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::availableWidth):
(WebCore::RenderBlock::availableLogicalWidth):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::availableLogicalWidth):
* rendering/RenderBox.h:
(WebCore::RenderBox::availableWidth):
2010-09-20 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
[chromium] Change compositor to use GraphicsContext3D rather than GLES2Context
https://bugs.webkit.org/show_bug.cgi?id=45912
Switched Chromium's compositor to use GraphicsContext3D to issue
its OpenGL rendering calls rather than the Chromium-specific
GLES2Context and command buffer OpenGL implementation.
The in-process software rendering path for GraphicsContext3D does
not yet work with the compositor, at least not on Mac OS X. This
will be worked on in subsequent bugs.
Tested manually with 3D CSS, WebGL and video content on Mac OS X
and Linux. No new tests.
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::updateContents):
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::SharedValues::SharedValues):
(WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
(WebCore::CanvasLayerChromium::draw):
* platform/graphics/chromium/CanvasLayerChromium.h:
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::SharedValues::SharedValues):
(WebCore::ContentLayerChromium::SharedValues::~SharedValues):
(WebCore::ContentLayerChromium::~ContentLayerChromium):
(WebCore::ContentLayerChromium::updateTextureRect):
(WebCore::ContentLayerChromium::draw):
* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::publishToPlatformLayer):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::loadShader):
(WebCore::LayerChromium::SharedValues::SharedValues):
(WebCore::LayerChromium::SharedValues::~SharedValues):
(WebCore::LayerChromium::createShaderProgram):
(WebCore::LayerChromium::layerRendererContext):
(WebCore::LayerChromium::drawTexturedQuad):
(WebCore::LayerChromium::drawDebugBorder):
(WebCore::LayerChromium::drawAsMask):
(WebCore::LayerChromium::prepareForDraw):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::SharedValues::context):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::context):
(WebCore::LayerRendererChromium::debugGLCall):
(WebCore::LayerRendererChromium::useShader):
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::updateRootLayerTextureRect):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::finish):
(WebCore::LayerRendererChromium::present):
(WebCore::LayerRendererChromium::getFramebufferPixels):
(WebCore::LayerRendererChromium::createLayerTexture):
(WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
(WebCore::LayerRendererChromium::drawLayersRecursive):
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::scissorToRect):
(WebCore::LayerRendererChromium::makeContextCurrent):
(WebCore::LayerRendererChromium::resizeOnscreenContent):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::createTextureRect):
(WebCore::VideoLayerChromium::updateTextureRect):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateContents):
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::flush):
(WebCore::SharedGraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM):
(WebCore::SharedGraphicsContext3D::copyTextureToParentTextureCHROMIUM):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
2010-09-20 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46119, add logical accessors to RenderStyle. Not used by any RenderObjects yet, so no tests
until then.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::logicalWidth):
(WebCore::RenderStyle::logicalHeight):
(WebCore::RenderStyle::logicalMinWidth):
(WebCore::RenderStyle::logicalMaxWidth):
(WebCore::RenderStyle::logicalMinHeight):
(WebCore::RenderStyle::logicalMaxHeight):
(WebCore::RenderStyle::borderBeforeWidth):
(WebCore::RenderStyle::borderAfterWidth):
(WebCore::RenderStyle::borderStartWidth):
(WebCore::RenderStyle::borderEndWidth):
(WebCore::RenderStyle::marginBefore):
(WebCore::RenderStyle::marginAfter):
(WebCore::RenderStyle::marginStart):
(WebCore::RenderStyle::marginEnd):
(WebCore::RenderStyle::paddingBefore):
(WebCore::RenderStyle::paddingAfter):
(WebCore::RenderStyle::paddingStart):
(WebCore::RenderStyle::paddingEnd):
* rendering/style/RenderStyle.h:
2010-09-20 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=46116, implement block-flow-aware logical properties.
This patch adds all the logical properties from the CSS3 Writing Mode draft for margins, padding, border,
width and height.
Added fast/css/logical-property-resolution.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::resolveToPhysicalProperty):
(WebCore::CSSProperty::resolveDirectionAwareProperty):
* css/CSSProperty.h:
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyDeclarations):
(WebCore::CSSStyleSelector::applyProperty):
2010-09-20 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=46114, two tables repaint tests failing on bots.
Patch layoutRows to apply the layout delta when setting a new cell location prior to laying out the cell.
The layout delta is then removed after layout has happened when the repaint check is done. This change
makes cell layout match block child layout, and now the cells have the correct new location up front
when laying out (a necessity for pagination).
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
2010-09-20 Jacob Dinu <dinu.jacob@nokia.com>
Reviewed by Adam Barth.
When loading a cached page, dispatchDidCommitLoad is called after FrameLoader::open so
that all initialzations are done before calling client dispatchDidCommitLoad to avoid
client from accessing incorrect data.
https://bugs.webkit.org/show_bug.cgi?id=41155
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
2010-09-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Adam Roben.
REGRESSION: alternating animation direction doesn't work on Windows
https://bugs.webkit.org/show_bug.cgi?id=46017
Animation-direction on Windows was broken because bitfields on
Windows are signed.
Fixed by making m_direction an unsigned in the bitfield, and
casting in the accessor.
Test: animations/animation-direction.html
* platform/animation/Animation.h:
(WebCore::Animation::direction):
2010-09-20 Enrica Casucci <enrica@apple.com>
Reviewed by Sam Weinig.
Pasteboard doesn't work in WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=42317
<rdar://problem/7660537>
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Changed parameter to
be a Vector of RefPtr.
* page/EditorClient.h:
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::documentFragmentWithRtf): Stylistic changes.
2010-09-20 Yong Li <yoli@rim.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=39966
Make compareBorders() a consistent compare function which can beused by qsort().
New test case added: LayoutTests/tables/sort-collapsed-border-styles.html
* rendering/RenderTableCell.cpp:
(WebCore::compareBorders):
(WebCore::chooseBorder):
(WebCore::RenderTableCell::collapsedLeftBorder):
(WebCore::RenderTableCell::collapsedRightBorder):
(WebCore::RenderTableCell::collapsedTopBorder):
(WebCore::RenderTableCell::collapsedBottomBorder):
(WebCore::compareBorderStylesForQSort):
2010-09-20 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Buildfix for PluginViewWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=46033
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::paintIntoTransformedContext):
(WebCore::PluginView::snapshot):
2010-09-18 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46030, aintitcool.com doesn't paginate correctly when printed.
This happens because the site always has a document width that will exceed the page width.
We incorrectly apply a double scale instead of clipping after the first scale still doesn't fit.
The fix for the issue is to cap the right layout overflow to the page width and to just clip out
any additional excess. This is the code in FrameView.cpp.
This patch also cleans up table cell invalidation to reduce the # of relayouts. This change is not
a correctness fix. It's just performance.
I'm not sure how to write a test for this, since the double scale is an artifact of how WebKit mac calls
back in when really printing.
* page/FrameView.cpp:
(WebCore::FrameView::forceLayoutForPagination):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::positionNewFloats):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::markForPaginationRelayout):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
2010-09-20 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: merge Inspector client runtime events into the serialized inspector state object.
Drive-by rename getBackendSettings -> getInspectorState to better reflect the nature of the data.
https://bugs.webkit.org/show_bug.cgi?id=45974
* inspector/Inspector.idl:
* inspector/InspectorClient.h:
(WebCore::InspectorClient::updateInspectorStateCookie):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::saveApplicationSettings):
(WebCore::InspectorController::getInspectorState):
(WebCore::InspectorController::updateInspectorStateCookie):
(WebCore::InspectorController::restoreInspectorStateFromCookie):
(WebCore::InspectorController::getSettings):
(WebCore::InspectorController::setMonitoringXHREnabled):
(WebCore::InspectorController::restoreDebugger):
(WebCore::InspectorController::restoreProfiler):
(WebCore::InspectorController::setResourceTrackingEnabled):
(WebCore::InspectorController::ensureSettingsLoaded):
(WebCore::InspectorController::startTimelineProfiler):
(WebCore::InspectorController::stopTimelineProfiler):
(WebCore::InspectorController::enableProfiler):
(WebCore::InspectorController::disableProfiler):
(WebCore::InspectorController::enableDebuggerFromFrontend):
(WebCore::InspectorController::disableDebugger):
* inspector/InspectorController.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._handleContextMenuEvent):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
* inspector/front-end/Settings.js:
(WebInspector.Settings.initialize):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone.populateInspectorState):
(WebInspector.doLoadedDone):
2010-09-20 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG Filter cleanup
https://bugs.webkit.org/show_bug.cgi?id=45612
All effect inputs are stored in a Vector in FilterEffect instead of passing them via constructors to every effect type.
This simplifies the primitive subregion logic and centralizes it in determineFilterPrimitiveSubregion.
Just SourceGraphic, SourceAlpha and FETile still calculate filter primitive subregions on
their own. Working on it in a followup patch.
The subregions code is SVG specific and moving this calculation to FilterEffect is an
intermediate step before moving it to RenderSVGResourceFilterPrimitive in a following patch.
The new FilterEffectVector will also make it possible to add code to determine the
smallest used region of an effect and will help save memory and resources in the future.
subRegion got renamed to filterPrimitiveSubregion to match the name scheme. scaledSubRegion got
renamed to repaintRectInLocalCoordinates since this is its proper meaning.
Removed unnecessary member variables and functions from FilterEffect.
No new tests added since the functionality didn't change.
* platform/graphics/cairo/GraphicsContextCairo.cpp: scaledSubRegion was renamed to repaintRectInLocalCoordinates.
(WebCore::GraphicsContext::createShadowMask):
* platform/graphics/filters/FEBlend.cpp: Removed Filter effect inputs from constructor.
(WebCore::FEBlend::FEBlend):
(WebCore::FEBlend::create):
(WebCore::FEBlend::apply): Call inputFilterEffects to get input filter primitives.
(WebCore::FEBlend::externalRepresentation): Call inputFilterEffects to get input filter primitives.
* platform/graphics/filters/FEBlend.h:
* platform/graphics/filters/FEColorMatrix.cpp: Ditto.
(WebCore::FEColorMatrix::FEColorMatrix):
(WebCore::FEColorMatrix::create):
(WebCore::FEColorMatrix::apply):
(WebCore::FEColorMatrix::externalRepresentation):
* platform/graphics/filters/FEColorMatrix.h:
* platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
(WebCore::FEComponentTransfer::FEComponentTransfer):
(WebCore::FEComponentTransfer::create):
(WebCore::FEComponentTransfer::apply):
(WebCore::FEComponentTransfer::externalRepresentation):
* platform/graphics/filters/FEComponentTransfer.h:
* platform/graphics/filters/FEComposite.cpp: Ditto.
(WebCore::FEComposite::FEComposite):
(WebCore::FEComposite::create):
(WebCore::FEComposite::apply):
(WebCore::FEComposite::externalRepresentation):
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
(WebCore::FEGaussianBlur::FEGaussianBlur):
(WebCore::FEGaussianBlur::create):
(WebCore::FEGaussianBlur::apply):
(WebCore::FEGaussianBlur::externalRepresentation):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/Filter.h:
(WebCore::Filter::determineFilterPrimitiveSubregion): Renamed from calculateEffectSubRegion to match name scheme.
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::FilterEffect):
(WebCore::FilterEffect::determineFilterPrimitiveSubregion): The main place for subregion calculation.
(WebCore::FilterEffect::calculateDrawingIntRect): Takes repaintRectInLocalCoordinates now.
(WebCore::FilterEffect::calculateDrawingRect): ditto.
(WebCore::FilterEffect::getEffectContext): Check if ImageBuffer was created.
* platform/graphics/filters/FilterEffect.h: Changed names to match name scheme. Removed unnecessary member variables and functions.
Seperate SVG specific member variables and functions. Will get removed in followup patches.
(WebCore::FilterEffect::resultImage):
(WebCore::FilterEffect::setEffectBuffer):
(WebCore::FilterEffect::inputEffect):
(WebCore::FilterEffect::inputEffects):
(WebCore::FilterEffect::numberOfinputEffects):
(WebCore::FilterEffect::isAlphaImage):
(WebCore::FilterEffect::setIsAlphaImage):
(WebCore::FilterEffect::repaintRectInLocalCoordinates):
(WebCore::FilterEffect::setRepaintRectInLocalCoordinates):
(WebCore::FilterEffect::isSourceInput):
(WebCore::FilterEffect::hasX):
(WebCore::FilterEffect::setHasX):
(WebCore::FilterEffect::hasY):
(WebCore::FilterEffect::setHasY):
(WebCore::FilterEffect::hasWidth):
(WebCore::FilterEffect::setHasWidth):
(WebCore::FilterEffect::hasHeight):
(WebCore::FilterEffect::setHasHeight):
(WebCore::FilterEffect::filterPrimitiveSubregion):
(WebCore::FilterEffect::setFilterPrimitiveSubregion):
(WebCore::FilterEffect::effectBoundaries):
(WebCore::FilterEffect::setEffectBoundaries):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::determineFilterPrimitiveSubregion): Renamed to match name scheme.
* platform/graphics/filters/SourceAlpha.h:
(WebCore::SourceAlpha::isSourceInput):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::determineFilterPrimitiveSubregion): Ditto.
* platform/graphics/filters/SourceGraphic.h:
(WebCore::SourceGraphic::isSourceInput):
* rendering/RenderSVGResourceFilter.cpp: Adapt to renames in FilterEffect.
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):
* svg/SVGFEBlendElement.cpp: Constructor of FEBlend doesn't take input effects. Adding them afterwards.
(WebCore::SVGFEBlendElement::build):
* svg/SVGFEColorMatrixElement.cpp: Ditto.
(WebCore::SVGFEColorMatrixElement::build):
* svg/SVGFEComponentTransferElement.cpp: Ditto.
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFECompositeElement.cpp: Ditto.
(WebCore::SVGFECompositeElement::build):
* svg/SVGFEConvolveMatrixElement.cpp: Ditto.
(WebCore::SVGFEConvolveMatrixElement::build):
* svg/SVGFEDiffuseLightingElement.cpp: Ditto.
(WebCore::SVGFEDiffuseLightingElement::build):
* svg/SVGFEDisplacementMapElement.cpp: Ditto.
(WebCore::SVGFEDisplacementMapElement::build):
* svg/SVGFEGaussianBlurElement.cpp: Ditto.
(WebCore::SVGFEGaussianBlurElement::build):
* svg/SVGFEMergeElement.cpp: Ditto.
(WebCore::SVGFEMergeElement::build):
* svg/SVGFEMorphologyElement.cpp: Ditto.
(WebCore::SVGFEMorphologyElement::build):
* svg/SVGFEOffsetElement.cpp: Ditto.
(WebCore::SVGFEOffsetElement::build):
* svg/SVGFESpecularLightingElement.cpp: Ditto.
(WebCore::SVGFESpecularLightingElement::build):
* svg/SVGFETileElement.cpp: Ditto.
(WebCore::SVGFETileElement::build):
* svg/graphics/filters/SVGFEConvolveMatrix.cpp: Ditto.
(WebCore::FEConvolveMatrix::FEConvolveMatrix):
(WebCore::FEConvolveMatrix::create):
(WebCore::FEConvolveMatrix::apply):
(WebCore::FEConvolveMatrix::externalRepresentation):
* svg/graphics/filters/SVGFEConvolveMatrix.h:
* svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
(WebCore::FEDiffuseLighting::FEDiffuseLighting):
(WebCore::FEDiffuseLighting::create):
(WebCore::FEDiffuseLighting::externalRepresentation):
* svg/graphics/filters/SVGFEDiffuseLighting.h:
* svg/graphics/filters/SVGFEDisplacementMap.cpp: Ditto.
(WebCore::FEDisplacementMap::FEDisplacementMap):
(WebCore::FEDisplacementMap::create):
(WebCore::FEDisplacementMap::apply):
(WebCore::FEDisplacementMap::externalRepresentation):
* svg/graphics/filters/SVGFEDisplacementMap.h:
* svg/graphics/filters/SVGFEFlood.cpp: Ditto.
(WebCore::FEFlood::apply):
* svg/graphics/filters/SVGFEImage.cpp: Ditto.
(WebCore::FEImage::apply):
* svg/graphics/filters/SVGFELighting.cpp: Ditto.
(WebCore::FELighting::FELighting):
(WebCore::FELighting::apply):
* svg/graphics/filters/SVGFELighting.h:
* svg/graphics/filters/SVGFEMerge.cpp: Ditto.
(WebCore::FEMerge::FEMerge):
(WebCore::FEMerge::create):
(WebCore::FEMerge::apply):
(WebCore::FEMerge::externalRepresentation):
* svg/graphics/filters/SVGFEMerge.h:
* svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
(WebCore::FEMorphology::FEMorphology):
(WebCore::FEMorphology::create):
(WebCore::FEMorphology::apply):
(WebCore::FEMorphology::externalRepresentation):
* svg/graphics/filters/SVGFEMorphology.h:
* svg/graphics/filters/SVGFEOffset.cpp: Ditto.
(WebCore::FEOffset::FEOffset):
(WebCore::FEOffset::create):
(WebCore::FEOffset::apply):
(WebCore::FEOffset::externalRepresentation):
* svg/graphics/filters/SVGFEOffset.h:
* svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
(WebCore::FESpecularLighting::FESpecularLighting):
(WebCore::FESpecularLighting::create):
(WebCore::FESpecularLighting::externalRepresentation):
* svg/graphics/filters/SVGFESpecularLighting.h:
* svg/graphics/filters/SVGFETile.cpp: Ditto.
(WebCore::FETile::FETile):
(WebCore::FETile::create):
(WebCore::FETile::determineFilterPrimitiveSubregion): Renamed to match name scheme.
(WebCore::FETile::apply):
(WebCore::FETile::externalRepresentation):
* svg/graphics/filters/SVGFETile.h:
* svg/graphics/filters/SVGFilter.cpp: Renamed itemBox to targetBoundingBox to match name scheme.
(WebCore::SVGFilter::SVGFilter):
(WebCore::SVGFilter::determineFilterPrimitiveSubregion): Renamed to match name scheme.
(WebCore::SVGFilter::create):
* svg/graphics/filters/SVGFilter.h:
(WebCore::SVGFilter::sourceImageRect):
2010-09-20 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: highlight DOM node when hover on link element or DOM breakpoint
https://bugs.webkit.org/show_bug.cgi?id=45897
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointItem):
(WebInspector.JSBreakpointItem):
(WebInspector.DOMBreakpointItem):
(WebInspector.DOMBreakpointItem.prototype.compareTo):
(WebInspector.DOMBreakpointItem.prototype._breakpointClicked):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.hide):
(WebInspector.ElementsPanel.prototype.reset):
(WebInspector.ElementsPanel.prototype.setDocument.selectNode):
(WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
(WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
(WebInspector.ElementsPanel.prototype.linkifyNodeReference):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
(WebInspector.ElementsTreeOutline.prototype._onmousemove):
(WebInspector.ElementsTreeOutline.prototype._onmouseout):
* inspector/front-end/inspector.js:
(WebInspector.highlightDOMNode):
(WebInspector.highlightDOMNodeForTwoSeconds):
(WebInspector.wireElementWithDOMNode):
(WebInspector._updateFocusedNode):
(WebInspector.reset):
(WebInspector.updateFocusedNode):
2010-09-19 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r67749.
http://trac.webkit.org/changeset/67749
https://bugs.webkit.org/show_bug.cgi?id=46068
breaking ToT chromium canary build (Requested by shans on
#webkit).
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::createNewContext):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::registeredExtensionWithV8):
(WebCore::V8Proxy::registerExtension):
* bindings/v8/V8Proxy.h:
* loader/EmptyClients.h:
* loader/FrameLoaderClient.h:
2010-09-19 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 46065 - Unify implementation of ToInt32 and ToUInt32, don't use fmod.
These methods implement the same conversion (see discussion in the notes
of sections of 9.5 and 9.6 of the spec), only differing in how the result
is interpretted.
Removing JSValue::toInt32 (since this has weird, non-spec function).
A couple of places in the binding are using this method, so adding
finiteInt32Value to the bindings to maintain current behaviour.
Test: fast/js/toInt32UInt32.html
* bindings/js/JSDOMBinding.h:
(WebCore::finiteInt32Value):
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::add):
* bindings/js/JSSQLResultSetRowListCustom.cpp:
(WebCore::JSSQLResultSetRowList::item):
* bindings/js/JSSVGPODListCustom.h:
(WebCore::JSSVGPODListCustom::getItem):
(WebCore::JSSVGPODListCustom::insertItemBefore):
(WebCore::JSSVGPODListCustom::replaceItem):
(WebCore::JSSVGPODListCustom::removeItem):
* bindings/js/JSSVGPathSegListCustom.cpp:
(WebCore::JSSVGPathSegList::getItem):
(WebCore::JSSVGPathSegList::insertItemBefore):
(WebCore::JSSVGPathSegList::replaceItem):
(WebCore::JSSVGPathSegList::removeItem):
2010-09-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] clipBoundingRect() should return rect relevant to current layer
https://bugs.webkit.org/show_bug.cgi?id=46059
r65791 inadvertently changed clipBoundingRect() to always use the GC painter
without checking the TransparencyLayer stack first.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::p):
(WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
2010-09-19 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Replace WKBundleRangeRef with WKBundleRangeHandleRef.
https://bugs.webkit.org/show_bug.cgi?id=46054
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
2010-09-19 Patrick Gansterer <paroga@paroga.com>
Unreviewed.
[WINCE] Buildfix for Gradient after r67801.
* platform/graphics/Gradient.h:
* platform/graphics/wince/GradientWinCE.cpp:
(WebCore::Gradient::getStops):
2010-09-19 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
[Chromium] Add is<input type>() functions to WebInputElement
https://bugs.webkit.org/show_bug.cgi?id=46035
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isText): Added. It is used by WebKit/chromium.
2010-09-18 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Path: Remove unused member variable
https://bugs.webkit.org/show_bug.cgi?id=46048
Path::m_lastMoveToIndex is not used for anything, so remove it.
* platform/graphics/Path.h:
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::Path):
(WebCore::Path::operator=):
(WebCore::Path::moveTo):
2010-09-18 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Use AtomicString insted of String in XMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=45990
Create AtomicString as early as possible.
This can avoid unnecessary memcpy of String content.
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::toAtomicString):
(WebCore::handleElementNamespaces):
(WebCore::handleElementAttributes):
(WebCore::XMLDocumentParser::startElementNs):
2010-09-18 Erik Arvidsson <arv@chromium.org>
Reviewed by Nate Chapin.
[Chromium] fast/dom/dataset-gc.html is failing
https://bugs.webkit.org/show_bug.cgi?id=45426
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
* dom/DOMStringMap.h:
* dom/DatasetDOMStringMap.h:
(WebCore::DatasetDOMStringMap::element):
2010-09-18 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Oliver Hunt.
Gradient: Fast-path for the ideal case in sortStopsIfNecessary()
https://bugs.webkit.org/show_bug.cgi?id=46045
Avoid calling std::stable_sort for 2-stop gradients that are already in order.
* platform/graphics/Gradient.cpp:
(WebCore::Gradient::sortStopsIfNecessary):
2010-09-18 Kwang Yul Seo <skyul@company100.net>
Reviewed by Andreas Kling.
[BREWMP] Fix a typo in key code name
https://bugs.webkit.org/show_bug.cgi?id=46003
AVK_CLR is the right Brew MP key code name for VK_BACK.
* platform/brew/PlatformKeyboardEventBrew.cpp:
(WebCore::windowsKeyCodeForKeyEvent):
2010-09-18 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Oliver Hunt.
Gradient: Pre-reserve space for 2 color stops
https://bugs.webkit.org/show_bug.cgi?id=46044
Most gradients have only 2 color stops, pre-reserve space for these in m_stops
to avoid growing the vector dynamically in the common case.
* platform/graphics/Gradient.h:
2010-09-18 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r67792.
http://trac.webkit.org/changeset/67792
https://bugs.webkit.org/show_bug.cgi?id=45976
Broke over a hundred SVG tests.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawImageBuffer):
* platform/graphics/GraphicsContext.h:
2010-09-18 Mihai Parparita <mihaip@chromium.org>
Reviewed by Simon Fraser.
webkitAnimationEnd event doesn't fire when skipping over final iteration
https://bugs.webkit.org/show_bug.cgi?id=46010
It's possible for AnimationBase::fireAnimationEventsIfNeeded to decide
that the animation is ended while we're in the looping state, if the
animation timer never fires during an iteration. That then fails the
assert in AnimationBase::updateStateMachine (we don't expect
AnimationStateInputEndTimerFired while in the looping state). Jump the
state to AnimationStateEnding, which is more accurate.
Test: animations/animation-end-event-short-iterations.html
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::fireAnimationEventsIfNeeded):
2010-09-18 Kwang Yul Seo <skyul@company100.net>
Reviewed by Andreas Kling.
[BREWMP] Wrong key code type in keyIdentifierForBrewKeyCode
https://bugs.webkit.org/show_bug.cgi?id=46005
The type of key code in Brew MP is uint16. Take uint16 instead of int16 in keyIdentifierForBrewKeyCode.
* platform/brew/PlatformKeyboardEventBrew.cpp:
(WebCore::keyIdentifierForBrewKeyCode):
2010-09-18 Matthew Delaney <mdelaney@apple.com>
Reviewed by Oliver Hunt.
Canvas drawImage with source or destination widths/heights of -1 renders incorrectly.
https://bugs.webkit.org/show_bug.cgi?id=45976
Specifying a -1 width or height for either the source or destination rectangle in drawImage
get improperly drawn with -1 replaced as the corresponding image width or height. This was because
the value -1 was being passed around to signal non-specified widths and heights and thus was
interpreted lower down in the drawImage implementation which disallowed any calls that actually
wanted to use -1 as the widths or heights. Fixed this by moving the default logic up and not using
-1 in-band signaling to denote default behavior.
Tests: canvas/philip/tests/2d.drawImage.negativeOneDest.html
canvas/philip/tests/2d.drawImage.negativeOneSource.html
* platform/graphics/GraphicsContext.cpp: Removed -1 in-band signals and replaced cascased calls to have
the desired replaces for unspecified widths and heights earlier on.
* platform/graphics/GraphicsContext.h: Removed faulty default value.
2010-09-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
Enable Platform Strategies on Qt
[Qt] Turn on PLATFORM_STRATEGIES
https://bugs.webkit.org/show_bug.cgi?id=45831
* WebCore.pro: Adding/removing implementation files
* platform/qt/Language.cpp: Added, WebCore::defaultLanguage() was
moved from platform/qt/Localizations.cpp
(WebCore::defaultLanguage): Moved from Localizations.cpp
* platform/qt/Localizations.cpp: Removed (code is now inside
WebCoreSupport/WebPlatformStrategies.cpp)
* plugins/qt/PluginDataQt.cpp: Removed (idem)
2010-09-18 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Rename Wince files to WinCE
https://bugs.webkit.org/show_bug.cgi?id=37287
* loader/icon/wince/IconDatabaseWinCE.cpp: Copied from WebCore/loader/icon/wince/IconDatabaseWince.cpp.
* loader/icon/wince/IconDatabaseWince.cpp: Removed.
* page/wince/FrameWinCE.cpp: Copied from WebCore/page/wince/FrameWince.cpp.
* page/wince/FrameWince.cpp: Removed.
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/wince/ColorWinCE.cpp: Copied from WebCore/platform/graphics/wince/ColorWince.cpp.
* platform/graphics/wince/ColorWince.cpp: Removed.
* platform/graphics/wince/FontCacheWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontCacheWince.cpp.
* platform/graphics/wince/FontCacheWince.cpp: Removed.
* platform/graphics/wince/FontWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontWince.cpp.
* platform/graphics/wince/FontWince.cpp: Removed.
* platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp: Copied from WebCore/platform/graphics/wince/GlyphPageTreeNodeWince.cpp.
* platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Removed.
* platform/graphics/wince/GradientWinCE.cpp: Copied from WebCore/platform/graphics/wince/GradientWince.cpp.
* platform/graphics/wince/GradientWince.cpp: Removed.
* platform/graphics/wince/GraphicsContextWinCE.cpp: Copied from WebCore/platform/graphics/wince/GraphicsContextWince.cpp.
* platform/graphics/wince/GraphicsContextWince.cpp: Removed.
* platform/graphics/wince/ImageBufferWinCE.cpp: Copied from WebCore/platform/graphics/wince/ImageBufferWince.cpp.
* platform/graphics/wince/ImageBufferWince.cpp: Removed.
* platform/graphics/wince/MediaPlayerPrivateWinCE.h: Copied from WebCore/platform/graphics/wince/MediaPlayerPrivateWince.h.
* platform/graphics/wince/MediaPlayerPrivateWince.h: Removed.
* platform/graphics/wince/PathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PathWince.cpp.
* platform/graphics/wince/PathWince.cpp: Removed.
* platform/graphics/wince/PlatformPathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PlatformPathWince.cpp.
* platform/graphics/wince/PlatformPathWinCE.h: Copied from WebCore/platform/graphics/wince/PlatformPathWince.h.
* platform/graphics/wince/PlatformPathWince.cpp: Removed.
* platform/graphics/wince/PlatformPathWince.h: Removed.
* platform/graphics/wince/SimpleFontDataWinCE.cpp: Copied from WebCore/platform/graphics/wince/SimpleFontDataWince.cpp.
* platform/graphics/wince/SimpleFontDataWince.cpp: Removed.
* platform/graphics/wince/WinCEGraphicsExtras.h: Copied from WebCore/platform/graphics/wince/WinceGraphicsExtras.h.
* platform/graphics/wince/WinceGraphicsExtras.h: Removed.
* platform/text/wince/TextBoundariesWinCE.cpp: Copied from WebCore/platform/text/wince/TextBoundariesWince.cpp.
* platform/text/wince/TextBoundariesWince.cpp: Removed.
* platform/text/wince/TextBreakIteratorWinCE.cpp: Copied from WebCore/platform/text/wince/TextBreakIteratorWince.cpp.
* platform/text/wince/TextBreakIteratorWince.cpp: Removed.
* platform/wince/CursorWinCE.cpp: Copied from WebCore/platform/wince/CursorWince.cpp.
* platform/wince/CursorWince.cpp: Removed.
* platform/wince/DragDataWinCE.cpp: Copied from WebCore/platform/wince/DragDataWince.cpp.
* platform/wince/DragDataWince.cpp: Removed.
* platform/wince/DragImageWinCE.cpp: Copied from WebCore/platform/wince/DragImageWince.cpp.
* platform/wince/DragImageWince.cpp: Removed.
* platform/wince/EditorWinCE.cpp: Copied from WebCore/platform/wince/EditorWince.cpp.
(WebCore::Editor::newGeneralClipboard):
* platform/wince/EditorWince.cpp: Removed.
* platform/wince/FileChooserWinCE.cpp: Copied from WebCore/platform/wince/FileChooserWince.cpp.
* platform/wince/FileChooserWince.cpp: Removed.
* platform/wince/FileSystemWinCE.cpp: Copied from WebCore/platform/wince/FileSystemWince.cpp.
* platform/wince/FileSystemWince.cpp: Removed.
* platform/wince/KURLWinCE.cpp: Copied from WebCore/platform/wince/KURLWince.cpp.
* platform/wince/KURLWince.cpp: Removed.
* platform/wince/KeygenWinCE.cpp: Copied from WebCore/platform/wince/KeygenWince.cpp.
* platform/wince/KeygenWince.cpp: Removed.
* platform/wince/MIMETypeRegistryWinCE.cpp: Copied from WebCore/platform/wince/MIMETypeRegistryWince.cpp.
* platform/wince/MIMETypeRegistryWince.cpp: Removed.
* platform/wince/PasteboardWinCE.cpp: Copied from WebCore/platform/wince/PasteboardWince.cpp.
* platform/wince/PasteboardWince.cpp: Removed.
* platform/wince/SearchPopupMenuWinCE.cpp: Copied from WebCore/platform/wince/SearchPopupMenuWince.cpp.
* platform/wince/SearchPopupMenuWince.cpp: Removed.
* platform/wince/SharedTimerWinCE.cpp: Copied from WebCore/platform/wince/SharedTimerWince.cpp.
* platform/wince/SharedTimerWince.cpp: Removed.
* rendering/RenderThemeWinCE.cpp: Copied from WebCore/rendering/RenderThemeWince.cpp.
(WebCore::RenderThemeWinCE::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::RenderThemeWinCE::RenderThemeWinCE):
(WebCore::RenderThemeWinCE::~RenderThemeWinCE):
(WebCore::RenderThemeWinCE::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeWinCE::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeWinCE::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeWinCE::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeWinCE::supportsFocus):
(WebCore::RenderThemeWinCE::supportsFocusRing):
(WebCore::RenderThemeWinCE::determineClassicState):
(WebCore::RenderThemeWinCE::getThemeData):
(WebCore::RenderThemeWinCE::paintButton):
(WebCore::RenderThemeWinCE::setCheckboxSize):
(WebCore::RenderThemeWinCE::paintTextField):
(WebCore::RenderThemeWinCE::adjustMenuListStyle):
(WebCore::RenderThemeWinCE::paintMenuList):
(WebCore::RenderThemeWinCE::paintMenuListButton):
(WebCore::RenderThemeWinCE::systemFont):
(WebCore::RenderThemeWinCE::themeChanged):
(WebCore::RenderThemeWinCE::extraDefaultStyleSheet):
(WebCore::RenderThemeWinCE::extraQuirksStyleSheet):
(WebCore::RenderThemeWinCE::supportsHover):
(WebCore::RenderThemeWinCE::systemColor):
(WebCore::RenderThemeWinCE::adjustSliderThumbSize):
(WebCore::RenderThemeWinCE::adjustButtonInnerStyle):
(WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
(WebCore::RenderThemeWinCE::paintSearchField):
(WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
(WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeWinCE::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeWinCE::paintSearchFieldResultsButton):
(WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
(WebCore::RenderThemeWinCE::paintSliderTrack):
(WebCore::RenderThemeWinCE::paintSliderThumb):
(WebCore::RenderThemeWinCE::paintMediaFullscreenButton):
(WebCore::RenderThemeWinCE::paintMediaMuteButton):
(WebCore::RenderThemeWinCE::paintMediaPlayButton):
(WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
(WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
(WebCore::RenderThemeWinCE::paintMediaSliderTrack):
(WebCore::RenderThemeWinCE::paintMediaSliderThumb):
* rendering/RenderThemeWinCE.h: Copied from WebCore/rendering/RenderThemeWince.h.
* rendering/RenderThemeWince.cpp: Removed.
* rendering/RenderThemeWince.h: Removed.
* storage/wince/DatabaseThreadWinCE.cpp: Copied from WebCore/storage/wince/DatabaseThreadWince.cpp.
* storage/wince/DatabaseThreadWinCE.h: Copied from WebCore/storage/wince/DatabaseThreadWince.h.
* storage/wince/DatabaseThreadWince.cpp: Removed.
* storage/wince/DatabaseThreadWince.h: Removed.
* storage/wince/LocalStorageThreadWinCE.cpp: Copied from WebCore/storage/wince/LocalStorageThreadWince.cpp.
* storage/wince/LocalStorageThreadWinCE.h: Copied from WebCore/storage/wince/LocalStorageThreadWince.h.
* storage/wince/LocalStorageThreadWince.cpp: Removed.
* storage/wince/LocalStorageThreadWince.h: Removed.
2010-09-18 Patrick Gansterer <paroga@paroga.com>
Reviewed by Eric Seidel.
Move Plugin*None.cpp from CMakeLists.txt into CMakeListsEfl.txt
https://bugs.webkit.org/show_bug.cgi?id=45900
PluginDataNone.cpp and PluginViewNone.cpp are not used by all port.
Move them into plaform sepcific build system.
* CMakeLists.txt:
* CMakeListsEfl.txt:
2010-09-18 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Don't copy clip path to TransparencyLayer
https://bugs.webkit.org/show_bug.cgi?id=45965
We don't need to copy the GC's clip path to the TransparencyLayer since it will
clip anyway when ending the layer.
* platform/graphics/qt/TransparencyLayer.h:
(WebCore::TransparencyLayer::TransparencyLayer):
2010-09-18 Patrick Gansterer <paroga@paroga.com>
Unreviewed.
[WINCE] Buildfix for FrameWince.cpp after r51353, r67762 and r67771.
* page/wince/FrameWince.cpp:
(WebCore::computePageRectsForFrame):
(WebCore::imageFromSelection):
2010-09-18 Kent Tamura <tkent@chromium.org>
Unreviewed, a trivial change.
Run sort-Xcode-project-file.
* WebCore.xcodeproj/project.pbxproj:
2010-09-18 Dan Bernstein <mitz@apple.com>
Reviewed by Eric Seidel.
REGRESSION (r67762): Over 160 layout tests failing due to incorrect zoom factors in subframes
https://bugs.webkit.org/show_bug.cgi?id=46031
* page/Frame.cpp:
(WebCore::parentPageZoomFactor): Return the zoom factor of the parent frame.
(WebCore::parentTextZoomFactor): Ditto.
2010-09-17 Sam Weinig <sam@webkit.org>
Reviewed by Jon Honeycutt.
Need a way to load data (as plain text) in a WKPage
<rdar://problem/8424239>
* WebCore.exp.in:
2010-09-17 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=46027, image on gamespot.com paginates without bringing its enclosing border along.
Make sure that unsplittable objects like replaced elements propagate their pagination strut outward to the parent block
when appropriate. An image on a line did this, but a block-level image did not.
Added fast/multicol/image-inside-nested-blocks-with-border.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChild):
2010-09-17 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
Move calls from frameView->pageZoomFactor() to frame->pageZoomFactor().
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent): Removed a helper function,
added direct calls to frame->pageZoomFactor().
2010-09-17 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model.
Make printing store the page height in the RenderView and push that into the layout state to
use the new pagination model. The old pagination model is retained because it is still used
for embedded WebViews.
* page/FrameView.cpp:
(WebCore::FrameView::reset):
(WebCore::FrameView::layout):
(WebCore::FrameView::forceLayout):
(WebCore::FrameView::forceLayoutForPagination):
(WebCore::FrameView::adjustPageHeight):
* page/FrameView.h:
* page/PrintContext.cpp:
(WebCore::PrintContext::computePageRectsWithPageSizeInternal):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcHeight):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::paintReplaced):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
(WebCore::RenderView::paint):
(WebCore::RenderView::setBestTruncatedAt):
* rendering/RenderView.h:
(WebCore::RenderView::popLayoutState):
(WebCore::RenderView::pageHeight):
(WebCore::RenderView::setPageHeight):
(WebCore::RenderView::bestTruncatedAt):
(WebCore::RenderView::truncatedAt):
(WebCore::RenderView::setTruncatedAt):
(WebCore::RenderView::printRect):
(WebCore::RenderView::setPrintRect):
(WebCore::RenderView::pushLayoutState):
(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):
(WebCore::LayoutStateMaintainer::pop):
2010-09-17 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
Canvas sizing ignores intrinsic size
https://bugs.webkit.org/show_bug.cgi?id=46024
Updated fast/replaced/table-percent-height.html
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject): If this is used as a proxy
for <video>, behave like it has an intrinsic size (e.g. preserve aspect ratio when
width is auto and height is specified).
* rendering/RenderImage.cpp:
(WebCore::RenderImage::calcAspectRatioWidth): Changed to explicitly invoke
RenderBox::calcReplacedHeight(), now that RenderReplaced has its own implementation
which we dont want.
(WebCore::RenderImage::calcAspectRatioHeight): Similarly with calcReplacedWidth().
* rendering/RenderImage.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced): Initialize m_hasIntrinsicSize.
(WebCore::lengthIsSpecified): Added this helper function, based on RenderImages
is{Width,Height}Specified().
(WebCore::RenderReplaced::calcReplacedWidth): Moved from RenderVideo all the way
up here so other replaced objects could use this logic.
(WebCore::RenderReplaced::calcReplacedHeight): Ditto.
(WebCore::RenderReplaced::calcAspectRatioWidth): Ditto.
(WebCore::RenderReplaced::calcAspectRatioHeight): Ditto.
(WebCore::RenderReplaced::calcPrefWidths): Replaced with the RenderImage version
of the logic.
(WebCore::RenderReplaced::setIntrinsicSize): Added an assertion.
* rendering/RenderReplaced.h:
(WebCore::RenderReplaced::minimumReplacedHeight): Promoted from private to protected
to allow RenderVideo to call through.
(WebCore::RenderReplaced::setHasIntrinsicSize): Added this setter.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::updateIntrinsicSize): Factor zoom into the intrinsic size,
the way other RenderReplaced objects do.
(WebCore::RenderVideo::calcReplacedWidth): Invoke the RenderReplaced implementation,
which matches what used to be here, skipping over the RenderImage implementation.
(WebCore::RenderVideo::calcReplacedHeight): Ditto.
(WebCore::RenderVideo::minimumReplacedHeight): Ditto.
* rendering/RenderVideo.h:
2010-09-17 Darin Adler <darin@apple.com>
Build fix for platforms that compile Touch.
* dom/Touch.cpp:
(WebCore::contentsX):
(WebCore::contentsY):
Get zoom factor from Frame rather than FrameView.
2010-09-17 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863
Moved zoom level back from FrameView to Frame.
I had forgotten that FrameView's lifetime is much shorter than
Frame's, and until that is fixed it's best to leave this on Frame.
* WebCore.exp.in: Updated.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
* dom/Document.cpp:
(WebCore::Document::nodesFromRect):
(WebCore::Document::elementFromPoint):
(WebCore::Document::caretRangeFromPoint):
* dom/MouseRelatedEvent.cpp:
(WebCore::contentsX):
(WebCore::contentsY):
(WebCore::pageZoomFactor):
* dom/Node.cpp:
(WebCore::Node::dispatchMouseEvent):
(WebCore::Node::dispatchWheelEvent):
* html/HTMLBodyElement.cpp:
(WebCore::adjustForZoom):
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
(WebCore::HTMLBodyElement::setScrollTop):
(WebCore::HTMLBodyElement::scrollHeight):
(WebCore::HTMLBodyElement::scrollWidth):
* html/ImageDocument.cpp:
(WebCore::pageZoomFactor):
(WebCore::ImageDocument::scale):
(WebCore::ImageDocument::imageFitsInWindow):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):
(WebCore::DOMWindow::scrollX):
(WebCore::DOMWindow::scrollY):
(WebCore::DOMWindow::scrollTo):
* page/DragController.cpp:
(WebCore::elementUnderMouse):
* rendering/RenderView.cpp:
(WebCore::RenderView::zoomFactor):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentScale):
(WebCore::SVGSVGElement::setCurrentScale):
Get zoom factor from Frame rather than FrameView.
* page/Frame.cpp:
(WebCore::parentPageZoomFactor): Moved back here from FrameView.
(WebCore::parentTextZoomFactor): Ditto.
(WebCore::Frame::Frame): Ditto.
(WebCore::Frame::setPageZoomFactor): Ditto.
(WebCore::Frame::setTextZoomFactor): Ditto.
(WebCore::Frame::setPageAndTextZoomFactors): Ditto.
* page/Frame.h: Moved functions and data for zooming back here
from FrameView.
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
* page/FrameView.h:
Removed code from here.
2010-09-17 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Reduce minimum DOMTimer interval
https://bugs.webkit.org/show_bug.cgi?id=45362
Reduced the minimum allowed DOMTimer interval to 4ms. This has us matching Chrome,
which hasn't had any problem with 4ms in the past 2 years, as well as increasing our
performance on perf tests that have tight frequent loops such as canvas "animation"
performance tests.
No new tests added. Can't reliably instrument a test in javascript to verify that
the minimum clamped interval time is in fact 4ms.
* WebCore.exp.in:
* page/DOMTimer.cpp: Removed old comments.
* page/DOMTimer.h: Removed old comments.
* page/Settings.cpp: Exposted new method to set minimum DOMTimer interval.
* page/Settings.h:
2010-09-17 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Dimitri Glazkov.
[Chromium] Split webcore_platform off webcore_remaining
Further reduce webcore_remaining size by moving platform/ code in its
own static libary.
https://bugs.webkit.org/show_bug.cgi?id=45915
* WebCore.gyp/WebCore.gyp:
2010-09-13 Matt Perry <mpcomplete@chromium.org>
Reviewed by Darin Fisher.
Have V8DOMWindowShell ask the embedder whether to run a V8 extension
in a particular script context.
https://bugs.webkit.org/show_bug.cgi?id=45721
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::createNewContext):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::registeredExtensionWithV8):
(WebCore::V8Proxy::registerExtension):
* bindings/v8/V8Proxy.h:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::allowScriptExtension):
* loader/FrameLoaderClient.h:
2010-09-17 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
REGRESSION (r66711): Plug-in replacement text is never shown
https://bugs.webkit.org/show_bug.cgi?id=45997
<rdar://problem/8446766>
Don't return when the plug-in has replacement text.
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
2010-09-17 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed, build fix. Add files missed in r67704.
* CMakeLists.txt:
2010-09-17 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Remove scroll and clip layers for WKCACFLayerRenderer
https://bugs.webkit.org/show_bug.cgi?id=45922
WKCACFLayerRenderer no longer needs its own layers for managing scrolling
and clipping, because RenderLayerCompositor provides this functionality.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
(WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Remove call to setScrollFrame().
(WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Ditto.
* platform/graphics/win/WKCACFLayerRenderer.cpp: Remove references to scroll and clip layers
(WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
(WebCore::WKCACFLayerRenderer::setRootChildLayer):
(WebCore::WKCACFLayerRenderer::destroyRenderer):
(WebCore::WKCACFLayerRenderer::resize):
* platform/graphics/win/WKCACFLayerRenderer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText): Dump the layers from the root platform layer.
(WebCore::RenderLayerCompositor::requiresScrollLayer): On Windows,
always say yes.
2010-09-17 Jian Li <jianli@chromium.org>
Reviewed by Dmitry Titov.
createBlobURL with no argument causes crash.
https://bugs.webkit.org/show_bug.cgi?id=45880
The fix is to check if the passing blob argument is NULL or not.
Test: fast/files/create-blob-url-crash.html
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::createPublicBlobURL):
* page/DOMWindow.idl: Add attribute to convert null string to undefined.
2010-09-17 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
https://bugs.webkit.org/show_bug.cgi?id=45911
* WebCore.exp.in:
2010-09-17 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
ASSERTION FAILED: m_loadEventDelayCount
https://bugs.webkit.org/show_bug.cgi?id=45790
* dom/AsyncScriptRunner.cpp:
(WebCore::AsyncScriptRunner::timerFired): Protect document before we go running scripts.
2010-09-17 Stephen White <senorblanco@chromium.org>
Reviewed by Kenneth Russell.
[CHROMIUM] GPU-accelerated canvas should work in test_shell.
https://bugs.webkit.org/show_bug.cgi?id=45968
In order for the shaders in GPU-accelerated canvas to work in both the
GraphicsContext3D / GLES2 path as well as chromium's test_shell (which
passes them to the Mesa backend unmodified), the precision specifiers
in the fragment shader have to be wrapped in #if GL_ES.
Soon to be covered by many layout tests.
* platform/graphics/gpu/SolidFillShader.cpp:
(WebCore::SolidFillShader::create):
* platform/graphics/gpu/TexShader.cpp:
(WebCore::TexShader::create):
2010-09-17 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] [REGRESSION] Listbox rendering is incorrect
https://bugs.webkit.org/show_bug.cgi?id=45941
Only apply the shadow tiling optimization to a layer if the GraphicsContext
has a shadow.
This is covered by manual-tests/select-element-type-select.html.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawBorderlessRectShadow): Before applying the tiled shadow optimization
first check to see if the context has a shadow at all.
2010-09-17 Martin Robinson <mrobinson@igalia.com>
Reviewed by Oliver Hunt.
[GTK] FontPlatformDataFreeType should use smart pointers to hold its members
https://bugs.webkit.org/show_bug.cgi?id=45917
Have FontPlatformDataFreeType use smart pointers to hold its reference-counted
members. Also move the FcPattern specialization from OwnPtrCairo to PlatformRefPtrCairo
as this type is reference-counted.
No new tests as this should not introduce any functionality changes.
* platform/graphics/cairo/FontCacheFreeType.cpp:
(WebCore::FontCache::getFontDataForCharacters): Updated to reflect smart pointer changes.
(WebCore::FontCache::createFontPlatformData): Ditto.
* platform/graphics/cairo/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Ditto.
(WebCore::FontPlatformData::operator=): Ditto.
(WebCore::FontPlatformData::~FontPlatformData): Ditto.
(WebCore::FontPlatformData::isFixedPitch): Ditto.
(WebCore::FontPlatformData::operator==): Ditto.
* platform/graphics/cairo/FontPlatformDataFreeType.h:
(WebCore::FontPlatformData::FontPlatformData): Ditto.
(WebCore::FontPlatformData::scaledFont): Ditto.
(WebCore::FontPlatformData::hash): Ditto.
(WebCore::FontPlatformData::isHashTableDeletedValue): Ditto.
* platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
(WebCore::GlyphPage::fill): Ditto.
* platform/graphics/cairo/OwnPtrCairo.cpp: Removed FcPattern specialization.
* platform/graphics/cairo/OwnPtrCairo.h: Ditto.
* platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added FcPattern and cairo_scaled_font_t specializations.
(WTF::refPlatformPtr): Ditto.
(WTF::derefPlatformPtr): Ditto.
* platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto.
* platform/graphics/cairo/SimpleFontDataCairo.cpp:
(WebCore::SimpleFontData::platformInit): Updated to reflect smart pointer changes.
(WebCore::SimpleFontData::containsCharacters): Ditto.
(WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::setPangoAttributes): Ditto.
2010-09-14 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: show status message below call stack when debugger is paused on DOM breakpoint
https://bugs.webkit.org/show_bug.cgi?id=45114
* English.lproj/localizedStrings.js:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
(WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
(WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
(WebCore::InspectorDOMAgent::descriptionForDOMEvent):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::didPause):
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s):
(WebInspector.CallStackSidebarPane.prototype.updateStatus.append):
(WebInspector.CallStackSidebarPane.prototype.updateStatus):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.linkifyNodeById):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.debuggerPaused):
* inspector/front-end/inspector.css:
(.pane > .body .placard + .info):
* inspector/front-end/inspector.js:
(WebInspector.pausedScript):
(WebInspector.formatLocalized):
2010-09-17 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
Stop history reload navigation to bypass WebKit's popup blocker.
Now history reload can only navigate the page in self frame, no matter
what target frame is defined in <base> and no new window can be created.
https://bugs.webkit.org/show_bug.cgi?id=45369
Test: fast/events/popup-blocked-from-history-reload.html
* loader/RedirectScheduler.cpp:
(WebCore::ScheduledNavigation::ScheduledNavigation):
(WebCore::ScheduledNavigation::wasUserGesture):
Move the m_wasUserGesture to base class ScheduledNavigation. Then all
asynchronous navigation situations can restore the correct gesture state
during the real navigation process.
(WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
(WebCore::ScheduledURLNavigation::fire):
(WebCore::ScheduledURLNavigation::referrer):
(WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
(WebCore::ScheduledHistoryNavigation::fire):
(WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
(WebCore::ScheduledFormSubmission::fire):
(WebCore::RedirectScheduler::scheduleHistoryNavigation):
2010-09-16 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by James Robinson.
[chromium] Clip the update region of an ImageLayerChromium to actual size
of the image bitmap to prevent uninitialized memory access when uploading
the dirty region to the texture.
https://bugs.webkit.org/show_bug.cgi?id=45937
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContents):
2010-09-17 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by David Hyatt.
Remove extraneous RenderObject traversal.
https://bugs.webkit.org/show_bug.cgi?id=45821
This code always exits in the first iteration of the loop,
because in the context of this call, node->renderer()->node() != 0
is always true.
No behavior change, covered by existing tests.
* page/EventHandler.cpp:
(WebCore::EventHandler::canMouseDownStartSelect): Removed the loop.
(WebCore::EventHandler::canMouseDragExtendSelect): Ditto.
2010-09-17 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports
resource as not cached to InspectorController.
https://bugs.webkit.org/show_bug.cgi?id=45961
Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports
resource as not cached to InspectorController.
There is one path in control flow that leads to resources being
reported as not cached. Patch to follow.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::markResourceAsCached):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::markAsCached):
(WebCore::InspectorResource::updateResponse):
* inspector/InspectorResource.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
2010-09-17 Alexander Pavlov <apavlov@chromium.org>
Unreviewed, build fix. Add files missed in the previous commit.
* GNUmakefile.am:
* css/CSSPropertySourceData.cpp: Added.
(WebCore::SourceRange::SourceRange):
(WebCore::SourceRange::operator=):
(WebCore::CSSPropertySourceData::CSSPropertySourceData):
(WebCore::CSSPropertySourceData::operator=):
(WebCore::CSSPropertySourceData::toString):
(WebCore::CSSPropertySourceData::hash):
(WebCore::CSSPropertySourceData::init):
* css/CSSPropertySourceData.h: Added.
(WebCore::CSSPropertySourceData::~CSSPropertySourceData):
(WebCore::CSSStyleSourceData::create):
2010-09-15 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Provide source-based properties for style declarations to CSSParser clients
This change:
- Enables InspectorCSSStore to extract CSS stylesheet text for all source-based stylesheets,
even with the resource tracking turned off.
- Adds to CSSParser a capability of source-related style declaration data extraction:
* Start/end source offsets for a declaration, relative to the parent stylesheet start or the "style" attribute value.
* Start/end source offsets for CSS properties, relative to the declaration start.
* CSS property data: name, value, priority, WebCore parsability (i.e. if the property is understood by WebCore).
- Provides the extracted data to the WebInspector frontend via InspectorDOMAgent::getStyleSourceData().
https://bugs.webkit.org/show_bug.cgi?id=44949
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSGrammar.y:
* css/CSSMutableStyleDeclaration.h:
(WebCore::CSSMutableStyleDeclaration::node):
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::markRuleBodyStart):
(WebCore::CSSParser::markPropertyStart):
(WebCore::CSSParser::markPropertyEnd):
* css/CSSParser.h:
(WebCore::CSSParser::resetPropertyMarks):
* css/CSSPropertySourceData.cpp: Added.
(WebCore::SourceRange::SourceRange):
(WebCore::SourceRange::operator=):
(WebCore::CSSPropertySourceData::CSSPropertySourceData):
(WebCore::CSSPropertySourceData::operator=):
(WebCore::CSSPropertySourceData::toString):
(WebCore::CSSPropertySourceData::hash):
(WebCore::CSSPropertySourceData::init):
* css/CSSPropertySourceData.h: Added.
(WebCore::CSSPropertySourceData::~CSSPropertySourceData):
(WebCore::CSSStyleSourceData::create):
* inspector/Inspector.idl:
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::reset):
(WebCore::InspectorCSSStore::styleSheetText):
(WebCore::InspectorCSSStore::resourceStyleSheetText):
(WebCore::InspectorCSSStore::inlineStyleSheetText):
(WebCore::InspectorCSSStore::getStyleSourceData):
(WebCore::InspectorCSSStore::extractRanges):
(WebCore::InspectorCSSStore::getStyleAttributeRanges):
(WebCore::InspectorCSSStore::getParentStyleSheet):
(WebCore::InspectorCSSStore::inlineStyleElement):
* inspector/InspectorCSSStore.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::resourceContentForURL):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getStyleSourceData):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
* inspector/InspectorDOMAgent.h:
2010-09-17 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Show node description in inspector highlight
https://bugs.webkit.org/show_bug.cgi?id=20930
* inspector/InspectorController.cpp:
(WebCore::InspectorController::drawNodeHighlight):
(WebCore::InspectorController::drawElementTitle):
* inspector/InspectorController.h:
2010-09-16 takano takumi <takano1@asia.apple.com>
Reviewed by Kent Tamura.
https://bugs.webkit.org/show_bug.cgi?id=45020
Support "block-flow" and "writing-mode": interpret properties into RenderStyle
Fixed a regression in SVG test introduced by my previous change.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator EWritingMode):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
2010-09-16 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Add entry points to GraphicsContext3D needed for Chromium compositor port
https://bugs.webkit.org/show_bug.cgi?id=45939
Added entry points for two Chromium-specific extensions, and added
a flag to the GraphicsContext3D constructor, currently unsupported
by all ports (including Chromium), indicating whether the context
should render directly to the passed HostWindow or off-screen per
the current semantics. The switch to use GraphicsContext3D in
Chromium's compositor will follow in a subsequent patch.
No new tests; functionality is unchanged. Built and tested
Chromium and WebKit on Mac OS X.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::supportsMapSubCHROMIUM):
(WebCore::GraphicsContext3D::mapBufferSubDataCHROMIUM):
(WebCore::GraphicsContext3D::unmapBufferSubDataCHROMIUM):
(WebCore::GraphicsContext3D::mapTexSubImage2DCHROMIUM):
(WebCore::GraphicsContext3D::unmapTexSubImage2DCHROMIUM):
(WebCore::GraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM):
(WebCore::GraphicsContext3D::copyTextureToParentTextureCHROMIUM):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
2010-09-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by James Robinson.
In layerTreeAsText output, avoid printing properties which have their default values
https://bugs.webkit.org/show_bug.cgi?id=45931
Don't dump properties that have their default values to simplify output.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties):
2010-09-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] GraphicsContext: Remove unused variable
GraphicsContextPlatformPrivate::redirect wasn't used for anything.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::p):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2010-09-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Remove unnecessary QPainter::clipPath() call in TransparencyLayer()
https://bugs.webkit.org/show_bug.cgi?id=45923
QPainter::clipPath() can be very expensive, so use QPainter::hasClipping()
instead of QPainter::clipPath().isEmpty().
* platform/graphics/qt/TransparencyLayer.h:
(WebCore::TransparencyLayer::TransparencyLayer):
2010-09-16 David Hyatt <hyatt@apple.com>
Reviewed by Eric Seidel.
Fix for regression from my previous check-in. Make sure not to move the LayoutRepainter line
below the setHeight(0) call. This meant it snagged the wrong rectangle and we ended up repainting
the world.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
2010-09-16 takano takumi <takano1@asia.apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=45020
Support "block-flow" and "writing-mode": interpret properties into RenderStyle
Added code that interprets "block-flow" property and "writing-mode" property settings
into a RenderStyle object.
Test: fast/text/international/block-flow-parser-test.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EBlockFlowDirection):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in:
* css/SVGCSSValueKeywords.in:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::setBitDefaults):
(WebCore::InheritedFlags::blockFlow):
(WebCore::InheritedFlags::setBlockFlow):
(WebCore::InheritedFlags::initialBlockFlow):
* rendering/style/RenderStyleConstants.h:
2010-09-16 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Implement dissolveDragImageToFraction
https://bugs.webkit.org/show_bug.cgi?id=45826
Convert the drag image from a GdkPixbuf to a Cairo surface. Not only
might this allow code to be shared between Cairo ports it prevents a
full data copy when the image is not resized and makes the implementation
of dissolveDragImageToFraction more straight-forward.
This feature is covered by manual-tests/drag-image.html.
* page/gtk/DragControllerGtk.cpp:
(WebCore::DragController::maxDragImageSize): Make the maximum size of the drag
image a little smaller.
* platform/DragImage.h: Changed the drag image type to be a cairo_surface_t*.
* platform/gtk/DragImageGtk.cpp:
(WebCore::dragImageSize): Reimplemented to reflect new drag image type.
(WebCore::deleteDragImage): Ditto.
(WebCore::scaleDragImage): Ditto.
(WebCore::dissolveDragImageToFraction): Filled the stub of this function.
(WebCore::createDragImageFromImage): Reimplemented to reflect new drag image type.
* platform/gtk/GtkVersioning.h: Added definition for gtk_widget_get_realized for older GTK+s.
2010-09-15 David Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=38402, paginate columns at layout time rather than at paint time.
This patch adds support for column breaking at layout time rather than at paint time. New variables have been
added to LayoutState and to ColumnInfo to track column information while laying out.
The basic idea behind this patch is to retain the columns' paint-time hackery of transforming one long vertical strip
into multiple columns. Now, however, layout is aware of the columns and will move objects up and down vertically in order
to ensure they don't intersect a break.
Many new tests added in fast/multicol and new results added for existing fast/multicol tests.
* rendering/ColumnInfo.h:
(WebCore::ColumnInfo::ColumnInfo):
(WebCore::ColumnInfo::columnCount):
(WebCore::ColumnInfo::columnHeight):
(WebCore::ColumnInfo::setColumnCountAndHeight):
(WebCore::ColumnInfo::setColumnHeight):
(WebCore::ColumnInfo::updateMinimumColumnHeight):
(WebCore::ColumnInfo::minimumColumnHeight):
(WebCore::ColumnInfo::forcedBreaks):
(WebCore::ColumnInfo::forcedBreakOffset):
(WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
(WebCore::ColumnInfo::clearForcedBreaks):
(WebCore::ColumnInfo::addForcedBreak):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::clearPaginationInformation):
(WebCore::LayoutState::pageY):
(WebCore::LayoutState::addForcedColumnBreak):
* rendering/LayoutState.h:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::paginatingColumns):
(WebCore::LayoutState::paginated):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::estimateVerticalPosition):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::paintColumnContents):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::removeFloatingObjects):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::positionNewFloatOnLine):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::markDescendantBlocksAndLinesForLayout):
(WebCore::RenderBlock::hitTestColumns):
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):
(WebCore::RenderBlock::columnCount):
(WebCore::RenderBlock::columnRectAt):
(WebCore::RenderBlock::layoutColumns):
(WebCore::RenderBlock::adjustPointToColumnContents):
(WebCore::RenderBlock::adjustRectForColumns):
(WebCore::RenderBlock::adjustForColumns):
(WebCore::RenderBlock::setMaxTopMargins):
(WebCore::RenderBlock::setMaxBottomMargins):
(WebCore::RenderBlock::setPaginationStrut):
(WebCore::RenderBlock::setPageY):
(WebCore::RenderBlock::nextPageTop):
(WebCore::inNormalFlow):
(WebCore::RenderBlock::applyBeforeBreak):
(WebCore::RenderBlock::applyAfterBreak):
(WebCore::RenderBlock::adjustForUnsplittableChild):
(WebCore::RenderBlock::adjustLinePositionForPagination):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::paginationStrut):
(WebCore::RenderBlock::pageY):
(WebCore::RenderBlock::maxTopPosMargin):
(WebCore::RenderBlock::maxTopNegMargin):
(WebCore::RenderBlock::maxBottomPosMargin):
(WebCore::RenderBlock::maxBottomNegMargin):
(WebCore::RenderBlock::initMaxMarginValues):
(WebCore::RenderBlock::FloatingObject::FloatingObject):
(WebCore::RenderBlock::FloatingObject::type):
(WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::skipLeadingWhitespace):
(WebCore::RenderBlock::findNextLineBreak):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::markDescendantBlocksAndLinesForLayout):
* rendering/RenderBox.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderFlexibleBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::mapLocalToContainer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updatePagination):
(WebCore::RenderLayer::paintChildLayerIntoColumns):
(WebCore::RenderLayer::hitTestChildLayerColumns):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::layout):
* rendering/RenderTable.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::pushLayoutState):
* rendering/RenderView.h:
(WebCore::RenderView::setTruncatedAt):
(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::popLayoutState):
(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::paginationStrut):
(WebCore::RootInlineBox::setPaginationStrut):
2010-09-16 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Dimitri Glazkov.
Fix debug crash in HTMLFrameOwnerElement caused by content frame being used after destruction.
https://bugs.webkit.org/show_bug.cgi?id=45737
Test: fast/frames/frame-limit.html
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::willRemove):
2010-09-16 Thomas Zander <t.zander@nokia.com>
Reviewed by Andreas Kling.
https://bugs.webkit.org/show_bug.cgi?id=45878
[Qt] Fixed incorrect Symbian scoping.
The missing install functionality is only true for mmp based systems.
* WebCore.pro: limit functionality to mmp systems.
2010-09-16 Anders Carlsson <andersca@apple.com>
Fix clang build.
* page/animation/AnimationBase.h:
Fix struct/class mismatch.
2010-09-16 Darin Adler <darin@apple.com>
Reviewed by Andreas Kling.
Reduce use of HTMLInputElement::inputType so we can remove it later
https://bugs.webkit.org/show_bug.cgi?id=45903
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isFileUploadButton): Use isFileUpload.
(WebCore::AccessibilityRenderObject::isInputImage): Use isImageButton.
(WebCore::AccessibilityRenderObject::determineAccessibilityRole): Use
isCheckbox and isRadioButton.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle): Use isImageButton.
* editing/Editor.cpp:
(WebCore::Editor::setBaseWritingDirection): Use isTextField.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Use isPasswordField.
* editing/SelectionController.cpp:
(WebCore::SelectionController::isInPasswordField): Use isPasswordField.
* html/HTMLInputElement.h: Added isFileUpload, isImageButton, and isSubmitButton.
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip): Use isSubmitButton and isFileUpload.
* page/DragController.cpp:
(WebCore::asFileInput): Use isFileUpload.
* page/EventHandler.cpp:
(WebCore::isSubmitImage): Use isImageButton.
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::updateFromElement): Use isFileUpload.
2010-09-16 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: quick fix for crash in InspectorController::loadBreakpoints caused by empty main resource
https://bugs.webkit.org/show_bug.cgi?id=45901
* inspector/InspectorController.cpp:
(WebCore::InspectorController::breakpointsSettingKey):
2010-09-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Prevent responseReceivedTime from being > endTime in case mixture of WebCore and Network stack info is used.
https://bugs.webkit.org/show_bug.cgi?id=45892
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::endTiming):
2010-09-16 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: move resourceTracking flag under control of BackendSettings.
Four Inspector API methods about resourceTracking flag were removed.
Actual state of the flag is transfered as the response of setResourceTracking request.
Initial state of the flag on the frontend side is obtained from settings.backend.
https://bugs.webkit.org/show_bug.cgi?id=45887
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::getBackendSettings):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::setResourceTracking):
* inspector/InspectorController.h:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
* inspector/front-end/Settings.js:
(WebInspector.Settings.initialize.populateBackendSettings):
(WebInspector.Settings.initialize):
* inspector/front-end/inspector.js:
2010-09-16 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
BlobData should be copied for it to be used cross-thread in ThreadableBlobRegistry.
https://bugs.webkit.org/show_bug.cgi?id=45909
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::BlobRegistryContext::BlobRegistryContext):
2010-09-16 Daniel Cheng <dcheng@chromium.org>
Reviewed by Simon Fraser.
[chromium] Fix incorrect drag node/selection painting.
https://bugs.webkit.org/show_bug.cgi?id=45573
Drag selections were being incorrectly clipped when dragging a selection
near the bottom of a page that was taller than the viewport. To fix
this, we use paintContents() instead of paint().
* page/chromium/FrameChromium.cpp:
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):
2010-09-16 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
Fix incorrect usage of dissolveDragImageToFraction().
https://bugs.webkit.org/show_bug.cgi?id=45835
createDragImageForSelection() was ignoring the return value of
dissolveDragImageToFraction(). This didn't happen to crash on most
platforms, since most implementations simply modified the image that was
passed in. However, Chromium Mac's implementation actually creates a new
image and returns that instead. This caused us to crash when copying the
image from the renderer to the browser process, since the memory had
already been freed.
* manual-tests/selection-drag-crash.html: Added.
* platform/DragImage.cpp:
(WebCore::createDragImageForSelection):
2010-09-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r67628.
http://trac.webkit.org/changeset/67628
https://bugs.webkit.org/show_bug.cgi?id=45904
broke the build (Requested by eric_carlson on #webkit).
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
(WebCore::ContextMenu::checkOrEnableIfNeeded):
* platform/ContextMenuItem.h:
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.cpp:
* platform/LocalizedStrings.h:
* platform/android/LocalizedStringsAndroid.cpp:
* platform/brew/LocalizedStringsBrew.cpp:
* platform/efl/LocalizedStringsEfl.cpp:
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::gtkStockIDFromContextMenuAction):
* platform/gtk/LocalizedStringsGtk.cpp:
* platform/haiku/LocalizedStringsHaiku.cpp:
* platform/wx/LocalizedStringsWx.cpp:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteMediaURL):
* rendering/HitTestResult.h:
2010-09-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Fraser.
CSS: Fix crash in getTimingFunctionValue()
https://bugs.webkit.org/show_bug.cgi?id=45896
Use a RefPtr to avoid deleting the TimingFunction prematurely.
This is covered by existing tests, e.g transitions/inherit-other-props.html
but will only actually crash on picky platforms (or in valgrind.)
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getTimingFunctionValue):
2010-09-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: prevent resource timing popover from having scrollers.
https://bugs.webkit.org/show_bug.cgi?id=45883
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._showPopover):
2010-09-15 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GTK] enhanced context menu for media elements
https://bugs.webkit.org/show_bug.cgi?id=45021
New items in the media Element context menu:
- play/pause
- mute/unmute
- controls display control
- switch to fullscreen (for video only)
- loop playback control
- copy media url to clipboard
- open in new window
Test: media/context-menu-actions.html
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
(WebCore::ContextMenu::checkOrEnableIfNeeded):
* platform/ContextMenuItem.h:
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagOpenMediaInNewWindow):
(WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagMediaUnMute):
* platform/LocalizedStrings.h:
* platform/android/LocalizedStringsAndroid.cpp:
(WebCore::contextMenuItemTagOpenMediaInNewWindow):
(WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagMediaUnMute):
* platform/brew/LocalizedStringsBrew.cpp:
(WebCore::contextMenuItemTagOpenMediaInNewWindow):
(WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagMediaUnMute):
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::contextMenuItemTagOpenMediaInNewWindow):
(WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagMediaUnMute):
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::gtkStockIDFromContextMenuAction):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::contextMenuItemTagOpenMediaInNewWindow):
(WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagMediaUnMute):
* platform/haiku/LocalizedStringsHaiku.cpp:
(WebCore::contextMenuItemTagOpenMediaInNewWindow):
(WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagMediaUnMute):
* platform/wx/LocalizedStringsWx.cpp:
(WebCore::contextMenuItemTagOpenMediaInNewWindow):
(WebCore::contextMenuItemTagCopyMediaLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagMediaUnMute):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteMediaURL):
(WebCore::HitTestResult::mediaSupportsFullscreen):
(WebCore::HitTestResult::mediaElement):
(WebCore::HitTestResult::toggleMediaControlsDisplay):
(WebCore::HitTestResult::toggleMediaLoopPlayback):
(WebCore::HitTestResult::enterFullscreenForVideo):
(WebCore::HitTestResult::mediaControlsEnabled):
(WebCore::HitTestResult::mediaLoopEnabled):
(WebCore::HitTestResult::mediaPlaying):
(WebCore::HitTestResult::toggleMediaPlayState):
(WebCore::HitTestResult::mediaHasAudio):
(WebCore::HitTestResult::mediaMuted):
(WebCore::HitTestResult::toggleMediaMuteState):
* rendering/HitTestResult.h:
2010-09-16 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Crash in WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions
https://bugs.webkit.org/show_bug.cgi?id=45833
Test: fast/parser/x-frame-options-detached-document-crash.html
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Other branches in this method already test for a null frame. So it seems to make sense to test that here as well.
2010-09-16 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
[chromium] ImageLayerChromium needs to keep a ref to the Image it uses
so that it never tries to access an already destroyed Image.
https://bugs.webkit.org/show_bug.cgi?id=45869
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsToImage):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::setContents):
(WebCore::ImageLayerChromium::updateContents):
* platform/graphics/chromium/ImageLayerChromium.h:
2010-09-16 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Add platform-specific Image methods
https://bugs.webkit.org/show_bug.cgi?id=28272
* platform/graphics/wince/ImageWinCE.cpp: Added.
(WebCore::RGBA32Buffer::asNewNativeImage):
(WebCore::FrameData::clear):
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
(WebCore::BitmapImage::draw):
(WebCore::Image::drawPattern):
(WebCore::BitmapImage::drawPattern):
(WebCore::BitmapImage::checkForSolidColor):
2010-09-16 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation
https://bugs.webkit.org/show_bug.cgi?id=45890
* inspector/InspectorController.cpp:
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::restoreDebugger):
(WebCore::InspectorController::restoreProfiler):
* inspector/InspectorController.h:
2010-09-16 Satish Sampath <satish@chromium.org>
Unreviewed, fixing a build break with VS 2008.
Fix build break, add the namespace in a friend declaration to get MSVC recognize it properly.
https://bugs.webkit.org/show_bug.cgi?id=45893
* fileapi/FileWriter.h:
2010-09-15 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GStreamer] XOverlay API changes break the build
https://bugs.webkit.org/show_bug.cgi?id=45810
Cope with the GStreamer XOverlay API change for the upcoming
0.10.31 version.
No new tests, build fix only.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::setWindowOverlay):
2010-09-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] V8 port: Fix debug build
Add missing inclusion of <wtf/text/CString.h> where necessary for debug builds.
* history/PageCache.cpp:
* html/HTMLElement.cpp:
* html/HTMLMediaElement.cpp:
* loader/DocumentLoader.cpp:
* loader/icon/IconDatabase.cpp:
* loader/icon/IconLoader.cpp:
* storage/AbstractDatabase.cpp:
* storage/Database.cpp:
* storage/DatabaseSync.cpp:
* storage/DatabaseTracker.cpp:
2010-09-16 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=45852
Range::selectNode and selectNodeContents misbehave when argument is in another document
Test: fast/dom/Range/select-node-different-document.html
There is nothing in DOM Traversal spec that says this shouldn't work, and it does work in
Firefox.
* dom/Range.cpp:
(WebCore::Range::setDocument):
(WebCore::Range::selectNode):
(WebCore::Range::selectNodeContents):
* dom/Range.h:
2010-09-16 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
Added support to export HAR to file from Resources panel (conditional on Preferences)
Added support for HARLog (a higher-level aggregate than HAREntry)
https://bugs.webkit.org/show_bug.cgi?id=45663
* English.lproj/localizedStrings.js:
* inspector/front-end/HAREntry.js:
(WebInspector.HAREntry.prototype.build):
(WebInspector.HAREntry.prototype._buildTimings):
(WebInspector.HAREntry._toMilliseconds):
(WebInspector.HARLog):
(WebInspector.HARLog.prototype.build):
(WebInspector.HARLog.prototype._buildPages):
(WebInspector.HARLog.prototype._buildMainResourceTimings):
(WebInspector.HARLog.prototype._convertResource):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.hide):
(WebInspector.ResourcesPanel.prototype._contextMenu):
(WebInspector.ResourcesPanel.prototype._exportAll):
(WebInspector.ResourcesPanel.prototype._exportResource):
* inspector/front-end/Settings.js:
* inspector/front-end/utilities.js:
():
2010-09-16 Eric Uhrhane <ericu@chromium.org>
Reviewed by Jian Li.
Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
https://bugs.webkit.org/show_bug.cgi?id=45798
* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* WebCore.pro:
* dom/EventTarget.cpp:
* dom/EventTarget.h:
* dom/ExceptionCode.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* fileapi/AsyncFileWriter.h:
* fileapi/FileEntry.cpp:
* fileapi/FileEntry.h:
* fileapi/FileEntry.idl:
* fileapi/FileError.h:
* fileapi/FileError.idl:
* fileapi/FileException.h:
* fileapi/FileException.idl:
* fileapi/FileStreamProxy.cpp:
* fileapi/FileStreamProxy.h:
* fileapi/FileThread.cpp:
* fileapi/FileThread.h:
* fileapi/FileWriter.cpp:
* fileapi/FileWriter.h:
* fileapi/FileWriter.idl:
* fileapi/FileWriterCallback.h:
* fileapi/FileWriterCallback.idl:
* fileapi/FileWriterClient.h:
* page/DOMWindow.idl:
* platform/AsyncFileStream.h:
* platform/FileStream.cpp:
* platform/FileStream.h:
* platform/FileStreamClient.h:
2010-09-16 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Dimitri Glazkov.
Convert WebCore.gyp to use regexp to excludes files instead of listing them in sources!.
This is necessary because sources! is processed before sources/. This makes
applying broader pattern in sources/ more difficult since it overrides the files
listed in sources!. Having all them in sources/ permits controlling the ordering
of the regexp, thus the final list of included files.
Fix Harfbuzz and VDMX source files includes in WebCore.gypi and WebCore.gyp
https://bugs.webkit.org/show_bug.cgi?id=45823
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
2010-09-16 Nat Duca <nduca@chromium.org>
Reviewed by Darin Fisher.
[chromium] Make compositor obey finish flag
https://bugs.webkit.org/show_bug.cgi?id=45552
The compositor should obey the finish flag on doComposite. This
flag causes the compositor to finish rendering before returning,
which is needed when resizing the window to avoid flashes of green.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::finish):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-09-16 Alejandro G. Castro <alex@igalia.com>
Reviewed by Xan Lopez.
GTK+ 3.x. updates, gtk_widget_size_request is deprecated and
"activate-slider" style property for scrollbars is gone.
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::show):
* platform/gtk/gtk2drawing.c:
(moz_gtk_scrollbar_thumb_paint):
(moz_gtk_combo_box_paint):
2010-09-16 Diego Gonzalez <diegohcg@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Remove FrameLoaderClientQt::webFrame() to use NetworkingContext to get the WebFrame to avoid layering violations
https://bugs.webkit.org/show_bug.cgi?id=42293
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivate::commitLoad):
2010-09-16 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed build fix for EFL
[EFL] REGRESSION(67567) FontCacheCairo was removed
https://bugs.webkit.org/show_bug.cgi?id=45858
* CMakeListsEfl.txt:
2010-09-16 Yong Li <yoli@rim.com>
Reviewed by George Staikos.
https://bugs.webkit.org/show_bug.cgi?id=37117
Add platform-independent JPEG/PNG image encoders that
work with big endian RGBA source data.
There's no layout test because this patch does't make
any port start using the encoders.
* platform/image-encoders/JPEGImageEncoder.cpp: Added.
* platform/image-encoders/JPEGImageEncoder.h: Added.
* platform/image-encoders/PNGImageEncoder.cpp: Added.
* platform/image-encoders/PNGImageEncoder.h: Added.
2010-09-15 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Allow the embedder to specify the base path for IndexedDB.
https://bugs.webkit.org/show_bug.cgi?id=45815
Existing tests provide coverage. Use the indexedDBPath parameter that's
already on the group settings object. Pass this parameter into the backend
which will use it rather than a hard coded tmp directory location. If
nothing is specified, assume it should be an in-memory temporary database.
(This is useful for bringup and Chromium's incognito mode.)
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::openSQLiteDatabase):
(WebCore::createTables):
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
2010-09-16 Yong Li <yoli@rim.com>
Reviewed by George Staikos.
Fix the bug that GIF image down sampling can miss some lines.
https://bugs.webkit.org/show_bug.cgi?id=45322
Test: fast/images/gif-large-checkerboard.html
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
2010-09-16 Philippe Normand <pnormand@igalia.com>
Reviewed by Andreas Kling.
[GStreamer] un-needed header includes in MediaPlayerPrivate
https://bugs.webkit.org/show_bug.cgi?id=45877
Include only the headers we need.
No new tests, #includes cleanup only.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2010-09-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: console.group(object) does not allow object to be expanded.
https://bugs.webkit.org/show_bug.cgi?id=45806
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleGroup.prototype.addMessage):
* inspector/front-end/treeoutline.js:
(TreeElement.treeElementToggled):
2010-09-08 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Complete index support for IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=45386
Add the rest of the index related API for IndexedDB. This
includes cursor suport. A bunch of code was also refactored
since it is shared between indexes and objectStores.
Tests: storage/indexeddb/index-basics.html
storage/indexeddb/index-cursor.html
+ additions to others.
* storage/IDBAny.cpp:
(WebCore::IDBAny::set):
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::value):
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::value):
(WebCore::IDBCursorBackendImpl::update):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::remove):
(WebCore::IDBCursorBackendImpl::loadCurrentRow):
(WebCore::IDBCursorBackendImpl::database):
* storage/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
* storage/IDBCursorBackendInterface.h:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::createTables):
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openObjectCursor):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::getObject):
(WebCore::IDBIndex::get):
* storage/IDBIndex.h:
(WebCore::IDBIndex::storeName):
* storage/IDBIndex.idl:
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::storeName):
(WebCore::openCursorInternal):
(WebCore::IDBIndexBackendImpl::openObjectCursor):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::getInternal):
(WebCore::IDBIndexBackendImpl::getObject):
(WebCore::IDBIndexBackendImpl::get):
* storage/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::objectStore):
* storage/IDBIndexBackendInterface.h:
* storage/IDBKey.cpp:
(WebCore::IDBKey::fromQuery):
(WebCore::IDBKey::whereSyntax):
(WebCore::IDBKey::leftCursorWhereFragment):
(WebCore::IDBKey::rightCursorWhereFragment):
* storage/IDBKey.h:
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::leftWhereClauseComparisonOperator):
(WebCore::IDBKeyRange::rightWhereClauseComparisonOperator):
* storage/IDBKeyRange.h:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::openCursor):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::timerFired):
2010-09-15 Simon Fraser <simon.fraser@apple.com>
Fix chromium build.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
2010-09-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=44715
maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
Remove the concept of geometry flipping from GraphicsLayer; geometry flipping will
be taken care of in platform code without the need to complicate the GraphicsLayer API.
RenderLayerCompositor no longer sets the geometry orientation for the root
platform layer; platform-specific code does this instead.
This fixes flipped layers in WebKit2, since WebKit2 was already flipping
geometry, and then RenderLayerCompositor was doing an additional flip.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
* platform/graphics/GraphicsLayer.h:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/mac/GraphicsLayerCA.h:
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::defaultContentsOrientation):
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::flushChanges):
* platform/graphics/qt/GraphicsLayerQt.h:
* platform/graphics/win/GraphicsLayerCACF.cpp:
(WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer):
* platform/graphics/win/GraphicsLayerCACF.h:
* platform/graphics/win/WKCACFLayerRenderer.cpp:
(WebCore::WKCACFLayerRenderer::setRootChildLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2010-09-15 Julien Chaffraix <jchaffraix@codeaurora.org>
Unreviewed.
Reverting my changes as it is breaking several tests on Gtk and Qt.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor):
* css/CSSParser.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::createFromString):
* html/canvas/CanvasStyle.h:
2010-09-15 Julien Chaffraix <jchaffraix@codeaurora.org>
Reviewed by Andreas Kling.
Parse system colors in the HTML5 canvas context.
https://bugs.webkit.org/show_bug.cgi?id=39168
Test: fast/css/test-setting-canvas-color.html
Based on previous work by Jan Erik Hanssen <jhanssen@codeaurora.org>
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor): Changed the function to better match our
early return policy. Also we now return false when we don't parse the color.
This is needed for createFromString to fallback to using parseSystemColor.
(WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
the system colors.
* css/CSSParser.h: Added the new parseSystemColor method.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
(WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
and fall back to parseSystemColor if it did not work.
* html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
2010-09-14 Erik Arvidsson <arv@chromium.org>
Reviewed by Darin Adler.
getComputedStyle() returns different values for different zoom levels
https://bugs.webkit.org/show_bug.cgi?id=32230
Test: fast/css/getComputedStyle/computed-style-with-zoom.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::zoomAdjustedPixelValue):
(WebCore::zoomAdjustedNumberValue):
(WebCore::valueForReflection):
(WebCore::getPositionOffsetValue):
(WebCore::getBorderRadiusCornerValue):
(WebCore::computedTransform):
(WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
(WebCore::CSSComputedStyleDeclaration::valueForShadow):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSComputedStyleDeclaration.h:
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
* rendering/RenderObject.h:
(WebCore::adjustForAbsoluteZoom):
* rendering/style/RenderStyle.h:
(WebCore::adjustForAbsoluteZoom):
2010-09-14 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Fully separate Pango and FreeType font backends
https://bugs.webkit.org/show_bug.cgi?id=27442
Split FontPlatformData.h into separate versions for Pango, FreeType and WinCairo.
Include the correct file via #ifdef'd includes, like the Chromium port. Also split
FontCacheCairo.cpp into Pango and FreeType versions, as they had almost no code in
common. Finally, rename FontPlatformDataCairo to FontPlatformDataFreeType, as this
compilation unit is used only by the FreeType backend. This change is important to
prevent upcoming fixes to the FreeType backend from affecting other backends.
No new tests as functionality has not changed.
* CMakeListsEfl.txt: Update source lists.
* GNUmakefile.am: Update source lists.
* platform/graphics/cairo/FontCacheCairo.cpp: Removed.
* platform/graphics/cairo/FontCacheFreeType.cpp: Added.
(WebCore::FontCache::platformInit):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
(WebCore::FontCache::getTraitsInFamily):
(WebCore::isWellKnownFontName):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/cairo/FontPlatformData.h:
* platform/graphics/cairo/FontPlatformDataFreeType.cpp: Renamed from WebCore/platform/graphics/cairo/FontPlatformDataCairo.cpp.
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::init):
(WebCore::FontPlatformData::~FontPlatformData):
(WebCore::FontPlatformData::isFixedPitch):
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::description):
* platform/graphics/cairo/FontPlatformDataFreeType.h: Added.
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::size):
(WebCore::FontPlatformData::setSize):
(WebCore::FontPlatformData::syntheticBold):
(WebCore::FontPlatformData::syntheticOblique):
(WebCore::FontPlatformData::scaledFont):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::isHashTableDeletedValue):
(WebCore::FontPlatformData::hashTableDeletedFontValue):
* platform/graphics/gtk/FontCachePango.cpp: Added.
(WebCore::FontCache::platformInit):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
(WebCore::FontCache::getTraitsInFamily):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/gtk/FontPlatformDataPango.h: Added.
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::size):
(WebCore::FontPlatformData::setSize):
(WebCore::FontPlatformData::syntheticBold):
(WebCore::FontPlatformData::syntheticOblique):
(WebCore::FontPlatformData::scaledFont):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::isHashTableDeletedValue):
(WebCore::FontPlatformData::hashTableDeletedFontValue):
* platform/graphics/win/FontPlatformDataCairoWin.h: Added.
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::hfont):
(WebCore::FontPlatformData::useGDI):
(WebCore::FontPlatformData::fontFace):
(WebCore::FontPlatformData::size):
(WebCore::FontPlatformData::setSize):
(WebCore::FontPlatformData::syntheticBold):
(WebCore::FontPlatformData::syntheticOblique):
(WebCore::FontPlatformData::scaledFont):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::isHashTableDeletedValue):
2010-09-15 Chris Fleizach <cfleizach@apple.com>
Reviewed by Simon Fraser.
AX: when text is auto-truncated, accessibility bounds are wrong
https://bugs.webkit.org/show_bug.cgi?id=45793
Allow accessibility to retrieve the absoluteQuads of a text node that
clips to the ellipsis.
Test: accessibility/ellipsis-text.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::boundingBoxRect):
* rendering/RenderText.cpp:
(WebCore::ellipsisRectForBox):
Make a common method to retrieve the ellipsis rect.
(WebCore::RenderText::absoluteQuads):
Default into the absoluteQuads method that allows for ellipsis clipping.
(WebCore::RenderText::selectionRectForRepaint):
Use the common method for retrieving the ellipsis.
* rendering/RenderText.h:
2010-09-15 Ariya Hidayat <ariya@sencha.com>
[Qt] Improve the speed of blur shadow
https://bugs.webkit.org/show_bug.cgi?id=44222
Rewrite the shadow blur function with loop unrolls and sliding step
unification for both horizontal and vertical directions.
This gives significant performance improvement on most cases.
* platform/graphics/qt/ContextShadow.cpp:
(WebCore::shadowBlur):
2010-09-14 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
(Take 2). Web Inspector: Provide network-based load timing.
Before this change, inspector used timers taken from
within WebCore notifications (that are by definition
synchronous and serialized). As a result, timing was
affected by the routines running on the main thread
(JavaScript and such).
https://bugs.webkit.org/show_bug.cgi?id=45664
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::endTiming):
* inspector/InspectorResource.h:
* loader/PingLoader.h:
(WebCore::PingLoader::didFinishLoading):
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didFinishLoading):
* loader/ResourceLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFinishLoading):
* loader/appcache/ApplicationCacheGroup.h:
* loader/icon/IconFetcher.cpp:
(WebCore::IconFetcher::didFinishLoading):
* loader/icon/IconFetcher.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::didFinishLoading):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyFinish):
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didFinishLoading):
* platform/network/ResourceLoadTiming.h:
(WebCore::ResourceLoadTiming::deepCopy):
(WebCore::ResourceLoadTiming::operator==):
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::didFinishLoading):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::parseDataUrl):
* platform/network/mac/ResourceHandleMac.mm:
(-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
(WebCoreSynchronousLoaderClient::didFinishLoading):
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::finish):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::ResourceHandle::onRequestComplete):
(WebCore::ResourceHandle::fileLoadTimer):
(WebCore::ResourceHandle::cancel):
2010-09-15 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r67551.
http://trac.webkit.org/changeset/67551
https://bugs.webkit.org/show_bug.cgi?id=45816
"Plugin tests fail" (Requested by yurys on #webkit).
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::didCloseWebSocket):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::endTiming):
* inspector/InspectorResource.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didFinishLoading):
* loader/MainResourceLoader.h:
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::didFinishLoading):
* loader/PingLoader.h:
(WebCore::PingLoader::didFinishLoading):
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::didFinishLoad):
(WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
(WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
* loader/ResourceLoadNotifier.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFinishLoadingOnePart):
* loader/ResourceLoader.h:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):
* loader/SubresourceLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFinishLoading):
* loader/appcache/ApplicationCacheGroup.h:
* loader/icon/IconFetcher.cpp:
(WebCore::IconFetcher::didFinishLoading):
* loader/icon/IconFetcher.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::didFinishLoading):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyFinish):
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didFinishLoading):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::didFinishLoading):
(WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::parseDataUrl):
* platform/network/mac/ResourceHandleMac.mm:
(-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
(WebCoreSynchronousLoaderClient::didFinishLoading):
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::finish):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::finishedCallback):
(WebCore::parseDataUrl):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::ResourceHandle::onRequestComplete):
(WebCore::ResourceHandle::fileLoadTimer):
(WebCore::ResourceHandle::cancel):
2010-09-14 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Provide network-based load timing.
Before this change, inspector used timers taken from
within WebCore notifications (that are by definition
synchronous and serialized). As a result, timing was
affected by the routines running on the main thread
(JavaScript and such).
https://bugs.webkit.org/show_bug.cgi?id=45664
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::endTiming):
* inspector/InspectorResource.h:
* loader/PingLoader.h:
(WebCore::PingLoader::didFinishLoading):
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didFinishLoading):
* loader/ResourceLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFinishLoading):
* loader/appcache/ApplicationCacheGroup.h:
* loader/icon/IconFetcher.cpp:
(WebCore::IconFetcher::didFinishLoading):
* loader/icon/IconFetcher.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::didFinishLoading):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyFinish):
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didFinishLoading):
* platform/network/ResourceLoadTiming.h:
(WebCore::ResourceLoadTiming::deepCopy):
(WebCore::ResourceLoadTiming::operator==):
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::didFinishLoading):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::parseDataUrl):
* platform/network/mac/ResourceHandleMac.mm:
(-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
(WebCoreSynchronousLoaderClient::didFinishLoading):
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::finish):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::ResourceHandle::onRequestComplete):
(WebCore::ResourceHandle::fileLoadTimer):
(WebCore::ResourceHandle::cancel):
2010-09-14 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: small refactoring for monitorXHR backend property.
Our Inspector API is quite big and can be simplified a bit.
As example for single backend property like monitoringXHR we
have 4 functions in the API. Two functions for frontend
enableMonitoringXHR/disableMonitoringXHR and
two functions for backend monitoringXHRWasEnabled and
monitoringXHRWasDisabled. These functions can be replaced by
one setMonitoringXHR with one 'in' and one 'out' argument.
The initial state of the flag can be gathered from backend
with help of getSettings call where additional section was
added for backend state information.
https://bugs.webkit.org/show_bug.cgi?id=45759
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
* inspector/front-end/ConsoleView.js:
* inspector/front-end/Settings.js:
* inspector/front-end/inspector.js:
2010-09-15 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Multiline console does not work on Windows / Linux.
https://bugs.webkit.org/show_bug.cgi?id=45807
* inspector/front-end/ConsoleView.js:
2010-09-15 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Dirk Schulze.
SVGFETurbulenceElement doesn't support dynamic invalidation, when attributes change.
A typo (noStich instead of nostitch) is also fixed in this patch.
https://bugs.webkit.org/show_bug.cgi?id=45809
Tests: svg/dynamic-updates/SVGFETurbulenceElement-dom-baseFrequency-attr.html
svg/dynamic-updates/SVGFETurbulenceElement-dom-numOctaves-attr.html
svg/dynamic-updates/SVGFETurbulenceElement-dom-seed-attr.html
svg/dynamic-updates/SVGFETurbulenceElement-dom-stitchTiles-attr.html
svg/dynamic-updates/SVGFETurbulenceElement-dom-type-attr.html
svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html
svg/dynamic-updates/SVGFETurbulenceElement-svgdom-numOctaves-prop.html
svg/dynamic-updates/SVGFETurbulenceElement-svgdom-seed-prop.html
svg/dynamic-updates/SVGFETurbulenceElement-svgdom-stitchTiles-prop.html
svg/dynamic-updates/SVGFETurbulenceElement-svgdom-type-prop.html
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::parseMappedAttribute):
(WebCore::SVGFETurbulenceElement::svgAttributeChanged):
* svg/SVGFETurbulenceElement.h:
2010-09-15 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kenneth Rohde Christiansen.
[WINCE] Avoid memcpy in TextCodecWinCE::encode
https://bugs.webkit.org/show_bug.cgi?id=45468
* platform/text/wince/TextCodecWinCE.cpp:
(WebCore::TextCodecWinCE::encode):
2010-09-14 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
Add custom binding code for DirectoryEntry to allow JSON parameters for Flags
https://bugs.webkit.org/show_bug.cgi?id=45724
No new tests; tests will be added later.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDirectoryEntryCustom.cpp: Added.
(WebCore::JSDirectoryEntry::getFile):
(WebCore::JSDirectoryEntry::getDirectory):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp: Added.
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
* fileapi/DirectoryEntry.h:
* fileapi/DirectoryEntry.idl:
2010-09-14 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Only intercept ESC key press when autocorrection UI is visible.
https://bugs.webkit.org/show_bug.cgi?id=45071
Only intercept ESC key when autocorrection panel is shown. Otherwise pressing
ESC will cancel current loading like usual.
* editing/Editor.cpp:
(WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection
panel is shown.
* editing/Editor.h: Added declaration of isShowingCorrectionPanel().
* editing/EditorCommand.cpp:
(WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation()
when autocorrection panel is shown.
(WebCore::createCommandMap): Replaced isSupported function pointer for
executeCancelOperation() command with supportedDismissCorrectionPanel().
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of
new member method declared in base class.
* page/EditorClient.h: Declared new member method isShowingCorrectionPanel().
2010-09-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r67503.
http://trac.webkit.org/changeset/67503
https://bugs.webkit.org/show_bug.cgi?id=45802
This patch broke GTK builds (Requested by jianli_ on #webkit).
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::BlobRegistryContext::BlobRegistryContext):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::resourceData):
(WebCore::ResourceLoader::addData):
* platform/network/BlobResourceHandle.cpp:
* platform/network/BlobResourceHandle.h:
* platform/network/ResourceHandle.h:
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::bufferedData):
2010-09-14 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Zoom factor for checkboxes and radios.
https://bugs.webkit.org/show_bug.cgi?id=45776
RenderThemeQt does not consider RenderStyle::effectiveZoom when calculating sizes of
checkboxes and radios.
Even with this change the used QStyle must support different sizes for radios and checkboxes.
QWindowStyle and QMacStyle, for example, do not.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::computeSizeBasedOnStyle):
2010-09-14 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
audio engine: add AudioFileReader files (Mac implementation)
https://bugs.webkit.org/show_bug.cgi?id=36475
No new tests since audio API is not yet implemented.
* platform/audio/AudioFileReader.h: Added.
* platform/audio/mac/AudioFileReaderMac.cpp: Added.
(WebCore::createAudioBufferList):
(WebCore::destroyAudioBufferList):
(WebCore::AudioFileReader::AudioFileReader):
(WebCore::AudioFileReader::~AudioFileReader):
(WebCore::AudioFileReader::readProc):
(WebCore::AudioFileReader::getSizeProc):
(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):
* platform/audio/mac/AudioFileReaderMac.h: Added.
(WebCore::AudioFileReader::data):
(WebCore::AudioFileReader::dataSize):
2010-09-14 Simon Fraser <simon.fraser@apple.com>
Reviewed by Oliver Hunt.
Drawing an image outside the bounds of a canvas still causes repaints
https://bugs.webkit.org/show_bug.cgi?id=45792
Some canvas examples, such as http://www.phoboslab.org/biolab/, draw
images outide the bounds of the canvas. If the canvas already had a
non-empty m_dirtyRect, such draws would cause us to do a repaint of
m_dirtyRect again (which goes through the platform-specific invalidation
machinery, which can be slow).
Optimize this by avoiding extra invalidation when the dirty rect
does not intersect the canvas bounds.
Not testable because this avoids additional repaints of m_dirtyRect, but
m_dirtyRect has to be non-empty for this to benefit.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::didDraw):
2010-09-14 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Links from "Profiles" don't lead to "Scripts"
https://bugs.webkit.org/show_bug.cgi?id=45756
* inspector/front-end/ProfileDataGridTree.js:
(WebInspector.ProfileDataGridNode.prototype.createCell): use standard routine to create resource link
* inspector/front-end/inspector.js: code cleanup: removed no-op method
(WebInspector.addMainEventListeners):
2010-09-14 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Use codePage instead of TextEncoding
https://bugs.webkit.org/show_bug.cgi?id=45466
Use codePage as member variable to avoid repeated lookup.
* platform/text/wince/TextCodecWinCE.cpp:
(WebCore::newTextCodecWinCE):
(WebCore::TextCodecWinCE::TextCodecWinCE):
(WebCore::decode):
(WebCore::TextCodecWinCE::decode):
(WebCore::TextCodecWinCE::encode):
* platform/text/wince/TextCodecWinCE.h:
2010-09-14 Adam Barth <abarth@webkit.org>
Attempted Chromium build fix. The compiler can't tell that
ASSERT_NOT_REACHED is not reached and so it demands an initialization
of this variable.
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::parseMappedAttribute):
2010-09-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Wheeling over windowed plugins sometimes cause them to disappear
* plugins/qt/PluginContainerQt.cpp:
(PluginClientWrapper::x11Event): Pass on captured mouse wheel events
to the effective native window rather than the grandparent widget.
We were calling QWidget::winId() which caused a new X11 window to be
created for the grandparent widget and generally mess things up.
2010-09-14 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix after move of selectedText() method.
* platform/wx/PasteboardWx.cpp:
(WebCore::Pasteboard::writeSelection):
2010-09-14 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Handle <font size=0> as <font size=1> like any other browser
https://bugs.webkit.org/show_bug.cgi?id=39148
Update font size parser to match HTML5 spec. The main difference here
is the handling of 0, which now maps to 1 instead of 3.
* html/HTMLFontElement.cpp:
(WebCore::parseFontSize):
(WebCore::HTMLFontElement::cssValueFromFontSizeNumber):
2010-09-14 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
document.lastModified gives no output if the response doesn't have a Last-Modified header
https://bugs.webkit.org/show_bug.cgi?id=8475
Implement document.lastModified as per HTML5.
Tests: http/tests/misc/last-modified-parsing.html
http/tests/misc/no-last-modified.html
* dom/Document.cpp:
(WebCore::Document::lastModified):
2010-09-14 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
`document.compatMode` is `undefined` when using `application/xhtml+xml`
https://bugs.webkit.org/show_bug.cgi?id=44422
Moving the compatMode IDL attribute from HTMLDocument.idl to
Document.idl fixes this bug and improve compliance with HTML5.
Test: fast/parser/compatMode-in-xhtml.xhtml
* dom/Document.cpp:
(WebCore::Document::compatMode):
* dom/Document.h:
* dom/Document.idl:
* html/HTMLDocument.cpp:
* html/HTMLDocument.h:
2010-09-14 Adam Barth <abarth@webkit.org>
Reviewed by Nate Chapin.
V8 security checks don't account for shadowing named frames
https://bugs.webkit.org/show_bug.cgi?id=45700
Test: http/tests/security/xss-DENIED-frame-name.html
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::namedSecurityCheck):
- If the property name exists on the object, it will shadow the
named property lookup on the window object. That means we need
to block access if there's shadowing going on.
(WebCore::V8DOMWindow::indexedSecurityCheck):
- I made the corresponding change to this function too, but I don't
think this one can actually be triggered because JavaScript
variable names need to start with a non-digit.
2010-09-14 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
incorrect tabindex parsing
https://bugs.webkit.org/show_bug.cgi?id=21076
Updated our integer parsing for tabindex to use the algorithm from the
HTML5 spec.
Test: fast/parser/tabindex-parsing-2.html
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTMLInteger):
* html/parser/HTMLParserIdioms.h:
2010-09-14 Brent Fulgham <bfulgham@webkit.org>
Build correction, no review.
* WebCore.vcproj/WebCore.vcproj: Exclude OwnPtrCairo.cpp from
non-Cairo based builds.
2010-09-14 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
fast/files/apply-blob-url-to-img.html timeout on Leopard
https://bugs.webkit.org/show_bug.cgi?id=45576
The failure on Leopard is caused by the static method
ResourceHandle::supportsBufferedData that returns true to indicate that
the buffered data support is enabled for blob resource. However,
BlobResourceHandle does not support this and we need to override this.
The fix is to change supportsBufferedData method from static to virtual
so that we can override the default behavior in BlobResourceHandle.
* fileapi/ThreadableBlobRegistry.cpp: Copy BlobData to make it cross-thread.
(WebCore::BlobRegistryContext::BlobRegistryContext):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::resourceData):
(WebCore::ResourceLoader::addData):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::supportsBufferedData): Override the default
behavior.
* platform/network/BlobResourceHandle.h:
* platform/network/ResourceHandle.h: Made supportsBufferedData virtual.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::bufferedData):
2010-09-14 Brent Fulgham <bfulgham@webkit.org>
Build correction, no review.
* WebCore.vcproj/WebCore.vcproj: Add missing OwnPtrCairo.cpp
implementation file.
* platform/graphics/cairo/OwnPtrCairo.cpp: Add missing include
for <cairo.h>
2010-09-14 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Send all accessibility notifications to Chromium.
https://bugs.webkit.org/show_bug.cgi?id=45156
Use postAccessibilityNotification to pass accessibility notifications
to chromium.
Tests: platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
platform/chromium/accessibility/post-notification-CheckedStateChanged.html
platform/chromium/accessibility/post-notification-ChildrenChanged.html
platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
platform/chromium/accessibility/post-notification-LayoutComplete.html
platform/chromium/accessibility/post-notification-LiveRegionChanged.html
platform/chromium/accessibility/post-notification-LoadComplete.html
platform/chromium/accessibility/post-notification-MenuListValueChanged.html
platform/chromium/accessibility/post-notification-RowCollapsed.html
platform/chromium/accessibility/post-notification-RowCountChanged.html
platform/chromium/accessibility/post-notification-RowExpanded.html
platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
platform/chromium/accessibility/post-notification-SelectedTextChanged.html
platform/chromium/accessibility/post-notification-ValueChanged.html
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* page/chromium/ChromeClientChromium.h:
2010-09-14 Darin Adler <darin@apple.com>
Reviewed by Geoffrey Garen.
Hang processing href attribute containing a million slashes
https://bugs.webkit.org/show_bug.cgi?id=45767
Test: fast/css/visited-link-hang.html
* platform/LinkHash.cpp:
(WebCore::findSlashDotDotSlash): Added a start position argument and
changed types to use size_t consistently instead of a mix.
(WebCore::findSlashSlash): Ditto.
(WebCore::findSlashDotSlash): Ditto.
(WebCore::squeezeOutNullCharacters): Added.
(WebCore::cleanSlashDotDotSlashes): Added. Factored out part
of cleanPath (see below).
(WebCore::mergeDoubleSlashes): Ditto.
(WebCore::cleanSlashDotSlashes): Ditto.
(WebCore::cleanPath): Changed algorithm to not remove as we go to
avoid N^2 behavior; instead replace with null characters and then
do a squeeze operation after the fact. Also moved the body of the
function out of line since we normally don't have to do any cleaning.
This whole thing should go at some point -- it's not the right
algorithm -- but this should eliminate the performance problems
without changing behavior.
2010-09-14 Nico Weber <thakis@chromium.org>
Reviewed by Kenneth Russell.
[chromium]: On Mac, let image layer data row order match skia.
https://bugs.webkit.org/show_bug.cgi?id=45400
Make CoreGraphics texture row order match skia's row order, remove all
code that worked around this difference. This also fixes a problem where
image layers would be drawn upside down.
Covered by existing layout tests, but we don't run these with
compositing yet.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::SharedValues::SharedValues):
(WebCore::ContentLayerChromium::updateContents):
(WebCore::ContentLayerChromium::updateTextureRect):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
(WebCore::LayerRendererChromium::drawLayers):
2010-09-14 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
applyInlineStyleToNodeRange does not extend run properly
https://bugs.webkit.org/show_bug.cgi?id=45616
The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children.
Fixed the bug by only skipping a node that contains the past end node, contains non-editable region,
or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove
styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes
all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded.
Test: editing/style/inline-style-extend-run.html
* editing/ApplyStyleCommand.cpp:
(WebCore::containsNonEditableRegion): Added.
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above.
(WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above.
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways.
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
(WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
* editing/ApplyStyleCommand.h:
2010-09-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] V8 port: Get inspector up and running
https://bugs.webkit.org/show_bug.cgi?id=45771
* inspector/front-end/WebKit.qrc: Add DebuggerScript.js
2010-09-14 Oliver Hunt <oliver@apple.com>
PPC Build fix.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
2010-09-14 Kwang Yul Seo <skyul@company100.net>
Reviewed by Andreas Kling.
[chromium] Remove unused ICU headers
https://bugs.webkit.org/show_bug.cgi?id=45698
Remove unused headers.
* platform/graphics/chromium/FontCacheLinux.cpp:
2010-09-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Numpad Enter key returns keyCode 0 instead of 13
https://bugs.webkit.org/show_bug.cgi?id=45014
Original patch by Jarred Nicholls <jarred.nicholls@gmail.com>
There is a missing case statement in the PlatformKeyboardEventQt.cpp
file to handle the Enter button on the number pad. Because it is not
handled, the keyCode returned in a JavaScript event is 0 rather than 13.
Test: manual-tests/qt/numpad-enter-key.html
* manual-tests/qt/numpad-enter-key.html: Added.
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::windowsKeyCodeForKeyEvent):
2010-09-14 Evan Martin <evan@chromium.org>
Reviewed by Darin Fisher.
[chromium] building without debug syms broke after recent refactoring
https://bugs.webkit.org/show_bug.cgi?id=45720
Now that we build WebCore as multiple libraries, we need to adjust the
flags to turn off debug symbols for all of these libraries.
No new tests; should only affect an uncommon build flag.
* WebCore.gyp/WebCore.gyp:
2010-09-14 Tony Chang <tony@chromium.org>
Unreviewed, fix chromium compile.
* platform/graphics/chromium/ImageLayerChromium.h:
2010-09-14 Nico Weber <thakis@chromium.org>
Reviewed by Darin Fisher.
[chromium]: crash less in compositor mode on mac
https://bugs.webkit.org/show_bug.cgi?id=45714
The contents image can go away when the dom is updated. Since the
layer tree is updated asynchronously, it needs to ref the native image,
else it will hold on to a stale object.
This still needs to be done for skia, too.
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
2010-09-14 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
Added support for resource timings to HAREntry.
https://bugs.webkit.org/show_bug.cgi?id=45663
* inspector/front-end/HAREntry.js:
(WebInspector.HAREntry.prototype._buildTimings):
(WebInspector.HAREntry.prototype._toMilliseconds):
(WebInspector.HAREntry.prototype._interval):
2010-09-14 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Always set LeftButton in PlatformMouseEvent
https://bugs.webkit.org/show_bug.cgi?id=45705
AEE_POINTER_GET_MOUSE_MODIFIERS always returns 0, so it is impossible to know
which button is pressed or released. The current code erroneously sets NoButton.
Set LeftButton unconditionally because Brew MP usually runs on touch device.
* platform/brew/PlatformMouseEventBrew.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
2010-09-14 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Andreas Kling.
Move DebuggerScript.js from WebKit/chromium/src/js to WebCore/bindings/v8
https://bugs.webkit.org/show_bug.cgi?id=45739
* bindings/v8/DebuggerScript.js: Added.
2010-09-10 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Implement on-demand reporting of empty CSS rules matched for a node by WebCore
https://bugs.webkit.org/show_bug.cgi?id=45530
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchRules):
(WebCore::CSSStyleSelector::matchRulesForList):
(WebCore::CSSStyleSelector::matchUARules):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::styleRulesForElement):
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
* css/CSSStyleSelector.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getStyles):
(WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
2010-09-14 Hyung Song <beergun@company100.net>
Reviewed by Darin Adler.
[BREWMP] Set m_size in SharedBuffer::createWithContentsOfFile();
https://bugs.webkit.org/show_bug.cgi?id=45701
SharedBuffer::createWithContentsOfFile() reads file content and saves to
result.m_buffer directly, leaving result.m_size unchanged.
* platform/brew/SharedBufferBrew.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
2010-09-14 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Move adjustLexerState to the HTMLTokenizer
https://bugs.webkit.org/show_bug.cgi?id=45649
This function used let us share code between the tree builder and the
two other users of the HTMLTokenizer. However, now that the tree
builder is all grown up, it can't use this code anymore. The other
users would much rather this code lived on HTMLTokenizer and understood
<script>. This patch attempts to make them happy.
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLPreloadScanner::processToken):
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::updateStateFor):
* html/parser/HTMLTokenizer.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::scriptEnabled):
* html/parser/HTMLTreeBuilder.h:
* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::updateTokenizerState):
2010-09-14 Pierre-Antoine LaFayette <plafayet@codeaurora.org>
Reviewed by Darin Adler.
REGRESSION (r52839): Incomplete repaint of IMG with text-align:center
https://bugs.webkit.org/show_bug.cgi?id=40142
http://trac.webkit.org/changeset/52839 didn't really deal with the inline replaced element case. This just generalizes to all inline content.
Patch by: Dave Hyatt
Tests: fast/repaint/block-layout-inline-children-float-positioned.html
fast/repaint/block-layout-inline-children-replaced.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
2010-09-14 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Andreas Kling.
[Qt] Cookie operations should use NetworkingContext
https://bugs.webkit.org/show_bug.cgi?id=45745
No new functionality so no new tests.
* platform/qt/CookieJarQt.cpp:
(WebCore::cookieJar): Use the NetworkingContext for obtaining the QNetworkAccessManager
instead of directly accessing the FrameLoaderClient.
2010-09-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r67449.
http://trac.webkit.org/changeset/67449
https://bugs.webkit.org/show_bug.cgi?id=45746
This change makes tree red. (Requested by pfeldman on
#webkit).
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
(WebCore::ApplyStyleCommand::extractInlineStyleToPushDown):
* editing/ApplyStyleCommand.h:
2010-09-14 Eric Seidel <eric@webkit.org>
Unreviewed, reverting changes r67451 and r67451.
Broke lots of builders.
Only intercept ESC key press when autocorrection UI is visible.
https://bugs.webkit.org/show_bug.cgi?id=45071
* editing/Editor.cpp:
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::createCommandMap):
* loader/EmptyClients.h:
* page/EditorClient.h:
2010-09-14 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed; an attempt to fix Chromium Windows build.
* fileapi/FileEntry.cpp:
2010-09-13 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: provide support for opening external navigation for links within certain elements
Use default handling for clicks on links that have target="_blank".
Add option for external navigation to URL audit formatter.
https://bugs.webkit.org/show_bug.cgi?id=45671
* inspector/front-end/AuditFormatters.js:
(WebInspector.AuditFormatters.url):
* inspector/front-end/inspector.js:
2010-09-14 Dan Bernstein <mitz@apple.com>
Build fix.
* editing/EditorCommand.cpp:
2010-09-14 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Only intercept ESC key press when autocorrection UI is visible.
https://bugs.webkit.org/show_bug.cgi?id=45071
Only intercept ESC key when autocorrection panel is shown. Otherwise pressing
ESC will cancel current loading like usual.
* editing/Editor.cpp:
(WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection
panel is shown.
* editing/Editor.h: Added declaration of isShowingCorrectionPanel().
* editing/EditorCommand.cpp:
(WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation()
when autocorrection panel is shown.
(WebCore::createCommandMap): Replaced isSupported function pointer for
executeCancelOperation() command with supportedDismissCorrectionPanel().
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of
new member method declared in base class.
* page/EditorClient.h: Declared new member method isShowingCorrectionPanel().
2010-09-14 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Remove TextBreakIteratorInternalICUBrew.cpp
https://bugs.webkit.org/show_bug.cgi?id=45691
Brew MP no longer depends on ICU for internationalization.
Remove TextBreakIteratorInternalICUBrew.cpp.
* platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Removed.
2010-09-14 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
applyInlineStyleToNodeRange does not extend run properly
https://bugs.webkit.org/show_bug.cgi?id=45616
The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children.
Fixed the bug by only skipping a node that contains the past end node, contains non-editable region,
or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove
styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes
all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded.
Test: editing/style/inline-style-extend-run.html
* editing/ApplyStyleCommand.cpp:
(WebCore::containsNonEditableRegion): Added.
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above.
(WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above.
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways.
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
(WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded.
* editing/ApplyStyleCommand.h:
2010-09-13 Yuta Kitamura <yutak@chromium.org>
Reviewed by Kent Tamura.
Add one #if guard block to fix Qt builds.
Web Inspector: WebSocket in Resources tab
https://bugs.webkit.org/show_bug.cgi?id=40768
* inspector/InspectorResource.cpp:
2010-09-13 Yuta Kitamura <yutak@chromium.org>
Reviewed by Pavel Feldman.
Add WebSocket resource type to Web Inspector.
When a new WebSocket connection is established, a line for that connection
will appear in Web Inspector's Resources tab. If the resource name is
clicked, the details of handshake request and response will be shown.
Web Inspector: WebSocket in Resources tab
https://bugs.webkit.org/show_bug.cgi?id=40768
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addResource): WebSocket resource does not
have an associated loader, thus frame might be null. Need to check it.
(WebCore::InspectorController::removeResource): Ditto.
(WebCore::InspectorController::didCreateWebSocket):
(WebCore::InspectorController::willSendWebSocketHandshakeRequest):
(WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorController::didCloseWebSocket):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
because WebSocket does not have a loader and we need to allow null for
these variables.
(WebCore::createReadableStringFromBinary):
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::create): Factory function of
regular (non-WebSocket) resources.
(WebCore::InspectorResource::createWebSocket): Factory function of
WebSocket resources.
(WebCore::InspectorResource::updateWebSocketRequest):
(WebCore::InspectorResource::updateWebSocketResponse):
(WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes
available when Frame::setDocument() is called. We cannot obtain documentURL
during the constructor or updateRequest() function, because m_frame->document()
is not available yet at that point and documentURL will contain a wrong URL.
As far as I know, updateScriptObject() is the only place where we can safely
obtain documentURL.
(WebCore::InspectorResource::cachedResource):
(WebCore::InspectorResource::type):
(WebCore::InspectorResource::resourceData):
* inspector/InspectorResource.h:
(WebCore::InspectorResource::):
(WebCore::InspectorResource::markWebSocket):
* inspector/front-end/Resource.js:
(WebInspector.Resource.Type.toString):
(WebInspector.Resource.prototype.set type):
(WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshRequestHeaders):
(WebInspector.ResourceView.prototype._refreshResponseHeaders):
(WebInspector.ResourceView.prototype._refreshHeaders):
* inspector/front-end/inspector.css:
(.resources-category-websockets, .resources-category-other):
(.resources-category-websockets .resources-graph-bar):
(.resources-category-websockets.resource-cached .resources-graph-bar):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
(WebInspector.updateResource):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::disconnect):
(WebCore::WebSocketChannel::didOpen):
(WebCore::WebSocketChannel::didClose):
(WebCore::WebSocketChannel::processBuffer):
(WebCore::WebSocketChannel::identifier):
* websockets/WebSocketChannel.h:
2010-09-13 W. James MacLean <wjmaclean@google.com>
Reviewed by Darin Fisher.
[chromium] Thumbnails not generated for GPU Rendered Pages
https://bugs.webkit.org/show_bug.cgi?id=44127
Replicates existing functionality, use existing tests.
Adds pixel-readback for GPU composited pages to allow for thumbnailing,
printing and other services to work with GPU rendered pages.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::getFramebufferPixels):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::rootLayerTextureSize):
2010-09-13 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed, build fix for Gtk.
* bindings/js/JSEntryCustom.cpp:
2010-09-13 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Adam Barth.
Make FileEntry and DirectoryEntry methods accessible via Entry instance
https://bugs.webkit.org/show_bug.cgi?id=45553
FileEntry- and DirectoryEntry- specific methods must be available on Entry object based on its internal type.
Added custom toJS/toV8 implementation to Entry interface.
No new tests; test will be added later when we have complete implementation for the API.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEntryCustom.cpp: Added.
(WebCore::toJS):
* bindings/v8/custom/V8EntryCustom.cpp: Added.
(WebCore::toV8):
* fileapi/DirectoryEntry.h: Nits fix.
* fileapi/DirectoryEntry.idl: Added ConvertUndefinedOrNullToString to path parameter.
* fileapi/Entry.idl: Added CustomToJS attribute.
* fileapi/FileEntry.cpp:
(WebCore::FileEntry::createWriter):
(WebCore::FileEntry::file):
* fileapi/FileEntry.h:
* fileapi/FileEntry.idl:
2010-09-13 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
REGRESSION: In Gmail, a crash occurs at getDoubleValue() when applying a text color to a new line
https://bugs.webkit.org/show_bug.cgi?id=45632
Test: editing/execCommand/query-font-size-with-typing-style.html
The crash was caused by selectionStartCSSPropertyValue's deleting nodeToRemove before
retrieving the font-size property. Fixed the bug by moving the removal code to the end of the function.
* editing/Editor.cpp:
(WebCore::Editor::selectionStartCSSPropertyValue):
2010-09-13 Kwang Yul Seo <skyul@company100.net>
Reviewed by Darin Adler.
[BREWMP] Remove WebCore namespace in SSLKeyGeneratorBrew.cpp
https://bugs.webkit.org/show_bug.cgi?id=45690
WebCore namespace is not required because getSupportedKeySizes and signedPublicKeyAndChallengeString are already
in namespace WebCore block.
* platform/brew/SSLKeyGeneratorBrew.cpp:
(WebCore::getSupportedKeySizes):
(WebCore::signedPublicKeyAndChallengeString):
2010-09-13 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Code simplification needed in Atk Wrapper
https://bugs.webkit.org/show_bug.cgi?id=45687
Use TextIterator::rangeLength() to calculate endOffset
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(getSelectionOffsetsForObject): Don't manually iterate over a
artificial new range but just call TextIterator::rangeLength on
the range created between the start and end positions.
2010-09-13 Sam Weinig <sam@webkit.org>
Reviewed by Alice Liu.
Clean up xcode project.
* WebCore.xcodeproj/project.pbxproj:
2010-09-13 Eric Carlson <eric.carlson@apple.com>
Reviewed by Geoff Garen.
JavaScript dialog should not deactivate media element
https://bugs.webkit.org/show_bug.cgi?id=45688
Test: http/tests/media/reload-after-dialog.html
* bindings/generic/ActiveDOMCallback.cpp:
(WebCore::ActiveDOMObjectCallbackImpl::suspend): Add ReasonForSuspension parameter.
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setJavaScriptPaused): Pass new parameter to suspendActiveDOMObjects.
* dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::suspend): Add ReasonForSuspension parameter.
* dom/ActiveDOMObject.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Ditto.
* dom/ScriptExecutionContext.h:
* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame): Pass new parameter to suspendActiveDOMObjects.
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::suspend): Add ReasonForSuspension parameter.
* html/HTMLMarqueeElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stop): Deal with element being suspended.
(WebCore::HTMLMediaElement::suspend): Do nothing unless reason for suspension is document
becoming inactive.
* html/HTMLMediaElement.h:
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Pass WillShowDialog to suspendActiveDOMObjects.
* page/SuspendableTimer.cpp:
(WebCore::SuspendableTimer::suspend): Add ReasonForSuspension parameter.
* page/SuspendableTimer.h:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::suspend): Ditto.
* websockets/WebSocket.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::suspend): Ditto.
* xml/XMLHttpRequest.h:
2010-09-13 Sam Weinig <sam@webkit.org>
Fix the mac build.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passMousePressEventToSubframe):
2010-09-13 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Can't scroll on Bugzilla patch review pages on Mac with WebKit2
https://bugs.webkit.org/show_bug.cgi?id=43555
<rdar://problem/8421386> WebKit2: gmail.com is completely unresponsive to clicks
<rdar://problem/8276298> Can't scroll on Bugzilla patch review pages on Mac with WebKit2 (43555)
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passWheelEventToWidget):
(WebCore::frameHasPlatformWidget):
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
Add WebKit2 mode for these functions based on the presence of a platform widget for a
FrameView.
2010-09-13 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kenneth Rohde Christiansen.
[WINCE] Buildfix for ViewportArguments.cpp
https://bugs.webkit.org/show_bug.cgi?id=45678
Use fabs() instead of abs().
This patch also fixes the return value, when
the value is between -1 and 1.
* dom/ViewportArguments.cpp:
(WebCore::findUserScalableValue):
2010-09-13 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Preparation for eliminating deprecatedParseURL
https://bugs.webkit.org/show_bug.cgi?id=45695
Added new HTMLParserIdioms source file, with a name inspired by the HTML
specification, which has a section defining things like "space character"
that talks about common parser idioms. These are idioms for the main HTML
parser and for parsers for various microlanguages as well.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Added HTMLParserIdioms.
* css/CSSHelper.h: Fixed indentation and comments here. Point to the new
stripLeadingAndTrailingHTMLSpaces function.
* html/parser/HTMLParserIdioms.cpp: Added.
* html/parser/HTMLParserIdioms.h: Added.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
Updated for name changes.
* html/parser/HTMLTreeBuilder.h: Moved functions to HTMLParserIdioms.h.
* html/HTMLInputElement.cpp:
* html/HTMLMeterElement.cpp:
* html/HTMLProgressElement.cpp:
* html/StepRange.cpp:
* rendering/RenderSlider.cpp:
Updated includes.
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::sourceURI): Fixed incorrect use of deprecatedParseURL.
This is for use on the attribute value before building the URL, not on the URL
after building it. I did not add a test case; this is an obscure corner and soon
we will be moving to stripLeadingAndTrailingHTMLSpaces anyway.
* wml/WMLImageLoader.cpp:
(WebCore::WMLImageLoader::sourceURI): Ditto.
2010-09-13 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: REGRESSION: WebKit does not report label of web popup buttons
https://bugs.webkit.org/show_bug.cgi?id=45715
Test: platform/mac/accessibility/popup-button-title.html
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::title):
2010-09-13 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
Expose Flags constructor if FileSystem API is Enabled
https://bugs.webkit.org/show_bug.cgi?id=45165
This change also includes:
- Changed Flags' attribute names from UPPERCASE to camelCase to reflect the recent spec change.
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-interface
- Enhanced EnabledAtRuntime attribute to take parameter that is used to generate a RuntimeEnabledFeatures method name.
No new tests; tests will be added when we fully expose the interface.
* bindings/v8/V8DOMWindowCustom.cpp: Added custom getter for FlagsConstructor.
* fileapi/Flags.idl: Changed attribute names to camelCase.
* page/DOMWindow.idl: Exposed Flags constructor.
* bindings/scripts/CodeGenerator.pm: Updated the WK_lcfirst hack to work around getter method for 'create' (create() should be avoided as it's widely used to instantiate an object).
* bindings/scripts/CodeGeneratorV8.pm: Added EnabledAtRuntime=FeatureName support.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::create):
(WebDOMTestObj::setCreate):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::createAttrGetter):
(WebCore::TestObjInternal::createAttrSetter):
(WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrGetter):
(WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrSetter):
(WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrGetter):
(WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrSetter):
(WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
(WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
(WebCore::ConfigureV8TestObjTemplate):
2010-09-13 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
"Implement" EOF processing in AfterBodyMode and AfterAfterBodyMode
https://bugs.webkit.org/show_bug.cgi?id=45647
Implements the notImplemented by doing nothing, which is the proper
behavior according to the spec.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-09-13 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
More trivial EOF handling in tree builder
https://bugs.webkit.org/show_bug.cgi?id=45648
The spec says to treat these modes like the InBodyMode, which is what
this patch does. Doing so is indistinguishable from our current
behavior, which is why we didn't catch this based on tests.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-09-13 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
SharedGraphicsContext3D's texture cache holds on to images after free
https://bugs.webkit.org/show_bug.cgi?id=45706
Each SharedGraphicsContext3D keeps a cache of uploaded textures keyed by NativeImagePtrs.
Whenever the backing native image is deleted it needs to let the SharedGraphicsContext3D know
so that the cache entry and associated texture can also be removed.
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
(WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
(WebCore::SharedGraphicsContext3D::removeTextureFor):
(WebCore::SharedGraphicsContext3D::removeTexturesFor):
(WebCore::SharedGraphicsContext3D::allContexts):
* platform/graphics/gpu/SharedGraphicsContext3D.h:
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::~NativeImageSkia):
* platform/graphics/skia/NativeImageSkia.h:
2010-09-13 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: accessibilityIsIgnored is returning nil when return value expects a BOOL
https://bugs.webkit.org/show_bug.cgi?id=45548
Test: platform/mac/accessibility/element-is-ignored.html
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityIsIgnored]):
2010-09-13 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
CrashTracer: 874 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 663
https://bugs.webkit.org/show_bug.cgi?id=45697
Inside of AccessibilityTableRow, parentTable() should not use getOrCreate() on the parent table, because the render table may
be in a bad state and accessing internal variables can lead to a crash.
Test: platform/mac/accessibility/updating-attribute-in-table-row-crash.html
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::parentTable):
2010-09-13 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement EOF handling in TextMode
https://bugs.webkit.org/show_bug.cgi?id=45644
This patch is actually covered by a bunch of tests. We were just
magically passing the tests before because of some nutty code in
Document.cpp.
* dom/Document.cpp:
(WebCore::Document::implicitClose):
- This code was masking the notImplemented in the tree builder.
I also removed the use of the setting because it wasn't working
properly anyway. I'll implement a working version shortly.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndOfFile):
- Implement per the spec.
2010-09-13 Enrica Casucci <enrica@apple.com>
Reviewed by Sam Weining.
Paste should be implemented in WebCore like Copy and Cut for Mac also.
https://bugs.webkit.org/show_bug.cgi?id=45494
<rdar://problem/7660537>
On the Mac platform, the implementation of the paste operation is all done
at the WebKit level. In order to support it on WebKit2 it is necessary to
refactor the code and move this functionality at the level of WebCore like
we already have on Windows.
The original code relies on some in AppKit functions that call back into
WebKit causing problems in WebKit2. All this functionality has been moved
at the level of the editor client where it can be dealt with appropriately.
* editing/Editor.cpp:
(WebCore::Editor::shouldInsertFragment):
* editing/mac/EditorMac.mm: extended to support Mail specific scenarios.
(WebCore::Editor::pasteWithPasteboard):
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::canShowMIMETypeAsHTML): Added.
(WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Added.
(WebCore::EmptyEditorClient::setInsertionPasteboard): Added to support Mail.
* loader/FrameLoaderClient.h:
* page/EditorClient.h:
* platform/Pasteboard.h:
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::writeSelection): replaced call to Appkit with one that
doesn't calll back into WebKit.
(WebCore::Pasteboard::documentFragmentWithImageResource): Re-implemented at the
WebCore level.
(WebCore::Pasteboard::documentFragmentWithRtf): Re-implemented at the
WebCore level.
(WebCore::uniqueURLWithRelativePart): Added.
(WebCore::Pasteboard::documentFragment): Extended to include all the functionality
provided in documentFragmentFromPasteboard in WebHTMLView.mm.
2010-09-13 Alejandro G. Castro <alex@igalia.com>
Reviewed by Kenneth Rohde Christiansen.
[Gtk] Reduce the size of the shadow buffer in the paths using the clip region
https://bugs.webkit.org/show_bug.cgi?id=44699
Intersect the clip bounding rect with the path that we are going
to use to create the shadow in order to reduce the region we have
to blur.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawPathShadow):
210-09-13 Darin Fisher <darin@chromium.org>
Reviewed by David Levin.
Add option to conditionally compile smooth scrolling support.
https://bugs.webkit.org/show_bug.cgi?id=45689
The OS(WINDOWS) conditional becomes unnecessary since
ENABLE(SMOOTH_SCROLLING) should only be specified on
platforms that have a smooth scrolling implementation.
* platform/ScrollAnimator.cpp:
* platform/ScrollAnimatorWin.cpp:
* platform/ScrollAnimatorWin.h:
2010-09-13 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
Move functions of StyledMarkupAccumulator below that of MarkupAccumulator
https://bugs.webkit.org/show_bug.cgi?id=45624
Moved the declaration of StyledMarkupAccumulator and the definitions of its member functions
to below the definitions of MarkupAccumulator's member functions.
No new tests are added since this is a cleanup.
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
(WebCore::StyledMarkupAccumulator::appendElement):
(WebCore::StyledMarkupAccumulator::shouldAnnotate):
(WebCore::StyledMarkupAccumulator::wrapWithNode):
(WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
(WebCore::StyledMarkupAccumulator::takeResults):
(WebCore::StyledMarkupAccumulator::appendText):
(WebCore::StyledMarkupAccumulator::renderedText):
(WebCore::StyledMarkupAccumulator::stringValueForRange):
(WebCore::styleFromMatchedRulesForElement):
(WebCore::StyledMarkupAccumulator::removeExteriorStyles):
(WebCore::needInterchangeNewlineAfter):
(WebCore::styleFromMatchedRulesAndInlineDecl):
(WebCore::removeEnclosingMailBlockquoteStyle):
(WebCore::removeDefaultStyles):
2010-09-13 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[GTK] Leak in the GraphicsContextCairo drawPathShadow
https://bugs.webkit.org/show_bug.cgi?id=44959
Fix a leak of the cairo_path.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawPathShadow):
* platform/graphics/cairo/OwnPtrCairo.cpp:
(WTF::cairo_path_t):
* platform/graphics/cairo/OwnPtrCairo.h:
2010-09-13 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Fix </sarcasm>
https://bugs.webkit.org/show_bug.cgi?id=45645
Umm... Yeah.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
2010-09-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Darin Adler.
[WML] Fix build breaks when WML is enabled
https://bugs.webkit.org/show_bug.cgi?id=45628
There are build breaks by Bug 22382 when WML is enabled. The handleLinkClick() has an event parameter.
So, we need to set an event when wml invoke the handleLinkClick(). And, doTextFieldCommandFromEvent()
was moved to editor. So, we need to mofidy the invocation in WMLInputElement.cpp
* wml/WMLAElement.cpp:
(WebCore::WMLAElement::defaultEventHandler):
* wml/WMLInputElement.cpp:
(WebCore::WMLInputElement::defaultEventHandler):
2010-09-13 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] When a feature is disabled by default, the source necessary to build it are not included in the distribution
https://bugs.webkit.org/show_bug.cgi?id=45230
No new tests as this is just a build change.
* GNUmakefile.am: Move as many sources as possible to the SOURCES primary.
Others should be moved over time as we solve issues with them.
2010-09-13 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
REGRESSION (r64816-r64889): Crash in WebCore::AccessibilityRenderObject
https://bugs.webkit.org/show_bug.cgi?id=43807
Ensure that visiblePositionForPoint can handle non RenderBoxModelObject types.
Test: platform/mac/accessibility/visible-position-crash-for-text-node.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2010-09-13 Martin Robinson <mrobinson@igalia.com>
Reviewed by Andreas Kling.
[Qt] DOM listeners get wrong keycodes for some keys
https://bugs.webkit.org/show_bug.cgi?id=43365
Produce the proper keycodes for the print screen key as well as the
keypad insert and delete keys.
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::windowsKeyCodeForKeyEvent): Fix keycode translation for the mentioned keys.
2010-09-13 Jonathan Dixon <joth@chromium.org>
Reviewed by Steve Block.
[chromium] Port test shell geolocation fixes to DRT
https://bugs.webkit.org/show_bug.cgi?id=45313
Also re-apply rolled out patch http://trac.webkit.org/changeset/66886 :-
Add missing virtual destructor to the abstract base class.
* platform/chromium/GeolocationServiceChromium.cpp:
(WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
* platform/chromium/GeolocationServiceChromium.h:
2010-09-13 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: upstream testExpandScope debugger test
https://bugs.webkit.org/show_bug.cgi?id=45260
Test: inspector/debugger-expand-scope.html
* inspector/front-end/InjectedScript.js: return "Arguments" as class name for arguments variable in v8.
(injectedScriptConstructor.):
2010-09-13 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Martin Robinson.
[GTK] ATs should be able to select/unselect text
https://bugs.webkit.org/show_bug.cgi?id=25673
Implement AtkText's setSelection and removeSelection functions
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::visiblePositionRangeForRange):
Moved some GTK specific code from a ifdef-endif region to
AccessibilityObjectAtk.cpp
* accessibility/AccessibilityObject.h:
* accessibility/gtk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::getLengthForTextRange): New.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_text_remove_selection): Implemented following
the lead of GAIL's implementation of the AtkText interface.
(webkit_accessible_text_set_selection): Implemented following
the lead of GAIL's implementation of the AtkText interface.
(webkit_accessible_text_set_caret_offset): Changed to directly use
visiblePositionRangeForRange now that there's no longer a problem
with that, as it was in the past (only worked for text controls).
2010-08-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Antti Koivisto.
Update support for the viewport meta tag algorithm, to
match the following draft spec:
http://people.opera.com/rune/TR/ED-css-viewport-20100806/
Add common handling of viewport meta tag based on new Opera spec
https://bugs.webkit.org/show_bug.cgi?id=44201
Tests: fast/viewport/viewport-1.html
fast/viewport/viewport-10.html
fast/viewport/viewport-100.html
fast/viewport/viewport-101.html
fast/viewport/viewport-102.html
fast/viewport/viewport-103.html
fast/viewport/viewport-104.html
fast/viewport/viewport-105.html
fast/viewport/viewport-106.html
fast/viewport/viewport-107.html
fast/viewport/viewport-108.html
fast/viewport/viewport-109.html
fast/viewport/viewport-11.html
fast/viewport/viewport-110.html
fast/viewport/viewport-111.html
fast/viewport/viewport-112.html
fast/viewport/viewport-113.html
fast/viewport/viewport-114.html
fast/viewport/viewport-115.html
fast/viewport/viewport-116.html
fast/viewport/viewport-117.html
fast/viewport/viewport-118.html
fast/viewport/viewport-119.html
fast/viewport/viewport-12.html
fast/viewport/viewport-120.html
fast/viewport/viewport-121.html
fast/viewport/viewport-122.html
fast/viewport/viewport-123.html
fast/viewport/viewport-124.html
fast/viewport/viewport-125.html
fast/viewport/viewport-126.html
fast/viewport/viewport-127.html
fast/viewport/viewport-13.html
fast/viewport/viewport-14.html
fast/viewport/viewport-15.html
fast/viewport/viewport-16.html
fast/viewport/viewport-17.html
fast/viewport/viewport-18.html
fast/viewport/viewport-19.html
fast/viewport/viewport-2.html
fast/viewport/viewport-20.html
fast/viewport/viewport-21.html
fast/viewport/viewport-22.html
fast/viewport/viewport-23.html
fast/viewport/viewport-24.html
fast/viewport/viewport-25.html
fast/viewport/viewport-26.html
fast/viewport/viewport-27.html
fast/viewport/viewport-28.html
fast/viewport/viewport-29.html
fast/viewport/viewport-3.html
fast/viewport/viewport-30.html
fast/viewport/viewport-31.html
fast/viewport/viewport-32.html
fast/viewport/viewport-33.html
fast/viewport/viewport-34.html
fast/viewport/viewport-35.html
fast/viewport/viewport-36.html
fast/viewport/viewport-37.html
fast/viewport/viewport-38.html
fast/viewport/viewport-39.html
fast/viewport/viewport-4.html
fast/viewport/viewport-40.html
fast/viewport/viewport-41.html
fast/viewport/viewport-42.html
fast/viewport/viewport-43.html
fast/viewport/viewport-44.html
fast/viewport/viewport-45.html
fast/viewport/viewport-46.html
fast/viewport/viewport-47.html
fast/viewport/viewport-48.html
fast/viewport/viewport-49.html
fast/viewport/viewport-5.html
fast/viewport/viewport-50.html
fast/viewport/viewport-51.html
fast/viewport/viewport-52.html
fast/viewport/viewport-53.html
fast/viewport/viewport-54.html
fast/viewport/viewport-55.html
fast/viewport/viewport-56.html
fast/viewport/viewport-57.html
fast/viewport/viewport-58.html
fast/viewport/viewport-59.html
fast/viewport/viewport-6.html
fast/viewport/viewport-60.html
fast/viewport/viewport-61.html
fast/viewport/viewport-62.html
fast/viewport/viewport-63.html
fast/viewport/viewport-64.html
fast/viewport/viewport-65.html
fast/viewport/viewport-66.html
fast/viewport/viewport-67.html
fast/viewport/viewport-68.html
fast/viewport/viewport-69.html
fast/viewport/viewport-7.html
fast/viewport/viewport-70.html
fast/viewport/viewport-71.html
fast/viewport/viewport-72.html
fast/viewport/viewport-73.html
fast/viewport/viewport-74.html
fast/viewport/viewport-75.html
fast/viewport/viewport-76.html
fast/viewport/viewport-77.html
fast/viewport/viewport-78.html
fast/viewport/viewport-79.html
fast/viewport/viewport-8.html
fast/viewport/viewport-80.html
fast/viewport/viewport-81.html
fast/viewport/viewport-82.html
fast/viewport/viewport-83.html
fast/viewport/viewport-84.html
fast/viewport/viewport-85.html
fast/viewport/viewport-86.html
fast/viewport/viewport-87.html
fast/viewport/viewport-88.html
fast/viewport/viewport-9.html
fast/viewport/viewport-90.html
* dom/ViewportArguments.cpp:
(WebCore::findConfigurationForViewportData):
(WebCore::findSizeValue):
(WebCore::findScaleValue):
(WebCore::findUserScalableValue):
(WebCore::findTargetDensityDPIValue):
(WebCore::setViewportFeature):
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::):
(WebCore::ViewportArguments::ViewportArguments):
(WebCore::ViewportArguments::hasCustomArgument):
2010-09-13 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Don't add empty strings to list of supported image MIME types
https://bugs.webkit.org/show_bug.cgi?id=45643
After <http://trac.webkit.org/changeset/67355> getMIMETypeForExtension()
returns an empty string instead of "application/octet-stream" for unsupported
extensions. Don't add these to the list of supported types, and clean out
the logic that removed "application/octet-stream" from supported types.
Fixes crash in initializeMIMETypeRegistry() due to inserting String() into
a HashSet<String>.
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):
2010-09-13 Adam Barth <abarth@webkit.org>
Attempted Qt build fix.
* html/parser/HTMLElementStack.cpp:
2010-09-13 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Apply spec changes to InForeignContentMode
https://bugs.webkit.org/show_bug.cgi?id=45636
Now breaking out of foreign content doesn't always bring you back to
HTML. If you have a foreign content element that can contain HTML, you
just get brought back to that element.
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isForeignContentScopeMarker):
(WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
* html/parser/HTMLElementStack.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-09-13 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Convert notImplemented() to ASSERT_NOT_REACHED
https://bugs.webkit.org/show_bug.cgi?id=45639
The reason we never implemented this state is because it's not actually
reachable.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-09-13 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kenneth Rohde Christiansen.
[WINCE] Buildfix for ScrollAnimatorWin
https://bugs.webkit.org/show_bug.cgi?id=45595
Use fabs() instead of abs().
* platform/ScrollAnimatorWin.cpp:
(WebCore::ScrollAnimatorWin::scroll):
(WebCore::ScrollAnimatorWin::animateScroll):
2010-09-13 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove fixed FIXME
https://bugs.webkit.org/show_bug.cgi?id=45637
The spec made assertions that were false. Hixie fixed the spec by
removing the assertions. There's no need to keep these FIXMEs in the
code.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
2010-09-12 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove FIXME now that the HTML5 spec has been updated
https://bugs.webkit.org/show_bug.cgi?id=45634
The spec changed to say what we do here so this FIXME isn't needed
anymore.
Tests: fast/parser/form-pointer-1.html
fast/parser/form-pointer-2.html
fast/parser/form-pointer-3.html
fast/parser/form-pointer-4.html
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
2010-09-12 Robin Qiu <robin.qiu@torchmobile.com.cn>
Reviewed by Antonio Gomes.
https://bugs.webkit.org/show_bug.cgi?id=18768
Fixed a bug in scroll flow. When we don't have scrollbars, we need to
repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
scrollContents();
Tests: scrollbars/scrollevent-iframe-no-scrolling-wheel.html
scrollbars/scrollevent-iframe-no-scrolling.html
* page/FrameView.cpp:
(WebCore::FrameView::valueChanged): Added.
* page/FrameView.h: Added a new method.
* platform/ScrollView.cpp:
(WebCore::ScrollView::valueChanged): Added.
(WebCore::ScrollView::updateScrollbars):
* platform/ScrollView.h: Added a new method.
2010-09-10 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
[Chromium] Implement textInputController.hasSpellingMarker() for Chromium
https://bugs.webkit.org/show_bug.cgi?id=45441
Added an API for testing marker state.
We locate this here instead of DRT for sharing the logic between
multiple ports.
* WebCore.exp.in:
* editing/Editor.cpp:
(WebCore::Editor::selectionStartHasSpellingMarkerFor):
* editing/Editor.h:
2010-09-12 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Adoption agency should use takeAllChildrenFrom
https://bugs.webkit.org/show_bug.cgi?id=45570
Before this patch, we were using an unsafe pattern of walking the
sibling list without grabbing references. Instead, we should use the
shiny new takeAllChildrenFrom method that shoves the children into a
vector first. Also, update takeAllChildrenFrom to handle the case
where the old parent is attached.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
* html/parser/HTMLTreeBuilder.h:
2010-09-12 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
isParsingFragment assert hit in new treebuilder
https://bugs.webkit.org/show_bug.cgi?id=45621
Update our list of special tags to match the spec.
* html/parser/HTMLTreeBuilder.cpp:
2010-09-12 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
[Qt] Fix http/tests/navigation/reload-subframe-object.html
We need to bring our use of getMimeTypeForPath() and
getMimeTypeForExtension() into line with WebCore expectations.
We should use MIMETypeRegistry::getMIMETypeForExtension() for cases
where an empty mimetype should be returned if no match is found, and
MIMETypeRegistry::getMIMETypeForPath() for cases where
'application/octet-stream' should be returned if no match is found.
Fixes http/tests/navigation/reload-subframe-object.html
Based on findings in webkit.org/b/31398 and webkit.org/b/15554.
https://bugs.webkit.org/show_bug.cgi?id=45613
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
* platform/qt/MIMETypeRegistryQt.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2010-09-12 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
Neglect unlikely hyphenation opportunities
https://bugs.webkit.org/show_bug.cgi?id=45606
Avoid looking for hyphenation points in about 40% of the cases at the cost of missing about
3% of the hyphenation opportunities.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::tryHyphenating): Bail out if the widest the prefix before the hyphen can be is no more
than 5/4 the font size.
2010-09-12 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed by Simon Hausmann.
[Qt] fix qt_webkit_version.pri install for in-Qt builds
Always add the target, even if building inside Qt - as opposed to the
headers and libraries, there are no rules for that coming from
qbase.pri.
Task-number: QTBUG-13306
* WebCore.pro:
2010-09-12 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Let QtWebKit inject itself into the qt configuration
i.e., don't explicitly deal with qt_webkit_version.pri outside of the
webkit source directory.
Task-number: QTBUG-12379
* WebCore.pro:
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Build fix.
* WebCore.pro: Re-add erroneously removed sources.
2010-09-12 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Remove Path::closeSubpath() workaround for broken miter joins
https://bugs.webkit.org/show_bug.cgi?id=45618
Removed Path::closeCanvasSubpath() and share the logic between Canvas and SVG
paths. The problem was actually in Qt's path stroker and has been fixed for Qt 4.7.1.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::closePath):
* platform/graphics/Path.h:
* platform/graphics/qt/PathQt.cpp:
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Fix the Gtk and minimal builds.
* plugins/PluginView.cpp:
(WebCore::PluginView::npObject): Correct the #ifdefs.
(WebCore::PluginView::bindingInstance): Moved npErr variable
into npObject() function where it is used.
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Prospective build fix for minimal build.
* plugins/PluginView.cpp: Guard newly added function
by ENABLE_NETSCAPE_PLUGIN feature.
(WebCore::PluginView::npObject):
* plugins/PluginView.h:
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
[Qt] Add support for binding QtWebKit to a QScriptEngine.
The ScriptController owns the V8 context, and this patch
for the Qt build also gives it a QScriptEngine, that has
been instructed to adopt the V8 context.
This is the enabler for the QObject bindings, used in
the API and DRT.
* WebCore.pro:
* bindings/v8/ScriptController.cpp: Include QScriptEngine
for the Qt build, to let the ~ScriptController destructor
find the QScriptEngine destructor (via OwnPtr).
* bindings/v8/ScriptController.h: Declare getters.
* bindings/v8/ScriptControllerQt.cpp: Added.
(WebCore::ScriptController::qtScriptEngine): Implement
engine adoption.
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
[Qt] Last bits and pieces for a V8 build.
When building with V8, get it from QtScript.
* WebCore.pro: Use QtScript, removed non-existant
bridge files from the build.
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
[Qt] Add PlatformBridge for V8 build.
Add the minimalisting platform bridge with the two
methods needed by NPV8Object.cpp.
* WebCore.pro:
* platform/qt/PlatformBridge.h: Added.
* platform/qt/PlatformBridgeQt.cpp: Added.
(WebCore::PlatformBridge::popupsAllowed):
(WebCore::PlatformBridge::pluginScriptableObject):
* plugins/PluginView.cpp: Refactor the plugin object
retrieval code into a separate function, called by
bindingInstance() and PlatformBridge.
(WebCore::PluginView::npObject):
(WebCore::PluginView::bindingInstance):
* plugins/PluginView.h:
2010-09-11 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
http/tests/media/text-served-as-text.html failing on Windows (Debug+Release)
https://bugs.webkit.org/show_bug.cgi?id=45603
Disable the eat/text components under Windows the same way as we do on the Mac.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
* platform/graphics/win/QTMovie.cpp:
* platform/graphics/win/QTMovie.h:
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
Fix compilation of the V8 bindings on X11 with Qt.
This changes brings the file in sync with its copy in bridge/,
adding additional conflicting X11 keywords to undef. This is
a temporary fix until the file is removed altogether, which is
tracked in https://bugs.webkit.org/show_bug.cgi?id=45617
* bindings/v8/npruntime_internal.h:
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
Fix compilation of the V8 bindings on X11 with Qt.
These headers include npruntime, which drag on X11Resources.h, which
among other things #define's None and Boolean. Later on v8.h is included,
which declares these in enums and therefore conflicts. npruntime_internal.h
was introduced exactly to address this problem by including npruntime.h
and undeff'ing the offending constants.
* bindings/v8/V8Helpers.h:
* bindings/v8/V8NPObject.h:
* bindings/v8/V8NPUtils.h:
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Gtk build fix.
Use false instead of False after
http://trac.webkit.org/changeset/67323
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
[Qt] Fix the compilation of V8Binding.cpp when compiling with Qt.
* bindings/v8/V8Binding.cpp:
(WebCore::WebCoreStringResource::WebCoreStringResource): In this
line an AtomicString should be converted to a WTF::String. The former
has a conversion operator to the latter, to be able to call the
WTF::String copy constructor. When compiling with Qt, then AtomicString
also has a conversion operator to QString _and_ WTF::String has an
implicit constructor that takes a QString. Therefore the compiler is
confused and not sure which conversion to prefer, the one that isn't
actually a conversion - going to WTF::String - or the conversion from
AtomicString to QString and then constructing the WTF::String from
a QString. To resolve this ambiguity we explicitly call the string()
helper function on the AtomicString, which is equivalent to the
operator WTF::String().
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
Fix the build without JSC.
Complement http://trac.webkit.org/changeset/59826 and
add missing JSC guards.
* plugins/PluginView.cpp:
(WebCore::PluginView::bindingInstance):
(WebCore::PluginView::privateBrowsingStateChanged):
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
Fix compilation with V8 and XPath enabled.
V8XPathNSResolver.cpp includes V8XPathNSResolver.h,
which includes V8DOMWrapper.h as its first header.
V8DOMWrapper.h then uses V8XPathNSResolver in an inline
function, and gcc doesn't seem to like this, because
at this point the type isn't known ("V8XPathNSResolver
has not been declared"). Forward declaring the type
doesn't help unfortunately: "incomplete type
'WebCore::V8XPathNSResolver' used in nested name
specifier".
To resolve this circular dependency, this patch moves
the inline function into the .cpp file.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getXPathNSResolver):
* bindings/v8/V8DOMWrapper.h:
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
[Qt][X11] Fix build with V8 against X11 headers.
Added "True" and "False" to the list of words
we free from the X11 macro jail.
* bridge/npruntime_internal.h:
* config.h: The V8 bindings end up indirectly pulling
in X11 headers and they use True/False. There's no
central header apart from this one, so include the
x11 fixing header here for Qt/X11/V8.
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::paint): Use false instead of False
since False isn't available anymore.
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
[Qt] Fix compilation with V8 and Qt.
Use WebKit's page cache for ScriptCachedFrameData.
* bindings/v8/ScriptCachedFrameData.h:
2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
Fix compiler warning.
NPClass has 13 members, the last one (NPConstructFunctionPtr construct) wasn't
initialized explicitly.
* bindings/v8/NPV8Object.cpp:
2010-09-12 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Martin Robinson.
[Gtk] get_n_selections and get_selection fail when selecting text across object boundaries
https://bugs.webkit.org/show_bug.cgi?id=26991
Fix AtkText getNSelections() and getSelection() to work properly
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(selectionBelongsToObject): Check that both the selection intersects
the node AND that the selection is not just "touching" one of the
boundaries for the selected node. We want to check whether the
node is actually inside the region, at least partially
(getSelectionOffsetsForObject): New function to get the start and
end offsets of a selection for a given accessible object.
(webkit_accessible_text_get_selection): Return zero when both
start and end offsets are equal, following the lead of GAIL.
2010-09-11 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Make SecurityOrigin::canDisplay an instance function
https://bugs.webkit.org/show_bug.cgi?id=45219
This function was secretly an instance function because callers needed
to pass in a document (which owns a SecurityOrigin). Only the
FrameLoader actually needs the method to be static.
* WebCore.exp.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isSafeToLoadURL):
* loader/Cache.cpp:
(WebCore::Cache::requestResource):
- Notice that DocLoader::doc() can never be 0.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
(WebCore::SubframeLoader::createJavaAppletWidget):
(WebCore::SubframeLoader::loadSubframe):
(WebCore::SubframeLoader::loadPlugin):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::deprecatedCanDisplay):
* page/SecurityOrigin.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::load):
2010-09-11 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Make SecurityOrigin::canDisplay an instance function
https://bugs.webkit.org/show_bug.cgi?id=45219
This function was secretly an instance function because callers needed
to pass in a document (which owns a SecurityOrigin). Only the
FrameLoader actually needs the method to be static.
* WebCore.exp.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isSafeToLoadURL):
* loader/Cache.cpp:
(WebCore::Cache::requestResource):
- Notice that DocLoader::doc() can never be 0.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
(WebCore::SubframeLoader::createJavaAppletWidget):
(WebCore::SubframeLoader::loadSubframe):
(WebCore::SubframeLoader::loadPlugin):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::deprecatedCanDisplay):
* page/SecurityOrigin.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::load):
2010-09-11 Simon Hausmann <simon.hausmann@nokia.com>
Unreviewed.
[Qt] Trivial V8 build fix.
* WebCore.pri: Add storage, workers and css to the include paths for the
JS code generator.
2010-09-11 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Hausmann.
[Qt] V8 port: Fix "WTF::String::utf8" returns incomplete type WTF::CString
https://bugs.webkit.org/show_bug.cgi?id=45157
Include CString.h where necessary. Chromium builds would get it from
KURLGooglePrivate.h so this is only an issue for Qt + V8.
* bindings/v8/V8Proxy.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorProfilerAgent.cpp:
* plugins/PluginDatabase.cpp:
2010-09-11 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
[Qt] V8 port: webkit project files changes
https://bugs.webkit.org/show_bug.cgi?id=45140
* WebCore.pro: Removed unecessary common.pri inclusion from earlier patch.
2010-09-03 Vlad Burlik <volodimir.burlik@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
[Qt] V8 port: webcore project files changes
https://bugs.webkit.org/show_bug.cgi?id=45141
Modify webcore project files to include V8 javascript engine. By default disabled.
* WebCore.pri:
* WebCore.pro:
* features.pri:
2010-09-11 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Hausmann.
Web Inspector: Include CString.h in generated files
This is necessary for generated code that uses the CString
returned by String::utf8() (from generateBackendDispatcher)
Chromium builds already get CString.h from KURLGooglePrivate.h
so this issue only occurs when building Qt against V8.
* inspector/CodeGeneratorInspector.pm:
2010-09-11 Adele Peterson <adele@apple.com>
Reviewed by Sam Weinig.
Fix for https://bugs.webkit.org/show_bug.cgi?id=45587
Move line clamp code to its own function.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutVerticalBox):
(WebCore::RenderFlexibleBox::applyLineClamp):
* rendering/RenderFlexibleBox.h:
2010-09-11 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
URIs in styles created via innerHTML are not resolved against the document's base URI
https://bugs.webkit.org/show_bug.cgi?id=45565
The dummy document used for fragment parsing created by
FragmentParsingContext should use the base URI of the fragment's
document. Since (HTML)Document doesn't expose a setter for the base URI
(and shouldn't), we allow it to be set by the constructor/create
function.
Also remove some obsolete code that references the legacy tree builder
from HTMLElement that I happened to notice.
Test: fast/innerHTML/innerHTML-uri-resolution.html
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::HTMLDocument):
* html/HTMLDocument.h:
(WebCore::HTMLDocument::create):
* html/HTMLElement.cpp:
(WebCore::createFragmentFromSource):
(WebCore::HTMLElement::setInnerHTML):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed by Darin Adler.
Add NetworkingContext to avoid layer violations
https://bugs.webkit.org/show_bug.cgi?id=42292
Activate NetworkingContext:
Since the ResourceHandle::create, ResourceHandle::start and
ResourceHandle::loadResourceSynchronously API's were modified,
having their Frame* parameter substituted by a NetworkingContext*,
all implementations of them were also modified.
This patch also modifies all functions that were calling the above
ones.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/FrameLoader.h:
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::loadNow):
* loader/PingLoader.cpp:
(WebCore::PingLoader::PingLoader):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::load):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::createResourceHandle):
* loader/icon/IconFetcher.cpp:
(WebCore::IconFetcher::loadEntry):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::create):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
(WebCore::QNetworkReplyHandler::start):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::willLoadFromCache):
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/soup/ResourceHandleSoup.cpp:
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
2010-09-10 Jer Noble <jer.noble@apple.com>
No review; build fix only.
<CoreGraphics/CGAffineTransform.h> isn't on the build bots either. Wrap
all references to m_movieTransform in #if USE(ACCELERATED_COMPOSITING) guards.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2010-09-10 Jer Noble <jer.noble@apple.com>
No review; build fix only.
<CoreGraphics/CGFloat.h> does not exist on the build bots. Replace
instances of CGFAbs() with abs().
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
2010-09-10 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8414282> Cant dynamically change first-letter to/from floating
Test: fast/dynamic/first-letter-display-change.html
* rendering/RenderBlock.cpp:
(WebCore::styleForFirstLetter): Factored this helper function out.
(WebCore::RenderBlock::updateFirstLetter): Renamed variables so that the
“update style” and “create new” branches use the same terminology. In the
update case, if the style change requires a new renderer, handle it.
* rendering/RenderTextFragment.h:
(WebCore::toRenderTextFragment): Added.
2010-09-10 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
Precursor to <rdar://problem/7660657>
https://bugs.webkit.org/show_bug.cgi?id=45522
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Remove ZoomMode.h
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
Remove uses of shouldApplyTextZoom(), it had turned into just a compare to 1.0f.
* html/HTMLBodyElement.cpp:
(WebCore::adjustForZoom):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::setScrollTop):
Convert these to use the explicit pageZoomFactor() function, it made no sense for text zoom
anyway.
* page/Frame.h:
Remove include of ZoomMode.h
* page/FrameView.cpp:
(WebCore::parentPageZoomFactor):
(WebCore::parentTextZoomFactor):
(WebCore::FrameView::FrameView):
(WebCore::FrameView::setPageZoomFactor):
(WebCore::FrameView::setTextZoomFactor):
(WebCore::FrameView::setPageAndTextZoomFactors):
* page/FrameView.h:
(WebCore::FrameView::pageZoomFactor):
(WebCore::FrameView::textZoomFactor):
Change FrameView to store two values for zoom, one for page zoom and one for text zoom.
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
Removed zoom mode.
* page/ZoomMode.h: Removed.
* rendering/RenderView.cpp:
(WebCore::RenderView::zoomFactor):
Remove now unnecessary call to shouldApplyPageZoom since it will be 1 if it should
be ignored.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setCurrentScale):
Use explicit setPageZoomFactor function.
2010-09-10 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed build fix for EFL.
[EFL] REGRESSION(67167) build break because of newly added JSBindingState.cpp
https://bugs.webkit.org/show_bug.cgi?id=45537
* CMakeLists.txt:
2010-09-10 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup
https://bugs.webkit.org/show_bug.cgi?id=45582
* WebCore.exp.in: Updated.
* WebCore.xcodeproj/project.pbxproj: Removed WebDashboardRegion.h/m.
* page/mac/WebDashboardRegion.h: Removed.
* page/mac/WebDashboardRegion.m: Removed.
* page/Frame.h: Removed unneeded #if. Removed dashboardRegionsDictionary function, now
handled in WebKit. Removed searchForNSLabelsAboveCell function, which had become dead code.
* page/mac/FrameMac.mm: Ditto. Also tweaked a place that said "int unsigned".
2010-09-10 Peter Kasting <pkasting@google.com>
Reviewed by Darin Adler.
Make middle clicks not fire DOM onclick events.
https://bugs.webkit.org/show_bug.cgi?id=22382
* html/HTMLAnchorElement.cpp: Explicitly include middle-clicks in the
computation of what constitutes a link click, since they're no longer
implicitly included.
(WebCore::isLinkClick):
* html/HTMLInputElement.cpp: Removed unneeded checks that click events
are coming from the left mouse button, since they all are now.
(WebCore::HTMLInputElement::preDispatchEventHandler):
(WebCore::HTMLInputElement::postDispatchEventHandler):
(WebCore::HTMLInputElement::defaultEventHandler):
* page/EventHandler.cpp: Changed logic to send a click event only for
the left button.
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
2010-09-10 Adam Barth <abarth@webkit.org>
Attempted build fix for Qt Minimal.
* dom/Element.cpp:
(WebCore::Element::getBoundingClientRect):
2010-09-10 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Pseudostyle resolution corrupts cached child index values
https://bugs.webkit.org/show_bug.cgi?id=45574
Covered by fast/dom/firstline-fixed-crash.html and fast/dom/firstletter-tablecell-crash.html.
RenderBlock::updateFirstLetter() calls getCachedPseudoStyle() passing as the parent style the
style of the parent of the first letter, which is not always the parent of the element for
which we are getting :first-letter style. As a result, style resolution caches childIndex values
in the wrong elements style.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::pseudoStyleForElement): Create the new style and inherit from
the parent style before matching rules, to avoid corrupting the parent style itself.
(WebCore::CSSStyleSelector::checkSelector): Always pass the elements parent style as
the parent style here.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter): Removed the null check that was added
in r67183.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::findNextLineBreak): Removed the null check that was added
in r67184.
2010-09-10 Jer Noble <jer.noble@apple.com>
Reviewed by Simon Fraser.
Movies with track or movie matrices don't display in <video> elements (Safari 5/Windows)
https://bugs.webkit.org/show_bug.cgi?id=45333
rdar://problem/81333126
QuickTime will refuse to decode video frames for movies whose movie and track matrices
are non-identity. To work around this problem, extract the movie and track matrices
from the movie, and set that matrix on the video layer instead.
* WebCore.vcproj/QTMovieWin.vcproj:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::LayoutClient): Added.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::layoutSublayersOfLayer):
Layout the video layer according to its superlayer's size.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
Apply the m_movieTransform to the size reported by QTMovie.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
Calculate m_movieTransform and reset the movie and track matrices in the movie.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
Create two nested layers instead of one.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
Make sure to remove m_qtVideoLayer from any superlayer before dereferencing it.
* platform/graphics/win/QTMovie.cpp:
(QTMovie::videoTracks): Added.
(QTMovie::getTransform): Added.
(QTMovie::setTransform): Added.
(QTMovie::resetTransform): Added.
* platform/graphics/win/QTMovie.h:
* platform/graphics/win/QTTrack.cpp: Added.
* platform/graphics/win/QTTrack.h: Added.
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::setBounds): Call setNeedsLayout() if a layoutClient is present.
(WebCore::WKCACFLayer::setFrame): Call setNeedsLayout() if a layoutClient is present.
2010-09-10 Jer Noble <jer.noble@apple.com>
No review; build fix only.
Touch mediaControlsQuickTime in order to trigger the UserAgentStyleSheet.h to be rebuilt.
* css/mediaControlsQuickTime.css:
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2010-09-10 Adam Barth <abarth@webkit.org>
Reviewed by Darin Fisher.
Move code from WebKit-layer to DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=45569
There's a bunch of code that's copy/pasted (poorly) across all the
ports that really belongs in WebCore. This patch moves that logic into
DocumentLoader. This patch is a step on the path to having
DocumentLoader own DocumentWriter.
* WebCore.exp.in:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitData):
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoadingDocument):
2010-09-10 Cosmin Truta <ctruta@chromium.org>
Reviewed by Nikolas Zimmermann.
getBoundingClientRect Broken for SVG Elements
https://bugs.webkit.org/show_bug.cgi?id=42815
Use getBBox to retrieve the bounding rectangle for SVG elements.
Test: svg/dom/getBoundingClientRect.xhtml
* dom/Element.cpp:
(Element::getBoundingClientRect):
2010-09-09 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Adopt shared control drawing for <video> controls on Windows
https://bugs.webkit.org/show_bug.cgi?id=45490
* DerivedSources.make: Remove the OS check around mediaControlsQuickTime.css.
* rendering/RenderMediaControls.cpp:
(WebCore::determineState): Use WKMediaControllerThemeState flags instead of SafariTheme ones.
(WebCore::getUnzoomedRectAndAdjustCurrentContext): Added. Copied verbatim from RenderMediaMac.mm.
(WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Use wkMeasureMediaUIPart to adjust the thumb size.
(WebCore::RenderMediaControls::paintMediaControlsPart): Use wkDrawMediaUIPart instead of paintThemePart.
(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Added. Copied verbatim from RenderMediaMac.mm.
* rendering/RenderMediaControls.h:
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::adjustSliderThumbSize): Adjust both sliders and volume sliders.
(WebCore::RenderThemeWin::extraMediaControlsStyleSheet): Added. Returns the mediaControlsQuickTime sheet.
(WebCore::RenderThemeWin::paintMediaRewindButton): Added. Pass through to RenderMediaControls.
(WebCore::RenderThemeWin::paintMediaControlsBackground): Added. Pass through to RenderMediaControls.
(WebCore::RenderThemeWin::paintMediaVolumeSliderContainer): Added. Pass through to RenderMediaControls.
(WebCore::RenderThemeWin::paintMediaVolumeSliderTrack): Added. Pass through to RenderMediaControls.
(WebCore::RenderThemeWin::paintMediaVolumeSliderThumb): Added. Pass through to RenderMediaControls.
(WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Added. Pass through to RenderMediaControls.
* rendering/RenderThemeWin.h:
2010-09-10 Peter Kasting <pkasting@google.com>
Reviewed by Darin Adler.
Cleanup and simplification in advance of making middle clicks not send a
click event.
https://bugs.webkit.org/show_bug.cgi?id=22382
* editing/DeleteButton.cpp:
(WebCore::DeleteButton::defaultEventHandler): Removed unneeded code to
check if the event is a MouseEvent. Any click event will do.
* html/HTMLAnchorElement.cpp:
(WebCore::appendServerMapMousePosition): Added. Factors out the
modifications to the URL to add the mouse position to make the default
event handler function easier to read.
(WebCore::HTMLAnchorElement::defaultEventHandler): Reorganized to make
the enter key logic separate from the link clicking logic and simplify
the function. This makes minor functional changes like not calling
FrameLoader::urlSelected() for fake "keydown" events constructed from
JavaScript.
(WebCore::HTMLAnchorElement::isLiveLink): Refactored to use new shared
implementation in treatLinkAsLiveForEventType().
(WebCore::eventType): Factors out event type calculation (for
treatLinkAsLiveForEventType()) from the default event handler to make it
easier to read.
(WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
Implementation of the portions of isLiveLink() that are common with the
checks defaultEventHandler() wants to do.
(WebCore::isEnterKeyKeydownEvent): Added. Shared by the default
event handlers for all three anchor elements.
(WebCore::isMiddleMouseButtonEvent): Added. Shared by the isLinkClick
function below and some code in SVG. Later we can make this private to
this source file once we remove the unneeded SVG code.
(WebCore::isLinkClick): Added. Shared by the default event handlers for
all three anchor elements.
(WebCore::handleLinkClick): Ditto.
* html/HTMLAnchorElement.h: Added the new functions.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler): Removed lots of unneeded
logic and streamlined the code to more closely match the
HTMLAnchorElement code and share functions with it.
* wml/WMLAElement.cpp:
(WebCore::WMLAElement::defaultEventHandler): Ditto.
2010-09-10 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Implement HTML5 definition of script for-event neutering
https://bugs.webkit.org/show_bug.cgi?id=45493
* dom/ScriptElement.cpp:
(WebCore::ScriptElementData::shouldExecuteAsJavaScript): Same behavior, but reads more like the spec. Removed obsolete comments about supporting for-event.
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executeScript): Moved to runScript.
(WebCore::HTMLScriptRunner::runScript): Checking shouldExecuteAsJavaScript() here means that external scripts which fail the check will never be requested.
2010-09-10 Nat Duca <nduca@chromium.org>
Reviewed by Darin Fisher.
[chromium] Accelerated Compositing: screen garbage when scrolling
https://bugs.webkit.org/show_bug.cgi?id=45092
Split LayerRenderChromium::drawLayers into several different
functions, responsible for preparing the backbuffer, updating the
root texture, compositing and performing the final
swapbuffers. This are then used by the new
WebViewImpl::composite rendering path.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setBounds):
(WebCore::LayerChromium::setFrame):
(WebCore::LayerChromium::setNeedsDisplay):
(WebCore::LayerChromium::resetNeedsDisplay):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::dirtyRect):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::prepareToDrawLayers):
(WebCore::LayerRendererChromium::updateRootLayerTextureRect):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::present):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-09-10 David Holloway <dhollowa@chromium.org>
Reviewed by Adam Barth.
Replace WebCore::HTMLFormElement::submissionTrigger with WebCore::HTMLFormElement::submittedByUserGesture.
Chromium AutoFill feature semantics changed with respect to what we mean by "user submitted" form. A
more accurate measure of the user manually submitting a form is via user gesture.
https://bugs.webkit.org/show_bug.cgi?id=45128
No new tests as this is only used by the Chromium WebKit API.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::prepareSubmit):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::submittedByUserGesture):
* html/HTMLFormElement.h:
2010-09-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove mention of "part" from Document.cpp
https://bugs.webkit.org/show_bug.cgi?id=45566
This is an old KHTML name that's lingering around.
* dom/Document.cpp:
(WebCore::Document::parentDocument):
2010-09-09 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Move functions from Frame to SelectionController as planned
https://bugs.webkit.org/show_bug.cgi?id=45508
Also removed Frame::dragCaretController since it just called Page::dragCaretController.
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection):
(WebCore::SelectionController::modify):
(WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
(WebCore::SelectionController::selectAll):
(WebCore::SelectionController::focusedOrActiveStateChanged):
(WebCore::SelectionController::notifyRendererOfSelectionChange):
(WebCore::isFrameElement):
(WebCore::SelectionController::setFocusedNodeIfNeeded):
(WebCore::SelectionController::paintDragCaret):
(WebCore::SelectionController::shouldDeleteSelection):
(WebCore::SelectionController::selectionBounds):
(WebCore::SelectionController::selectionTextRects):
(WebCore::scanForForm):
(WebCore::SelectionController::currentForm):
(WebCore::SelectionController::revealSelection):
(WebCore::SelectionController::setSelectionFromNone):
(WebCore::SelectionController::shouldChangeSelection):
* editing/SelectionController.h:
Moved functions here from Frame.
* page/Frame.cpp:
* page/Frame.h:
Moved functions to SelectionController.
Reorganized header to be easier to read and a bit more logical.
* WebCore.exp.in: Updated.
* dom/Document.cpp:
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
Call Page::dragCaretController directly.
* dom/Element.cpp:
(WebCore::Element::updateFocusAppearance):
* dom/InputElement.cpp:
(WebCore::InputElement::updateFocusAppearance):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::editingStyleAtPosition):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
* editing/Editor.cpp:
(WebCore::Editor::canSmartCopyOrDelete):
(WebCore::Editor::textDirectionForSelection):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::insertTextWithoutSendingTextEvent):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::Editor::revealSelectionAfterEditingOperation):
(WebCore::Editor::transpose):
(WebCore::Editor::changeSelectionAfterCommand):
(WebCore::Editor::computeAndSetTypingStyle):
(WebCore::Editor::selectionComputedStyle):
(WebCore::Editor::styleForSelectionStart):
(WebCore::Editor::findString):
* editing/EditorCommand.cpp:
(WebCore::executeDelete):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input):
* editing/RemoveFormatCommand.cpp:
(WebCore::RemoveFormatCommand::doApply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::updateFocusAppearance):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
(WebCore::dragLocForSelectionDrag):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestWordFromMouseEvent):
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::handleMouseReleaseEvent):
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::passMousePressEventToSubframe):
* page/chromium/FrameChromium.cpp:
(WebCore::Frame::dragImageForSelection):
* page/mac/FrameMac.mm:
(WebCore::Frame::selectionImage):
* platform/mac/ClipboardMac.mm:
(WebCore::ClipboardMac::writeRange):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintCaret):
Call functions on selection().
2010-09-10 Justin Schuh <jschuh@chromium.org>
Reviewed by Darin Adler.
SVGGElement::rendererIsNeeded should return false when parent isn't SVG
https://bugs.webkit.org/show_bug.cgi?id=45562
Test: svg/custom/g-outside-svg.html
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::rendererIsNeeded):
* svg/SVGGElement.h:
2010-09-10 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
REGRESSION (HTML Parser): CNN's Money site is not formatted correctly with AdBlock installed
https://bugs.webkit.org/show_bug.cgi?id=41371
Drop support for closing comments with "-- >". This was an attempt to
be more IE-like in comment parsing, but it turns out to cause problems
for some high-profile sites. Firefox 4 is dropping support as well.
We expect the spec to change soon too.
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
* html/parser/HTMLTokenizer.h:
2010-09-10 Chris Marrin <cmarrin@apple.com>
Unreviewed.
Adding file that should have been in http://trac.webkit.org/changeset/67226 but
I forgot to svn add.
* platform/graphics/opengl: Added.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
2010-09-10 Paul Sawaya <psawaya@apple.com>
Reviewed by Chris Marrin.
Refactored non-Mac specific code into GraphicsContext3DOpenGL.
Moving this file into platform/graphics/opengl and only building on Mac for now.
https://bugs.webkit.org/show_bug.cgi?id=30625
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
* platform/graphics/opengl: Added.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
(WebCore::GraphicsContext3D::prepareTexture):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::blendColor):
(WebCore::GraphicsContext3D::blendEquation):
(WebCore::GraphicsContext3D::blendEquationSeparate):
(WebCore::GraphicsContext3D::blendFunc):
(WebCore::GraphicsContext3D::blendFuncSeparate):
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
(WebCore::GraphicsContext3D::checkFramebufferStatus):
(WebCore::GraphicsContext3D::clearColor):
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::clearDepth):
(WebCore::GraphicsContext3D::clearStencil):
(WebCore::GraphicsContext3D::colorMask):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore::GraphicsContext3D::cullFace):
(WebCore::GraphicsContext3D::depthFunc):
(WebCore::GraphicsContext3D::depthMask):
(WebCore::GraphicsContext3D::depthRange):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::disable):
(WebCore::GraphicsContext3D::disableVertexAttribArray):
(WebCore::GraphicsContext3D::drawArrays):
(WebCore::GraphicsContext3D::drawElements):
(WebCore::GraphicsContext3D::enable):
(WebCore::GraphicsContext3D::enableVertexAttribArray):
(WebCore::GraphicsContext3D::finish):
(WebCore::GraphicsContext3D::flush):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::frontFace):
(WebCore::GraphicsContext3D::generateMipmap):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttachedShaders):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::getError):
(WebCore::GraphicsContext3D::getString):
(WebCore::GraphicsContext3D::hint):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isEnabled):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::lineWidth):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::pixelStorei):
(WebCore::GraphicsContext3D::polygonOffset):
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::renderbufferStorage):
(WebCore::GraphicsContext3D::sampleCoverage):
(WebCore::GraphicsContext3D::scissor):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::stencilFunc):
(WebCore::GraphicsContext3D::stencilFuncSeparate):
(WebCore::GraphicsContext3D::stencilMask):
(WebCore::GraphicsContext3D::stencilMaskSeparate):
(WebCore::GraphicsContext3D::stencilOp):
(WebCore::GraphicsContext3D::stencilOpSeparate):
(WebCore::GraphicsContext3D::texParameterf):
(WebCore::GraphicsContext3D::texParameteri):
(WebCore::GraphicsContext3D::uniform1f):
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2f):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3f):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4f):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1i):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2i):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3i):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4i):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::vertexAttrib1f):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2f):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3f):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4f):
(WebCore::GraphicsContext3D::vertexAttrib4fv):
(WebCore::GraphicsContext3D::vertexAttribPointer):
(WebCore::GraphicsContext3D::viewport):
(WebCore::GraphicsContext3D::getBooleanv):
(WebCore::GraphicsContext3D::getBufferParameteriv):
(WebCore::GraphicsContext3D::getFloatv):
(WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
(WebCore::GraphicsContext3D::getIntegerv):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getRenderbufferParameteriv):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getTexParameterfv):
(WebCore::GraphicsContext3D::getTexParameteriv):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
(WebCore::GraphicsContext3D::getVertexAttribfv):
(WebCore::GraphicsContext3D::getVertexAttribiv):
(WebCore::GraphicsContext3D::getVertexAttribOffset):
(WebCore::GraphicsContext3D::texImage2D):
(WebCore::GraphicsContext3D::texSubImage2D):
(WebCore::GraphicsContext3D::createBuffer):
(WebCore::GraphicsContext3D::createFramebuffer):
(WebCore::GraphicsContext3D::createProgram):
(WebCore::GraphicsContext3D::createRenderbuffer):
(WebCore::GraphicsContext3D::createShader):
(WebCore::GraphicsContext3D::createTexture):
(WebCore::GraphicsContext3D::deleteBuffer):
(WebCore::GraphicsContext3D::deleteFramebuffer):
(WebCore::GraphicsContext3D::deleteProgram):
(WebCore::GraphicsContext3D::deleteRenderbuffer):
(WebCore::GraphicsContext3D::deleteShader):
(WebCore::GraphicsContext3D::deleteTexture):
2010-09-10 Oliver Hunt <oliver@apple.com>
Qt build fix.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserialize):
2010-09-10 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Remove useless FrameLoader method
https://bugs.webkit.org/show_bug.cgi?id=45492
This method has one caller, and that caller already has a more direct
way of accessing the correct DocumentLoader.
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::addData):
2010-09-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Main resource bytes shouldn't bounce through FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=45496
After the MainResourceLoader hands the bytes for the main resource to
the DocumentLoader, the DocumentLoader hands the bytes to the
FrameLoaderClient. The FrameLoaderClient, in turn, returns the bytes
to WebCore. Prior to this patch, the FrameLoaderClient returned the
bytes to the FrameLoader. However, the FrameLoader was actually adding
any value.
In this patch, we change the FrameLoaderClient to return the bytes to
the DocumentLoader directly. In a future patch, we'll cut out the
FrameLoaderClient middleman and handle the bytes internally in the
DocumentLoader.
* WebCore.exp.in:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::addData):
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoadingDocument):
* loader/FrameLoader.h:
2010-09-10 Oliver Hunt <oliver@apple.com>
Reviewed by Darin Adler.
Speed up deserialisation of strings
https://bugs.webkit.org/show_bug.cgi?id=45555
Rather than building a list of Identifiers for the string pool
we now build a list of a tuple of UString and JSString*. This
doesn't hurt the property name case as ustring->identifier conversion
is essentially free if the ustring has already been converted to
an Identifier, but saves an unnecessary Identifier creation for
strings we only ever use to create JSStrings. We also reduce
GC pressure for duplicate strings by caching the JSStrings.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::CachedString::CachedString):
(WebCore::CloneDeserializer::CachedString::jsString):
(WebCore::CloneDeserializer::CachedString::ustring):
(WebCore::CloneDeserializer::readStringData):
(WebCore::CloneDeserializer::putProperty):
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::CloneDeserializer::deserialize):
2010-09-10 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Antonio Gomes.
REGRESSION(r67176): editing/selection/doubleclick-inline-first-last-contenteditable.html crashes
https://bugs.webkit.org/show_bug.cgi?id=45525
The crash was caused by ancestorToRetainStructureAndAppearance not taking into consideration
the case where there is no common block ancestor. Fixed this by adding a null check.
Test: editing/pasteboard/copy-without-common-block-crash.html
* editing/markup.cpp:
(WebCore::ancestorToRetainStructureAndAppearance): Added a null check.
2010-09-09 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
[FileSystem] Do not call EntriesCallback more than once if there're no entries.
https://bugs.webkit.org/show_bug.cgi?id=45498
No new tests, layout-tests that confirm the behavior will be added in later patches.
* fileapi/FileSystemCallbacks.cpp:
(WebCore::EntriesCallbacks::EntriesCallbacks):
(WebCore::EntriesCallbacks::didReadDirectoryEntry):
(WebCore::EntriesCallbacks::didReadDirectoryEntries):
2010-09-10 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Use String::fromUTF8 instead of UTF8Encoding().decode
in the libxml XMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=45488
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::toString):
2010-09-10 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: accessibility not returning strings when visibility is hidden
https://bugs.webkit.org/show_bug.cgi?id=45116
AX code uses plainText() in TextIterator to get the text for a node.
However, when that node is not visible, no text is returned because TextIterator ignores
clipped nodes and other hidden elements.
Solution is to add a new text iterator behavior for ignoring style visiblity. This allows
for text to allows be returned for accessibility purposes.
Test: platform/mac/accessibility/clipped-text-under-element.html
* WebCore.exp.in:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::stringValue):
Use the new flag for plainText
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
(WebCore::TextIterator::handleTextNodeFirstLetter):
(WebCore::TextIterator::handleReplacedElement):
Use the new flag to NOT skip hidden elements.
(WebCore::plainTextToMallocAllocatedBuffer):
(WebCore::plainText):
* editing/TextIterator.h:
Add the new text iterator behavior.
2010-09-10 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
Mail crashes with searching for next misspelled word with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=45501
Test: platform/mac/accessibility/crash-in-element-for-text-marker.html
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
Check that the AX object is not nil before asking for the wrapper().
2010-09-10 Michael Nordman <michaeln@google.com>
Reviewed by Dumitru Daniliuc.
Decouple Blob from ScriptExecutionContext.
https://bugs.webkit.org/show_bug.cgi?id=45410
- Removed ScriptExecutionContext pointers from Blob and File constructors.
- Removed ScriptExecutionContext's collection of Blobs instance in that context.
- Refactored BlobURL to make a distinction between 'public' blob urls and 'internal'
urls that are used solely as identifiers. The former requires a SecurityOrigin to
to manufacture, the latter does not.
- Added a constant and accessor for the blob protocol scheme on the BlobURL class.
No new tests are added since this is a cleanup.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::ZigZag::Reader::readBlob):
(WebCore::ZigZag::Reader::readFile):
(WebCore::ZigZag::Reader::readFileList):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::createPublicBlobURL):
(WebCore::ScriptExecutionContext::revokePublicBlobURL):
* dom/ScriptExecutionContext.h:
* fileapi/Blob.cpp:
(WebCore::Blob::Blob):
(WebCore::Blob::~Blob):
(WebCore::Blob::slice):
* fileapi/Blob.h:
(WebCore::Blob::create):
(WebCore::Blob::url):
* fileapi/Blob.idl:
* fileapi/BlobBuilder.cpp:
(WebCore::BlobBuilder::getBlob):
* fileapi/BlobBuilder.h:
* fileapi/BlobBuilder.idl:
* fileapi/BlobURL.cpp:
(WebCore::BlobURL::createPublicURL):
(WebCore::BlobURL::createInternalURL):
(WebCore::BlobURL::getOrigin):
(WebCore::BlobURL::getIdentifier):
(WebCore::BlobURL::createBlobURL):
* fileapi/BlobURL.h:
(WebCore::BlobURL::blobProtocol):
(WebCore::BlobURL::BlobURL):
* fileapi/File.cpp:
(WebCore::File::File):
* fileapi/File.h:
(WebCore::File::create):
* fileapi/FileReader.cpp: Register a public url to perform the read.
(WebCore::FileReader::cleanup):
(WebCore::FileReader::start):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::failed):
* fileapi/FileReader.h: Added m_urlForReading data member.
* fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSync::read): Register a public url to perform the read.
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::ThreadableBlobRegistry::unregisterBlobURL):
* fileapi/ThreadableBlobRegistry.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::appendFormData):
(WebCore::HTMLInputElement::setFileListFromRenderer):
* page/SecurityOrigin.cpp: Use BlobURL.blobProtocol().
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::canRequest):
(WebCore::SecurityOrigin::canDisplay):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::files):
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::files):
* platform/mac/ClipboardMac.mm:
(WebCore::ClipboardMac::files):
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::files):
2010-09-10 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
GDK_DISPLAY was removed in GTK+ 3.x, re-declare it when built
against that.
* platform/gtk/GtkVersioning.h:
2010-09-10 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
Fix compilation with GTK+ 3.x.
GDK key macros were renamed from GDK_FOO to GDK_KEY_FOO, we need
to include the compat header provided if we want to keep using the
old names.
* platform/gtk/GtkVersioning.h: add the compatibility header.
* platform/gtk/KeyEventGtk.cpp: include GtkVersioning.h
2010-09-09 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Factor out the NestingLevelIncrementer
https://bugs.webkit.org/show_bug.cgi?id=45471
No new tests because no new functionality.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/HTMLDocumentParser.cpp:
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
* html/parser/NestingLevelIncrementer.h: Added.
(WebCore::NestingLevelIncrementer::NestingLevelIncrementer):
(WebCore::NestingLevelIncrementer::~NestingLevelIncrementer):
2010-09-10 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVG text chunk concept needs to be integrated in the InlineBox structure
https://bugs.webkit.org/show_bug.cgi?id=45533
Begin rewriting the SVG text layout code. As first step move the text chunk concept right into the inline box structure.
This obsoletes the whole text chunk part concept (see SVGTextChunkLayoutInfo.h for details), and will soon simplify the
whole layout code a lot. Previously we hacked around the fact that a single InlineTextBox could contain multiple text chunks
For example: <text x="20 30 40">ABC</text> only led to the creation of one InlineTextBox containing three chunks. When
painting such an InlineTextBox, we had to do nasty hacks (same for text selection etc.)
This is finally fixed by incorporating the knownledge about text chunks into the line layout algorithm.
Note, this has no impact on HTML at all, no worries.
It's even required to do it this way as BiDi reordering shouldn't happen across text chunks.
These are only the first bits, and currently slows down text layouting. Follow-up patches will remove the old layout
algorithm, and will rely on the stored SVGTextLayoutAttributes in the RenerSVGInlineText renderers (instead of computing again).
* Android.mk: Add rendering/svg/SVGTextLayoutAttributes.* & rendering/svg/SVGTextLayoutBuilder.* to build.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gyp/WebCore.gyp: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.vcproj/WebCoreCommon.vsprops: Ditto. (Recognize new rendering/svg directory.)
* WebCore.vcproj/copyForwardingHeaders.cmd: Ditto. (Copy forwarding headers from rendering/svg directory.)
* WebCore.xcodeproj/project.pbxproj: Ditto.
* rendering/RenderBlockLineLayout.cpp: This is the key of the new concept, take text chunks into account when building the InlineBox structure.
(WebCore::RenderBlock::findNextLineBreak): Split midpointState, if we encounter the beginning of a new text chunk.
* rendering/RenderObject.h:
(WebCore::RenderObject::isSVGInline): New method, which will be used to identify RenderSVGInline objects.
* rendering/RenderSVGInline.h:
(WebCore::RenderSVGInline::isSVGInline): Return true.
* rendering/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::linesBoundingBox): Overriden, to simplify the calculations for SVG.
(WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Determines wheter the given position starts a new text chunk.
* rendering/RenderSVGInlineText.h:
(WebCore::RenderSVGInlineText::storeLayoutAttributes): Stores the layout attributes calculated in the text layout process (will be used everywhere in follow-up patches).
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): Invoke SVGTextLayoutBuilder before creating the inline box tree, so we can decide which characters start new text chunks.
* rendering/RenderText.h: Made linesBoundingBox() virtual so RenderSVGInlineText can override it.
* rendering/svg: Added.
* rendering/svg/SVGTextLayoutAttributes.cpp: Added. Holds x/y/dx/dy/rotate values and all kerning/ligature information used during layout.
* rendering/svg/SVGTextLayoutAttributes.h: Added.
* rendering/svg/SVGTextLayoutBuilder.cpp: Added.
* rendering/svg/SVGTextLayoutBuilder.h: Added.
2010-09-10 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed fix after r67085.
* WebCore.pro: Fix previously moved filenames.
2010-09-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Inline FrameLoader::committedLoad into its one caller
https://bugs.webkit.org/show_bug.cgi?id=45481
This saves one round-trip through the FrameLoader when loading
documents.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitLoad):
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
2010-09-10 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Remove ImageBuffer::toDataURL implementation
https://bugs.webkit.org/show_bug.cgi?id=45478
At the moment ImageBuffer::toDataURL uses JPEGEncoder.h and PNGEncoder.h.
Both files are not in the repository. So remove the implementation for now.
* platform/graphics/wince/ImageBufferWince.cpp:
(WebCore::ImageBuffer::toDataURL):
2010-09-10 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antonio Gomes.
WebGL: Fix GCC warnings about suggested parentheses around && within ||
https://bugs.webkit.org/show_bug.cgi?id=45534
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::handleNPOTTextures):
2010-09-09 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Add navigation items into the Elements panel context menu.
For all anchors that have the class of "webkit-html-resource-link" or "webkit-html-external-link",
a custom context menu with the items "Open Link in New Window" (invokes InspectorBackend.openInInspectedWindow() with
the related URL) and "Open Link in Resources Panel" (opens the related resource in the Resources panel) is shown
(the latter item is displayed only if the corresponding resource is known to the Web Inspector).
https://bugs.webkit.org/show_bug.cgi?id=34250
* English.lproj/localizedStrings.js:
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
(WebInspector.ElementsTreeElement.prototype._attributeHTML):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._contextMenuEventFired):
* inspector/front-end/inspector.js:
(WebInspector.openResource):
(WebInspector.resourceURLForRelatedNode):
2010-09-10 Kwang Yul Seo <skyul@company100.net>
Reviewed by James Robinson.
Make sure skia is not Chromium specific
https://bugs.webkit.org/show_bug.cgi?id=39672
Move Image::loadPlatformResource to platform/graphics/chromium/ImageChromium.cpp.
Other ports can use ImageSkia.cpp.
No new tests because this is pure refacotring.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/graphics/chromium/ImageChromium.cpp: Added.
(WebCore::Image::loadPlatformResource):
* platform/graphics/skia/ImageSkia.cpp:
2010-09-09 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Joseph Pecoraro.
WebInspector: Selecting 'inspect element' always shows body in inspector instead of clicked element.
1. Open any page
2. Right-click on any element, select "Inspect Element"
3. Web Inspector is opened but the <body> element (for HTML) is focused rather than the selected element
4. Inspect the Web Inspector. An error message is logged in the console.
The regression was introduced in http://trac.webkit.org/changeset/66012 - focusNode() is invoked in
InspectorController::populateScriptObjects() before the main document is set for the InspectorDOMAgent
instance (which makes focusNode() bail out prematurely).
https://bugs.webkit.org/show_bug.cgi?id=45374
* inspector/InspectorController.cpp:
(WebCore::InspectorController::populateScriptObjects):
2010-09-10 Cris Neckar <cdn@chromium.org>
Reviewed by Chris Fleizach.
Null deref in RenderBlock::updateFirstLetter(). Check for null psuedo style.
https://bugs.webkit.org/show_bug.cgi?id=45404
Test: fast/dom/firstletter-tablecell-crash.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
2010-09-10 Cris Neckar <cdn@chromium.org>
Reviewed by Chris Fleizach.
Null deref in RenderBlock::findNextLineBreak(). Check for null style with
first-line style and fixed position.
https://bugs.webkit.org/show_bug.cgi?id=45350
Test: fast/dom/firstline-fixed-crash.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::findNextLineBreak):
2010-09-10 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Remove support for non-lazy attach and fix frames to load from insertedIntoDocument instead of attach
https://bugs.webkit.org/show_bug.cgi?id=45365
This change is the last piece of the puzzle which was preventing us from
removing all eager-attach logic and moving WebCore to using an entirely
recalcStyle-driven, on-demand renderer creation system, instead of every
element being synchronously attached during parsing, regardless of whether
it was ever going to be displayed or not.
This does not change the places we call lazyAttach vs. attach. This only
changes the behavior of frame/plugin elements when lazyAttach is called.
Previously lazyAttach would eager-attach those elements (and their ancestors)
because they were marked as canLazyAttach() { return false; }.
This is a very tricky change, please review carefully.
Mostly I'm moving logic which used to be in attach() into
insertedIntoDocument. Once it was there, there was no longer any reason
why frame elements couldn't lazyAttach, thus removing the need
for the non-lazy attach code path entirely.
We've not yet converted all callsites over to using lazyAttach() instead
of attach() however.
In order to move frame loading logic into insertedIntoDocument
instead of attach, I needed to make sure that any javascript calls
during the load would see an attached element. Thus I needed to mark
the element as needing style resolve so that it would attach itself
if needed.
I was not able to just call lazyAttach() from insertedIntoDocument directly
due to two conflicting assumptions in the rendering tree:
1. ContainerNode::attach() assumes its "safe" to call attach on all children
without checking first if the child is already attached. This seems sane
since its strange to think of a subtree as being attached w/o ancestors
already being attached. Although it is a hard rule that subtrees may not
have renderers w/o ancestors also having renderers, I do not believe it's
a hard rule that subtrees may not be attached. Remember, attached() does
not imply renderer()! It's possible ContainerNode::attach()'s assumption is wrong here.
2. Node::attach() asserts !attached(). This makes sense and I would not
want to remove this assert, however it means that if insertedIntoDocument
were to call lazyAttach() (thus marking the element as attached()) then
all callers would need to check if the element was already attached after
insertedIntoDocument (called by appendChild, parserAppendChild, etc.)
before calling attach or lazyAttach(). The following example:
element.innerHTML = "<span><iframe></span>" is one case where this
ASSERT would be hit if insertedIntoDocument called lazyAttach, since
ContainerNode::attach() (called on the span by in appendChild(DocumentFragment) code)
does not check if iframe is already attached.
Note: One subtle change here is that synchronous javascript which results
from javascript: or beforeload is now run as part of insertedIntoDocument
(thus any insert/append call *even* parserAddChild) instead of being
run during attach (technically in the post-attach callbacks).
This is covered by numerous layout tests.
* dom/ContainerNode.cpp:
(WebCore::willRemoveChild):
(WebCore::willRemoveChildren):
- Since insertedIntoDocument starts a load and yet does not mark the
element as attached, we need to always call willRemove().
See note above as to why we don't just mark attached() in insertedIntoDocument.
* dom/Node.cpp:
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
- Share some code between lazyAttach and setNeedsStyleRecalc.
(WebCore::Node::setNeedsStyleRecalc):
- Use the new markAncestorsWithChildNeedsStyleRecalc
(WebCore::Node::lazyAttach):
- Remove the non-lazy code path, and use markAncestorsWithChildNeedsStyleRecalc.
- Add an option to lazyAttach without marking attached(), used by HTMLFrameElementBase::insertedIntoDocument.
* dom/Node.h:
* html/HTMLFrameElementBase.cpp:
- m_shouldOpenURLAfterAttach is no longer needed, yay!
- m_checkAttachedTimer no longer has anything to do with attached(), so renamed it.
I also documented that the newly named m_checkInDocumentTimer is all about the
"magic iframe" performance quirk. (Which is actually speced in HTML5).
I was initially baffled by this code, so I documented it.
(WebCore::HTMLFrameElementBase::HTMLFrameElementBase)
(WebCore::HTMLFrameElementBase::insertedIntoDocument):
- This is the meat of this change, see discussion above.
(WebCore::HTMLFrameElementBase::attach):
- Code deleted or moved to insertedIntoDocument.
(WebCore::HTMLFrameElementBase::width):
- Fixed a bug in height()/width() which was probably causing crashes
and was causing incorrect behavior after this change.
renderBox() is not necessarily valid unless layout is up to date.
Updating layout, can cause renderBox() to go invalid, thus this
could have been a null-pointer crash.
(WebCore::HTMLFrameElementBase::height): see width()
(WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Timer rename.
(WebCore::HTMLFrameElementBase::checkInDocumentTimerFired): Timer rename.
* html/HTMLFrameElementBase.h:
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::willRemove):
- Disconnecting the owner element removes the frame from the frame tree.
frameDetached() calls Page::frameCount which expects that the frame is
already gone at this point and asserts when it's not. It's unclear how
this worked before, except that the frame removal was likely done in the
post-attach callback, so the frameCount was wrong (too high) during
frameDetached(), but was fixed up in the post-detach callback.
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attachAtSite):
- Simplified this code, and added a check for the case when the node was already removed.
Since the load logic is now run during insertedIntoDocument instead of attach(),
synchronous javascript is now running during insertedIntoDocument and we need to
make sure that the child is still in the tree.
2010-09-10 Dirk Pranke <dpranke@chromium.org>
Unreviewed, rolling out r67178.
http://trac.webkit.org/changeset/67178
https://bugs.webkit.org/show_bug.cgi?id=45524
re-roll-out patch to put original changes back in
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
(WebCore::HTMLObjectElement::updateWidget):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::resourceWillUsePlugin):
* loader/SubframeLoader.h:
2010-09-10 Dirk Pranke <dpranke@chromium.org>
Reviewed by Kent Tamura.
roll out r66992 and r66997 - possibly introduced a perf slowdown in chromium tests
https://bugs.webkit.org/show_bug.cgi?id=45524
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
(WebCore::HTMLObjectElement::updateWidget):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestFrame):
* loader/SubframeLoader.h:
2010-09-10 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
Extract the code to find special ancestors in createMarkup into a function
https://bugs.webkit.org/show_bug.cgi?id=45449
Extracted the code to find special common ancestors in createMarkup as highestAncestorToWrapMarkup.
Also isolated the code to find ancestors required to retain structure and appearance into
ancestorToRetainStructureAndAppearance.
No new tests are added since this is a cleanup.
* editing/markup.cpp:
(WebCore::ancestorToRetainStructureAndAppearance): Added.
(WebCore::propertyMissingOrEqualToNone): Moved.
(WebCore::isElementPresentational): Moved.
(WebCore::shouldIncludeWrapperForFullySelectedRoot): Added. isSpecialAncestorBlock is merged into this function.
(WebCore::highestAncestorToWrapMarkup): Extracted from createMarkup.
(WebCore::createMarkup): Calls highestAncestorToWrapMarkup.
2010-09-09 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
Spurious null check in MediaDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=45461
Trivial change. FrameLoader can never be null.
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
2010-09-09 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
REGRESSION: applying new font size causes font-size outside selection to change
https://bugs.webkit.org/show_bug.cgi?id=45026
The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
Namely, it was treating font size as a pixel value for font-size property. Fixed this by adding fontSizeToCSSValue
which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement
Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
to legacy font size by CSSStyleSelector::legacyFontSize.
Test: editing/style/push-down-font-styles.html
* editing/ApplyStyleCommand.cpp:
(WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
(WebCore::stringToCSSValue): Converts string to CSSValue.
(WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
* css/CSSStyleSelector.h: Made fontSizeForKeyword public.
2010-09-09 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix for Qt.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2010-09-09 Dominic Cooney <dominicc@google.com>
Reviewed by Kent Tamura.
Moves location.replace bindings logic into bindings/generic and
instantiates it for JSC and V8.
https://bugs.webkit.org/show_bug.cgi?id=44891
Covered by existing location.replace tests.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/BindingDOMWindow.h:
* bindings/generic/BindingFrame.h: Added.
(WebCore::::navigateIfAllowed):
* bindings/generic/BindingLocation.h: Added.
(WebCore::::replace):
* bindings/generic/GenericBinding.h:
(WebCore::completeURL):
* bindings/js/JSBinding.h: Added.
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMBinding.cpp:
(WebCore::shouldAllowNavigation):
(WebCore::toLexicalFrame):
(WebCore::toDynamicFrame):
(WebCore::processingUserGesture):
(WebCore::completeURL):
* bindings/js/JSLocationCustom.cpp:
(WebCore::navigateIfAllowed):
(WebCore::JSLocation::replace):
* bindings/js/specialization/JSBindingState.cpp: Added.
(WebCore::::getActiveFrame):
(WebCore::::getFirstFrame):
(WebCore::::processingUserGesture):
(WebCore::::allowsAccessFromFrame):
* bindings/js/specialization/JSBindingState.h: Added.
* bindings/v8/V8Binding.h:
* bindings/v8/V8Utilities.cpp:
(WebCore::completeURL):
(WebCore::navigateIfAllowed):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::replaceCallback):
* bindings/v8/specialization/V8BindingState.cpp:
(WebCore::::allowsAccessFromFrame):
* bindings/v8/specialization/V8BindingState.h:
2010-09-09 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Apply :invalid CSS class to <input type=number> with an unacceptable value
https://bugs.webkit.org/show_bug.cgi?id=45376
Apply :invalid CSS class to <input type=number> elements with an
unacceptable value in order to tell users that a value is not
valid.
Introducing Element::hasUnaccceptableValue(), and CSSStyleSelector
applies :invalid to not only elements with !isValidFormControlElement()
but also elements with hasUnaccceptableValue().
HTMLInputElement and RenderTextControlSingleLine need some changes
to update style and to avoid updating renderer value during style
update.
Test: fast/forms/input-number-unacceptable-style.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
* dom/Element.h:
(WebCore::Element::hasUnacceptableValue):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::handleBlurEvent):
(WebCore::HTMLInputElement::hasUnacceptableValue):
* html/HTMLInputElement.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::subtreeHasChanged):
(WebCore::RenderTextControlSingleLine::updateFromElement):
2010-09-09 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
<input type=number> should not have an invalid number as its value
https://bugs.webkit.org/show_bug.cgi?id=43973
This change implements the value sanitization algorithm for
type=number, and remove validity.typeMismatch support for
type=number in order to improve HTML5 conformance.
HTMLInputElement::value for type=number always has a valid number
string or an empty string. However, the input field for it, a
RenderTextControlSingleLine, can have a non-number string. For
example, '-' is a non-number string, but a user needs to type
'-'. So, the string in the input field has never been committed to
HTMLInputElement until the string becomes a valid number string.
This change is also a preparation of supporting localized
numbers. A localized string in the input field would not be
matched with HTMLInputElement::value.
Test: fast/forms/input-number-commit-valid-only.html
* dom/InputElement.h: Add isAcceptableValue()
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::handleBlurEvent):
Set formControlValueMatchesRenderer false to clean an invalid value in the renderer.
(WebCore::HTMLInputElement::isAcceptableValue):
(WebCore::HTMLInputElement::sanitizeValue):
* html/HTMLInputElement.h:
* html/ValidityState.cpp:
(WebCore::ValidityState::typeMismatch): Always returns false for type=number.
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::subtreeHasChanged):
* wml/WMLInputElement.h:
(WebCore::WMLInputElement::isAcceptableValue):
2010-09-09 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Support <script async> as specified by HTML5
https://bugs.webkit.org/show_bug.cgi?id=45310
Tests: fast/dom/HTMLScriptElement/async-inline-script.html
fast/dom/HTMLScriptElement/async-onbeforeload.html
fast/dom/HTMLScriptElement/async-write.html
http/tests/misc/async-and-defer-script.html
http/tests/misc/script-async.html
* dom/AsyncScriptRunner.cpp:
(WebCore::AsyncScriptRunner::AsyncScriptRunner):
(WebCore::AsyncScriptRunner::~AsyncScriptRunner):
(WebCore::AsyncScriptRunner::executeScriptSoon): Increment the delay count when a task to execute scripts is queued up.
(WebCore::AsyncScriptRunner::timerFired): decrementLoadEventDelayCount handles calling checkCompleted().
* dom/AsyncScriptRunner.h:
(WebCore::AsyncScriptRunner::create):
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::insertedIntoDocument): Treats async scripts just like a dynamically inserted script element rather than a parser inserted one.
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::runScript):
2010-09-09 Alexey Marinichev <amarinichev@chromium.org>
Reviewed by James Robinson.
[chromium] Disable subpixel rendering in Linux when GPU compositor is active
https://bugs.webkit.org/show_bug.cgi?id=45087
This extends windows-only logic to chromium linux as well.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::updateContents):
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateContents):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::clip):
* platform/graphics/skia/PlatformContextSkia.cpp:
Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
Linux; removed all #if OS(WINDOWS) || OS(LINUX).
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::PlatformContextSkia):
(WebCore::PlatformContextSkia::isDrawingToImageBuffer):
(WebCore::PlatformContextSkia::save):
(WebCore::PlatformContextSkia::beginLayerClippedToImage):
(WebCore::PlatformContextSkia::restore):
(WebCore::PlatformContextSkia::applyClipFromImage):
* platform/graphics/skia/PlatformContextSkia.h:
2010-09-09 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed, Windows build fix.
* WebCore.vcproj/WebCore.vcproj:
2010-09-09 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
[FileSystem] Add File and FileWriter accessor methods in FileEntry
https://bugs.webkit.org/show_bug.cgi?id=45440
Adding file() and createWrite() methods in FileEntry.
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-fileentry-interface
No new tests; this patch doesn't have implementation yet.
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/FileEntry.cpp:
(WebCore::FileEntry::createWriter): Added.
(WebCore::FileEntry::file): Added.
* fileapi/FileEntry.h:
* fileapi/FileEntry.idl:
* fileapi/FileCallback.h: Added.
* fileapi/FileCallback.idl: Added.
* fileapi/FileWriterCallback.h: Added.
* fileapi/FileWriterCallback.idl: Added.
2010-09-09 Yuzo Fujishima <yuzo@google.com>
Reviewed by Darin Adler.
Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation
Stop checking in the flex definition the number of hexadecimal digits for a hex color.
Instead, rely on the checking in Color::parseHexColor().
The resultant grammar is actually more close to the one in http://www.w3.org/TR/CSS21/grammar.html .
https://bugs.webkit.org/show_bug.cgi?id=24742
Test: fast/css/invalid-hex-color.html
* css/tokenizer.flex:
2010-09-09 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioSourceNode files
https://bugs.webkit.org/show_bug.cgi?id=45010
No new tests since audio API is not yet implemented.
* webaudio/AudioSourceNode.h: Added.
(WebCore::AudioSourceNode::AudioSourceNode):
* webaudio/AudioSourceNode.idl: Added.
2010-09-09 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Don't call deleteTexture on a texture attached to an FBO that is not currently bound
https://bugs.webkit.org/show_bug.cgi?id=45504
The OpenGL semantics for glDeleteTextures() are that if one of the specified texture is attached
to the currently bound FBO, that FBO's color attachment is removed. However, if the specified
texture is attached to a non-current FBO then OpenGL states explicitly that that FBO's color
attachment is not cleared and that the texture stays alive even though its ID is no longer
valid to use. This is not the behavior we want in DrawingBuffer - we actually want the
texture to be immediately deleted. This patch makes sure the DrawingBuffer's FBO is bound
before deleting its color attachment texture.
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::~DrawingBuffer):
(WebCore::DrawingBuffer::reset):
2010-09-09 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Chromium mac build should exclude all Skia files in platform/graphics/skia/, not just some
https://bugs.webkit.org/show_bug.cgi?id=45516
This excludes platform/graphics/skia/*Skia.(h|cpp) by pattern instead of individual files.
None of these files should be compiled into the Chromium mac build and the old file list had
both omissions and stale entries.
* WebCore.gyp/WebCore.gyp:
2010-09-09 Dirk Pranke <dpranke@chromium.org>
Unreviewed, rolling out r67145.
http://trac.webkit.org/changeset/67145
https://bugs.webkit.org/show_bug.cgi?id=45431
broke editing/inserting/5994480-2.html on Chromium Linux
* css/CSSStyleSelector.h:
* editing/ApplyStyleCommand.cpp:
(WebCore::StyleChange::init):
(WebCore::StyleChange::extractTextStyles):
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
2010-09-09 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Alexey Proskuryakov.
Removing an obsolete comment.
https://bugs.webkit.org/show_bug.cgi?id=40112
* bindings/generic/ActiveDOMCallback.cpp:
2010-09-09 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Clear only the uploaded portion of the software backing store when in mixed mode
https://bugs.webkit.org/show_bug.cgi?id=45503
This clears out only the dirty region of the software backing store when uploading results
to hardware rather than clearing out the entire software backing store. This is a significant
performance improvement when the dirty rects are small relative to the whole canvas.
This also implements the non-swizzle path of copySubRect() using memcpy() to copy the rows, which
is another respectable performance increase.
* html/canvas/CanvasRenderingContext2D.cpp:
* platform/graphics/gpu/Texture.cpp:
(WebCore::copySubRect):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::prepareForSoftwareDraw):
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
(WebCore::PlatformContextSkia::readbackHardwareToSoftware):
2010-09-09 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Add math utilities for cubic curve processing
https://bugs.webkit.org/show_bug.cgi?id=45251
Adding mathematic utilities needed for the GPU accelerated path
rendering algorithm from GPU Gems 3. No tests yet; will be tested
in conjunction with later code.
* platform/graphics/gpu/LoopBlinnMathUtils.cpp: Added.
(WebCore::LoopBlinnMathUtils::roundToZero):
(WebCore::LoopBlinnMathUtils::approxEqual):
(WebCore::LoopBlinnMathUtils::linesIntersect):
(WebCore::LoopBlinnMathUtils::pointInTriangle):
(WebCore::LoopBlinnMathUtils::trianglesOverlap):
(WebCore::LoopBlinnMathUtils::chopCubicAt):
(WebCore::LoopBlinnMathUtils::xRayCrossesLine):
(WebCore::LoopBlinnMathUtils::numXRayCrossingsForCubic):
* platform/graphics/gpu/LoopBlinnMathUtils.h: Added.
2010-09-09 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
Add Entry.getMetadata for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=45403
Add getMetadata to Entry.idl (I had missed to include this
in my previous Entry.idl patch.)
Also make some minor cleanups and nits fixes.
No new tests; layout test is going be added later.
* fileapi/DOMFileSystem.cpp: Bug fix.
* fileapi/MetadataCallback.h: Nits fix.
* fileapi/Entry.idl: Added getMetadata.
* fileapi/ErrorCallback.h: Nits fix.
2010-09-09 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
REGRESSION: applying new font size causes font-size outside selection to change
https://bugs.webkit.org/show_bug.cgi?id=45026
The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly.
Namely, it was treating font size as a pixel value for font-size property. Fixed this by adding fontSizeToCSSValue
which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement
Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were
relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size
to legacy font size by CSSStyleSelector::legacyFontSize.
Test: editing/style/push-down-font-styles.html
* editing/ApplyStyleCommand.cpp:
(WebCore::StyleChange::extractTextStyles): Fixed a bug. See above.
(WebCore::stringToCSSValue): Converts string to CSSValue.
(WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue.
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue.
* css/CSSStyleSelector.h: Made fontSizeForKeyword public.
2010-09-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r67126.
http://trac.webkit.org/changeset/67126
https://bugs.webkit.org/show_bug.cgi?id=45510
broke chromium mac compile, it also uses PlatformContextSkia
(Requested by jamesr on #webkit).
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::updateContents):
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::adjustTextRenderMode):
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateContents):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::clip):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::PlatformContextSkia):
(WebCore::PlatformContextSkia::save):
(WebCore::PlatformContextSkia::restore):
* platform/graphics/skia/PlatformContextSkia.h:
2010-09-09 Simon Fraser <simon.fraser@apple.com>
Attempt to fix Qt build.
* WebCore.pro:
2010-09-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=45509
<rdar://problem/8142166> REGRESSION: WebView setDrawsBackground:NO no
longer works without setBackgroundColor:clearColor
r61215 caused RenderView to paint the viewport background when the
document element's renderer is known to not fill opaquely paint
the entire viewport, i.e. more often than it did before.
This exposed a latent, long-standing bug which was introduced
in r14638 (the RenderCanvas -> RenderView rename), where a call
to view()->isTransparent() was not converted to frameView()->isTransparent(),
yet happened to still compile because of RenderObject::isTransparent().
This resulted in us painting the viewport background, even when
WebView clients explicitly said that they wanted a transparent
WebView.
Fixed by calling frameView()->isTransparent(), as intended.
* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
2010-09-09 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
audio engine: add Biquad files
https://bugs.webkit.org/show_bug.cgi?id=44795
No new tests since audio API is not yet implemented.
* platform/audio/Biquad.cpp: Added.
(WebCore::Biquad::Biquad):
(WebCore::Biquad::process):
(WebCore::Biquad::processFast):
(WebCore::Biquad::processSliceFast):
(WebCore::Biquad::reset):
(WebCore::Biquad::setLowpassParams):
(WebCore::Biquad::setHighpassParams):
(WebCore::Biquad::setLowShelfParams):
(WebCore::Biquad::setZeroPolePairs):
(WebCore::Biquad::setAllpassPole):
* platform/audio/Biquad.h: Added.
(WebCore::Biquad::~Biquad):
2010-09-09 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioBuffer files
https://bugs.webkit.org/show_bug.cgi?id=45003
No new tests since audio API is not yet implemented.
* webaudio/AudioBuffer.cpp: Added.
(WebCore::AudioBuffer::create):
(WebCore::AudioBuffer::createFromAudioFileData):
(WebCore::AudioBuffer::AudioBuffer):
(WebCore::AudioBuffer::releaseMemory):
(WebCore::AudioBuffer::getChannelData):
(WebCore::AudioBuffer::zero):
* webaudio/AudioBuffer.h: Added.
(WebCore::AudioBuffer::length):
(WebCore::AudioBuffer::duration):
(WebCore::AudioBuffer::sampleRate):
(WebCore::AudioBuffer::numberOfChannels):
(WebCore::AudioBuffer::gain):
(WebCore::AudioBuffer::setGain):
* webaudio/AudioBuffer.idl: Added.
2010-09-09 Alexey Marinichev <amarinichev@chromium.org>
Reviewed by James Robinson.
[chromium] Disable subpixel rendering in Linux when GPU compositor is active
https://bugs.webkit.org/show_bug.cgi?id=45087
Covered by all tests that activate the compositor and contain text.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::updateContents):
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::adjustTextRenderMode): Added a check to see if the compositor is active.
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateContents):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::clip):
* platform/graphics/skia/PlatformContextSkia.cpp:
Made setDrawingToImageBuffer and isDrawingToImageBuffer available to
Linux; removed all #if OS(WINDOWS) || OS(LINUX).
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::PlatformContextSkia):
(WebCore::PlatformContextSkia::isDrawingToImageBuffer):
(WebCore::PlatformContextSkia::save):
(WebCore::PlatformContextSkia::beginLayerClippedToImage):
(WebCore::PlatformContextSkia::restore):
(WebCore::PlatformContextSkia::applyClipFromImage):
* platform/graphics/skia/PlatformContextSkia.h:
2010-09-09 Simon Fraser <simon.fraser@apple.com>
Fix windows build by adding missing file.
* platform/graphics/win/LocalWindowsContext.h: Added.
(WebCore::LocalWindowsContext::LocalWindowsContext):
(WebCore::LocalWindowsContext::~LocalWindowsContext):
(WebCore::LocalWindowsContext::hdc):
2010-09-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Adam Roben.
Scrollbars fail to render in composited iframes.
https://bugs.webkit.org/show_bug.cgi?id=45335
Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/
releaseWindowsContext automatically.
Also fix getWindowsContext to create a bitmap context if mayCreateBitmap
is true, and if the context's HDC is null. This fixes scrollbar rendering
in compositing layers.
Use LocalWindowsContext in places where we had bare getWindowsContext() calls.
* platform/graphics/win/LocalWindowsContext.h
(WebCore::LocalWindowsContext::LocalWindowsContext):
(WebCore::LocalWindowsContext::~LocalWindowsContext):
(WebCore::LocalWindowsContext::hdc):
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::releaseWindowsContext):
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::getWindowsContext):
* platform/graphics/win/IconWin.cpp:
(WebCore::Icon::paint):
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
(WebCore::MediaPlayerPrivate::paint):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::paintTrackPiece):
(WebCore::ScrollbarThemeWin::paintButton):
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::paintWindowedPluginIntoContext):
(WebCore::PluginView::paint):
* rendering/RenderThemeWin.cpp:
(WebCore::drawControl):
2010-09-09 Vincent Scheib <scheib@chromium.org>
Reviewed by James Robinson.
[Chromium] Minimize uploads in canvas 2d mixed mode rendering
https://bugs.webkit.org/show_bug.cgi?id=45476
No new tests - change is for performance, logic fixes only apparent when running hardware acceleration.
- Enumeration values fixed, "CavasWillDraw" -> "CanvasDidDraw".
- markDirtyRect() plumbed through GraphicsContext to PlatformContextSkia.
- Texture::updateSubRect() added to allow uploading only a dirty rect.
- Logic fix in ImageBuffer::draw(), caused canvas to canvas copies to be incorrect.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::didDraw):
- Logic fix for drawingContext()->markDirtyRect() call.
(WebCore::CanvasRenderingContext2D::putImageData):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
- Logic fix for calls to "didDraw()", use peer method first.
* html/canvas/CanvasRenderingContext2D.h:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::markDirtyRect):
* platform/graphics/GraphicsContext.h:
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::create):
(WebCore::Texture::load):
(WebCore::Texture::updateSubRect):
* platform/graphics/gpu/Texture.h:
* platform/graphics/gpu/TilingData.h:
(WebCore::TilingData::borderTexels):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
(WebCore::GraphicsContext::markDirtyRect):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::cloneInheritedProperties):
(WebCore::PlatformContextSkia::drawRect):
(WebCore::PlatformContextSkia::setFillColor):
(WebCore::PlatformContextSkia::setStrokeColor):
(WebCore::PlatformContextSkia::markDirtyRect):
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
* platform/graphics/skia/PlatformContextSkia.h:
2010-09-08 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Move functions from Frame to Editor as planned
https://bugs.webkit.org/show_bug.cgi?id=45218
Just executing the plan that has long been described in Frame.h
to move a bunch of functions to Editor.
* WebCore.exp.in: Updated.
* editing/Editor.cpp:
(WebCore::Editor::fontForSelection):
(WebCore::Editor::textDirectionForSelection):
(WebCore::Editor::applyStyle):
(WebCore::Editor::selectionStartHasStyle):
(WebCore::Editor::selectionHasStyle):
(WebCore::Editor::selectionStartCSSPropertyValue):
(WebCore::Editor::Editor):
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::ignoreSpelling):
(WebCore::Editor::learnSpelling):
(WebCore::Editor::isSelectionMisspelled):
(WebCore::Editor::guessesForMisspelledSelection):
(WebCore::Editor::selectedText):
(WebCore::Editor::firstRectForRange):
(WebCore::Editor::shouldChangeSelection):
(WebCore::Editor::computeAndSetTypingStyle):
(WebCore::Editor::selectionComputedStyle):
(WebCore::Editor::textFieldDidBeginEditing):
(WebCore::Editor::textFieldDidEndEditing):
(WebCore::Editor::textDidChangeInTextField):
(WebCore::Editor::doTextFieldCommandFromEvent):
(WebCore::Editor::textWillBeDeletedInTextField):
(WebCore::Editor::textDidChangeInTextArea):
(WebCore::Editor::applyEditingStyleToBodyElement):
(WebCore::Editor::applyEditingStyleToElement):
(WebCore::Editor::styleForSelectionStart):
(WebCore::Editor::findString):
(WebCore::Editor::countMatchesForText):
(WebCore::Editor::setMarkedTextMatchesAreHighlighted):
(WebCore::Editor::respondToChangedSelection):
* editing/Editor.h:
* editing/mac/EditorMac.mm:
(WebCore::Editor::fontAttributesForSelectionStart):
(WebCore::Editor::baseWritingDirectionForSelectionStart):
Moved functions here.
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::shouldChangeSelection):
* page/Frame.h:
* page/mac/FrameMac.mm:
Moved functions out of here.
* dom/InputElement.cpp:
(WebCore::InputElement::dispatchBlurEvent):
(WebCore::InputElement::aboutToUnload):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::doApply):
* editing/EditorCommand.cpp:
(WebCore::executeToggleStyleInList):
(WebCore::executeDeleteToMark):
(WebCore::executeFindString):
(WebCore::executeSelectToMark):
(WebCore::executeSetMark):
(WebCore::executeSwapWithMark):
(WebCore::enabledVisibleSelectionAndMark):
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::find):
* page/DragController.cpp:
(WebCore::DragController::startDrag):
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEventForKey):
* page/Page.cpp:
(WebCore::Page::findString):
(WebCore::Page::markAllMatchesForText):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::subtreeHasChanged):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::subtreeHasChanged):
Changed call sites to use editor().
2010-09-09 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioDSPKernelProcessor files
https://bugs.webkit.org/show_bug.cgi?id=45211
No new tests since audio API is not yet implemented.
* platform/audio/AudioDSPKernelProcessor.cpp: Added.
(WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
(WebCore::AudioDSPKernelProcessor::initialize):
(WebCore::AudioDSPKernelProcessor::uninitialize):
(WebCore::AudioDSPKernelProcessor::process):
(WebCore::AudioDSPKernelProcessor::reset):
(WebCore::AudioDSPKernelProcessor::setNumberOfChannels):
* platform/audio/AudioDSPKernelProcessor.h: Added.
(WebCore::AudioDSPKernelProcessor::numberOfChannels):
2010-09-09 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add setRange() and zeroRange() methods to TypedArrayBase
https://bugs.webkit.org/show_bug.cgi?id=45419
No new tests since adding new methods which are not yet called anywhere.
* html/canvas/ArrayBufferView.cpp:
(WebCore::ArrayBufferView::setRangeImpl):
(WebCore::ArrayBufferView::zeroRangeImpl):
* html/canvas/ArrayBufferView.h:
* html/canvas/TypedArrayBase.h:
(WebCore::TypedArrayBase::setRange):
(WebCore::TypedArrayBase::zeroRange):
2010-09-09 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
[Qt] always send an Accept header
Ensure QtWebKit always sends an Accept header. This is required
for compatibility with sites that expect the header in requests
for subresources.
See https://bugs.webkit.org/show_bug.cgi?id=33242 for more.
https://bugs.webkit.org/show_bug.cgi?id=45458
* platform/network/qt/ResourceRequestQt.cpp:
(WebCore::ResourceRequest::toNetworkRequest):
2010-09-09 Eric Carlson <eric.carlson@apple.com>
Reviewed by Chris Marrin.
Add media element logging
https://bugs.webkit.org/show_bug.cgi?id=45469
Add logging at interesting points in a media element's lifecycle.
* html/HTMLMediaElement.cpp:
(WebCore::urlForLogging):
(WebCore::boolString):
(WebCore::HTMLMediaElement::scheduleEvent):
(WebCore::HTMLMediaElement::asyncEventTimerFired):
(WebCore::HTMLMediaElement::canPlayType):
(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::isSafeToLoadURL):
(WebCore::HTMLMediaElement::waitForSourceChange):
(WebCore::HTMLMediaElement::noneSupported):
(WebCore::HTMLMediaElement::mediaEngineError):
(WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
(WebCore::HTMLMediaElement::setNetworkState):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::rewind):
(WebCore::HTMLMediaElement::returnToRealtime):
(WebCore::HTMLMediaElement::addPlayedRange):
(WebCore::HTMLMediaElement::seek):
(WebCore::HTMLMediaElement::finishSeek):
(WebCore::HTMLMediaElement::setPlaybackRate):
(WebCore::HTMLMediaElement::setWebkitPreservesPitch):
(WebCore::HTMLMediaElement::setAutoplay):
(WebCore::HTMLMediaElement::setPreload):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::playInternal):
(WebCore::HTMLMediaElement::pause):
(WebCore::HTMLMediaElement::pauseInternal):
(WebCore::HTMLMediaElement::setLoop):
(WebCore::HTMLMediaElement::setControls):
(WebCore::HTMLMediaElement::setVolume):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::togglePlayState):
(WebCore::HTMLMediaElement::beginScrubbing):
(WebCore::HTMLMediaElement::endScrubbing):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
(WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
(WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
(WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
(WebCore::HTMLMediaElement::mediaPlayerRateChanged):
(WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
(WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
(WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged):
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::userCancelledLoad):
(WebCore::HTMLMediaElement::stop):
(WebCore::HTMLMediaElement::suspend):
(WebCore::HTMLMediaElement::resume):
(WebCore::HTMLMediaElement::hasPendingActivity):
(WebCore::HTMLMediaElement::mediaVolumeDidChange):
(WebCore::HTMLMediaElement::createMediaPlayerProxy):
(WebCore::HTMLMediaElement::enterFullscreen):
(WebCore::HTMLMediaElement::exitFullscreen):
(WebCore::HTMLMediaElement::setClosedCaptionsVisible):
(WebCore::HTMLMediaElement::mediaCanStart):
(WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
2010-09-09 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
[v8] bypass caches when query memory usage from post GC and in crash handler.
https://bugs.webkit.org/show_bug.cgi?id=45036
Second part of the whole change: now use API introduced in
http://trac.webkit.org/changeset/66818 and now backed by Chromium.
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::reportFatalErrorInV8):
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::gcEpilogue):
2010-09-09 Kwang Yul Seo <skyul@company100.net>
Reviewed by James Robinson.
Make sure skia is not Chromium specific
https://bugs.webkit.org/show_bug.cgi?id=39672
FontCustomPlatformData is not Chromium-specific. Move it to platform/skia.
No new tests because this is pure refactoring.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/graphics/chromium/FontCustomPlatformData.cpp: Removed.
* platform/graphics/chromium/FontCustomPlatformData.h: Removed.
* platform/graphics/skia/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.cpp.
* platform/graphics/skia/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.h.
2010-09-09 Chris Rogers <crogers@google.com>
Reviewed by Chris Fleizach.
Add AudioDSPKernel files
https://bugs.webkit.org/show_bug.cgi?id=45319
No new tests since audio API is not yet implemented.
* platform/audio/AudioDSPKernel.h: Added.
(WebCore::AudioDSPKernel::AudioDSPKernel):
(WebCore::AudioDSPKernel::~AudioDSPKernel):
(WebCore::AudioDSPKernel::sampleRate):
(WebCore::AudioDSPKernel::nyquist):
(WebCore::AudioDSPKernel::processor):
2010-09-09 Chris Rogers <crogers@google.com>
Reviewed by Chris Fleizach.
Add AudioProcessor.h
https://bugs.webkit.org/show_bug.cgi?id=45206
No new tests since audio API is not yet implemented.
* platform/audio/AudioProcessor.h: Added.
(WebCore::AudioProcessor::AudioProcessor):
(WebCore::AudioProcessor::~AudioProcessor):
(WebCore::AudioProcessor::isInitialized):
(WebCore::AudioProcessor::sampleRate):
2010-09-09 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Add cubic texture coordinate computation
https://bugs.webkit.org/show_bug.cgi?id=45250
Adding the texture coordinate computation for cubic curves per the
GPU Gems 3 chapter. No tests yet; will be tested in conjunction
with later code.
* platform/graphics/gpu/LoopBlinnConstants.h: Added.
* platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Added.
(WebCore::LoopBlinnTextureCoords::compute):
* platform/graphics/gpu/LoopBlinnTextureCoords.h: Added.
(WebCore::LoopBlinnTextureCoords::Result::Result):
(WebCore::LoopBlinnTextureCoords::LoopBlinnTextureCoords):
2010-09-09 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Add cubic curve classifier
https://bugs.webkit.org/show_bug.cgi?id=45249
Adding the cubic curve classification algorithm per the GPU Gems 3
chapter. No tests yet; will be tested in conjunction with later code.
* platform/graphics/gpu/LoopBlinnClassifier.cpp: Added.
(WebCore::LoopBlinnClassifier::classify):
* platform/graphics/gpu/LoopBlinnClassifier.h: Added.
(WebCore::LoopBlinnClassifier::Result::Result):
(WebCore::LoopBlinnClassifier::LoopBlinnClassifier):
2010-09-09 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
QueryCommandValue('FontSize') returns pixel values instead of IE font numbers
https://bugs.webkit.org/show_bug.cgi?id=21033
Modified selectionStartCSSPropertyValue to return legacy font size instead of pixel size.
To implement the conversion between pixel font size and legacy font size,
added legacyFontSize to CSSStyleSelector with a helper static function findNearestLegacyFontSize.
Fixed a bug in selectionComputedStyle where it obtains the style of the previous editing position
even when the selection is a range. This change revealed a crash in executeToggleStyleInList,
which was also fixed.
Test: editing/execCommand/query-font-size.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Corrected style.
(WebCore::CSSComputedStyleDeclaration::useFixedFontDefaultSize): Added.
* css/CSSComputedStyleDeclaration.h:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::fontSizeForKeyword): Renamed fixed/monospace to shouldUseFixedDefaultSize.
(WebCore::findNearestLegacyFontSize): Added, a helper for legacyFontSize.
(WebCore::CSSStyleSelector::legacyFontSize): Added.
* css/CSSStyleSelector.h:
* editing/Editor.cpp:
(WebCore::Editor::selectionStartCSSPropertyValue): Added a conversion from pixel to legacy font size.
* editing/EditorCommand.cpp:
(WebCore::executeToggleStyleInList): Crash fix.
* page/Frame.cpp:
(WebCore::Frame::selectionComputedStyle): See above.
2010-09-09 Robert Hogan <robert@webkit.org>
Reviewed by Adam Barth.
Give WebKit clients a way to replace window.screen
to foil attempts to track users with it.
This allows clients to overload the values returned by the
Screen object through the JSC manipulation API (such as
QWebFrame::addToJavaScriptWindowObject() in Qt). Clients will
want to do this when they do not want to reveal too much
explicit information about the user's desktop configuration.
https://bugs.webkit.org/show_bug.cgi?id=41802
* page/DOMWindow.idl:
2010-09-09 Kenneth Russell <kbr@google.com>
Reviewed by James Robinson.
Memory leak in red/black tree
https://bugs.webkit.org/show_bug.cgi?id=45472
Fixed memory leak in red/black tree where it was using operator
new directly to allocate its internal nodes rather than the arena
with which it was configured. Added allocateObject variant to
arena supporting single-argument constructors. Added test to
red/black tree unit tests to cover this functionality, and
refactored TrackedAllocator into helper file to share between
arena and red/black tree tests.
* platform/graphics/gpu/PODArena.h:
(WebCore::PODArena::allocateObject):
(WebCore::PODArena::allocateBase):
* platform/graphics/gpu/PODIntervalTree.h:
(WebCore::PODIntervalTree::PODIntervalTree):
* platform/graphics/gpu/PODRedBlackTree.h:
(WebCore::PODRedBlackTree::add):
2010-09-09 Dean Jackson <dino@apple.com>
Reviewed by Simon Fraser.
Fill mode is broken with multiple keyframes
https://bugs.webkit.org/show_bug.cgi?id=41209
With a forward fill mode the animation would tick after
the end of the animation, causing the fractional
duration of the animation to wrap. This meant the last
style update would happen using the incorrect keyframes.
The solution was to put clamps in for the elapsed time
and current iteration count.
Tests: animations/fill-mode-missing-from-to-keyframes.html
animations/fill-mode-multiple-keyframes.html
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
2010-09-09 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: Support AccessibilityTextMarkers in DRT
https://bugs.webkit.org/show_bug.cgi?id=44778
Provide support in DRT for accessing and manipulating the text marker system that AX exposes.
This will allow future bug fixes in the text marker system to be adequately tested.
Tests: platform/mac/accessibility/element-for-text-marker.html
platform/mac/accessibility/text-marker-length.html
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2010-09-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
REGRESSION(r58875-r59046): Scrollable content drawn in wrong layer with Flash 10.1
https://bugs.webkit.org/show_bug.cgi?id=40743
We can't do partial compositing layer updates on scrolling if we have to look
for overlap, because the overlap map needs to be populated by traversing the
compositing layer hierarchy from the root.
Test: compositing/layer-creation/scroll-partial-update.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
2010-09-09 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GTK] testmimehandling falsely succeeds testing Ogg mime type
https://bugs.webkit.org/show_bug.cgi?id=45349
Advertize audio/x-vorbis+ogg so MediaDocuments loading local ogg
files work as well.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache):
2010-09-09 Adam Barth <abarth@webkit.org>
Move FTPDirectoryDocument, ImageDocument, MediaDocument, and
PluginDocument from WebCore/loader to WebCore/html. These classes are
subclasses of HTMLDocument. They don't belong in the loader. Further
cleanup patches to follow.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/FTPDirectoryDocument.cpp: Copied from WebCore/loader/FTPDirectoryDocument.cpp.
* html/FTPDirectoryDocument.h: Copied from WebCore/loader/FTPDirectoryDocument.h.
* html/ImageDocument.cpp: Copied from WebCore/loader/ImageDocument.cpp.
* html/ImageDocument.h: Copied from WebCore/loader/ImageDocument.h.
* html/MediaDocument.cpp: Copied from WebCore/loader/MediaDocument.cpp.
* html/MediaDocument.h: Copied from WebCore/loader/MediaDocument.h.
* html/PluginDocument.cpp: Copied from WebCore/loader/PluginDocument.cpp.
* html/PluginDocument.h: Copied from WebCore/loader/PluginDocument.h.
* loader/FTPDirectoryDocument.cpp: Removed.
* loader/FTPDirectoryDocument.h: Removed.
* loader/ImageDocument.cpp: Removed.
* loader/ImageDocument.h: Removed.
* loader/MediaDocument.cpp: Removed.
* loader/MediaDocument.h: Removed.
* loader/PluginDocument.cpp: Removed.
* loader/PluginDocument.h: Removed.
2010-09-09 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: use string representation of resource type in extension API
Fixed Resoruce.Type.toString() to handle Resource.Type.Media.
https://bugs.webkit.org/show_bug.cgi?id=45286
Test: inspector/extensions-resources.html
* English.lproj/localizedStrings.js: Added "media".
* inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings.
(WebInspector.ExtensionServer.prototype._convertResource):
(WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
* inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation.
(WebInspector.Resource.Type.toUIString):
(WebInspector.Resource.Type.toString):
2010-09-09 Kristian Amlie <kristian.amlie@nokia.com>
Reviewed by Andreas Kling.
[Qt] Fixed incorrect Symbian scoping.
The missing install functionality is only true for mmp based systems.
https://bugs.webkit.org/show_bug.cgi?id=45268
* WebCore.pro:
2010-09-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Dirk Schulze.
[WML] Add a parameter to fix build break.
https://bugs.webkit.org/show_bug.cgi?id=45437
In WMLSelectElement.h, the setSelectedIndexByUser() needs to have one more parameter.
Because, parent class's setSelectedIndexByUser() has one more param.
* wml/WMLSelectElement.h:
2010-09-09 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed attempt to fix EFL build after r67001.
[EFL] Regression (67001) Build break
https://bugs.webkit.org/show_bug.cgi?id=45422
* platform/efl/ScrollbarEfl.cpp:
(scrollbarEflEdjeMessage):
2010-09-08 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
MarkupAccumulator should be broken down into two classes
https://bugs.webkit.org/show_bug.cgi?id=44854
Extracted wrapWithNode, wrapWithStyleNode, stringValueForRange, renderedText, removeExteriorStyles,
shouldAnnotate, m_shouldAnnotate, and m_reversedPrecedingMarkup from MarkupAccumulator to create
StyledMarkupAccumulator in order to isolate annotation related code and prepending of text.
Isolating MarkupAccumulator as a separate class has two advantages:
1. Isolated serialization code is easier to understand and easier to security-review.
2. Embedder can use MarkupAccumulator to implement "Save as" feature.
Also made takeResults, appendText, and appendElement in MarkupAccumulator virtual to override in
StyledMarkupAccumulator because prepending text requires overriding takeResults, appendText needs
to append only rendered text when shouldAnnotate() is true, and appendElement requires a different
behavior when shouldAnnotate() is true or when called inside wrapWithNode with convertBlocksToInlines = true.
No new tests are added since this is a cleanup.
* editing/markup.cpp:
(WebCore::MarkupAccumulator::MarkupAccumulator): Removed shouldAnnotate from argument.
(WebCore::MarkupAccumulator::~MarkupAccumulator): Added.
(WebCore::StyledMarkupAccumulator::): Added.
(WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Added.
(WebCore::StyledMarkupAccumulator::appendElement): Added to support annotation.
(WebCore::StyledMarkupAccumulator::shouldAnnotate): Moved from MarkupAccumulator.
(WebCore::MarkupAccumulator::appendStartTag): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
(WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Moved from MarkupAccumulator.
(WebCore::MarkupAccumulator::takeResults): No longer accumulates prepended text, and made virtual.
(WebCore::StyledMarkupAccumulator::takeResults): Added to support prepended text.
(WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Takes a reference to Attribute instead of a pointer.
(WebCore::MarkupAccumulator::entityMaskForText): Extracted from appendText.
(WebCore::MarkupAccumulator::appendText): No longer deals with annotation.
(WebCore::StyledMarkupAccumulator::appendText): Added to support annotation.
(WebCore::StyledMarkupAccumulator::stringValueForRange): Moved from MarkupAccumulator.
(WebCore::StyledMarkupAccumulator::renderedText): Moved from MarkupAccumulator.
(WebCore::MarkupAccumulator::appendElement): No longer deals with annotation.
(WebCore::StyledMarkupAccumulator::wrapWithNode): Moved from MarkupAccumulator.
(WebCore::StyledMarkupAccumulator::removeExteriorStyles): Moved from MarkupAccumulator.
(WebCore::MarkupAccumulator::appendOpenTag): Added.
(WebCore::MarkupAccumulator::appendCloseTag): Added.
(WebCore::MarkupAccumulator::appendAttribute): Added.
(WebCore::MarkupAccumulator::appendStartMarkup): No longer takes convertBlocksToInlines and RangeFullySelectsNode.
(WebCore::serializeNodes): Takes StyledMarkupAccumulator.
(WebCore::createMarkup): Range version uses StyledMarkupAccumulator and node version uses MarkupAccumulator.
2010-09-08 Peter Kasting <pkasting@google.com>
Not reviewed, layout test fix.
Fix flaky layout test results caused by not initializing members correctly.
https://bugs.webkit.org/show_bug.cgi?id=45411
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::~ScrollAnimator):
* platform/ScrollAnimator.h:
2010-09-08 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
spelling underline gets lost on backspace
https://bugs.webkit.org/show_bug.cgi?id=41423
moveParagraphs() did make a DOM range by serializing source range
and deserializing it back, and markers are gone during the process.
This change marks that DOM range again.
Test: editing/spelling/spelling-backspace-between-lines.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs):
* editing/Editor.cpp:
(WebCore::Editor::clearMisspellingsAndBadGrammar): Added.
(WebCore::Editor::markMisspellingsAndBadGrammar): Added.
* editing/Editor.h:
2010-09-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
text/plain documents that start with \n trigger ASSERT
https://bugs.webkit.org/show_bug.cgi?id=45409
Because the TextDocumentParser uses a <pre> element to show the text,
it ran into a requirement from HTML5 to skip any initial \n character
tokens inside a <pre> element. We don't want the behavior for
TextDocuments, so I've loosened our ASSERTs and added a comment and a
test to document the correct behavior.
Test: fast/tokenizer/text-plain.html
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
2010-09-08 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Always do 2d canvas clearRect() in hardware
https://bugs.webkit.org/show_bug.cgi?id=45415
r67003 forced Canvas 2d's clearRect() to happen in software if a gradient/shadow/etc was
active. This is subtly wrong for mixed mode rendering since it results in only the
software backing store being cleared and not the hardware. This forces clearRect() to
happen in hardware. Since we upload mixed mode results before doing any hardware draw
this means we always clear everything.
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clearRect):
2010-09-08 Dean Jackson <dino@apple.com>
Unreviewed attempt to fix the Mac builds.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationTimingFunction):
2010-09-08 Dean Jackson <dino@apple.com>
Unreviewed attempt to fix QT build.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::solveStepsFunction):
(WebCore::applyTimingFunction):
2010-09-08 Dean Jackson <dino@apple.com>
Reviewed by Simon Fraser.
Implement steps() timing function for animations
https://bugs.webkit.org/show_bug.cgi?id=44541
Tests: animations/timing-functions.html
transitions/steps-timing-function.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getTimingFunctionValue):
- when creating computed style we now test what
type of timing function it being used
* css/CSSParser.cpp:
(WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
- rename this method from parseTimingFunctionValue
(WebCore::CSSParser::parseAnimationTimingFunction):
- support parsing the steps() function
* css/CSSParser.h:
- method rename
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::mapAnimationTimingFunction):
- handle 'step-start' and 'step-end' identifiers. Also
now use ::create when constructing objects
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSLinearTimingFunctionValue::cssText):
(WebCore::CSSCubicBezierTimingFunctionValue::cssText):
(WebCore::CSSStepsTimingFunctionValue::cssText):
- new text output for computed style. We now produce
the text 'linear' when appropriate.
* css/CSSTimingFunctionValue.h:
(WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::isTimingFunctionValue):
(WebCore::CSSLinearTimingFunctionValue::create):
(WebCore::CSSLinearTimingFunctionValue::isLinearTimingFunctionValue):
(WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
(WebCore::CSSCubicBezierTimingFunctionValue::create):
(WebCore::CSSCubicBezierTimingFunctionValue::isCubicBezierTimingFunctionValue):
(WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
(WebCore::CSSStepsTimingFunctionValue::create):
(WebCore::CSSStepsTimingFunctionValue::numberOfSteps):
(WebCore::CSSStepsTimingFunctionValue::stepAtStart):
(WebCore::CSSStepsTimingFunctionValue::isStepsTimingFunctionValue):
(WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
- CSSTimingFunction is now a pure virtual ref-counted base class, with
subclasses for each of the three supported timing functions.
* css/CSSValueKeywords.in:
- new keywords step-start and step-end
* page/animation/AnimationBase.cpp:
(WebCore::solveStepsFunction):
- produces the output value from a stepping function
(WebCore::AnimationBase::progress):
- now has to switch based on timing function type
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
- use ref-counted access
* platform/animation/Animation.cpp:
(WebCore::Animation::animationsMatch):
- change timing function comparison for operator==
* platform/animation/Animation.h:
(WebCore::Animation::timingFunction):
(WebCore::Animation::setTimingFunction):
(WebCore::Animation::initialAnimationTimingFunction):
- move to ref-counted timing function class
* platform/animation/TimingFunction.h:
(WebCore::TimingFunction::~TimingFunction):
(WebCore::TimingFunction::isLinearTimingFunction):
(WebCore::TimingFunction::isCubicBezierTimingFunction):
(WebCore::TimingFunction::isStepsTimingFunction):
(WebCore::TimingFunction::TimingFunction):
(WebCore::LinearTimingFunction::create):
(WebCore::LinearTimingFunction::~LinearTimingFunction):
(WebCore::LinearTimingFunction::operator==):
(WebCore::LinearTimingFunction::LinearTimingFunction):
(WebCore::CubicBezierTimingFunction::create):
(WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
(WebCore::CubicBezierTimingFunction::operator==):
(WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
(WebCore::StepsTimingFunction::create):
(WebCore::StepsTimingFunction::~StepsTimingFunction):
(WebCore::StepsTimingFunction::operator==):
(WebCore::StepsTimingFunction::numberOfSteps):
(WebCore::StepsTimingFunction::stepAtStart):
(WebCore::StepsTimingFunction::StepsTimingFunction):
- TimingFunction is now a ref-counted pure virtual base class,
with three subclasses representing the types of timing functions
that are supported.
* platform/graphics/GraphicsLayer.h:
(WebCore::AnimationValue::AnimationValue):
(WebCore::FloatAnimationValue::FloatAnimationValue):
(WebCore::TransformAnimationValue::TransformAnimationValue):
- use PassRefPtr in function parameters
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::solveStepsFunction):
(WebCore::applyTimingFunction):
(WebCore::AnimationQt::AnimationQt):
(WebCore::AnimationQt::updateCurrentTime):
- implement the timing function switch for QT
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::getCAMediaTimingFunction):
- update for new timing function interface
(WebCore::animationHasStepsTimingFunction):
- new method to make sure animations with steps() functions
never try to execute in Core Animation
(WebCore::GraphicsLayerCA::addAnimation):
- test for steps() timing function
(WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
* rendering/style/RenderStyleConstants.h:
- remove old RenderStyle enum for timing function types
2010-09-08 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed trivial fix after r66960.
* WebCore.pro: loader/TextDocument.h renamed to html/TextDocument.h
2010-09-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
move-during-parse-parent.html crashes
https://bugs.webkit.org/show_bug.cgi?id=45210
When inserting elements into the tree, they need to be associated with
their parent's document, not the document for which the parser is
running. These two are different when the parent has been moved to a
different document during parsing.
Test: fast/parser/move-during-parsing.html
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertComment):
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElement):
2010-09-08 Gabor Loki <loki@webkit.org>
Reviewed by Andreas Kling.
Fix increases required alignment of target type warning on ARM
https://bugs.webkit.org/show_bug.cgi?id=45301
No new tests needed.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readLittleEndian):
(WebCore::CloneDeserializer::readString):
* plugins/PluginDatabase.cpp:
(WebCore::readTime):
2010-09-08 Antonio Gomes <agomes@rim.com>
Reviewed by Daniel Bates.
Make FocusController::focusedOrMainFrame method const
https://bugs.webkit.org/show_bug.cgi?id=45406
No new tests.
* page/FocusController.cpp:
(WebCore::FocusController::focusedOrMainFrame):
* page/FocusController.h:
2010-09-08 Jian Li <jianli@chromium.org>
Reviewed by Darin Adler.
Fix a problem in createCanonicalUUIDString that causes the last digit
missing on Linux.
https://bugs.webkit.org/show_bug.cgi?id=45412
This is caused by not including the final null character into the count
that is provided to fgets.
This is covered by the existing test: send-form-data-with-sliced-file.html.
* platform/UUID.cpp:
(WebCore::createCanonicalUUIDString):
2010-09-08 Nico Weber <thakis@chromium.org>
Reviewed by Dimitri Glazkov.
chromium/mac: Fix overrelease in ImageLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=45360
Only release colorSpace if we created it.
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateContents):
2010-09-08 Robert Hogan <robert@webkit.org>
Reviewed by Antonio Gomes.
Remove some unnecessary duplicate calls to string functions
https://bugs.webkit.org/show_bug.cgi?id=45314
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::parseDataUrl):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send):
2010-09-08 Peter Kasting <pkasting@google.com>
Not reviewed, fallout from http://trac.webkit.org/changeset/67001
Fix compile failures and add svn:eol-style on two new files.
* platform/ScrollAnimator.h: Added property svn:eol-style.
* platform/ScrollAnimatorWin.cpp: Added property svn:eol-style.
* platform/win/PopupMenuWin.cpp: Fix compile errors.
(WebCore::PopupMenuWin::scrollToRevealSelection):
(WebCore::PopupMenuWin::scrollSize):
2010-09-08 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active
https://bugs.webkit.org/show_bug.cgi?id=45405
This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient,
shadow, or clip applied; at least until we can handle these in hardware. Otherwise the pattern/gradient/etc
is completely ignored by the hardware drawing routine and we render incorrectly.
The test is slightly convervative - for example it will force drawImage() calls to happen in software if a
fill gradient is set even though it's irrelevant. This doesn't seem to be an issue in practice and we
can tighten the checks later if needed.
Tested by fast/canvas/canvas-incremental-repaint.html.
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::canvasClip):
(WebCore::GraphicsContext::fillRect):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::canvasClipPath):
(WebCore::PlatformContextSkia::canAccelerate):
* platform/graphics/skia/PlatformContextSkia.h:
2010-09-08 Peter Kasting <pkasting@google.com>
Reviewed by David Hyatt.
Add smooth scrolling framework, and a Windows implementation.
https://bugs.webkit.org/show_bug.cgi?id=32356
* CMakeLists.txt: Add ScrollAnimator.
* GNUmakefile.am: Add ScrollAnimator.
* WebCore.gyp/WebCore.gyp: Add Windows ScrollAnimator.
* WebCore.gypi: Add ScrollAnimator.
* WebCore.pro: Add ScrollAnimator.
* WebCore.vcproj/WebCore.vcproj: Add ScrollAnimator.
* WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.
* platform/ScrollAnimator.cpp: Added base implementation that does no animation.
(WebCore::ScrollAnimator::create):
(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::setScrollPositionAndStopAnimation):
* platform/ScrollAnimator.h: Added base implementation that does no animation.
(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::~ScrollAnimator):
* platform/ScrollAnimatorWin.cpp: Added Windows subclass that animates scrolls.
(WebCore::ScrollAnimator::create):
(WebCore::ScrollAnimatorWin::PerAxisData::PerAxisData):
(WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
(WebCore::ScrollAnimatorWin::~ScrollAnimatorWin):
(WebCore::ScrollAnimatorWin::scroll):
(WebCore::ScrollAnimatorWin::setScrollPositionAndStopAnimation):
(WebCore::ScrollAnimatorWin::accelerationTime):
(WebCore::ScrollAnimatorWin::animationTimerFired):
(WebCore::ScrollAnimatorWin::stopAnimationTimerIfNeeded):
(WebCore::ScrollAnimatorWin::animateScroll):
* platform/ScrollAnimatorWin.h: Added Windows subclass that animates scrolls.
* platform/ScrollView.cpp: Implement new ScrollbarClient functions. Allow wheel scrolls to be animated.
(WebCore::ScrollView::scrollSize):
(WebCore::ScrollView::setScrollOffsetFromAnimation):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h: Implement new ScrollbarClient functions.
* platform/Scrollbar.cpp: Allow ScrollAnimator to handle scrolls if present.
(WebCore::Scrollbar::setValue):
(WebCore::Scrollbar::scroll):
(WebCore::Scrollbar::moveThumb):
(WebCore::Scrollbar::setCurrentPos):
(WebCore::Scrollbar::mouseMoved):
* platform/Scrollbar.h:
* platform/ScrollbarClient.cpp: Added to avoid having to make ScrollAnimator.h non-private.
(WebCore::ScrollbarClient::ScrollbarClient):
(WebCore::ScrollbarClient::~ScrollbarClient):
(WebCore::ScrollbarClient::scroll):
(WebCore::ScrollbarClient::setScrollPositionAndStopAnimation):
* platform/ScrollbarClient.h: Add hooks for ScrollAnimator.
(WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
(WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
* platform/gtk/MainFrameScrollbarGtk.cpp:
(MainFrameScrollbarGtk::gtkValueChanged):
* platform/qt/ScrollbarQt.cpp: Use scroll() in preference to setValue().
(WebCore::Scrollbar::contextMenu):
* platform/win/PopupMenuWin.cpp: Implement new ScrollbarClient functions.
(WebCore::PopupMenuWin::scrollSize):
(WebCore::PopupMenuWin::setScrollOffsetFromAnimation):
* platform/win/PopupMenuWin.h: Implement new ScrollbarClient functions.
* rendering/RenderDataGrid.cpp: Implement new ScrollbarClient functions.
(WebCore::RenderDataGrid::scrollSize):
(WebCore::RenderDataGrid::setScrollOffsetFromAnimation):
* rendering/RenderDataGrid.h: Implement new ScrollbarClient functions.
* rendering/RenderLayer.cpp: Implement new ScrollbarClient functions.
(WebCore::RenderLayer::scrollToOffset):
(WebCore::RenderLayer::scrollSize):
(WebCore::RenderLayer::setScrollOffsetFromAnimation):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
* rendering/RenderLayer.h: Implement new ScrollbarClient functions.
* rendering/RenderListBox.cpp: Implement new ScrollbarClient functions.
(WebCore::RenderListBox::scrollToRevealElementAtListIndex):
(WebCore::RenderListBox::scrollSize):
(WebCore::RenderListBox::setScrollOffsetFromAnimation):
(WebCore::RenderListBox::setScrollTop):
* rendering/RenderListBox.h: Implement new ScrollbarClient functions.
2010-09-08 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
applyInlineStyleToRange needs cleanup
https://bugs.webkit.org/show_bug.cgi?id=45008
Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange.
applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange.
No new tests are added since this is a cleanup.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up.
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange.
* editing/ApplyStyleCommand.h:
2010-09-08 Andy Estes <aestes@apple.com>
Rubber-stamped by Darin Adler.
Incorporate additional feedback from
https://bugs.webkit.org/show_bug.cgi?id=45364.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to
urlParameter.
* loader/SubframeLoader.h: Add argument names to the definition of
SubframeLoader::resourceWillUsePlugin().
2010-09-07 Oliver Hunt <oliver@apple.com>
Reviewed by Anders Carlsson.
Support SerializedScriptValue in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=45340
Add a new constructor that allows WebKit2 to create a SerializedScriptValue
directly from serialized data.
* WebCore.exp.in:
* bindings/js/SerializedScriptValue.h:
(WebCore::SerializedScriptValue::adopt):
(WebCore::SerializedScriptValue::data):
2010-09-08 Andy Estes <aestes@apple.com>
Reviewed by Eric Carlson.
Fallback content should be rendered when an <object> doesn't specify a
data, type or classid attribute.
https://bugs.webkit.org/show_bug.cgi?id=45364
<rdar://problem/8375816>
HTML5 says that if no data or type attribute is specified on an <object>,
fallback content should be rendered. However, WebKit has traditionally
supported specifying a URL and MIME type in <param> elements.
To more closely match the spec while maintaining compatibility with
content that relied on our old behavior, we will continue to load
a resource specified by <param> elements if we can determine a priori
that it will be handled by a plug-in.
If we can't make this determination, and the <object> element has no
"data" or "type" attribute, the <param> elements will be ignored and
fallback content will be rendered. Otherwise, there is no change in
behavior.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is
passed to this function and a <param> exists that specifies a url that
references a plug-in resource, set it to url, making it the url that
will be loaded by the <object> element.
(WebCore::HTMLObjectElement::updateWidget): If no type attribute was
specified, but there is a classid attribute, try to map the classid to
a MIME type. This needs to be done before calling
HTMLObjectElement::parametersForPlugin().
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method
that determines if a resource will load a plug-in based on its url and
MIME type. This is equivalent to calling
SubframeLoader::shouldUsePlugin(), but does not burden the caller with
the details of fallback content.
* loader/SubframeLoader.h:
2010-09-08 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add breakpoints to source frame after content is loaded.
https://bugs.webkit.org/show_bug.cgi?id=43056
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
(WebInspector.ScriptsPanel.prototype._showScriptOrResource):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._contentLoaded):
2010-09-08 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Canvas: Remove unnecessary null-check of canvas() in getImageData()
https://bugs.webkit.org/show_bug.cgi?id=45394
canvas() is already dereferenced earlier in the function so there is
no use in checking it for null later.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
2010-09-08 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GStreamer] cache media duration in READY instead of PLAYING
https://bugs.webkit.org/show_bug.cgi?id=39053
New cacheDuration private method used to in updateStates() and
durationChanged().
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
(WebCore::MediaPlayerPrivateGStreamer::cacheDuration):
(WebCore::MediaPlayerPrivateGStreamer::durationChanged):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2010-09-08 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Need a WebSocket implementation
https://bugs.webkit.org/show_bug.cgi?id=45197
Add a GIO-based WebSocket implementation. This does not yet support
SSL sockets or proxies, but these should be possible to add as support
arrives in GLib/GIO for them.
* platform/network/soup/SocketStreamHandle.h:
* platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation.
(WebCore::isActiveHandle): Added.
(WebCore::deactivateHandle): Added.
(WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub.
(WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto.
(WebCore::SocketStreamHandle::connected): Added.
(WebCore::SocketStreamHandle::readBytes): Added.
(WebCore::SocketStreamHandle::writeReady): Added.
(WebCore::SocketStreamHandle::platformSend): Filled out stub.
(WebCore::SocketStreamHandle::platformClose): Filled out stub.
(WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added.
(WebCore::SocketStreamHandle::stopWaitingForSocketWritability):
(WebCore::connectedCallback): Added.
(WebCore::readReadyCallback): Added.
(WebCore::writeReadyCallback): Added.
2010-09-07 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
[Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon
https://bugs.webkit.org/show_bug.cgi?id=45355
r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon,
which determines whether or not to render the render the clip with anti-aliasing
or not. The Cairo implementation now uses that parameter to determine the argument
to pass to cairo_set_antialias(...) when clipping.
Test: This is tested by many tests in fast/borders.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter.
2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL
https://bugs.webkit.org/show_bug.cgi?id=44098
To support video of HTML5 based on gstreamer, add files regarding gstreamer to
CMakeListsEfl.txt.
* CMakeListsEfl.txt:
2010-09-08 Jan E Hanssen <jhanssen@sencha.com>
Reviewed by Dirk Schulze.
[Qt] PathQt should use the QPainterPath functionality for calculations
https://bugs.webkit.org/show_bug.cgi?id=43837
Change PathQt to use the built-in functionality of QPainterPath for
calculating length(), pointAtLength() and normalAngleAtLength().
* platform/graphics/Path.cpp:
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::length):
(WebCore::Path::pointAtLength):
(WebCore::Path::normalAngleAtLength):
2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Dirk Schulze.
[WML] Remove create() function in WMLTaskElement because of build break.
https://bugs.webkit.org/show_bug.cgi?id=44954
Remove create() function in WMLTaskElement.cpp because of build breaks.
* wml/WMLTaskElement.cpp:
* wml/WMLTaskElement.h:
2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Dirk Schulze.
[WML] Add create functions to WML.
https://bugs.webkit.org/show_bug.cgi?id=44950
There are missing definitions of create function in WML area.
So, there are build breaks when enabling WML. The create functions and the construction
are added. In addition, a style error and duplicated adoptRef usage are fixed.
* wml/WMLDocument.h:
(WebCore::WMLDocument::create):
* wml/WMLFormControlElement.h:
* wml/WMLIntrinsicEvent.cpp:
(WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
* wml/WMLIntrinsicEvent.h:
2010-09-08 Nico Weber <thakis@chromium.org>
Reviewed by Kenneth Russell.
chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=45354
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::updateContents): Set a current local context.
2010-09-08 Justin Schuh <jschuh@chromium.org>
Reviewed by Nikolas Zimmermann.
NULL deref when use target is reset, then set to display:none
https://bugs.webkit.org/show_bug.cgi?id=45345
Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle
Test: svg/custom/use-display-none.svg
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::recalcStyle):
2010-08-30 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin Adler.
Handle MediaQueryExp memory management exclusively with smart pointers
https://bugs.webkit.org/show_bug.cgi?id=44874
Gace MediaQueryExp a create function, made the constructor private, and followed
the implications. The one tricky bit was using a non-copying sort to sort
the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor.
* ForwardingHeaders/wtf/NonCopyingSort.h: Added.
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::~CSSParser):
(WebCore::CSSParser::createFloatingMediaQueryExp):
(WebCore::CSSParser::createFloatingMediaQueryExpList):
(WebCore::CSSParser::sinkFloatingMediaQueryExpList):
(WebCore::CSSParser::createFloatingMediaQuery):
* css/CSSParser.h:
* css/MediaList.cpp:
* css/MediaQuery.cpp:
(WebCore::expressionCompare):
(WebCore::MediaQuery::MediaQuery):
(WebCore::MediaQuery::~MediaQuery):
* css/MediaQuery.h:
(WebCore::MediaQuery::expressions):
* css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::eval):
* css/MediaQueryExp.h:
(WebCore::MediaQueryExp::create):
2010-09-08 Adam Barth <abarth@webkit.org>
Reviewed by Maciej Stachowiak.
Remove unused member variable from DecodedDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=45379
This member variable isn't used because of the recent split of
TextDocumentParser and TextViewSourceParser.
* dom/DecodedDataDocumentParser.cpp:
(WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser):
* dom/DecodedDataDocumentParser.h:
* dom/ScriptableDocumentParser.cpp:
(WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
* dom/ScriptableDocumentParser.h:
2010-09-08 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Andreas Kling.
Fix warning in rendering/RenderBlock.cpp.
https://bugs.webkit.org/show_bug.cgi?id=45373
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within ||
2010-09-08 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Martin Robinson.
[Gtk] A list item's number/bullet should not be a child of that list item
https://bugs.webkit.org/show_bug.cgi?id=45190
Ignore list markers and prefix them to the text for the item
* accessibility/gtk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Make list markers ignore accessibility for the GTK port.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_text_get_text): Prefix the text of a marker
along with the accessible text for its list item's AtkObject
2010-09-08 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Rename DocLoader to CachedResourceLoader because that's what it does.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::cachedImage):
* css/CSSCursorImageValue.h:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::cachedResourceLoader):
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSFontSelector.h:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage):
* css/CSSImageValue.h:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::insertedIntoParent):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::loadPendingImages):
* css/CSSStyleSheet.h:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::implicitClose):
* dom/Document.h:
(WebCore::Document::cachedResourceLoader):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
* dom/ScriptElement.cpp:
(WebCore::ScriptElementData::requestScript):
* dom/XMLDocumentParser.cpp:
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::matchFunc):
(WebCore::shouldAllowExternalLoad):
(WebCore::openFunc):
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
(WebCore::xmlDocPtrForString):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseEndElement):
* dom/XMLDocumentParserScope.cpp:
(WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
(WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
* dom/XMLDocumentParserScope.h:
* editing/Editor.cpp:
(WebCore::Editor::paste):
* editing/mac/EditorMac.mm:
(WebCore::Editor::paste):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::emitRule):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::HTMLNames::PreloadTask::preload):
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::requestPendingScript):
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::cachedResource):
* loader/Cache.cpp:
(WebCore::Cache::requestResource):
(WebCore::Cache::requestUserCSSStyleSheet):
(WebCore::Cache::revalidateResource):
(WebCore::Cache::addCachedResourceLoader):
(WebCore::Cache::removeCachedResourceLoader):
* loader/Cache.h:
* loader/CachedCSSStyleSheet.h:
* loader/CachedFont.cpp:
(WebCore::CachedFont::load):
(WebCore::CachedFont::beginLoadIfNeeded):
* loader/CachedFont.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::load):
(WebCore::CachedImage::maximumDecodedImageSize):
* loader/CachedImage.h:
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):
(WebCore::CachedResource::load):
* loader/CachedResource.h:
(WebCore::CachedResource::load):
(WebCore::CachedResource::setCachedResourceLoader):
* loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp.
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::~CachedResourceLoader):
(WebCore::CachedResourceLoader::frame):
(WebCore::CachedResourceLoader::checkForReload):
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestFont):
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::requestXSLStyleSheet):
(WebCore::CachedResourceLoader::requestLinkPrefetch):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::printAccessDeniedMessage):
(WebCore::CachedResourceLoader::setAutoLoadImages):
(WebCore::CachedResourceLoader::cachePolicy):
(WebCore::CachedResourceLoader::removeCachedResource):
(WebCore::CachedResourceLoader::setLoadInProgress):
(WebCore::CachedResourceLoader::checkCacheObjectStatus):
(WebCore::CachedResourceLoader::incrementRequestCount):
(WebCore::CachedResourceLoader::decrementRequestCount):
(WebCore::CachedResourceLoader::requestCount):
(WebCore::CachedResourceLoader::preload):
(WebCore::CachedResourceLoader::checkForPendingPreloads):
(WebCore::CachedResourceLoader::requestPreload):
(WebCore::CachedResourceLoader::clearPreloads):
(WebCore::CachedResourceLoader::clearPendingPreloads):
(WebCore::CachedResourceLoader::printPreloadStats):
* loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h.
* loader/CachedScript.h:
* loader/CachedXSLStyleSheet.h:
* loader/DocLoader.cpp: Removed.
* loader/DocLoader.h: Removed.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::subresource):
(WebCore::DocumentLoader::getSubresources):
* loader/FrameLoader.cpp:
(WebCore::numRequests):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::didBeginDocument):
* loader/HistoryController.cpp:
(WebCore::HistoryController::createItem):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
* loader/Request.cpp:
(WebCore::Request::Request):
* loader/Request.h:
(WebCore::Request::cachedResourceLoader):
* loader/loader.cpp:
(WebCore::Loader::load):
(WebCore::Loader::cancelRequests):
(WebCore::Loader::Host::servePendingRequests):
(WebCore::Loader::Host::didFinishLoading):
(WebCore::Loader::Host::didFail):
(WebCore::Loader::Host::didReceiveResponse):
(WebCore::Loader::Host::cancelPendingRequests):
(WebCore::Loader::Host::cancelRequests):
* loader/loader.h:
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/Frame.cpp:
* page/FrameView.cpp:
(WebCore::FrameView::checkStopDelayingDeferredRepaints):
(WebCore::FrameView::updateDeferredRepaintDelay):
* page/Settings.cpp:
(WebCore::setLoadsImagesAutomaticallyInAllFrames):
* platform/android/TemporaryLinkStubs.cpp:
(WebCore::CheckCacheObjectStatus):
* platform/network/android/ResourceHandleAndroid.cpp:
(WebCore::ResourceHandle::start):
* platform/network/cf/ResourceHandleCFNet.cpp:
* platform/network/curl/ResourceHandleCurl.cpp:
* platform/network/mac/ResourceHandleMac.mm:
* platform/network/qt/ResourceHandleQt.cpp:
* platform/network/soup/ResourceHandleSoup.cpp:
* platform/network/win/ResourceHandleWin.cpp:
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::requestImageResource):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::loadFont):
* workers/Worker.cpp:
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::loadSheet):
* xml/XSLStyleSheet.h:
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::cachedResourceLoader):
(WebCore::XSLStyleSheet::parseString):
* xml/XSLStyleSheetQt.cpp:
(WebCore::XSLStyleSheet::cachedResourceLoader):
* xml/XSLTProcessor.cpp:
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
(WebCore::setXSLTLoadCallBack):
(WebCore::xmlDocPtrFromNode):
(WebCore::XSLTProcessor::transformToString):
2010-09-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Eric Carlson.
Add mediaPlayerPlaybackStateChanged to MediaPlayerClient
https://bugs.webkit.org/show_bug.cgi?id=45263
The platform backend may change state, for example as a result
of an external plugin controlling the backend, so we need to
react to this situation by syncing up the WebCore state with the
platform backend.
We call playInternal()/pauseInternal() depending on the backend
state, to trigger the corresponding DOM events to match the state.
updatePlayState() is then refactored to take into account the
situation where the backend is already in the correct state but
WebCore is not, so that we update the playback progress timer
and set m_playing correctly.
updatePlayState() changes Should be covered by existing tests.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
(WebCore::HTMLMediaElement::updatePlayState):
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::playbackStateChanged):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged):
2010-09-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
TextDocument doesn't belong in WebCore/loader
https://bugs.webkit.org/show_bug.cgi?id=45346
TextDocument has nothing to do with loading. It turns out that it
should be in WebCore/html because TextDocument is actually a subclass
of HTMLDocument (in quirks mode, no less).
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp.
(WebCore::TextDocument::TextDocument):
(WebCore::TextDocument::createParser):
* html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h.
(WebCore::TextDocument::create):
2010-09-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Create TextViewSourceParser
https://bugs.webkit.org/show_bug.cgi?id=45343
Rather than have the view source document set a flag on
HTMLViewSourceParser to indicate whether we're parsing a text document,
this patch creates a TextViewSourceParser for parsing text documents in
view-source mode. Like the TextDocumentParser, the
TextViewSourceParser implements this functionality by subclassing its
HTML counterpart.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createParser):
* html/parser/HTMLViewSourceParser.cpp:
* html/parser/HTMLViewSourceParser.h:
(WebCore::HTMLViewSourceParser::tokenizer):
* html/parser/TextViewSourceParser.cpp: Added.
(WebCore::TextViewSourceParser::TextViewSourceParser):
(WebCore::TextViewSourceParser::~TextViewSourceParser):
* html/parser/TextViewSourceParser.h: Added.
(WebCore::TextViewSourceParser::create):
2010-09-08 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Move HTMLInputStream to WebCore/html/parser
https://bugs.webkit.org/show_bug.cgi?id=45339
I forgot to move this file before.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h.
(WebCore::HTMLInputStream::HTMLInputStream):
(WebCore::HTMLInputStream::appendToEnd):
(WebCore::HTMLInputStream::insertAtCurrentInsertionPoint):
(WebCore::HTMLInputStream::hasInsertionPoint):
(WebCore::HTMLInputStream::markEndOfFile):
(WebCore::HTMLInputStream::haveSeenEndOfFile):
(WebCore::HTMLInputStream::current):
(WebCore::HTMLInputStream::splitInto):
(WebCore::HTMLInputStream::mergeFrom):
(WebCore::InsertionPointRecord::InsertionPointRecord):
(WebCore::InsertionPointRecord::~InsertionPointRecord):
2010-09-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
TextDocument should come in from the cold
https://bugs.webkit.org/show_bug.cgi?id=45334
Previously, TextDocument reinvented the wheel to parse text. This
patch replaces TextDocument's hand-rolled parser with a parser built on
the HTML parser infrustructure, which gives us that stuff for free. I
also disentangled TextDocument from HTMLViewSourceDocument.
In a future patch, I'll move TextDocument out of the "loader" directory.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createParser):
* html/HTMLViewSourceDocument.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
* html/parser/HTMLTreeBuilder.h:
* html/parser/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::forcePlaintext):
* html/parser/HTMLViewSourceParser.h:
* html/parser/TextDocumentParser.cpp: Added.
(WebCore::TextDocumentParser::TextDocumentParser):
(WebCore::TextDocumentParser::~TextDocumentParser):
(WebCore::TextDocumentParser::insertFakePreElement):
* html/parser/TextDocumentParser.h: Added.
(WebCore::TextDocumentParser::create):
* loader/TextDocument.cpp:
* loader/TextDocument.h:
2010-09-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Andreas Kling.
Implement MediaPlayerPrivate::platformMedia() for the Qt port
https://bugs.webkit.org/show_bug.cgi?id=45264
* platform/graphics/MediaPlayer.h:
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivate::platformMedia):
* platform/graphics/qt/MediaPlayerPrivateQt.h:
2010-09-08 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
An individual renderer should be assigned to each SVGFE*Element class
https://bugs.webkit.org/show_bug.cgi?id=43954
RenderSVGResourceFilterPrimitive renderer is added to
the project, and assigned to each object, which class is
derived from SVGFilterPrimitiveStandardAttributes. The patch
mainly contains build system changes, and it fixes one layout
test in svg/dynamic-updates.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderObject.h:
(WebCore::RenderObject::isSVGResourceFilterPrimitive):
* rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
(WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
* rendering/RenderSVGResourceFilterPrimitive.h: Added.
(WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGContainer):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::svgAttributeChanged):
(WebCore::SVGFELightElement::childrenChanged):
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
2010-09-07 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
DatasetDOMStringMap does not have the right memory model
https://bugs.webkit.org/show_bug.cgi?id=45358
Test: fast/dom/dataset-gc.html
* bindings/js/JSElementCustom.cpp:
(WebCore::JSElement::markChildren):
Mark the dataset if it exists.
* dom/Element.cpp:
(WebCore::Element::optionalDataset):
* dom/Element.h:
Expose a way to get the dataset or null (depending on if anyone thing
has forced its creation yet).
2010-09-07 Jan E Hanssen <jhanssen@sencha.com>
Reviewed by Andreas Kling.
[Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths
https://bugs.webkit.org/show_bug.cgi?id=45331
This is needed due to an adverse effect of the fix in 44061 that causes
certain paths not to be closed. This is not important for canvas paths
but it is for SVG paths, so splitting up the code in a generic (SVG)
case and one specialized for canvas.
Test: svg/dom/path-totalLength.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::closePath):
* platform/graphics/Path.h:
(WebCore::Path::closeCanvasSubpath):
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::closeSubpath):
(WebCore::Path::closeCanvasSubpath):
2010-09-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Chris Marrin.
Transform animations always run in software now
https://bugs.webkit.org/show_bug.cgi?id=45341
After r66339 we always fell into software animation, because we
failed to detect transform or opacity properties in the keyframes,
so would send an empty list of values to the GraphicsLayer.
Fixed by using CSSProperty values, rather than GraphicsLayer
values, when detecting the presence of properties in the keyframes.
Test: manual-tests/transition-accelerated.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
2010-09-07 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
audio engine: add FFTFrame files
https://bugs.webkit.org/show_bug.cgi?id=34827
No new tests since audio API is not yet implemented.
* platform/audio/FFTFrame.cpp: Added.
(WebCore::FFTFrame::doPaddedFFT):
(WebCore::FFTFrame::createInterpolatedFrame):
(WebCore::FFTFrame::interpolateFrequencyComponents):
(WebCore::FFTFrame::extractAverageGroupDelay):
(WebCore::FFTFrame::addConstantGroupDelay):
(WebCore::FFTFrame::print):
* platform/audio/FFTFrame.h: Added.
(WebCore::FFTFrame::fftSize):
(WebCore::FFTFrame::log2FFTSize):
(WebCore::FFTFrame::dspSplitComplex):
* platform/audio/mac/FFTFrameMac.cpp: Added.
(WebCore::FFTFrame::FFTFrame):
(WebCore::FFTFrame::~FFTFrame):
(WebCore::FFTFrame::multiply):
(WebCore::FFTFrame::doFFT):
(WebCore::FFTFrame::doInverseFFT):
(WebCore::FFTFrame::fftSetupForSize):
(WebCore::FFTFrame::cleanup):
(WebCore::FFTFrame::realData):
(WebCore::FFTFrame::imagData):
2010-09-07 Brent Fulgham <bfulgham@webkit.org>
Build fix, no review.
Provide stubs to allow WebKit.dll to build
for the WinCairo port.
* platform/network/curl/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
* platform/network/curl/ResourceResponse.h:
(WebCore::ResourceResponse::cfURLResponse):
2010-09-07 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioArray.h
https://bugs.webkit.org/show_bug.cgi?id=45204
No new tests since audio API is not yet implemented.
* platform/audio/AudioArray.h: Added.
(WebCore::AudioArray::AudioArray):
(WebCore::AudioArray::zero):
(WebCore::AudioArray::zeroRange):
(WebCore::AudioArray::copyToRange):
2010-09-07 Mihai Parparita <mihaip@chromium.org>
Reviewed by Oliver Hunt.
pushState and replaceState do not clone RegExp objects correctly
https://bugs.webkit.org/show_bug.cgi?id=44718
Add RegExp support to the JSC implementation of SerializedScriptValue
(it stores the pattern and flags read from a RegExpObject, and creates
a new one on deserialization).
Tests: fast/loader/stateobjects/pushstate-object-types.html
* ForwardingHeaders/runtime/RegExp.h: Added.
* ForwardingHeaders/runtime/RegExpObject.h: Added.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::readTerminal):
2010-09-07 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set
https://bugs.webkit.org/show_bug.cgi?id=45324
Adds appropriate #if guards around code that has to deal directly with the compositor.
DrawingBuffer can still be used without the compositor as an off-screen rendering
region.
To test, compile without USE(ACCELERATED_COMPOSITING).
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::~DrawingBuffer):
(WebCore::DrawingBuffer::reset):
* platform/graphics/gpu/DrawingBuffer.h:
2010-09-03 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Darin Adler.
Provide a way to trigger a <select multiple> onchange event on changes
https://bugs.webkit.org/show_bug.cgi?id=45192
Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html
This provides a way for a WebKit client using the Obj-C DOM bindings to
trigger the "change" on a listbox select (<select multiple> or <select>
with size > 1). This is because when a select is rendered as a listbox
"change" events are triggered by mouse down events.
This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]
to allow for handling multiple selections if the select element is a
multi-select.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]):
* bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete".
* dom/SelectElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event.
* html/HTMLSelectElement.h:
* wml/WMLSelectElement.cpp:
(WebCore::WMLSelectElement::setSelectedIndexByUser):
2010-09-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Minor WKCACFLayerRenderer cleanup
https://bugs.webkit.org/show_bug.cgi?id=45201
Call initD3DGeometry() from createRenderer, rather than duplicating the code.
No behavior changes.
* platform/graphics/win/WKCACFLayerRenderer.cpp:
(WebCore::WKCACFLayerRenderer::createRenderer):
2010-09-07 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
[chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with
gets destroyed.
https://bugs.webkit.org/show_bug.cgi?id=45329
Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs).
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2010-09-07 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8381749> -Wcast-align warning emitted when building with clang
Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
* Configurations/Base.xcconfig:
2010-09-07 Abhishek Arya <inferno@chromium.org>
Reviewed by Darin Adler.
Remove redundant bounds check in originalText(). Add bounds check
to previousCharacter(). No need of start() > 0 check since m_start
is unsigned and we already do start() null check inside function.
https://bugs.webkit.org/show_bug.cgi?id=45303
Test: fast/text/one-letter-transform-crash.html
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::originalText):
(WebCore::RenderTextFragment::previousCharacter):
2010-09-07 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Regression in JPEG texture uploads on Mac OS X
https://bugs.webkit.org/show_bug.cgi?id=45316
Fixed regression introduced in
https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression
test covering this case to gl-teximage.html in Khronos repository
and synced test with WebKit's version.
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-09-07 Martin Robinson <mrobinson@igalia.com>
Add rendering/ColumnInfo.h to the sources list.
* GNUmakefile.am:
2010-09-07 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information.
* WebCore.xcodeproj/project.pbxproj:
* rendering/ColumnInfo.h: Added.
(WebCore::ColumnInfo::ColumnInfo):
(WebCore::ColumnInfo::desiredColumnWidth):
(WebCore::ColumnInfo::setDesiredColumnWidth):
(WebCore::ColumnInfo::desiredColumnCount):
(WebCore::ColumnInfo::setDesiredColumnCount):
(WebCore::ColumnInfo::columnCount):
(WebCore::ColumnInfo::columnRectAt):
(WebCore::ColumnInfo::clearColumns):
(WebCore::ColumnInfo::addColumnRect):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::paintColumnContents):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
(WebCore::RenderBlock::hitTestColumns):
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):
(WebCore::RenderBlock::desiredColumnWidth):
(WebCore::RenderBlock::desiredColumnCount):
(WebCore::RenderBlock::columnInfo):
(WebCore::RenderBlock::layoutColumns):
(WebCore::RenderBlock::adjustPointToColumnContents):
(WebCore::RenderBlock::adjustRectForColumns):
(WebCore::RenderBlock::adjustForColumns):
* rendering/RenderBlock.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintChildLayerIntoColumns):
(WebCore::RenderLayer::hitTestChildLayerColumns):
2010-09-07 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
<rdar://problem/7794761> Floats inside of multicol fail to hit test
https://bugs.webkit.org/show_bug.cgi?id=44730
Test: fast/multicol/hit-test-float.html
Factored float hit-testing out of nodeAtPoint so that hitTestColumns could
call it with column-adjusted coordinates.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::hitTestColumns):
* rendering/RenderBlock.h:
2010-09-07 François Sausset <sausset@gmail.com>
Reviewed by Beth Dakin.
<math> element should be centered when display attribute set to block.
https://bugs.webkit.org/show_bug.cgi?id=44206
Test: mathml/presentation/attributes.xhtml
* css/mathml.css:
(math[display="block"]):
2010-09-07 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
Media elements should derive from ActiveDOMObjects
https://bugs.webkit.org/show_bug.cgi?id=45306
<rdar://problem/7929062>
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject
(WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases.
(WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive.
(WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive.
(WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty
so the element can't be collected before they are sent.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::canSuspend):
2010-09-07 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r66886.
http://trac.webkit.org/changeset/66886
https://bugs.webkit.org/show_bug.cgi?id=45112
Made
* platform/chromium/GeolocationServiceChromium.cpp:
* platform/chromium/GeolocationServiceChromium.h:
2010-09-07 Martin Robinson <mrobinson@igalia.com>
Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it
is no longer built.
* GNUmakefile.am: Remove reference to libWebCoreJS.
2010-09-07 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] [REGRESSION] r66848 caused a crash in testwebview
https://bugs.webkit.org/show_bug.cgi?id=45298
No new tests as this fixes a test failure.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
scrollbar adjustments unless this is a main frame ScrollView. If we do
Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
a segfault.
2010-09-07 Kristian Monsen <kristianm@google.com>
Reviewed by Steve Block.
Compile fix for Android.
https://bugs.webkit.org/show_bug.cgi?id=45292
Explicitly add needed header for
STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get
included through other headers on Android.
No new tests, just a compile fix.
* bindings/scripts/CodeGeneratorV8.pm:
2010-09-07 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Fix some feature guards
https://bugs.webkit.org/show_bug.cgi?id=45302
No new tests as this is just a build change.
* platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO)
* platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto.
* platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto.
* platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto.
* platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto.
* platform/graphics/gstreamer/GStreamerGWorld.h: Ditto.
* platform/graphics/gstreamer/ImageGStreamer.h: Ditto.
* platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto.
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
* platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto.
* platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto.
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto.
* platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto.
* platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION)
* platform/gtk/GeolocationServiceGtk.h: Ditto.
2010-09-07 Jonathan Dixon <joth@chromium.org>
Reviewed by Jeremy Orlow.
Access to out-of-scope WebGeolocationServiceBridgeImpl
https://bugs.webkit.org/show_bug.cgi?id=45112
Add missing virtual destructor to the abstract base class.
* platform/chromium/GeolocationServiceChromium.cpp:
(WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
* platform/chromium/GeolocationServiceChromium.h:
2010-09-07 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] [REGRESSION] r66848 caused a crash in testwebview
https://bugs.webkit.org/show_bug.cgi?id=45298
No new tests as this fixes a test failure.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
scrollbar adjustments unless this is a main frame ScrollView. If we do
Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
a segfault.
2010-09-07 Adam Langley <agl@chromium.org>
Reviewed by Tony Chang.
[chromium] Fix complex text word spacing on Linux.
I broke complex text word spacing with r66689. I misnamed a
variable in the original code |glyphIndex| when it was
actually indexing code points. That meant that I compared it
against the wrong limit when working around Harfbuzz issues
and neatly disabled word spacing.
https://bugs.webkit.org/show_bug.cgi?id=45191
Test: fast/text/atsui-spacing-features.html
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::setGlyphXPositions):
2010-09-07 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Fix speech button's hit test logic for RTL rendering.
https://bugs.webkit.org/show_bug.cgi?id=45288
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::forwardEvent):
2010-09-07 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Ignore programmatic clicks on speech input button for security reasons.
https://bugs.webkit.org/show_bug.cgi?id=45181
Test: fast/speech/speech-button-ignore-generated-events.html
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2010-09-07 Kent Hansen <kent.hansen@nokia.com>
Reviewed by Andreas Kling.
[Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set
https://bugs.webkit.org/show_bug.cgi?id=44697
When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary
object that's pushed onto the function's scope before the function is invoked, and
popped again afterwards.
We were pushing this new scope object _after_ calling JSFunction::getCallData(),
and relying on JSC::call() to use the fresh scope chain from the function object.
However, this is no longer the case; JSC::call() uses the scope chain passed in
the CallData argument. Hence, we need to set up the scope before the function's
CallData is queried.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtConnectionObject::execute):
2010-09-07 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode
https://bugs.webkit.org/show_bug.cgi?id=45272
Build fix.
* inspector/InspectorController.h:
(WebCore::InspectorController::inspectorControllerForNode):
2010-09-07 Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed by Ariya Hidayat.
Fix QtWebKit linker error on Windows CE 6.
https://bugs.webkit.org/show_bug.cgi?id=43442
Doesn't affect any tests.
* WebCore.pro:
2010-09-07 James Kozianski <koz@chromium.org>
Reviewed by Kent Tamura.
Crash rendering <meter/> with percent padding
https://bugs.webkit.org/show_bug.cgi?id=45081
Avoids a crash caused by RenderMeter checking its own dimensions to
determine whether it needs layout. The crash is avoided by removing
the check and always calling setNeedsLayout(true).
Test: fast/dom/HTMLMeterElement/meter-percent-size.html
* rendering/RenderIndicator.cpp:
(WebCore::RenderIndicator::updateFromElement):
* rendering/RenderIndicator.h:
2010-09-06 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
OOB read with svg polyline
https://bugs.webkit.org/show_bug.cgi?id=45279
In principle, attributeChanged can do anything. If we supported more
DOM mutation events, it could even run JavaScript. That means we need
to be prepared for the attribute map to change when running
attributeChanged. This patch makes this loop resilient to the
attribute map changing by storing the list of changed attributes on the
stack.
Test: fast/parser/changing-attrbutes-crash.html
* dom/Element.cpp:
(WebCore::Element::setAttributeMap):
2010-09-06 Oliver Hunt <oliver@apple.com>
Windows build fix
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::write):
2010-09-06 Oliver Hunt <oliver@apple.com>
Windows build fix
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::write):
2010-09-05 Oliver Hunt <oliver@apple.com>
Reviewed by Sam Weinig.
SerializedScriptValue needs to use a flat storage mechanism
https://bugs.webkit.org/show_bug.cgi?id=45244
Rewrite the old tree to tree serialization logic to use
flat storage. Unfortunately this basically required a
complete rewrite.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneBase::CloneBase):
(WebCore::CloneBase::shouldTerminate):
(WebCore::CloneBase::ticksUntilNextCheck):
(WebCore::CloneBase::didTimeOut):
(WebCore::CloneBase::throwStackOverflow):
(WebCore::CloneBase::throwInterruptedException):
(WebCore::CloneBase::fail):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::isArray):
(WebCore::CloneSerializer::startObject):
(WebCore::CloneSerializer::startArray):
(WebCore::CloneSerializer::endObject):
(WebCore::CloneSerializer::getSparseIndex):
(WebCore::CloneSerializer::getProperty):
(WebCore::CloneSerializer::dumpImmediate):
(WebCore::CloneSerializer::dumpString):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneSerializer::writeLittleEndian):
(WebCore::CloneSerializer::writeStringIndex):
(WebCore::CloneDeserializer::deserializeString):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::throwValidationError):
(WebCore::CloneDeserializer::isValid):
(WebCore::CloneDeserializer::readLittleEndian):
(WebCore::CloneDeserializer::read):
(WebCore::CloneDeserializer::readStringIndex):
(WebCore::CloneDeserializer::readString):
(WebCore::CloneDeserializer::readStringData):
(WebCore::CloneDeserializer::readTag):
(WebCore::CloneDeserializer::putProperty):
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::~SerializedScriptValue):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::toString):
(WebCore::SerializedScriptValue::deserialize):
(WebCore::SerializedScriptValue::nullValue):
* bindings/js/SerializedScriptValue.h:
* dom/MessagePortChannel.cpp:
(WebCore::MessagePortChannel::EventData::EventData):
* workers/WorkerMessagingProxy.cpp:
(WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
(WebCore::MessageWorkerTask::MessageWorkerTask):
2010-09-06 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars
https://bugs.webkit.org/show_bug.cgi?id=45046
Make interior frame scrollbars "fully-fake," which means they do not rely
at all on GTK+ for painting or behavior, but instead are typical WebCore
scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to
MainFrameScrollbarGtk and remove all logic in that file dealing with interior
frame scrollbars.
No new tests, as this is already covered by pixel tests for scrollbars,
which were added in r66605.
* GNUmakefile.am: Update sources list.
* platform/ScrollView.h: Change the adjustment members to be smart pointers.
* platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well.
* platform/gtk/MainFrameScrollbarGtk.cpp: Added.
(MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk.
(MainFrameScrollbarGtk::MainFrameScrollbarGtk):
(MainFrameScrollbarGtk::~MainFrameScrollbarGtk):
(MainFrameScrollbarGtk::attachAdjustment):
(MainFrameScrollbarGtk::detachAdjustment):
(MainFrameScrollbarGtk::updateThumbPosition):
(MainFrameScrollbarGtk::updateThumbProportion):
(MainFrameScrollbarGtk::gtkValueChanged):
(MainFrameScrollbarGtk::paint):
* platform/gtk/MainFrameScrollbarGtk.h: Added.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::platformInit): Remove unnecessary initialization
because of smart pointer change.
(WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for
interior frame scrollbars, create a normal WebCore scrollbar.
(WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures
that this method is never called with a non-null adjustment on an interior frame
scrollbar.
(WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars.
(WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars.
(WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting
transitionary states when accessing parent widgets. Explcitly guard against interior
frame ScrollView's trying to determine size based on parent widgets.
(WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one
it copy-and-pasted from. Update it and change the logic to do the right thing for
interior frame scrollbars.
* platform/gtk/ScrollbarGtk.cpp: Removed.
* platform/gtk/ScrollbarGtk.h: Removed.
2010-09-06 Justin Schuh <jschuh@chromium.org>
Reviewed by Nikolas Zimmermann.
Make SVG PendingResources use RefPtr
https://bugs.webkit.org/show_bug.cgi?id=43587
Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for
pending elements instead of a raw pointer so that pending elements can't
be freed prematurely.
Test: svg/custom/use-invalid-pattern.svg
* rendering/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::registerResource):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::removePendingResource):
* svg/SVGDocumentExtensions.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::insertedIntoDocument):
2010-09-06 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] ScrollbarThemeGtk should support secondary steppers
https://bugs.webkit.org/show_bug.cgi?id=44791
Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust
the algorithms for calculating forward and back button rects, if they
are active in the theme. Expose this information via GtkScrollbarMetrics.
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties
of GtkScrollbarMetrics when updating the style cache.
(WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers.
(WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
(WebCore::ScrollbarThemeGtk::trackRect): Ditto.
(WebCore::ScrollbarThemeGtk::paintButton): Ditto.
* platform/gtk/ScrollbarThemeGtk.h:
* platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers
via GtkScrollbarMetrics.
* platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics.
2010-09-06 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Implement HTML5 definition of document.readyState
https://bugs.webkit.org/show_bug.cgi?id=45119
The legacy behavior was "loading" -> "loaded" -> "complete". The new
HTML5 behavior is "loading" -> "interactive" -> "complete". There is
some potential for this to cause compat problems if for instance a
page expects readyState to be "loaded" during the DOMContentLoaded event.
Test: fast/dom/Document/readystate.html
* dom/Document.cpp:
(WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate,
when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading".
So the ctor starts it Complete, and when the parser is created it is flipped to Loading.
(WebCore::Document::readyState):
(WebCore::Document::setReadyState):
(WebCore::Document::implicitOpen):
(WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state.
* dom/Document.h:
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped.
It is better to ensure it is only called while parsing.
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong().
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts.
This method is also called when parsing fragments, so we need to ensure it isn't done in that case.
(WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through
the additional steps of pumping tokenizer, setting the state, etc.
(WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though.
(WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader.
2010-09-06 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
[v8] Inline hot methods for V8 to WebCore and back conversions
https://bugs.webkit.org/show_bug.cgi?id=45270
Inline fast paths of hot functions performing conversions from V8 wrappers
to WebCore native objects and back.
That slightly increases the size of binary (within 0.1% for both Ubuntu
and Windows, but those builds are slightly different from official ones),
but gives performance boost (3--5% on Windows, up to 8% on Ubuntu).
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initContextIfNeeded):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getWrapperSlow):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getWrapper):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::toV8Slow):
2010-09-06 Shane Stephens <shanestephens@google.com>
Reviewed by Dimitri Glazkov.
[Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
https://bugs.webkit.org/show_bug.cgi?id=44750
Fixes crash by checking for null transforms and skipping update step
when appropriate.
Test: svg/dom/symbol-embeddedAnimation.svg
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2010-09-06 Xan Lopez <xlopez@igalia.com>
Rubber-stamped by Tor Arne Vestbø.
WebCore already generates a focus-{out,in} events on its setFocus
method, there's no need to duplicate it here. Previously this was
needed because we were not catching all possible names of focus
events in PluginView::handleEvent and were missing the ones
WebCore does, but this has been fixed in r66827.
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::setFocus):
2010-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66823.
http://trac.webkit.org/changeset/66823
https://bugs.webkit.org/show_bug.cgi?id=45266
Windows build fails with unknown reason (Requested by zherczeg
on #webkit).
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderObject.h:
* rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
* rendering/RenderSVGResourceFilterPrimitive.h: Removed.
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGContainer):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::svgAttributeChanged):
(WebCore::SVGFELightElement::childrenChanged):
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
* svg/SVGFilterElement.h:
(WebCore::SVGFilterElement::invalidateFilter):
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
2010-09-06 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Provide Keyboard Events to Windowless plugins
https://bugs.webkit.org/show_bug.cgi?id=44613
Fix keyboard event delivery for windowless plugins.
Based on a patch by Bharathwaaj.
* plugins/PluginView.cpp:
(WebCore::PluginView::handleEvent): also take into account
focused{in,out} events
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::handleKeyboardEvent): we want the keyval
here, not the hardware keycode
(WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events
2010-09-06 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions.
There are some places where callback is passing via some wrapper. In that case sendMessageToBackend
will be called with additional argument for callback but with undefined value.
https://bugs.webkit.org/show_bug.cgi?id=45265
* inspector/CodeGeneratorInspector.pm:
2010-09-06 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
An individual renderer should be assigned to each SVGFE*Element class
https://bugs.webkit.org/show_bug.cgi?id=43954
RenderSVGResourceFilterPrimitive renderer is added to
the project, and assigned to each object, which class is
derived from SVGFilterPrimitiveStandardAttributes. The patch
mainly contains build system changes, and it fixes one layout
test in svg/dynamic-updates.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderObject.h:
(WebCore::RenderObject::isSVGResourceFilterPrimitive):
* rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
(WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
* rendering/RenderSVGResourceFilterPrimitive.h: Added.
(WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGContainer):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::svgAttributeChanged):
(WebCore::SVGFELightElement::childrenChanged):
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
2010-09-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Dirk Schulze.
[WML] Use RenderImageResource in WMLImageElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=44952
The hasImage() and setCachedImage() were moved to RenderImageResource class.
So, WML also should use the functions from RenderImageResource.
* wml/WMLImageElement.cpp:
(WebCore::WMLImageElement::attach):
2010-08-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add index insertion support to IndexedDB.
https://bugs.webkit.org/show_bug.cgi?id=44695
Whenever you insert an item into an ObjectStore, it should use all
indexes' key paths to insert corresponding entries into each index.
Also data should be deleted out of the index when it goes away.
Not much testing yet since there's no way to directly observe indexes.
More will be in next patch.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::createTables):
* storage/IDBIndex.idl:
* storage/IDBIndexBackendImpl.cpp:
(WebCore::whereClause):
(WebCore::bindWhereClause):
(WebCore::IDBIndexBackendImpl::addingKeyAllowed):
* storage/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::id):
* storage/IDBKey.cpp:
(WebCore::IDBKey::whereSyntax):
(WebCore::IDBKey::bind):
(WebCore::IDBKey::bindWithNulls):
* storage/IDBKey.h:
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::whereClause):
(WebCore::bindWhereClause):
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::fetchKeyFromKeyPath):
(WebCore::putObjectStoreData):
(WebCore::putIndexData):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::remove):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::doDelete):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
* storage/IDBObjectStoreBackendImpl.h:
2010-09-06 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
[v8] bypass caches when query memory usage from post GC and in crash handler.
https://bugs.webkit.org/show_bug.cgi?id=45036
Add Chromium-specific API to query actual memory usage which bypasses any caches.
* platform/chromium/ChromiumBridge.h:
2010-09-06 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Rename SecurityOrigin::canLoad to canDisplay
https://bugs.webkit.org/show_bug.cgi?id=45214
canLoad is a pretty opaque name. This function is really about whether
you can display the contents of the URL in an iframe, an image, or a
plugin.
* WebCore.exp.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isSafeToLoadURL):
* loader/Cache.cpp:
(WebCore::Cache::requestResource):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
(WebCore::SubframeLoader::createJavaAppletWidget):
(WebCore::SubframeLoader::loadSubframe):
(WebCore::SubframeLoader::loadPlugin):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay):
* page/SecurityOrigin.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::load):
2010-08-31 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint
https://bugs.webkit.org/show_bug.cgi?id=44943
Test: inspector/debugger-suspend-active-dom-objects.html
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2010-09-05 Kenneth Russell <kbr@google.com>
Reviewed by Darin Fisher.
Add unit tests for red-black tree and (POD) arena
https://bugs.webkit.org/show_bug.cgi?id=45060
* platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header.
* platform/graphics/gpu/PODInterval.h: Fixed copyright header.
* platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header.
* platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header.
2010-09-05 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Nate Chapin.
Add the concept of class methods to bindings (for IndexedDB's IDBKeyRange).
https://bugs.webkit.org/show_bug.cgi?id=45044
IndexedDB's IDBKeyRange has what, in other languages, are called class
methods. In javaScript terms, these are methods only accessible from their
constructor and not instances. This change adds such support to V8. There
are already other features required for IndexedDB that JSC doesn't yet
support, so I'll add this to the list of todo items in the master bug
for that.
The bindings tests cover this. My next patch will change WebCore to use
this and it'll have associated layout tests.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::classMethod):
(WebDOMTestObj::classMethodWithOptional):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_class_method):
(webkit_dom_test_obj_class_method_with_optional):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionStaticMethod):
(WebCore::jsTestObjPrototypeFunctionStaticMethodWithOptional):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj classMethod]):
(-[DOMTestObj classMethodWithOptional:]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::classMethodCallback):
(WebCore::TestObjInternal::classMethodWithOptionalCallback):
(WebCore::ConfigureV8TestObjTemplate):
* storage/IDBKeyRange.idl:
2010-09-05 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add IndexedDB objects' constructors to window
https://bugs.webkit.org/show_bug.cgi?id=44599
Also add a forgotten constant to IDBTransaction, and
change IDBKeyRange over to using the V8Static attribute
so it actually behaves as it's supposed to.
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::iDBCursorEnabled):
(WebCore::RuntimeEnabledFeatures::iDBDatabaseEnabled):
(WebCore::RuntimeEnabledFeatures::iDBDatabaseErrorEnabled):
(WebCore::RuntimeEnabledFeatures::iDBDatabaseExceptionEnabled):
(WebCore::RuntimeEnabledFeatures::iDBErrorEventEnabled):
(WebCore::RuntimeEnabledFeatures::iDBEventEnabled):
(WebCore::RuntimeEnabledFeatures::iDBFactoryEnabled):
(WebCore::RuntimeEnabledFeatures::iDBIndexEnabled):
(WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
(WebCore::RuntimeEnabledFeatures::iDBObjectStoreEnabled):
(WebCore::RuntimeEnabledFeatures::iDBRequestEnabled):
(WebCore::RuntimeEnabledFeatures::iDBSuccessEventEnabled):
(WebCore::RuntimeEnabledFeatures::iDBTransactionEnabled):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::indexedDB):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* storage/IDBKeyRange.idl:
* storage/IDBTransaction.h:
* storage/IDBTransaction.idl:
2010-09-04 Justin Schuh <jschuh@chromium.org>
Reviewed by Nikolas Zimmermann.
Prevent premature deletion of svg use shadow tree
https://bugs.webkit.org/show_bug.cgi?id=43260
Test: svg/custom/use-invalid-style.svg
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::insertedIntoDocument):
(WebCore::SVGUseElement::removedFromDocument):
(WebCore::SVGUseElement::detach):
2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed by Darin Adler.
Add NetworkingContext to avoid layer violations
https://bugs.webkit.org/show_bug.cgi?id=42292
Create and provide access to NetworkingContext in FrameLoader.
In the WebKit layer we added specific implementations of FrameNetworkingContext
so each port's FrameLoaderClient can add any port specific information to NetworkingContext
The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
in the FrameLoader for each frame created. People must always use it
by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.
It is still a preparation to NetworkingContext to be activated and
work for all ports.
* WebCore.exp.in:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::createNetworkingContext):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::~FrameLoader):
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::networkingContext):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
2010-09-03 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Darin Adler.
V8/JS bindings should not perform type checks if the parameter has Callback attribute
https://bugs.webkit.org/show_bug.cgi?id=45143
No new tests, should not affect existing idls.
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::overloadedMethod5Callback):
(WebCore::TestObjInternal::overloadedMethodCallback):
2010-09-03 Kenneth Russell <kbr@google.com>
Unreviewed, Chromium build fix. Fix breakage on Windows after
r66787 / https://bugs.webkit.org/show_bug.cgi?id=45223 .
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs):
2010-09-03 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Text sometimes fails to display in accelerated 2d canvases
https://bugs.webkit.org/show_bug.cgi?id=45223
Calls PlatformContextSkia::prepareForSoftwareDraw() before drawing glyphs
using skia to ensure that the backing store state is consistent.
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::drawGlyphs):
2010-09-03 Kenneth Russell <kbr@google.com>
Reviewed by Darin Fisher.
Add thirdparty directory and incorporate GLU tessellator
https://bugs.webkit.org/show_bug.cgi?id=44707
This directory is intended to contain copies of third-party libraries used
by WebCore, in particular those which may require some modification in
order to incorporate.
No tests at this time; these sources are being added in preparation for
incorporating other code which uses them, at which point the code will be
exercised and testable.
* thirdparty: Added.
* thirdparty/README.txt: Added.
* thirdparty/glu: Added.
* thirdparty/glu/LICENSE.txt: Added.
* thirdparty/glu/README.webkit: Added.
* thirdparty/glu/gluos.h: Added.
* thirdparty/glu/internal_glu.h: Added.
* thirdparty/glu/libtess: Added.
* thirdparty/glu/libtess/GNUmakefile: Added.
* thirdparty/glu/libtess/Imakefile: Added.
* thirdparty/glu/libtess/README: Added.
* thirdparty/glu/libtess/alg-outline: Added.
* thirdparty/glu/libtess/dict-list.h: Added.
* thirdparty/glu/libtess/dict.c: Added.
* thirdparty/glu/libtess/dict.h: Added.
* thirdparty/glu/libtess/geom.c: Added.
* thirdparty/glu/libtess/geom.h: Added.
* thirdparty/glu/libtess/memalloc.c: Added.
* thirdparty/glu/libtess/memalloc.h: Added.
* thirdparty/glu/libtess/mesh.c: Added.
* thirdparty/glu/libtess/mesh.h: Added.
* thirdparty/glu/libtess/normal.c: Added.
* thirdparty/glu/libtess/normal.h: Added.
* thirdparty/glu/libtess/priorityq-heap.c: Added.
* thirdparty/glu/libtess/priorityq-heap.h: Added.
* thirdparty/glu/libtess/priorityq-sort.h: Added.
* thirdparty/glu/libtess/priorityq.c: Added.
* thirdparty/glu/libtess/priorityq.h: Added.
* thirdparty/glu/libtess/render.c: Added.
* thirdparty/glu/libtess/render.h: Added.
* thirdparty/glu/libtess/sweep.c: Added.
* thirdparty/glu/libtess/sweep.h: Added.
* thirdparty/glu/libtess/tess.c: Added.
* thirdparty/glu/libtess/tess.h: Added.
* thirdparty/glu/libtess/tessmono.c: Added.
* thirdparty/glu/libtess/tessmono.h: Added.
2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66781.
http://trac.webkit.org/changeset/66781
https://bugs.webkit.org/show_bug.cgi?id=45220
Breaks the build. Adds a mac-specific file to
platform/graphics without #if PLATFORM() guards and changes
the GraphicsContext3D interface without updating all
implementations (Requested by jamesr on #webkit).
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::deleteObject):
* platform/graphics/ANGLEWebKitBridge.h:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsContext3DOpenGL.cpp: Removed.
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::validateAttributes):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::reshape):
(WebCore::ensureContext):
(WebCore::GraphicsContext3D::prepareTexture):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::blendColor):
(WebCore::GraphicsContext3D::blendEquation):
(WebCore::GraphicsContext3D::blendEquationSeparate):
(WebCore::GraphicsContext3D::blendFunc):
(WebCore::GraphicsContext3D::blendFuncSeparate):
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
(WebCore::GraphicsContext3D::checkFramebufferStatus):
(WebCore::GraphicsContext3D::clearColor):
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::clearDepth):
(WebCore::GraphicsContext3D::clearStencil):
(WebCore::GraphicsContext3D::colorMask):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore::GraphicsContext3D::cullFace):
(WebCore::GraphicsContext3D::depthFunc):
(WebCore::GraphicsContext3D::depthMask):
(WebCore::GraphicsContext3D::depthRange):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::disable):
(WebCore::GraphicsContext3D::disableVertexAttribArray):
(WebCore::GraphicsContext3D::drawArrays):
(WebCore::GraphicsContext3D::drawElements):
(WebCore::GraphicsContext3D::enable):
(WebCore::GraphicsContext3D::enableVertexAttribArray):
(WebCore::GraphicsContext3D::finish):
(WebCore::GraphicsContext3D::flush):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::frontFace):
(WebCore::GraphicsContext3D::generateMipmap):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttachedShaders):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::getContextAttributes):
(WebCore::GraphicsContext3D::getError):
(WebCore::GraphicsContext3D::getString):
(WebCore::GraphicsContext3D::hint):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isEnabled):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::lineWidth):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::pixelStorei):
(WebCore::GraphicsContext3D::polygonOffset):
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::renderbufferStorage):
(WebCore::GraphicsContext3D::sampleCoverage):
(WebCore::GraphicsContext3D::scissor):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::stencilFunc):
(WebCore::GraphicsContext3D::stencilFuncSeparate):
(WebCore::GraphicsContext3D::stencilMask):
(WebCore::GraphicsContext3D::stencilMaskSeparate):
(WebCore::GraphicsContext3D::stencilOp):
(WebCore::GraphicsContext3D::stencilOpSeparate):
(WebCore::GraphicsContext3D::texParameterf):
(WebCore::GraphicsContext3D::texParameteri):
(WebCore::GraphicsContext3D::uniform1f):
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2f):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3f):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4f):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1i):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2i):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3i):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4i):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::vertexAttrib1f):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2f):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3f):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4f):
(WebCore::GraphicsContext3D::vertexAttrib4fv):
(WebCore::GraphicsContext3D::vertexAttribPointer):
(WebCore::GraphicsContext3D::viewport):
(WebCore::GraphicsContext3D::getBooleanv):
(WebCore::GraphicsContext3D::getBufferParameteriv):
(WebCore::GraphicsContext3D::getFloatv):
(WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
(WebCore::GraphicsContext3D::getIntegerv):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getRenderbufferParameteriv):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getTexParameterfv):
(WebCore::GraphicsContext3D::getTexParameteriv):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
(WebCore::GraphicsContext3D::getVertexAttribfv):
(WebCore::GraphicsContext3D::getVertexAttribiv):
(WebCore::GraphicsContext3D::getVertexAttribOffset):
(WebCore::GraphicsContext3D::texImage2D):
(WebCore::GraphicsContext3D::texSubImage2D):
(WebCore::GraphicsContext3D::createBuffer):
(WebCore::GraphicsContext3D::createFramebuffer):
(WebCore::GraphicsContext3D::createProgram):
(WebCore::GraphicsContext3D::createRenderbuffer):
(WebCore::GraphicsContext3D::createShader):
(WebCore::GraphicsContext3D::createTexture):
(WebCore::GraphicsContext3D::deleteBuffer):
(WebCore::GraphicsContext3D::deleteFramebuffer):
(WebCore::GraphicsContext3D::deleteProgram):
(WebCore::GraphicsContext3D::deleteRenderbuffer):
(WebCore::GraphicsContext3D::deleteShader):
(WebCore::GraphicsContext3D::deleteTexture):
(WebCore::GraphicsContext3D::sizeInBytes):
(WebCore::GraphicsContext3D::synthesizeGLError):
2010-09-03 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
Force 2d canvases to be rendered in software when the composite operation isn't source-over
https://bugs.webkit.org/show_bug.cgi?id=45216
The current accelerated 2d canvas implementation is very slow for composite operations other
than the default. This patch forces a canvas to be rendered in software if any other operation
is set until we accelerate the rest.
Tested by any of the fast/canvas tests that use a non-default globalCompositeOperation.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
2010-09-03 Paul Sawaya <psawaya@apple.com>
Reviewed by Chris Marrin.
Refactored out Mac specific code for platform/graphics/mac/GraphicsContext3D.mm file.
Left general OpenGL code in platform/graphics/GraphicsContext3DOpenGL.cpp.
https://bugs.webkit.org/show_bug.cgi?id=30625
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::deleteObject):
* platform/graphics/ANGLEWebKitBridge.h:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
(WebCore::GraphicsContext3D::prepareTexture):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::blendColor):
(WebCore::GraphicsContext3D::blendEquation):
(WebCore::GraphicsContext3D::blendEquationSeparate):
(WebCore::GraphicsContext3D::blendFunc):
(WebCore::GraphicsContext3D::blendFuncSeparate):
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
(WebCore::GraphicsContext3D::checkFramebufferStatus):
(WebCore::GraphicsContext3D::clearColor):
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::clearDepth):
(WebCore::GraphicsContext3D::clearStencil):
(WebCore::GraphicsContext3D::colorMask):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::copyTexImage2D):
(WebCore::GraphicsContext3D::copyTexSubImage2D):
(WebCore::GraphicsContext3D::cullFace):
(WebCore::GraphicsContext3D::depthFunc):
(WebCore::GraphicsContext3D::depthMask):
(WebCore::GraphicsContext3D::depthRange):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::disable):
(WebCore::GraphicsContext3D::disableVertexAttribArray):
(WebCore::GraphicsContext3D::drawArrays):
(WebCore::GraphicsContext3D::drawElements):
(WebCore::GraphicsContext3D::enable):
(WebCore::GraphicsContext3D::enableVertexAttribArray):
(WebCore::GraphicsContext3D::finish):
(WebCore::GraphicsContext3D::flush):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::frontFace):
(WebCore::GraphicsContext3D::generateMipmap):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttachedShaders):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::getError):
(WebCore::GraphicsContext3D::getString):
(WebCore::GraphicsContext3D::hint):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isEnabled):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::lineWidth):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::pixelStorei):
(WebCore::GraphicsContext3D::polygonOffset):
(WebCore::GraphicsContext3D::readPixels):
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::renderbufferStorage):
(WebCore::GraphicsContext3D::sampleCoverage):
(WebCore::GraphicsContext3D::scissor):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::stencilFunc):
(WebCore::GraphicsContext3D::stencilFuncSeparate):
(WebCore::GraphicsContext3D::stencilMask):
(WebCore::GraphicsContext3D::stencilMaskSeparate):
(WebCore::GraphicsContext3D::stencilOp):
(WebCore::GraphicsContext3D::stencilOpSeparate):
(WebCore::GraphicsContext3D::texParameterf):
(WebCore::GraphicsContext3D::texParameteri):
(WebCore::GraphicsContext3D::uniform1f):
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2f):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3f):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4f):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1i):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2i):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3i):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4i):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::vertexAttrib1f):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2f):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3f):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4f):
(WebCore::GraphicsContext3D::vertexAttrib4fv):
(WebCore::GraphicsContext3D::vertexAttribPointer):
(WebCore::GraphicsContext3D::viewport):
(WebCore::GraphicsContext3D::getBooleanv):
(WebCore::GraphicsContext3D::getBufferParameteriv):
(WebCore::GraphicsContext3D::getFloatv):
(WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
(WebCore::GraphicsContext3D::getIntegerv):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getRenderbufferParameteriv):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getTexParameterfv):
(WebCore::GraphicsContext3D::getTexParameteriv):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
(WebCore::GraphicsContext3D::getVertexAttribfv):
(WebCore::GraphicsContext3D::getVertexAttribiv):
(WebCore::GraphicsContext3D::getVertexAttribOffset):
(WebCore::GraphicsContext3D::texImage2D):
(WebCore::GraphicsContext3D::texSubImage2D):
(WebCore::GraphicsContext3D::createBuffer):
(WebCore::GraphicsContext3D::createFramebuffer):
(WebCore::GraphicsContext3D::createProgram):
(WebCore::GraphicsContext3D::createRenderbuffer):
(WebCore::GraphicsContext3D::createShader):
(WebCore::GraphicsContext3D::createTexture):
(WebCore::GraphicsContext3D::deleteBuffer):
(WebCore::GraphicsContext3D::deleteFramebuffer):
(WebCore::GraphicsContext3D::deleteProgram):
(WebCore::GraphicsContext3D::deleteRenderbuffer):
(WebCore::GraphicsContext3D::deleteShader):
(WebCore::GraphicsContext3D::deleteTexture):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::ensureContext):
(WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
2010-09-03 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
[chromium] Implement ImageBufferSkia::draw on the GPU when possible
https://bugs.webkit.org/show_bug.cgi?id=45207
When drawing from an ImageBuffer into a GraphicsContext, attempt to do the
draw in hardware when possible. This is how canvas 2d's drawImage(canvas, ...)
is implemented. Adds new API to DrawingBuffer to request a texture containing
the DrawingBuffer's current rendering results.
Test: covered fast/canvas/drawImage.html and all other tests that draw from one
2d canvas into another.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::getRenderingResultsAsTexture):
* platform/graphics/gpu/DrawingBuffer.h:
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::draw):
2010-09-03 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction
https://bugs.webkit.org/show_bug.cgi?id=45187
Canvas2DLayerChromium keeps a back reference to a DrawingBuffer. This has to be a raw pointer
because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium. Since the layer can
outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer
is destroyed.
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::setDrawingBuffer):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::~DrawingBuffer):
2010-09-03 Kenneth Russell <kbr@google.com>
Reviewed by Darin Fisher.
Add interval tree capable of holding plain old data (POD)
https://bugs.webkit.org/show_bug.cgi?id=45160
Adding an interval tree currently capable of holding types which
do not require their destructors to be called. POD is a slight
misnomer which will be corrected soon, hopefully by removing this
restriction.
This class is based on the augmentable property of the red/black
tree integrated under bug 45059.
Unit tests for the PODIntervalTree will be integrated separately
under bug 45161.
* WebCore.gypi:
* platform/graphics/gpu/PODInterval.h: Added.
(WebCore::PODInterval::PODInterval):
(WebCore::PODInterval::low):
(WebCore::PODInterval::high):
(WebCore::PODInterval::data):
(WebCore::PODInterval::overlaps):
(WebCore::PODInterval::operator<):
(WebCore::PODInterval::operator==):
(WebCore::PODInterval::maxHigh):
(WebCore::PODInterval::setMaxHigh):
(WebCore::PODInterval::toString):
* platform/graphics/gpu/PODIntervalTree.h: Added.
(WebCore::PODIntervalTree::PODIntervalTree):
(WebCore::PODIntervalTree::allOverlaps):
(WebCore::PODIntervalTree::createInterval):
(WebCore::PODIntervalTree::checkInvariants):
(WebCore::PODIntervalTree::init):
(WebCore::PODIntervalTree::searchForOverlapsFrom):
(WebCore::PODIntervalTree::updateNode):
(WebCore::PODIntervalTree::checkInvariantsFromNode):
(WebCore::valueToString):
2010-09-02 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
[chromium] Gracefully switch over to software compositing if the accelerated
compositor fails to initialize. LayerRendererChromium::create() will now return 0
if the GLES2Context passed to it is NULL or the LayerRendererChromium failed to initialize
hardware rendering.
https://bugs.webkit.org/show_bug.cgi?id=45124
Tested by forcing the creation of the gles2 context to fail and loading pages that normally trigger
the compositor.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::makeContextCurrent):
2010-09-03 Peter Kasting <pkasting@google.com>
Reviewed by Simon Fraser.
Report correct (unzoomed) image sizes for zoomed images.
https://bugs.webkit.org/show_bug.cgi?id=42089
Test: fast/images/zoomed-img-size.html
* css/CSSPrimitiveValue.cpp: Factor rounding code out to a templatized function so it can be shared.
(WebCore::CSSPrimitiveValue::computeLengthInt):
(WebCore::CSSPrimitiveValue::computeLengthIntForLength):
(WebCore::CSSPrimitiveValue::computeLengthShort):
* css/CSSPrimitiveValue.h: Factor rounding code out to a templatized function so it can be shared.
(WebCore::roundForImpreciseConversion):
* html/HTMLImageElement.cpp: Report unzoomed size to script that queries an image's width or height.
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
* loader/ImageDocument.cpp: Report unzoomed size in the page title when viewing a standalone image.
(WebCore::ImageDocumentParser::finish):
* rendering/RenderObject.h: Use shared rounding code from CSSPrimitiveValue to compensate for inexactness in zoomed sizes.
(WebCore::adjustForAbsoluteZoom):
2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66770.
http://trac.webkit.org/changeset/66770
https://bugs.webkit.org/show_bug.cgi?id=45200
Broke Windows in a way I can't figure out now to fix
(Requested by abarth on #webkit).
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/BindingDOMWindow.h:
(WebCore::::completeURL):
* bindings/generic/BindingFrame.h: Removed.
* bindings/generic/BindingLocation.h: Removed.
* bindings/generic/GenericBinding.h:
* bindings/js/JSBinding.h: Removed.
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMBinding.cpp:
(WebCore::shouldAllowNavigation):
(WebCore::toLexicalFrame):
(WebCore::toDynamicFrame):
(WebCore::processingUserGesture):
(WebCore::completeURL):
* bindings/js/JSLocationCustom.cpp:
(WebCore::navigateIfAllowed):
(WebCore::JSLocation::replace):
* bindings/js/specialization/JSBindingState.cpp: Removed.
* bindings/js/specialization/JSBindingState.h: Removed.
* bindings/v8/V8Binding.h:
* bindings/v8/V8Utilities.cpp:
(WebCore::completeURL):
(WebCore::navigateIfAllowed):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::replaceCallback):
* bindings/v8/specialization/V8BindingState.cpp:
* bindings/v8/specialization/V8BindingState.h:
2010-09-03 Jian Li <jianli@chromium.org>
Reviewed by Darin Adler.
REGRESSION (r66452): Sending of multipart forms with files is broken.
https://bugs.webkit.org/show_bug.cgi?id=45159
* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems):
2010-09-03 Dominic Cooney <dominicc@google.com>
Reviewed by Adam Barth.
Moves location.replace bindings logic into bindings/generic and
instantiates it for JSC and V8.
https://bugs.webkit.org/show_bug.cgi?id=44891
Covered by existing location.replace tests.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/BindingDOMWindow.h:
(WebCore::::createWindow):
(WebCore::::open):
* bindings/generic/BindingFrame.h: Added.
(WebCore::::navigateIfAllowed):
* bindings/generic/BindingLocation.h: Added.
(WebCore::::replace):
* bindings/generic/GenericBinding.h:
(WebCore::completeURL):
* bindings/js/JSBinding.h: Added.
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMBinding.cpp:
(WebCore::shouldAllowNavigation):
(WebCore::toLexicalFrame):
(WebCore::toDynamicFrame):
(WebCore::processingUserGesture):
(WebCore::completeURL):
* bindings/js/JSLocationCustom.cpp:
(WebCore::navigateIfAllowed):
(WebCore::JSLocation::replace):
* bindings/js/specialization/JSBindingState.cpp: Added.
(WebCore::::getActiveFrame):
(WebCore::::getFirstFrame):
(WebCore::::processingUserGesture):
(WebCore::::allowsAccessFromFrame):
* bindings/js/specialization/JSBindingState.h: Added.
* bindings/v8/V8Binding.h:
* bindings/v8/V8Utilities.cpp:
(WebCore::completeURL):
(WebCore::navigateIfAllowed):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::replaceCallback):
* bindings/v8/specialization/V8BindingState.cpp:
(WebCore::::allowsAccessFromFrame):
* bindings/v8/specialization/V8BindingState.h:
2010-09-03 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Tony Chang.
[Chromium] Make sure that the width of the menu list is always constant under layout tests.
https://bugs.webkit.org/show_bug.cgi?id=45196
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::menuListButtonWidth): Added.
(WebCore::RenderThemeChromiumWin::paintMenuList): Use menuListButtonWidth instead of always
querying system metrics.
2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66732.
http://trac.webkit.org/changeset/66732
https://bugs.webkit.org/show_bug.cgi?id=45195
the patch is not matched with general publish/subscribe scheme
implemented in the Inspector API (Requested by loislo on
#webkit).
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::getChildNodes):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
(WebInspector.DOMAgent.prototype.getChildNodesAsync):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkersSidebarPane.prototype.reset):
2010-09-03 James Robinson <jamesr@chromium.org>
[chromium] Compile fixes for 66746
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::texImage2D):
(WebCore::SharedGraphicsContext3D::texSubImage2D):
2010-09-03 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioParam files
https://bugs.webkit.org/show_bug.cgi?id=44995
No new tests since audio API is not yet implemented.
* webaudio: Added.
* webaudio/AudioParam.h: Added.
(WebCore::AudioParam::create):
(WebCore::AudioParam::AudioParam):
(WebCore::AudioParam::value):
(WebCore::AudioParam::setValue):
(WebCore::AudioParam::name):
(WebCore::AudioParam::minValue):
(WebCore::AudioParam::maxValue):
(WebCore::AudioParam::defaultValue):
(WebCore::AudioParam::units):
(WebCore::AudioParam::smoothedValue):
(WebCore::AudioParam::smooth):
(WebCore::AudioParam::resetSmoothedValue):
(WebCore::AudioParam::setSmoothingConstant):
* webaudio/AudioParam.idl: Added.
2010-09-03 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
audio engine: add AudioChannel files
https://bugs.webkit.org/show_bug.cgi?id=44921
No new tests since audio API is not yet implemented.
* platform/audio/AudioChannel.cpp: Added.
(WebCore::AudioChannel::scale):
(WebCore::AudioChannel::copyFrom):
(WebCore::AudioChannel::copyFromRange):
(WebCore::AudioChannel::sumFrom):
(WebCore::AudioChannel::maxAbsValue):
* platform/audio/AudioChannel.h: Added.
(WebCore::AudioChannel::AudioChannel):
(WebCore::AudioChannel::set):
(WebCore::AudioChannel::length):
(WebCore::AudioChannel::data):
(WebCore::AudioChannel::zero):
2010-09-03 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Remove usage of ce_textcodecs.h
https://bugs.webkit.org/show_bug.cgi?id=45169
ce_textcodecs.h was a non public header for (not required)
additonal codecs in the original Torch Mobile port.
* platform/text/wince/TextCodecWinCE.cpp:
(WebCore::LanguageManager::LanguageManager):
(WebCore::decode):
2010-09-03 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Initial patch for audio engine: AudioBus and helper classes
https://bugs.webkit.org/show_bug.cgi?id=34452
No new tests since audio API is not yet implemented.
* platform/audio/AudioBus.cpp: Added.
(WebCore::AudioBus::AudioBus):
(WebCore::AudioBus::setChannelMemory):
(WebCore::AudioBus::zero):
(WebCore::AudioBus::channelByType):
(WebCore::AudioBus::topologyMatches):
(WebCore::AudioBus::createBufferFromRange):
(WebCore::AudioBus::maxAbsValue):
(WebCore::AudioBus::normalize):
(WebCore::AudioBus::scale):
(WebCore::AudioBus::copyFrom):
(WebCore::AudioBus::sumFrom):
(WebCore::AudioBus::processWithGainFromMonoStereo):
(WebCore::AudioBus::processWithGainFrom):
(WebCore::AudioBus::copyWithGainFrom):
(WebCore::AudioBus::sumWithGainFrom):
* platform/audio/AudioBus.h: Added.
(WebCore::AudioBus::numberOfChannels):
(WebCore::AudioBus::channel):
(WebCore::AudioBus::length):
(WebCore::AudioBus::sampleRate):
(WebCore::AudioBus::setSampleRate):
(WebCore::AudioBus::setGain):
(WebCore::AudioBus::gain):
(WebCore::AudioBus::reset):
(WebCore::AudioBus::AudioBus):
* platform/audio/AudioSourceProvider.h: Added.
(WebCore::AudioSourceProvider::~AudioSourceProvider):
2010-09-03 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add Panner files
https://bugs.webkit.org/show_bug.cgi?id=45076
No new tests since audio API is not yet implemented.
* platform/audio/Panner.cpp: Added.
(WebCore::Panner::create):
* platform/audio/Panner.h: Added.
(WebCore::Panner::~Panner):
(WebCore::Panner::panningModel):
(WebCore::Panner::Panner):
2010-09-03 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add AudioListener files
https://bugs.webkit.org/show_bug.cgi?id=45006
No new tests since audio API is not yet implemented.
* webaudio: Added.
* webaudio/AudioListener.cpp: Added.
(WebCore::AudioListener::AudioListener):
* webaudio/AudioListener.h: Added.
(WebCore::AudioListener::create):
(WebCore::AudioListener::setPosition):
(WebCore::AudioListener::position):
(WebCore::AudioListener::setOrientation):
(WebCore::AudioListener::orientation):
(WebCore::AudioListener::setUpVector):
(WebCore::AudioListener::upVector):
(WebCore::AudioListener::setVelocity):
(WebCore::AudioListener::velocity):
(WebCore::AudioListener::setDopplerFactor):
(WebCore::AudioListener::dopplerFactor):
(WebCore::AudioListener::setSpeedOfSound):
(WebCore::AudioListener::speedOfSound):
* webaudio/AudioListener.idl: Added.
2010-09-03 Chris Rogers <crogers@google.com>
Unreviewed
Add WebCore/webaudio and WebCore/platform/audio/mac directories in preparation for landing reviewed patches
https://bugs.webkit.org/show_bug.cgi?id=45185
* platform/audio/mac: Added.
* webaudio: Added.
2010-09-03 James Robinson <jamesr@chromium.org>
Reviewed by Chris Marrin.
Multiple accelerated 2D canvases should be able to use the same GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=44926
This allows many accelerated 2d canvases to render using a single underlying GraphicsContext3D.
It introduces a new class SharedGraphicsContext3D that manages several callers. This class could
also cache the current state to avoid issuing redundant calls, although in this first cut it doesn't.
The SharedGraphicsContext3D is provided through the ChromeClient so that its lifetime can be tied to that
of the platform-specific compositor infrastructure.
Accelerated 2d canvases maintain a reference to a SharedGraphicsContext3D and have ownership of a CanvasFramebuffer,
which represents the canvas's rendering target. The compositing layer for an accelerated 2d canvas is
aware only of the canvas's CanvasFramebuffer. This means that WebGL and 2d canvases are no longer treated
as the same time of layer by the compositor.
Covered by existing canvas tests.
* WebCore.gypi:
* html/canvas/CanvasRenderingContext.cpp:
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
(WebCore::CanvasRenderingContext::platformLayer):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
(WebCore::CanvasRenderingContext2D::reset):
(WebCore::CanvasRenderingContext2D::didDraw):
(WebCore::CanvasRenderingContext2D::platformLayer):
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::graphicsContext3D):
(WebCore::WebGLRenderingContext::platformLayer):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::attachRootGraphicsLayer):
(WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization):
(WebCore::EmptyChromeClient::scheduleCompositingLayerSync):
* page/ChromeClient.h:
(WebCore::ChromeClient::getSharedGraphicsContext3D):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setSharedGraphicsContext3D):
(WebCore::GraphicsContext::syncSoftwareCanvas):
* platform/graphics/GraphicsContext.h:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp: Added.
(WebCore::Canvas2DLayerChromium::create):
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
(WebCore::Canvas2DLayerChromium::updateContents):
(WebCore::Canvas2DLayerChromium::setTextureChanged):
(WebCore::Canvas2DLayerChromium::textureId):
* platform/graphics/chromium/Canvas2DLayerChromium.h: Added.
(WebCore::Canvas2DLayerChromium::drawsContent):
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::CanvasLayerChromium):
(WebCore::CanvasLayerChromium::~CanvasLayerChromium):
(WebCore::CanvasLayerChromium::draw):
* platform/graphics/chromium/CanvasLayerChromium.h:
* platform/graphics/chromium/DrawingBufferChromium.cpp: Added.
(WebCore::generateColorTexture):
(WebCore::DrawingBuffer::DrawingBuffer):
(WebCore::DrawingBuffer::~DrawingBuffer):
(WebCore::DrawingBuffer::publishToPlatformLayer):
(WebCore::DrawingBuffer::reset):
(WebCore::DrawingBuffer::platformLayer):
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::GLES2Canvas):
(WebCore::GLES2Canvas::~GLES2Canvas):
(WebCore::GLES2Canvas::bindFramebuffer):
(WebCore::GLES2Canvas::clearRect):
(WebCore::GLES2Canvas::fillRect):
(WebCore::GLES2Canvas::drawTexturedRect):
(WebCore::GLES2Canvas::drawTexturedRectTile):
(WebCore::GLES2Canvas::drawQuad):
(WebCore::GLES2Canvas::createTexture):
(WebCore::GLES2Canvas::getTexture):
* platform/graphics/chromium/GLES2Canvas.h:
(WebCore::GLES2Canvas::context):
(WebCore::GLES2Canvas::drawingBuffer):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
(WebCore::WebGLLayerChromium::create):
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
(WebCore::WebGLLayerChromium::updateContents):
(WebCore::WebGLLayerChromium::setContext):
* platform/graphics/chromium/WebGLLayerChromium.h: Added.
(WebCore::WebGLLayerChromium::drawsContent):
* platform/graphics/gpu/DrawingBuffer.cpp: Added.
(WebCore::DrawingBuffer::create):
(WebCore::DrawingBuffer::bind):
(WebCore::DrawingBuffer::setWillPublishCallback):
* platform/graphics/gpu/DrawingBuffer.h: Added.
(WebCore::DrawingBuffer::size):
* platform/graphics/gpu/SharedGraphicsContext3D.cpp: Added.
(WebCore::SharedGraphicsContext3D::create):
(WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
(WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
(WebCore::SharedGraphicsContext3D::makeContextCurrent):
(WebCore::SharedGraphicsContext3D::scissor):
(WebCore::SharedGraphicsContext3D::enable):
(WebCore::SharedGraphicsContext3D::disable):
(WebCore::SharedGraphicsContext3D::clearColor):
(WebCore::SharedGraphicsContext3D::clear):
(WebCore::SharedGraphicsContext3D::drawArrays):
(WebCore::SharedGraphicsContext3D::getError):
(WebCore::SharedGraphicsContext3D::getIntegerv):
(WebCore::SharedGraphicsContext3D::createFramebuffer):
(WebCore::SharedGraphicsContext3D::createTexture):
(WebCore::SharedGraphicsContext3D::deleteFramebuffer):
(WebCore::SharedGraphicsContext3D::deleteTexture):
(WebCore::SharedGraphicsContext3D::framebufferTexture2D):
(WebCore::SharedGraphicsContext3D::texParameteri):
(WebCore::SharedGraphicsContext3D::texImage2D):
(WebCore::SharedGraphicsContext3D::texSubImage2D):
(WebCore::SharedGraphicsContext3D::readPixels):
(WebCore::SharedGraphicsContext3D::supportsBGRA):
(WebCore::SharedGraphicsContext3D::getTexture):
(WebCore::SharedGraphicsContext3D::applyCompositeOperator):
(WebCore::SharedGraphicsContext3D::useQuadVertices):
(WebCore::SharedGraphicsContext3D::setActiveTexture):
(WebCore::SharedGraphicsContext3D::bindTexture):
(WebCore::SharedGraphicsContext3D::useFillSolidProgram):
(WebCore::SharedGraphicsContext3D::useTextureProgram):
(WebCore::SharedGraphicsContext3D::bindFramebuffer):
(WebCore::SharedGraphicsContext3D::setViewport):
(WebCore::SharedGraphicsContext3D::paintsIntoCanvasBuffer):
* platform/graphics/gpu/SharedGraphicsContext3D.h: Added.
* platform/graphics/gpu/Texture.cpp:
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::syncSoftwareCanvas):
(WebCore::GraphicsContext::setSharedGraphicsContext3D):
* platform/graphics/skia/ImageSkia.cpp:
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::~PlatformContextSkia):
(WebCore::WillPublishCallbackImpl::create):
(WebCore::WillPublishCallbackImpl::willPublish):
(WebCore::WillPublishCallbackImpl::WillPublishCallbackImpl):
(WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
(WebCore::PlatformContextSkia::readbackHardwareToSoftware):
* platform/graphics/skia/PlatformContextSkia.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2010-09-03 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add audio distance effect files
https://bugs.webkit.org/show_bug.cgi?id=44705
No new tests since audio API is not yet implemented.
* platform/audio/Distance.cpp: Added.
(WebCore::DistanceEffect::DistanceEffect):
(WebCore::DistanceEffect::gain):
(WebCore::DistanceEffect::linearGain):
(WebCore::DistanceEffect::inverseGain):
(WebCore::DistanceEffect::exponentialGain):
* platform/audio/Distance.h: Added.
(WebCore::DistanceEffect::model):
(WebCore::DistanceEffect::setModel):
(WebCore::DistanceEffect::setRefDistance):
(WebCore::DistanceEffect::setMaxDistance):
(WebCore::DistanceEffect::setRolloffFactor):
(WebCore::DistanceEffect::refDistance):
(WebCore::DistanceEffect::maxDistance):
(WebCore::DistanceEffect::rolloffFactor):
2010-09-03 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
Save the gesture state to track the user gesture state across async form submission.
https://bugs.webkit.org/show_bug.cgi?id=44969
fast/events/popup-blocked-to-post-blank.html can cover the test in WebKit.
A UI test will be added in chromium to address chromium's bug.
* loader/RedirectScheduler.cpp:
(WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
(WebCore::ScheduledFormSubmission::fire):
(WebCore::RedirectScheduler::scheduleFormSubmission):
2010-09-03 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
https://bugs.webkit.org/show_bug.cgi?id=45182
Test: fast/text/decomposed-after-stacked-diacritics.html
* platform/graphics/Font.cpp:
(WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
it may also contain characters that require the complex text code path.
2010-09-03 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Cleanup after r66117 - extract heap snapshot
view styles into a dedicated .css
https://bugs.webkit.org/show_bug.cgi?id=45178
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/heapProfiler.css: Added.
(.heap-snapshot-sidebar-tree-item .icon):
(.heap-snapshot-sidebar-tree-item.small .icon):
(.heap-snapshot-view):
(.heap-snapshot-view.visible):
(.heap-snapshot-view .data-grid):
(.heap-snapshot-view .data-grid th.count-column):
(.heap-snapshot-view .data-grid td.count-column):
(.heap-snapshot-view .data-grid th.size-column):
(.heap-snapshot-view .data-grid td.size-column):
(.heap-snapshot-view .data-grid th.countDelta-column):
(.heap-snapshot-view .data-grid td.countDelta-column):
(.heap-snapshot-view .data-grid th.sizeDelta-column):
(.heap-snapshot-view .data-grid td.sizeDelta-column):
(#heap-snapshot-summary-container):
(.heap-snapshot-summary):
(.heap-snapshot-summary canvas.summary-graph):
(.heap-snapshot-summary-label):
* inspector/front-end/inspector.css:
* inspector/front-end/inspector.html:
2010-09-03 Zaheer Ahmad <zaheer.mot@gmail.com>
Reviewed by Darin Adler.
[GTK] compilation issue with JSTimeRanges when video turned off
https://bugs.webkit.org/show_bug.cgi?id=44249
Move the JSTimeRanges outside ENABLE_VIDEO in GNUMakefile.am
* WebCore/GNUMakefile.am
2010-09-03 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value.
The current implementation of the inspector api has some unnecessary complexity.
As example WebInspector is requesting child nodes of a node by getChildNodes
but DOM agent is actually pushing the child nodes via setChildNodes event call and
send back an empty response message.
https://bugs.webkit.org/show_bug.cgi?id=45172
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getChildNodesArray):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::getChildNodes):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
(WebInspector.DOMAgent.prototype.getChildNodesAsync):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkersSidebarPane.prototype.reset):
2010-09-03 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVG atlas map slider doesn't work properly
https://bugs.webkit.org/show_bug.cgi?id=45107
SVG 1.1 2nd edition relaxes hit testing rules. The outermost <svg> should react
to mouse events, in standalone and compound documents, if the mouse location is
within the intrinsic boundaries of the <svg> element.
Tests: svg/custom/mouse-move-on-svg-container-standalone.svg
svg/custom/mouse-move-on-svg-container.xhtml
svg/custom/mouse-move-on-svg-root-standalone.svg
svg/custom/mouse-move-on-svg-root.xhtml
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::nodeAtPoint):
2010-09-03 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: provide more information to front-end when breaking on DOM event
https://bugs.webkit.org/show_bug.cgi?id=44679
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
(WebCore::notifyChildInserted):
(WebCore::dispatchChildRemovalEvents):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::removeAttribute):
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willInsertDOMNodeImpl):
(WebCore::InspectorController::didInsertDOMNodeImpl):
(WebCore::InspectorController::willRemoveDOMNodeImpl):
(WebCore::InspectorController::didRemoveDOMNodeImpl):
(WebCore::InspectorController::willModifyDOMAttrImpl):
(WebCore::InspectorController::didModifyDOMAttrImpl):
* inspector/InspectorController.h:
(WebCore::InspectorController::willInsertDOMNode):
(WebCore::InspectorController::didInsertDOMNode):
(WebCore::InspectorController::willRemoveDOMNode):
(WebCore::InspectorController::willModifyDOMAttr):
(WebCore::InspectorController::didModifyDOMAttr):
(WebCore::InspectorController::inspectorControllerForNode):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::~InspectorDOMAgent):
(WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
(WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
(WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
(WebCore::InspectorDOMAgent::createBreakpoint):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::breakProgram):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorValues.h:
(WebCore::InspectorValue::isNull):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointItem):
(WebInspector.BreakpointItem.prototype._enableChanged):
* inspector/front-end/Script.js:
(WebInspector.Script.prototype.get linesCount):
* inspector/front-end/inspector.js:
(WebInspector.pausedScript):
2010-08-31 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
IDBCursor.continue() should reuse the .openCursor's IDBRequest object
https://bugs.webkit.org/show_bug.cgi?id=44953
This is to match the spec. This requires a modification to IDBRequest so
that multiple events can be queued up.
Note that the initial state for IDBRequest was removed from the spec.
Test: modified existing test to verify new behavior.
* storage/IDBAny.cpp:
(WebCore::IDBAny::createInvalid):
(WebCore::IDBAny::createNull):
(WebCore::IDBAny::setNull):
* storage/IDBAny.h:
(WebCore::IDBAny::create):
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::IDBCursor):
(WebCore::IDBCursor::continueFunction):
* storage/IDBCursor.h:
(WebCore::IDBCursor::create):
* storage/IDBCursor.idl:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::~IDBRequest):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::timerFired):
(WebCore::IDBRequest::scheduleEvent):
* storage/IDBRequest.h:
* storage/IDBRequest.idl:
2010-09-03 Bharathwaaj Srinivasan <bharathwaaj.s@gmail.com>
Reviewed by Xan Lopez.
Initialize keyboard events before passing plugins.
https://bugs.webkit.org/show_bug.cgi?id=44771
No new tests needed since this is a trivial fix.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::handleKeyboardEvent):
2010-09-03 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix Qt compilation.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
2010-09-03 Hironori Bono <hbono@chromium.org>
Reviewed by Kent Tamura.
Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
and implements it for Mac.
https://bugs.webkit.org/show_bug.cgi?id=41832
Tests: editing/spelling/spelling-contenteditable.html
editing/spelling/spelling-textarea.html
* WebCore.exp.in: Exported symbols used by [WebFrame hasSpellingMarker:length:].
2010-09-02 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
https://bugs.webkit.org/show_bug.cgi?id=44230
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::close):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
that frontend closes if InspectorController triggered the action.
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
* inspector/front-end/inspector.js:
(WebInspector.disconnectFromBackend):
2010-09-03 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed-by Simon Hausmann.
Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient.
Instead, pass a X Pixmap that has same depth as the screen depth since graphics
operations are optimized for this depth.
https://bugs.webkit.org/show_bug.cgi?id=45167
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):
2010-09-02 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
Add ENABLE(DATABASE) guard to DatabaseAuthorizer.cpp
https://bugs.webkit.org/show_bug.cgi?id=45152
DatabaseAuthorizer is used only with ENABLE(DATABASE).
* storage/DatabaseAuthorizer.cpp:
2010-09-02 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: persist DOM breakpoints between page reloads
https://bugs.webkit.org/show_bug.cgi?id=44837
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.DOMBreakpointItem):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.path):
(WebInspector.DOMNode.prototype.setBreakpoint):
(WebInspector.DOMNode.prototype.hasBreakpoint):
(WebInspector.DOMNode.prototype.removeBreakpoint):
(WebInspector.DOMNode.prototype.removeBreakpoints):
(WebInspector.DOMAgent.prototype._setDocument):
(WebInspector.DOMAgent.prototype._childNodeRemoved):
(WebInspector.DOMAgent.prototype._removeBreakpoints):
(WebInspector.DOMBreakpointManager):
(WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
(WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
(WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
(WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints.restoreBreakpointsForNode):
(WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints):
(WebInspector.DOMBreakpoint):
(WebInspector.DOMBreakpoint.prototype.get nodeId):
(WebInspector.DOMBreakpoint.prototype.get type):
(WebInspector.DOMBreakpoint.prototype.set enabled):
(WebInspector.DOMBreakpoint.prototype.remove):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.reset):
(WebInspector.ElementsPanel.prototype.setDocument):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
2010-09-02 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Move updateWidget into FrameView from RenderEmbeddedObject
https://bugs.webkit.org/show_bug.cgi?id=45065
I also made updateWidget() virtual on HTMLPlugInImageElement.
I'm not yet sure that updateWidget belongs on HTMLElement since
I'm not sure that HTMLMediaElement's use of the updateWidget
infrastructure is correct.
I also got rid of the strange !m_replacementText.isEmpty() checks
by making a pluginCrashedOrWasMissing() call which seems to embody
the idea behind that check and hides the screwy details.
I noticed a couple methods on HTMLPlugInImageElement were public
which did not need to be. Fixed.
No functional change, thus no tests.
* html/HTMLEmbedElement.h:
* html/HTMLObjectElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
* html/HTMLPlugInImageElement.h:
(WebCore::HTMLPlugInImageElement::serviceType):
(WebCore::HTMLPlugInImageElement::url):
* page/FrameView.cpp:
(WebCore::FrameView::updateWidget):
(WebCore::FrameView::updateWidgets):
* page/FrameView.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::pluginCrashedOrWasMissing):
(WebCore::RenderEmbeddedObject::paint):
(WebCore::RenderEmbeddedObject::paintReplaced):
* rendering/RenderEmbeddedObject.h:
2010-09-02 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Move updateWidget implementations into the DOM
https://bugs.webkit.org/show_bug.cgi?id=45058
Unfortunately it's not yet possible to share an updateWidget
implementation between <embed> and <object>. That would amount to
(positive) functional changes for <embed> which I'd will separate
into a later patch. I will also have to untangle <object>'s <param>
walk from its url/serviceType calculations.
However after this patch it's slap-you-across-the-face obvious that
RenderEmbeddedObject::updateWidget was the wrong place for this code.
RenderEmbeddedObject::updateWidget still exists, but only as a
pseudo-virtual-method dispatcher. Unless we add updateWidget() to
HTMLElement, we won't be able to use real virtual dispatch.
I may need to consider making "having a widget" a has-a relationship
with some sort of WidgetContainer object which Media and Plugin can
share. Or its also possible that Media's use of the widget code here
is just wrong. Certainly now that updateWidget was moved into HTMLMediaElement
it becomes obvious that HTMLMediaElement has duplicate code for updating widgets.
No functional changes, thus no tests.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLEmbedElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateWidget):
* html/HTMLMediaElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget):
* html/HTMLObjectElement.h:
(WebCore::HTMLObjectElement::useFallbackContent):
* html/HTMLPlugInImageElement.h:
(WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
(WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
* loader/FrameLoader.cpp:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::updateWidget):
2010-09-02 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Move more code from RenderEmbeddedObject into the DOM
https://bugs.webkit.org/show_bug.cgi?id=45055
No logic changes here, just taking the code which
I ripped out of RenderEmbeddedObject::updateWidget
into static methods before and moving it into
the applicable DOM classes.
HTMLObjectElement::parametersForPlugin does too much
but in order to fix it I may need to add a PluginParameters
class so we can ask things about the parameters. <object>
needs to get multiple bits of information out of its parameters
array. Right now it does it all in one walk. In order to share
code with HTMLEmbedElement, we need the "generate the params array"
code to be separate from the "make advanced <object> specific decision
from the params array". But that will need to be in a later patch.
No functional changes, thus no tests.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
* html/HTMLEmbedElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::createClassIdToTypeMap):
(WebCore::serviceTypeForClassId):
(WebCore::mapDataParamToSrc):
(WebCore::HTMLObjectElement::parametersForPlugin):
(WebCore::HTMLObjectElement::hasFallbackContent):
* html/HTMLObjectElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
(WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
(WebCore::HTMLPlugInImageElement::detach):
(WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
(WebCore::HTMLPlugInImageElement::updateWidgetCallback):
* html/HTMLPlugInImageElement.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::updateWidgetForObjectElement):
(WebCore::updateWidgetForEmbedElement):
(WebCore::RenderEmbeddedObject::updateWidget):
2010-09-02 François Sausset <sausset@gmail.com>
Reviewed by Darin Adler.
MathML mo element should render "hyphen-minus" as "minus sign" (Unicode glyph names).
https://bugs.webkit.org/show_bug.cgi?id=43629
Test: mathml/presentation/mo.xhtml
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::updateFromElement):
* mathml/RenderMathMLOperator.h:
(WebCore::convertHyphenMinusToMinusSign):
* platform/text/CharacterNames.h:
2010-09-02 Kenneth Russell <kbr@google.com>
Reviewed by Darin Fisher.
Add red-black tree capable of holding plain old data (POD)
https://bugs.webkit.org/show_bug.cgi?id=45059
Adding an augmentable red-black tree capable of holding Plain Old
Data (POD), or classes bottoming out into only POD, and an
associated PODArena. Note that the PODArena will be used by other
classes to allocate temporary structures, which is why it is not
just an implementation detail of the red-black tree.
These classes are being placed under WebCore/platform/graphics/gpu
for the time being. If they are generalized to hold even data
types which internally perform dynamic memory allocation, we may
consider moving them to WTF in the future.
Unit tests for the PODRedBlackTree will be integrated separately
under bug 45060.
* WebCore.gypi:
* platform/graphics/gpu/PODArena.h: Added.
(WebCore::PODArena::Allocator::~Allocator):
(WebCore::PODArena::FastMallocAllocator::create):
(WebCore::PODArena::FastMallocAllocator::allocate):
(WebCore::PODArena::FastMallocAllocator::free):
(WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
(WebCore::PODArena::create):
(WebCore::PODArena::allocateObject):
(WebCore::PODArena::~PODArena):
(WebCore::PODArena::PODArena):
(WebCore::PODArena::minAlignment):
(WebCore::PODArena::roundUp):
(WebCore::PODArena::Chunk::Chunk):
(WebCore::PODArena::Chunk::~Chunk):
(WebCore::PODArena::Chunk::allocate):
* platform/graphics/gpu/PODRedBlackTree.h: Added.
(WebCore::PODRedBlackTree::Visitor::~Visitor):
(WebCore::PODRedBlackTree::PODRedBlackTree):
(WebCore::PODRedBlackTree::~PODRedBlackTree):
(WebCore::PODRedBlackTree::add):
(WebCore::PODRedBlackTree::remove):
(WebCore::PODRedBlackTree::contains):
(WebCore::PODRedBlackTree::visitInorder):
(WebCore::PODRedBlackTree::size):
(WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
(WebCore::PODRedBlackTree::checkInvariants):
(WebCore::PODRedBlackTree::dump):
(WebCore::PODRedBlackTree::setVerboseDebugging):
(WebCore::PODRedBlackTree::Node::Node):
(WebCore::PODRedBlackTree::Node::~Node):
(WebCore::PODRedBlackTree::Node::color):
(WebCore::PODRedBlackTree::Node::setColor):
(WebCore::PODRedBlackTree::Node::data):
(WebCore::PODRedBlackTree::Node::copyFrom):
(WebCore::PODRedBlackTree::Node::left):
(WebCore::PODRedBlackTree::Node::setLeft):
(WebCore::PODRedBlackTree::Node::right):
(WebCore::PODRedBlackTree::Node::setRight):
(WebCore::PODRedBlackTree::Node::parent):
(WebCore::PODRedBlackTree::Node::setParent):
(WebCore::PODRedBlackTree::root):
(WebCore::PODRedBlackTree::updateNode):
(WebCore::PODRedBlackTree::treeSearch):
(WebCore::PODRedBlackTree::treeSearchNormal):
(WebCore::PODRedBlackTree::treeSearchFullComparisons):
(WebCore::PODRedBlackTree::treeInsert):
(WebCore::PODRedBlackTree::treeSuccessor):
(WebCore::PODRedBlackTree::treeMinimum):
(WebCore::PODRedBlackTree::propagateUpdates):
(WebCore::PODRedBlackTree::leftRotate):
(WebCore::PODRedBlackTree::rightRotate):
(WebCore::PODRedBlackTree::insertNode):
(WebCore::PODRedBlackTree::deleteFixup):
(WebCore::PODRedBlackTree::deleteNode):
(WebCore::PODRedBlackTree::visitInorderImpl):
(WebCore::PODRedBlackTree::Counter::Counter):
(WebCore::PODRedBlackTree::Counter::visit):
(WebCore::PODRedBlackTree::Counter::count):
(WebCore::PODRedBlackTree::checkInvariantsFromNode):
(WebCore::PODRedBlackTree::logIfVerbose):
(WebCore::PODRedBlackTree::dumpFromNode):
2010-09-02 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Martin Robinson.
[Cairo] Remove glib dependency (caused by use of GOwnPtr)
https://bugs.webkit.org/show_bug.cgi?id=45053
Use OwnPtr instead of GOwnPtr to keep track of Fc* references
in FontCacheCairo.cpp.
No features added, so no new tests.
* CMakeListsEfl.txt: Updating build system to look for GOwnPtrCairo.*
* GNUmakefile.am: Ditto.
* platform/graphics/cairo/FontCacheCairo.cpp: Using OwnPtr instead of GOwnPtr.
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/cairo/GOwnPtrCairo.cpp: Removed.
* platform/graphics/cairo/GOwnPtrCairo.h: Removed.
* platform/graphics/cairo/OwnPtrCairo.cpp: Added.
(WTF::FcPattern):
(WTF::FcObjectSet):
(WTF::FcFontSet):
* platform/graphics/cairo/OwnPtrCairo.h: Added.
2010-09-02 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed, updating binding-tests expectations (for changeset 66521).
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::stringAttrAttrSetter):
(WebCore::TestObjInternal::reflectedStringAttrAttrSetter):
(WebCore::TestObjInternal::reflectedURLAttrAttrSetter):
(WebCore::TestObjInternal::reflectedNonEmptyURLAttrAttrSetter):
(WebCore::TestObjInternal::reflectedCustomURLAttrAttrSetter):
(WebCore::TestObjInternal::reflectedCustomNonEmptyURLAttrAttrSetter):
(WebCore::TestObjInternal::stringAttrWithGetterExceptionAttrSetter):
(WebCore::TestObjInternal::stringAttrWithSetterExceptionAttrSetter):
2010-09-02 Adam Langley <agl@chromium.org>
Reviewed by Adam Barth.
[chromium] fix memory corruption in Khmer rendering.
https://bugs.webkit.org/show_bug.cgi?id=44960
Test: fast/text/khmer-crash.html
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::shapeGlyphs):
The Khmer shaper has a bug where it would request larger output
buffers, but request a zero increase in size. Because of this we add
one to the requested size.
(WebCore::TextRunWalker::setGlyphXPositions):
The Khmer shaper is outputing cluster logs which suggest that some
output glyphs appear from nowhere (i.e. have no input codepoints). I
don't know Khmer, so maybe that's correct, but it broke the
assumptions of this code, causing a read out-of-bounds.
* platform/graphics/chromium/HarfbuzzSkia.cpp:
(WebCore::stringToGlyphs):
The Harfbuzz interfaces aren't documented, but it appears that the
output array to stringToGlyphs isn't sized and that Harfbuzz expects
us to detect when the input is too long.
2010-09-02 Adam Roben <aroben@apple.com>
Fill the scroll corner with white when shouldPaintCustomScrollbars is
false
Previously we were only filling with white when
shouldPaintCustomScrollbars was true but the ChromeClient didn't paint
any custom scrollbars.
Reviewed by Sam Weinig.
* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::paintScrollCorner):
2010-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66671.
http://trac.webkit.org/changeset/66671
https://bugs.webkit.org/show_bug.cgi?id=45115
http/tests/misc/redirect-to-about-blank.html is failing on
several platforms (Requested by japhet on #webkit).
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::updateURLForPushOrReplaceState):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::iconURL):
(WebCore::FrameLoader::didOpenURL):
(WebCore::FrameLoader::didExplicitOpen):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::setURL):
(WebCore::FrameLoader::startIconLoader):
(WebCore::FrameLoader::commitIconURLToIconDatabase):
(WebCore::FrameLoader::finishedParsing):
(WebCore::FrameLoader::checkIfDisplayInsecureContent):
(WebCore::FrameLoader::checkIfRunInsecureContent):
(WebCore::FrameLoader::updateFirstPartyForCookies):
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::shouldScrollToAnchor):
* loader/FrameLoader.h:
(WebCore::FrameLoader::url):
2010-09-01 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Roll ANGLE under webkit to r402
https://bugs.webkit.org/show_bug.cgi?id=45004
* platform/graphics/mac/GraphicsContext3DMac.mm: Update the code to use newer ANGLE interface.
(WebCore::GraphicsContext3D::GraphicsContext3D):
2010-09-02 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: Timeline instrumentation code can crash browser.
Steps:
1) load the site
2) open inspector
3) start timeline recording
4) reload inspected page
got NPE
https://bugs.webkit.org/show_bug.cgi?id=45098
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
2010-09-02 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Remove m_URL from FrameLoader and instead depend on Document's url.
FrameLoader::url() will be removed in a later patch.
http://bugs.webkit.org/show_bug.cgi?id=41165
No new tests, since this predominantly a refactor. Updating
fast/dom/early-frame-url.html.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::updateURLForPushOrReplaceState):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::iconURL):
(WebCore::FrameLoader::didOpenURL):
(WebCore::FrameLoader::didExplicitOpen):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::url):
(WebCore::FrameLoader::setOutgoingReferrer):
(WebCore::FrameLoader::startIconLoader):
(WebCore::FrameLoader::commitIconURLToIconDatabase):
(WebCore::FrameLoader::finishedParsing):
(WebCore::FrameLoader::checkIfDisplayInsecureContent):
(WebCore::FrameLoader::checkIfRunInsecureContent):
(WebCore::FrameLoader::updateFirstPartyForCookies):
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::shouldScrollToAnchor):
* loader/FrameLoader.h:
2010-09-01 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Support <script defer> as specified by HTML5
https://bugs.webkit.org/show_bug.cgi?id=40934
Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
fast/dom/HTMLScriptElement/defer-double-write.html
fast/dom/HTMLScriptElement/defer-inline-script.html
fast/dom/HTMLScriptElement/defer-onbeforeload.html
fast/dom/HTMLScriptElement/defer-script-invalid-url.html
fast/dom/HTMLScriptElement/defer-write.html
fast/dom/HTMLScriptElement/two-defer-writes.html
http/tests/misc/script-defer-after-slow-stylesheet.html
http/tests/misc/script-defer.html
* dom/Document.cpp:
(WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::DocumentParser):
(WebCore::DocumentParser::startParsing):
(WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
(WebCore::DocumentParser::stopParsing):
(WebCore::DocumentParser::detach):
* dom/DocumentParser.h:
(WebCore::DocumentParser::isParsing):
(WebCore::DocumentParser::isActive):
(WebCore::DocumentParser::isStopping):
(WebCore::DocumentParser::isDetached):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::finish):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::append):
(WebCore::XMLDocumentParser::exitText):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::characters):
(WebCore::XMLDocumentParser::error):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::internalSubset):
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::prepareToStopParsing):
(WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::notifyFinished):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::requestDeferredScript):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::finish):
2010-09-02 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: HAR converter fails on POST requests with non-form content type
https://bugs.webkit.org/show_bug.cgi?id=45109
* inspector/front-end/HAREntry.js:
(WebInspector.HAREntry.prototype._buildPostData):
2010-09-02 Andreas Kling <andreas.kling@nokia.com>
Rubber-stamped by Simon Hausmann.
[Qt] REGRESSION(r62898): tst_QWebFrame crashing
https://bugs.webkit.org/show_bug.cgi?id=43039
Rolling out the offending change <http://trac.webkit.org/changeset/62898>
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::markAggregate):
2010-09-02 Anton Muhin <antonm@chromium.org>
Reviewed by Tony Chang.
Fix indentation.
https://bugs.webkit.org/show_bug.cgi?id=44678
* bindings/scripts/CodeGeneratorV8.pm:
2010-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66655.
http://trac.webkit.org/changeset/66655
https://bugs.webkit.org/show_bug.cgi?id=45104
broke some editing tests (Requested by kling on #webkit).
* page/DOMSelection.cpp:
(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::selectAllChildren):
2010-09-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66649.
http://trac.webkit.org/changeset/66649
https://bugs.webkit.org/show_bug.cgi?id=45103
It broke ~2000 tests on Qt bot (Requested by Ossy on #webkit).
* dom/Document.cpp:
(WebCore::Document::open):
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::DocumentParser):
(WebCore::DocumentParser::detach):
* dom/DocumentParser.h:
(WebCore::DocumentParser::isDetached):
(WebCore::DocumentParser::stopParsing):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::finish):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::append):
(WebCore::XMLDocumentParser::exitText):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::characters):
(WebCore::XMLDocumentParser::error):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::internalSubset):
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
(WebCore::XMLDocumentParser::parse):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::notifyFinished):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::finish):
2010-09-02 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Share more code between HTMLObjectElement and HTMLEmbedElement
https://bugs.webkit.org/show_bug.cgi?id=45054
This pushes more of HTMLObjectElement code down into
HTMLPlugInImageElement so that it can be shared with
HTMLEmbedElement.
The most notable changes are:
- HTMLEmbedElement now "delays" updating the widget until
all of its children are parsed (this matches HTMLObjectElement).
However, since HTMLEmbedElement can't have children, this is actually
no delay.
- useFallbackContent is now virtual, allowing HTMLEmbedElement and
HTMLObjectElement to share the same code paths, and the <embed>
case to just always return false for useFallbackContent().
This is the final (fourth) part of this change.
No functional change, thus no tests.
* html/HTMLEmbedElement.cpp:
* html/HTMLEmbedElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::rendererIsNeeded):
* html/HTMLObjectElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::recalcStyle):
(WebCore::HTMLPlugInImageElement::attach):
(WebCore::HTMLPlugInImageElement::detach):
(WebCore::HTMLPlugInImageElement::finishParsingChildren):
* html/HTMLPlugInImageElement.h:
2010-09-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move takeAllChildrenFrom to ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=45066
We're going to reuse this method for XMLDocumentLoader, so it's better
to put it in a more general location.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
* dom/ContainerNode.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
2010-09-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
DOM Selection: collapse() and selectAllChildren() should throw WRONG_DOCUMENT_ERR if node belongs to other document
https://bugs.webkit.org/show_bug.cgi?id=44595
Spec links:
http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapse
http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-selectallchildren
Test: fast/dom/Selection/wrong-document-err.html
* page/DOMSelection.cpp:
(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::selectAllChildren):
2010-09-02 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Share more code between HTMLObjectElement and HTMLEmbedElement
https://bugs.webkit.org/show_bug.cgi?id=45054
This pushes more of HTMLObjectElement code down into
HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
This patch was originally written in one piece and reviewed by Dimitri.
I'm landing it as four separate changes for easier readability and less
chance of regression.
No functional change, thus no tests.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::HTMLEmbedElement):
(WebCore::HTMLEmbedElement::create):
* html/HTMLEmbedElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::HTMLObjectElement):
* html/HTMLObjectElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::detach):
(WebCore::HTMLPlugInImageElement::finishParsingChildren):
* html/HTMLPlugInImageElement.h:
* html/HTMLTagNames.in:
2010-09-02 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Share more code between HTMLObjectElement and HTMLEmbedElement
https://bugs.webkit.org/show_bug.cgi?id=45054
This pushes more of HTMLObjectElement code down into
HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
since HTMLAppletElement does not need to share this same widget update logic.
This is a small correction from the previous change.
This patch was originally written in one piece and reviewed by Dimitri.
I'm landing it as three separate changes for easier readability and less
chance of regression.
No functional change, thus no tests.
* html/HTMLEmbedElement.cpp:
* html/HTMLEmbedElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::attach):
(WebCore::HTMLObjectElement::finishParsingChildren):
(WebCore::HTMLObjectElement::detach):
(WebCore::HTMLObjectElement::recalcStyle):
(WebCore::HTMLObjectElement::childrenChanged):
(WebCore::HTMLObjectElement::renderFallbackContent):
* html/HTMLObjectElement.h:
(WebCore::HTMLObjectElement::useFallbackContent):
* html/HTMLPlugInElement.cpp:
* html/HTMLPlugInElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::createRenderer):
(WebCore::HTMLPlugInImageElement::updateWidget):
(WebCore::HTMLPlugInImageElement::updateWidgetCallback):
* html/HTMLPlugInImageElement.h:
(WebCore::HTMLPlugInImageElement::canLazyAttach):
(WebCore::HTMLPlugInImageElement::useFallbackContent):
2010-09-02 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
WebKit should not accept PDFs as video.
https://bugs.webkit.org/show_bug.cgi?id=45013
The code in MediaPlayerPrivate::createQTMovie has been re-arranged.
First, the component disabling is done only once. In 64-bit QTKit will
store the list of disabled components and disable them once QTKitServer
starts, so there is no need to disable them repeatedly. However,
because of a bug in 64-bit QTKit, additional requests of the exact same
component description will be ignored if QTKitServer is not yet running.
To work around this, we must provide the exact component flags for each
eat/PDF and grip/PDF component we wish to disable.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::disableComponentsOnce): Added.
(WebCore::MediaPlayerPrivate::createQTMovie): Moved the component
disabling code into disableComponentsOnce.
2010-09-02 Philippe Normand <pnormand@igalia.com>
Unreviewed, GTK build fix.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen):
2010-09-02 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Share more code between HTMLObjectElement and HTMLEmbedElement
https://bugs.webkit.org/show_bug.cgi?id=45054
This pushes more of HTMLObjectElement code down into
HTMLPlugInImageElement so that it can be shared with HTMLEmbedElement.
I also moved a little code from HTMLPluginElement to HTMLPlugInImageElement
since HTMLAppletElement does not need to share this same widget update logic.
This is a small correction from the previous change.
This patch was originally written in one piece and reviewed by Dimitri.
I'm landing it as two separate changes for easier readability and less
chance of regression.
No functional change, thus no tests.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::HTMLEmbedElement):
(WebCore::HTMLEmbedElement::mapToEntry):
(WebCore::HTMLEmbedElement::parseMappedAttribute):
(WebCore::HTMLEmbedElement::rendererIsNeeded):
(WebCore::HTMLEmbedElement::attach):
(WebCore::HTMLEmbedElement::updateWidget):
(WebCore::HTMLEmbedElement::insertedIntoDocument):
(WebCore::HTMLEmbedElement::removedFromDocument):
(WebCore::HTMLEmbedElement::attributeChanged):
* html/HTMLEmbedElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::HTMLObjectElement):
(WebCore::HTMLObjectElement::parseMappedAttribute):
(WebCore::HTMLObjectElement::rendererIsNeeded):
(WebCore::HTMLObjectElement::attach):
(WebCore::HTMLObjectElement::updateWidget):
(WebCore::HTMLObjectElement::finishParsingChildren):
(WebCore::HTMLObjectElement::detach):
(WebCore::HTMLObjectElement::insertedIntoDocument):
(WebCore::HTMLObjectElement::removedFromDocument):
(WebCore::HTMLObjectElement::recalcStyle):
(WebCore::HTMLObjectElement::childrenChanged):
(WebCore::HTMLObjectElement::renderFallbackContent):
* html/HTMLObjectElement.h:
* html/HTMLPlugInElement.cpp:
* html/HTMLPlugInElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::renderEmbeddedObject):
* html/HTMLPlugInImageElement.h:
(WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
(WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestObject):
(WebCore::SubframeLoader::loadPlugin):
* loader/SubframeLoader.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::updateWidgetForObjectElement):
(WebCore::updateWidgetForEmbedElement):
2010-09-02 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Support <script defer> as specified by HTML5
https://bugs.webkit.org/show_bug.cgi?id=40934
Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
fast/dom/HTMLScriptElement/defer-double-write.html
fast/dom/HTMLScriptElement/defer-inline-script.html
fast/dom/HTMLScriptElement/defer-onbeforeload.html
fast/dom/HTMLScriptElement/defer-script-invalid-url.html
fast/dom/HTMLScriptElement/defer-write.html
fast/dom/HTMLScriptElement/two-defer-writes.html
http/tests/misc/script-defer-after-slow-stylesheet.html
http/tests/misc/script-defer.html
* dom/Document.cpp:
(WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts.
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::DocumentParser):
(WebCore::DocumentParser::startParsing):
(WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping.
(WebCore::DocumentParser::stopParsing):
(WebCore::DocumentParser::detach):
* dom/DocumentParser.h:
(WebCore::DocumentParser::isParsing):
(WebCore::DocumentParser::isActive):
(WebCore::DocumentParser::isStopping):
(WebCore::DocumentParser::isDetached):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::finish):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::append):
(WebCore::XMLDocumentParser::exitText):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::characters):
(WebCore::XMLDocumentParser::error):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::internalSubset):
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::prepareToStopParsing):
(WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::notifyFinished):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::requestDeferredScript):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::finish):
2010-09-02 Ilya Sherman <isherman@google.com>
Reviewed by Eric Seidel.
Decompose computing an element's inherited language, expose this
capability to clients (in particular, for Chromium).
https://bugs.webkit.org/show_bug.cgi?id=44803
No new tests -- just refactoring + exposing code.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
* dom/Element.cpp:
(WebCore::Element::computeInheritedLang):
* dom/Element.h:
2010-08-31 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GStreamer] can't play m4v videos
https://bugs.webkit.org/show_bug.cgi?id=44951
Fixed registration of the m4v media type in the hashtable used by
the player to report if it supports a given media type.
Test: media/media-can-play-mpeg4-video.html
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache):
2010-09-01 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GTK] warning: unused variable "queryResult"
https://bugs.webkit.org/show_bug.cgi?id=44998
Fix the misbehavior introduced in r66573. The gst_element_query()
call needs to be done whatever the GStreamer version used.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen):
2010-09-01 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Add support for autocorrection UI on Mac OS X.
https://bugs.webkit.org/show_bug.cgi?id=44958
<rdar://problem/7326847>
Several new member methods are added to EditorClient for communication
between WebCore and WebKit. A new handler, executeCancelOperation(), is
added to EditorCommand.cpp so that WebCore can intercept the ESC key event
to dismiss autocorrection UI. A new DocumentMarker value, RejectedCorrection,
is added to keep track of the corrections that user has rejected, so that it
will not be suggested again later. The autocorrection is driven by a timer.
Every time the editor inserts a new letter, the timer is reset. If the timer
fires, it means neither has user entered any new letter for current word, nor
has he entered whitespace or punctuation to complete the word. In this case,
we query for autocorrection.
* WebCore.exp.in: Updated
* dom/DocumentMarker.h: Added RejectedCorrection to indicate word on which user
has rejected autocorrection.
* editing/Editor.cpp:
(WebCore::Editor::Editor): Initialize autocorrection timer.
(WebCore::Editor::~Editor): Make sure autocorrection UI is dismissed before
destroying Editor object.
(WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new signature
of markAllMisspellingsAndBadGrammarInRanges().
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Consolidated all
boolean arguments into one bitfield. This improves readability and allows us to
pass in a bit to indicate whether we want to show autocorrection UI. Also added
code to show autocorrection UI if it is necessary.
(WebCore::Editor::markMisspellingsAndBadGrammar): Adopted new signature of
markAllMisspellingsAndBadGrammarInRanges().
(WebCore::Editor::correctionPanelTimerFired): Check to see if we should show
autocorrection UI when user pauses during typing.
(WebCore::Editor::handleRejectedCorrection): Update user dictionary when an autocorrection is rejected.
(WebCore::Editor::startCorrectionPanelTimer): Start autocorrection timer.
(WebCore::Editor::handleCancelOperation): Dismiss autocorrection UI when ESC key is pressed.
* editing/Editor.h: Added autocorrection related member methods and variables.
* editing/EditorCommand.cpp:
(WebCore::executeCancelOperation): Handle ESC key event. Dismiss autocorrection UI.
(WebCore::createCommandMap): Updated for executeCancelOperation().
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping): Reset autocorrection timer after insertion.
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::showCorrectionPanel): Dummy implementation.
(WebCore::EmptyEditorClient::dismissCorrectionPanel): Ditto
* page/EditorClient.h: Added methods for communication between WebCore and WebKit regarding autocorrection.
* page/Frame.cpp:
(WebCore::Frame::respondToChangedSelection): Remove Replacement marker where we used to only remove Spelling
mark, because whenever we need to remove spelling underline we also should remove autocorrection underline.
* platform/graphics/GraphicsContext.h: Added enum TextCheckingLineStyle to specify the underline
for different type of text checking result. Replaced drawLineForMisspellingOrBadGrammar() with
drawLineForTextChecking(), which allows autocorrection to have different indication from misspelling
and grammatical error.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking): Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking): Ditto
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLineForTextChecking): Ditto
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking): Ditto
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking): Ditto
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking): Ditto
* platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking): Ditto
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking): Ditto
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::drawLineForTextChecking): Ditto
* rendering/InlineTextBox.cpp:
(WebCore::textCheckingLineStyleForMarkerType): Return line style for a given document marker type.
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Replaced drawLineForMisspellingOrBadGrammar() with drawLineForTextChecking().
(WebCore::InlineTextBox::paintDocumentMarkers): Handle new marker value, RejectedCorrection.
2010-09-01 Kinuko Yasuda <kinuko@google.com>
Reviewed by Adam Barth.
[V8] Support readonly Date attribute
https://bugs.webkit.org/show_bug.cgi?id=43943
Adds Date to non_wrapper_types in CodeGeneratorV8.pm.
New tests will be added for Metadata when we add FileSystem implementation.
* bindings/scripts/CodeGeneratorV8.pm:
* fileapi/Metadata.h:
* fileapi/Metadata.idl:
2010-09-01 Mihai Parparita <mihaip@chromium.org>
Reviewed by Chris Marrin.
animations/suspend-resume-animation.html does not pass when accelerated compositing is off
https://bugs.webkit.org/show_bug.cgi?id=45057
Fix incorrect logic when resuming the animation (KeyframeAnimation::startAnimation
and RenderLayerBacking::startAnimation return true when running an accelerated
animation).
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine):
2010-09-01 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
Question mark QuickTime icon when navigating to this MP3 file
https://bugs.webkit.org/show_bug.cgi?id=44846
Do not disable 'tmet' movie tracks, they carry meta data.
No DRT test because I am not sure it is possible to have one of these tracks in
non-streaming movie. I will add a test later if I figure out how to create a movie.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
2010-09-01 Eric Seidel <eric@webkit.org>
Reviewed by Dimitri Glazkov.
Remove rendering types from SubframeLoader and split RenderEmbeddedObject::updateWidget in preparation for moving to DOM
https://bugs.webkit.org/show_bug.cgi?id=45007
This is just moving around code (and attempting to make it more sane).
I also tried to use more specific types where possible.
The SubframeLoader no longer uses any rendering types in its API.
I split RenderEmbeddedObject::updateWidget into a bunch of functions.
It was obvious before, but now super-obvious after the split that these
new functions do not belong in RenderEmbeddedObject. Instead they
need to be moved to their respective DOM classes. I've added FIXMEs
next to each of the functions which should be moved, but I've not moved
any of the logic out of RenderEmbeddedObject.cpp yet in an effort to
keep this patch as simple as possible.
No functional change, thus no tests.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::attach):
(WebCore::HTMLFrameElementBase::width):
(WebCore::HTMLFrameElementBase::height):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::renderPart):
* html/HTMLFrameOwnerElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderWidgetForJSBindings):
(WebCore::HTMLObjectElement::createRenderer):
(WebCore::HTMLObjectElement::updateWidget):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::renderEmbeddedObject):
* html/HTMLPlugInElement.h:
* loader/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestObject):
(WebCore::SubframeLoader::document):
(WebCore::SubframeLoader::loadPlugin):
* loader/SubframeLoader.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::isNetscapePlugin):
(WebCore::hasFallbackContent):
(WebCore::parametersFromObject):
(WebCore::updateWidgetForObjectElement):
(WebCore::parametersFromEmbed):
(WebCore::updateWidgetForEmbedElement):
(WebCore::updateWidgetForMediaElement):
(WebCore::RenderEmbeddedObject::updateWidget):
* rendering/RenderEmbeddedObject.h:
(WebCore::RenderEmbeddedObject::setHasFallbackContent):
* rendering/RenderLayerCompositor.h:
2010-09-01 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Add more FileError and FileException code for FileWriter and FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=45048
Adding SYNTAX_ERR for FileWriter.
http://dev.w3.org/2009/dap/file-system/file-writer.html
Adding INVALID_STATE_ERR, INVALID_MODIFICATION_ERR and QUOTA_EXCEEDED_ERR for FileSystem.
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
Adding NO_MODIFICATION_ALLOWED_ERR (to FileException) for both.
* fileapi/FileError.idl:
* fileapi/FileException.idl:
2010-09-01 Mihai Parparita <mihaip@chromium.org>
Reviewed by Brady Eidson.
popstate event is not fired until document opts in by calling pushstate.
https://bugs.webkit.org/show_bug.cgi?id=41372
Fire popstate even when we don't have a state object when a page is
loaded (for both regular loads and those from the page cache). Also
fire popstate when doing in-document navigation via fragment changes.
This is consistent with both Gecko and recent the HTML5 spec change:
http://html5.org/tools/web-apps-tracker?from=5376&to=5377
Tests: fast/loader/stateobjects/popstate-fires-on-history-traversal.html
fast/loader/stateobjects/popstate-fires-with-page-cache.html
* bindings/js/SerializedScriptValue.cpp:
* bindings/js/SerializedScriptValue.h:
(WebCore::SerializedScriptValue::create):
* bindings/v8/SerializedScriptValue.cpp:
* bindings/v8/SerializedScriptValue.h:
* dom/Document.cpp:
(WebCore::Document::implicitClose):
* dom/Document.h:
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::transitionToCommitted):
* loader/HistoryController.cpp:
(WebCore::HistoryController::pushState):
(WebCore::HistoryController::replaceState):
2010-09-01 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Dimitri Glazkov.
REGRESSION(r66431): WebCore::Editor::selectionStartCSSPropertyValue crashes if no background color is specified
https://bugs.webkit.org/show_bug.cgi?id=45068
The crash was caused by the assumption that every node has an ancestor with some background color,
which was obviously false. Fixed this by adding a null for ancestor.
Test: editing/execCommand/backcolor-crash.html
* editing/Editor.cpp:
(WebCore::Editor::selectionStartCSSPropertyValue):
2010-08-31 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
WebKit should not accept PDFs as video.
https://bugs.webkit.org/show_bug.cgi?id=45013
QuickTime will accept a PDF as the source for a movie, and happily
convert that PDF into a .mov. WebKit should disable the eat and grip
PDF components which allow this.
Test: http/tests/media/pdf-served-as-pdf.html
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovie): Add PDF eat and grip
components to the components which are disabled before opening a
QTMovie.
2010-09-01 Rob Buis <rwlbuis@gmail.com>
Reviewed by Darin Adler.
Support for Percentage Values in border-radius
https://bugs.webkit.org/show_bug.cgi?id=38354
Support percentage values on the border-radius family
of CSS properties.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getBorderRadiusCornerValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseBorderRadius):
* css/CSSPrimitiveValue.cpp:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::ensurePropertyMap):
* platform/Length.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
* rendering/style/BorderData.h:
(WebCore::BorderData::BorderData):
(WebCore::BorderData::hasBorderRadius):
(WebCore::BorderData::topLeft):
(WebCore::BorderData::topRight):
(WebCore::BorderData::bottomLeft):
(WebCore::BorderData::bottomRight):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getBorderRadiiForRect):
(WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::borderTopLeftRadius):
(WebCore::InheritedFlags::borderTopRightRadius):
(WebCore::InheritedFlags::borderBottomLeftRadius):
(WebCore::InheritedFlags::borderBottomRightRadius):
(WebCore::InheritedFlags::setBorderTopLeftRadius):
(WebCore::InheritedFlags::setBorderTopRightRadius):
(WebCore::InheritedFlags::setBorderBottomLeftRadius):
(WebCore::InheritedFlags::setBorderBottomRightRadius):
(WebCore::InheritedFlags::setBorderRadius):
(WebCore::InheritedFlags::initialBorderRadius):
2010-09-01 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: webInspector.inspectedWindow.evaluate() should not fail if not passed callback.
https://bugs.webkit.org/show_bug.cgi?id=45037
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
2010-09-01 Dave Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein and Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=44963, overhanging floats aren't positioned properly when they occur
in multi-column layout. Don't let floats overhang in multi-column blocks, since they are part of the column layout.
fast/multicol/float-pagination-failure now succeeds, so will rename and move it.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverhangingFloats):
2010-08-31 Kenneth Russell <kbr@google.com>
Reviewed by Simon Fraser.
Add helpers to FloatRect to compute bounding box from points
https://bugs.webkit.org/show_bug.cgi?id=45015
Added fitToPoints, including a few overloaded variants for the
cases of two, three and four points. I opted not to add a
generalized version taking const FloatRect* or Vector<FloatRect>
at the present time because for my own purposes they are
unnecessary, and the specific versions can be more tightly coded.
Also added left() and top() for symmetry with right() and bottom().
These changes have been tested with new code to be added later.
* platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::intersect):
(WebCore::FloatRect::unite):
(WebCore::FloatRect::fitToPoints):
* platform/graphics/FloatRect.h:
(WebCore::FloatRect::left):
(WebCore::FloatRect::top):
(WebCore::FloatRect::setLocationAndSizeFromEdges):
2010-09-01 Anton Muhin <antonm@chromium.org>
Reviewed by Dimitri Glazkov.
[v8] Use Vector and DEFINE_STATIC_LOCAL instead of plain static array.
https://bugs.webkit.org/show_bug.cgi?id=45040
By code guidelines all the statics should be wrapped into appropriate macro.
* bindings/v8/V8Binding.cpp:
(WebCore::int32ToWebCoreString):
2010-09-01 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[Gtk] very slow page scrolling on big -webkit-box-shadow areas
https://bugs.webkit.org/show_bug.cgi?id=39582
Add a new drawTiledShadow method to render a big shadow doing
tiling of parts of a smaller shadow. We create the minimum shadow
required to get the tiles we will use to render the real shadow
and we use drawPattern with those tiles to create the shadow.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawPathShadow):
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::applyPlatformShadow):
(WebCore::GraphicsContext::createShadowMask):
(WebCore::getPhase):
(WebCore::GraphicsContext::drawTiledShadow):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw):
2010-09-01 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector, Extension API: Panel.onSelectionChanged event is never fired
Added command line API to the lexical context of code evaluated by webInspector.inspectedWindow.evaluate()
Fixed webInspector.inspectedWindow.evaluate() to return object rather than its stringified representation
https://bugs.webkit.org/show_bug.cgi?id=44957
Test: inspector/extensions-eval.html
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI.InspectedWindow.prototype.evaluate):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2010-08-27 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GStreamer] ImageGStreamer doesn't need to hold a Cairo surface
https://bugs.webkit.org/show_bug.cgi?id=44757
Pass the cairo surface to the BitmapImage constructor which will
handle its life-cycle.
* platform/graphics/gstreamer/ImageGStreamer.h:
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
(ImageGStreamer::ImageGStreamer):
(ImageGStreamer::~ImageGStreamer):
2010-08-30 Patrick Gansterer <paroga@paroga.com>
Reviewed by Dirk Schulze.
RenderImage::imageChanged invalidates wrong area
https://bugs.webkit.org/show_bug.cgi?id=43779
Remove RenderImage inheritance from RenderSVGImage, it now inherits from RenderSVGModelObject.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::RenderSVGImage):
(WebCore::RenderSVGImage::~RenderSVGImage):
(WebCore::RenderSVGImage::layout):
(WebCore::RenderSVGImage::paint):
(WebCore::RenderSVGImage::imageChanged):
* rendering/RenderSVGImage.h:
(WebCore::RenderSVGImage::imageResource):
* rendering/RenderSVGModelObject.h:
* svg/SVGImageElement.cpp:
2010-09-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Add culling to RenderSVGContainer
https://bugs.webkit.org/show_bug.cgi?id=44896
Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.
This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
of any container or <svg> element, just to retrieve the repaint rect.
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout): Propagate boundary changes to parent, if neeeded.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setNeedsBoundariesUpdate): Ditto.
* rendering/RenderObject.h:
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode): Ditto.
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout): Ditto.
(WebCore::RenderPath::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
* rendering/RenderPath.h: Remove styleWillChange(), it's in RenderSVGModelObject now.
(WebCore::RenderPath::setNeedsBoundariesUpdate): Mark as virtual, just like in RenderObject.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::RenderSVGContainer): Initialize m_needsBoundariesUpdate to true.
(WebCore::RenderSVGContainer::layout): Only update cached boundaries, if needed, once by traversing the child tree.
(WebCore::RenderSVGContainer::paint): Use new helper function to intersect the paintInfo.rect with the repaintRectInLocalCoordinates().
(WebCore::RenderSVGContainer::updateCachedBoundaries): Ask children for their boundaries, and cache them.
* rendering/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::setNeedsBoundariesUpdate): Set m_needsBoundariesUpdate when called.
(WebCore::RenderSVGContainer::objectBoundingBox): Inlined, just returns a member variable now.
(WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Ditto.
(WebCore::RenderSVGContainer::calculateLocalTransform): Changed to return a boolean, wheter the transform was modified.
* rendering/RenderSVGGradientStop.h:
(WebCore::RenderSVGGradientStop::strokeBoundingBox): Add missing default implementation, return just FloatRect().
* rendering/RenderSVGHiddenContainer.cpp: Remove repaintRectInLocalCoordinates() override, it's now needed for painting markers.
* rendering/RenderSVGHiddenContainer.h:
(WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): Inlined, returning IntRect().
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout): Propagate boundary changes to parent, if neeeded.
* rendering/RenderSVGRoot.cpp: Cache boundaries here as well, just like in RenderSVGContainer.
(WebCore::RenderSVGRoot::RenderSVGRoot):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::updateCachedBoundaries):
* rendering/RenderSVGRoot.h:
(WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
(WebCore::RenderSVGRoot::setNeedsTransformUpdate):
(WebCore::RenderSVGRoot::objectBoundingBox):
(WebCore::RenderSVGRoot::strokeBoundingBox):
(WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): Propagate boundary changes to parent, if neeeded.
* rendering/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Return true, if the localTransform changed.
* rendering/RenderSVGTransformableContainer.h:
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calcViewport): Propagate boundary changes to parent, if neeeded.
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes): Helper function calculating object/strokeBoundingBox and repaintRectInLocalCoordinates in one shot.
(WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect): Moved from RenderPath to share the culling functionality.
* rendering/SVGRenderSupport.h:
2010-09-01 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] QWebPage::allowGeolocationRequest should be async API
https://bugs.webkit.org/show_bug.cgi?id=41364
Adding GeolocationPermissionClientQt.cpp/h to build script
* WebCore.pro:
2010-09-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
DOM Selection: collapseToStart() and collapseToEnd() should throw INVALID_STATE_ERR if there's no selection
https://bugs.webkit.org/show_bug.cgi?id=44598
Spec links:
http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetostart
http://www.whatwg.org/specs/web-apps/current-work/#dom-selection-collapsetoend
Test: fast/dom/Selection/collapseToX-empty-selection.html
* page/DOMSelection.cpp:
(WebCore::DOMSelection::collapseToEnd):
(WebCore::DOMSelection::collapseToStart):
* page/DOMSelection.h:
* page/DOMSelection.idl:
2010-09-01 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed; another build fix.
* WebCore.pri:
2010-09-01 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed; qt build fix.
* CMakeLists.txt:
2010-08-31 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Adam Barth.
Move FileSystem related files from WebCore/html to WebCore/fileapi.
https://bugs.webkit.org/show_bug.cgi?id=44925
No new tests; there should be no functional changes.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/DOMFilePath.cpp: Renamed from WebCore/storage/DOMFilePath.cpp.
* fileapi/DOMFilePath.h: Renamed from WebCore/storage/DOMFilePath.h.
* fileapi/DOMFileSystem.cpp: Renamed from WebCore/storage/DOMFileSystem.cpp.
* fileapi/DOMFileSystem.h: Renamed from WebCore/storage/DOMFileSystem.h.
* fileapi/DOMFileSystem.idl: Renamed from WebCore/storage/DOMFileSystem.idl.
* fileapi/DirectoryEntry.cpp: Renamed from WebCore/storage/DirectoryEntry.cpp.
* fileapi/DirectoryEntry.h: Renamed from WebCore/storage/DirectoryEntry.h.
* fileapi/DirectoryEntry.idl: Renamed from WebCore/storage/DirectoryEntry.idl.
* fileapi/DirectoryReader.cpp: Renamed from WebCore/storage/DirectoryReader.cpp.
* fileapi/DirectoryReader.h: Renamed from WebCore/storage/DirectoryReader.h.
* fileapi/DirectoryReader.idl: Renamed from WebCore/storage/DirectoryReader.idl.
* fileapi/EntriesCallback.h: Renamed from WebCore/storage/EntriesCallback.h.
* fileapi/EntriesCallback.idl: Renamed from WebCore/storage/EntriesCallback.idl.
* fileapi/Entry.cpp: Renamed from WebCore/storage/Entry.cpp.
* fileapi/Entry.h: Renamed from WebCore/storage/Entry.h.
* fileapi/Entry.idl: Renamed from WebCore/storage/Entry.idl.
* fileapi/EntryArray.cpp: Renamed from WebCore/storage/EntryArray.cpp.
* fileapi/EntryArray.h: Renamed from WebCore/storage/EntryArray.h.
* fileapi/EntryArray.idl: Renamed from WebCore/storage/EntryArray.idl.
* fileapi/EntryCallback.h: Renamed from WebCore/storage/EntryCallback.h.
* fileapi/EntryCallback.idl: Renamed from WebCore/storage/EntryCallback.idl.
* fileapi/ErrorCallback.h: Renamed from WebCore/storage/ErrorCallback.h.
* fileapi/ErrorCallback.idl: Renamed from WebCore/storage/ErrorCallback.idl.
* fileapi/FileEntry.cpp: Renamed from WebCore/storage/FileEntry.cpp.
* fileapi/FileEntry.h: Renamed from WebCore/storage/FileEntry.h.
* fileapi/FileEntry.idl: Renamed from WebCore/storage/FileEntry.idl.
* fileapi/FileSystemCallback.h: Renamed from WebCore/storage/FileSystemCallback.h.
* fileapi/FileSystemCallback.idl: Renamed from WebCore/storage/FileSystemCallback.idl.
* fileapi/FileSystemCallbacks.cpp: Renamed from WebCore/storage/FileSystemCallbacks.cpp.
* fileapi/FileSystemCallbacks.h: Renamed from WebCore/storage/FileSystemCallbacks.h.
* fileapi/Flags.h: Renamed from WebCore/storage/Flags.h.
* fileapi/Flags.idl: Renamed from WebCore/storage/Flags.idl.
* fileapi/LocalFileSystem.cpp: Renamed from WebCore/storage/LocalFileSystem.cpp.
* fileapi/LocalFileSystem.h: Renamed from WebCore/storage/LocalFileSystem.h.
* fileapi/Metadata.h: Renamed from WebCore/storage/Metadata.h.
* fileapi/Metadata.idl: Renamed from WebCore/storage/Metadata.idl.
* fileapi/MetadataCallback.h: Renamed from WebCore/storage/MetadataCallback.h.
* fileapi/MetadataCallback.idl: Renamed from WebCore/storage/MetadataCallback.idl.
2010-08-31 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Prepare RenderSVGContainer culling patch
https://bugs.webkit.org/show_bug.cgi?id=44955
Add styleWillChange methods for all SVG renderers, that call setNeedsBoundariesUpdate().
It's currently a no-op, but will be used once the containers cache their boundaries, which
happens in a follow-up patch.
* rendering/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::styleWillChange): Call setNeedsBoundariesUpdate().
* rendering/RenderSVGBlock.h:
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::styleWillChange): Ditto.
* rendering/RenderSVGImage.h:
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::styleWillChange): Ditto.
* rendering/RenderSVGInline.h:
* rendering/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::styleWillChange): Ditto.
* rendering/RenderSVGModelObject.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::styleWillChange): Ditto.
* rendering/RenderSVGRoot.h:
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBox): Skip hidden containers, not necessary to traverse them.
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff): svg-shadow changes need to cause relayouts, not only repaints, once container bounds are cached.
2010-08-31 Justin Garcia <justin.garcia@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=44915
Need to handle CSSValueAuto in CSSPrimitiveValue::operator ETextAlign()
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map TAAUTO to -webkit-auto. "auto" is
not a valid text-align value. We use TAAUTO internally for the nameless value that acts
as left if direction:ltr and right for direction:rtl.
2010-08-31 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Martin Robinson.
[EFL] Add PlatformVideoWindowEfl.cpp for WebKit EFL
https://bugs.webkit.org/show_bug.cgi?id=44508
Add PlatformVideoWindowEfl.cpp in order to use gstreamer by
WebKit EFL.
* platform/graphics/gstreamer/PlatformVideoWindow.h:
(WebCore::PlatformVideoWindow::window):
(WebCore::PlatformVideoWindow::videoWindowId):
* platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Added.
(PlatformVideoWindow::PlatformVideoWindow):
(PlatformVideoWindow::~PlatformVideoWindow):
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Include <gtk/gtk.h> directly.
2010-08-31 Dave Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
the former can occur in more places without having to do the latter.
* WebCore.exp.in:
* page/FocusController.cpp:
(WebCore::FocusController::setActive):
* page/Frame.cpp:
(WebCore::Frame::Frame):
* page/Frame.h:
* page/FrameView.cpp:
(WebCore::FrameView::enterCompositingMode):
(WebCore::FrameView::layout):
(WebCore::FrameView::needsLayout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
* page/FrameView.h:
* page/Page.cpp:
(WebCore::Page::scheduleForcedStyleRecalcForAllPages):
* page/Page.h:
* page/Settings.cpp:
(WebCore::setNeedsRecalcStyleInAllFrames):
(WebCore::setLoadsImagesAutomaticallyInAllFrames):
(WebCore::Settings::setStandardFontFamily):
(WebCore::Settings::setFixedFontFamily):
(WebCore::Settings::setSerifFontFamily):
(WebCore::Settings::setSansSerifFontFamily):
(WebCore::Settings::setCursiveFontFamily):
(WebCore::Settings::setFantasyFontFamily):
(WebCore::Settings::setMinimumFontSize):
(WebCore::Settings::setMinimumLogicalFontSize):
(WebCore::Settings::setDefaultFontSize):
(WebCore::Settings::setDefaultFixedFontSize):
(WebCore::Settings::setLoadsImagesAutomatically):
(WebCore::Settings::setTextAreasAreResizable):
(WebCore::Settings::setAuthorAndUserStylesEnabled):
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::setZoomMode):
(WebCore::Settings::setAcceleratedCompositingEnabled):
(WebCore::Settings::setShowDebugBorders):
(WebCore::Settings::setShowRepaintCounter):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::platformColorsDidChange):
2010-08-31 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Dimitri Glazkov.
Unfork Chromium's FontPlatformDataChromiumMac.mm.
Modified FontPlatformDataCocoa to provide hooks needed by Chromium.
Moved Chromium's mechanics for OOP font loading to CrossProcessFontLoading.mm.
Added ::create() function to MemoryActivatedFont to match new guidelines for
RefCounted<> classes.
Not possible to test due to sandbox interaction.
* WebCore.gypi: Update files for chromium build.
* platform/graphics/chromium/CrossProcessFontLoading.h: Added.
(WebCore::MemoryActivatedFont::cgFont):
(WebCore::MemoryActivatedFont::atsFontRef):
* platform/graphics/chromium/CrossProcessFontLoading.mm: Added.
(WebCore::MemoryActivatedFont::create):
(WebCore::MemoryActivatedFont::MemoryActivatedFont):
(WebCore::MemoryActivatedFont::~MemoryActivatedFont):
(WebCore::FontPlatformData::loadFont):
* platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Removed.
* platform/graphics/cocoa/FontPlatformData.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::loadFont):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::setFont):
2010-08-31 Martin Robinson <mrobinson@igalia.com>
Reviewed by Adam Barth.
[GTK] warning: unused variable "queryResult"
https://bugs.webkit.org/show_bug.cgi?id=44998
No new tests as functionality has not changed.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen): Move queryResult within the gstreamer
version guards, where it is used.
2010-08-31 Dave Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
Refinement to previous checkin for pagination of block-level replaced elements. Don't bother to
paginate floating block-level replaced elements for now.
Added fast/multicol/float-pagination-failure.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
2010-08-31 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Add LocalFileSystem.requestFileSystem interface to DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=44734
No new tests; tests will be added later.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::fileSystemEnabled):
(WebCore::RuntimeEnabledFeatures::setFileSystemEnabled):
(WebCore::RuntimeEnabledFeatures::requestFileSystemEnabled):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::requestFileSystem):
* page/DOMWindow.h:
(WebCore::DOMWindow::):
* page/DOMWindow.idl:
* page/Settings.cpp:
(WebCore::Settings::setFileSystemRootPath):
* page/Settings.h:
(WebCore::Settings::fileSystemRootPath):
2010-08-31 Kwang Yul Seo <skyul@company100.net>
Reviewed by Adam Barth.
[BREWMP] Add PLATFORM(BREWMP) guard to PluginViewNone
https://bugs.webkit.org/show_bug.cgi?id=44768
Build fix. Add PLATFORM(BREWMP) guard to add dummy PluginView::privateBrowsingStateChanged
and PluginView::setJavaScriptPaused.
* plugins/PluginViewNone.cpp:
2010-08-31 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=40947
<rdar://problem/8124723> REGRESSION (r57544): XMLHttpRequest POSTed multipart/form-data
wrongfully gets a charset appended
Test: http/tests/xmlhttprequest/post-with-boundary.html
* xml/XMLHttpRequest.cpp:
(WebCore::replaceCharsetInMediaType): Changed to only set charset if it was already present,
and never append.
(WebCore::XMLHttpRequest::send): Updated for replaceCharsetInMediaType renaming.
2010-08-31 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
[chromium] Implement Readable/Writable versions of ChromiumDataObjectNew
https://bugs.webkit.org/show_bug.cgi?id=44917
This is the second of several patches to update Chromium to support
arbitrary data types in event.dataTransfer.
ReadableDataObject simply calls through to several Chromium IPCs to
retrieve the appropriate data.
WritableDataObject ostensibly buffers arbitrary data internally until
a call is made to flush the data to the platform-specific abstraction;
unfortunately, a special exception is currently made for pasteboard
handling due to how it is handled in WebCore.
No new tests.
* WebCore.gypi:
* platform/chromium/ChromiumDataObjectNew.h: Removed.
* platform/chromium/ClipboardChromium.cpp:
* platform/chromium/ClipboardMimeTypes.cpp: Added.
* platform/chromium/ClipboardMimeTypes.h: Added.
* platform/chromium/ReadableDataObject.cpp: Added.
(WebCore::clipboardBuffer):
(WebCore::ReadableDataObject::create):
(WebCore::ReadableDataObject::ReadableDataObject):
(WebCore::ReadableDataObject::hasData):
(WebCore::ReadableDataObject::types):
(WebCore::ReadableDataObject::getData):
(WebCore::ReadableDataObject::getURL):
(WebCore::ReadableDataObject::getHTML):
(WebCore::ReadableDataObject::hasFilenames):
(WebCore::ReadableDataObject::filenames):
(WebCore::ReadableDataObject::ensureTypeCacheInitialized):
* platform/chromium/ReadableDataObject.h: Added.
* platform/chromium/WritableDataObject.cpp: Added.
(WebCore::WritableDataObject::create):
(WebCore::WritableDataObject::WritableDataObject):
(WebCore::WritableDataObject::clearData):
(WebCore::WritableDataObject::clearAllExceptFiles):
(WebCore::WritableDataObject::clearAll):
(WebCore::WritableDataObject::setData):
(WebCore::WritableDataObject::setURL):
(WebCore::WritableDataObject::setHTML):
(WebCore::WritableDataObject::dataMap):
(WebCore::WritableDataObject::urlTitle):
(WebCore::WritableDataObject::htmlBaseURL):
(WebCore::WritableDataObject::fileExtension):
(WebCore::WritableDataObject::fileContentFilename):
(WebCore::WritableDataObject::fileContent):
(WebCore::WritableDataObject::setFileExtension):
(WebCore::WritableDataObject::setFileContentFilename):
(WebCore::WritableDataObject::setFileContent):
* platform/chromium/WritableDataObject.h: Added.
2010-08-31 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Null-deref when decoding web archive with no data key in LegacyWebArchive::createResource
https://bugs.webkit.org/show_bug.cgi?id=45000
Test: webarchive/loading/missing-data.html
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createResource): Use wrapCFData instead of CFDataGetBytePtr/GetLength,
which is both more efficient, and can handle null. Also fixed incorrect use of ParsedURLString,
since the string is coming from a file and so there are no guarantees about its format.
2010-08-31 Kenneth Russell <kbr@google.com>
Reviewed by Chris Marrin.
Add length and related operations to FloatPoint and FloatSize
https://bugs.webkit.org/show_bug.cgi?id=44994
Added length and squared length operations to both FloatPoint and
FloatSize, and added set(x, y), dot and normalize operations to
FloatPoint. These changes have been tested with new code to be
added later.
* platform/graphics/FloatPoint.cpp:
(WebCore::FloatPoint::normalize):
(WebCore::FloatPoint::length):
* platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::set):
(WebCore::FloatPoint::dot):
(WebCore::FloatPoint::lengthSquared):
(WebCore::operator*):
* platform/graphics/FloatSize.cpp:
(WebCore::FloatSize::diagonalLength):
* platform/graphics/FloatSize.h:
(WebCore::FloatSize::diagonalLengthSquared):
2010-08-31 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
gl-teximage.html and tex-image-and-sub-image-2d-with-image.html failed on Chromium Mac bots (10.5)
https://bugs.webkit.org/show_bug.cgi?id=44993
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::getImageData): Take into consideration the source image pixel row alignment.
2010-08-31 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kenneth Rohde Christiansen.
[CMake] Unify GENERATE_DOM_NAMES code
https://bugs.webkit.org/show_bug.cgi?id=44842
* CMakeLists.txt: Added property svn:eol-style.
2010-08-31 Beth Dakin <bdakin@apple.com>
Rubber-stamped by Dan Bernstein..
Variable name change. m_shouldFirePostLayoutTimer is now
m_hasPendingPostLayoutTasks
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::layout):
(WebCore::FrameView::performPostLayoutTasks):
* page/FrameView.h:
2010-08-31 Beth Dakin <bdakin@apple.com>
Reviewed by Dave Hyatt.
Fix for https://bugs.webkit.org/show_bug.cgi?id=44828 FrameView
should make more calls to postLayoutTasks() using the timer
-and corresponding-
<rdar://problem/8064938>
This change only allows synchronous calls to postLayoutTasks() if
we are not already in a synchronous call to postLayoutTasks().
Furthermore, it de-couples the notion of "the post layout timer
should fire" from m_postLayoutTasksTimer.isActive(), instead using
a boolean to track the need to use the timer.
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::layout):
(WebCore::FrameView::unscheduleRelayout):
(WebCore::FrameView::performPostLayoutTasks):
* page/FrameView.h:
2010-08-30 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fix 32-bit WebKit2 build.
* WebCore.exp.in:
2010-08-31 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
Regression in r63528: Custom http headers for loads of type
FrameLoadTypeReloadFromOrigin are not being correctly
propagated to subresource loads.
https://bugs.webkit.org/show_bug.cgi?id=44987
No tests, since DRT doesn't seem to have a way to trigger a
FrameLoadTypeReloadFromOrigin load.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::addExtraFieldsToRequest):
2010-08-31 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Add ability to count text matches without marking
https://bugs.webkit.org/show_bug.cgi?id=43996
Safari needs to be able to count text matches without triggering lots of repainting.
Rename markAllMatchesForText() to countMatchesForText() and add a markMatches parameter.
* WebCore.exp.in:
* page/Frame.cpp:
(WebCore::Frame::countMatchesForText):
* page/Frame.h:
* page/Page.cpp:
(WebCore::Page::markAllMatchesForText):
2010-08-31 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
canPlayType("application/octet-stream") must return ""
https://bugs.webkit.org/show_bug.cgi?id=44985
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::supportsType): Always return IsNotSupported for application/octet-stream
2010-08-31 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] ScrollbarThemeGtk should respond to theme changes
https://bugs.webkit.org/show_bug.cgi?id=44782
Scrollbar is currently written with the assumption that scrollbars never change
thickness. In GTK+ changing the current theme can alter scrollbar thickness. This
change manually resizes interior frame scrollbar widgets when the GTK+ theme changes.
Since we are now tracking style changes, we may also cache theme properties to avoid
having to call moz_gtk_get_scrollbar_metrics repeatedly during rendering.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::gtkScrollbar): Added accessor for the Mozilla theming code's
scrollbar widget. We access it here, because RenderThemGtk takes care of initializing
the Mozilla code.
* platform/gtk/RenderThemeGtk.h: Added accessor declaration.
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Update the style property cache during construction.
(WebCore::ScrollbarThemeGtk::registerScrollbar): Track all interior frame scrollbars.
(WebCore::ScrollbarThemeGtk::unregisterScrollbar): Ditto.
(WebCore::ScrollbarThemeGtk::updateThemeProperties): Added this method which updates the style cache.
(WebCore::gtkStyleSetCallback): Added this signal handler for when the style changes.
(WebCore::ScrollbarThemeGtk::backButtonRect): Use the style cache instead of calling moz_gtk_get_scrollbar_metrics.
(WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
(WebCore::ScrollbarThemeGtk::trackRect): Ditto.
(WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
(WebCore::ScrollbarThemeGtk::thumbRect): Ditto.
(WebCore::ScrollbarThemeGtk::paint): Ditto.
(WebCore::ScrollbarThemeGtk::scrollbarThickness): Ditto.
(WebCore::ScrollbarThemeGtk::buttonSize): Ditto.
(WebCore::ScrollbarThemeGtk::minimumThumbLength): Ditto.
* platform/gtk/ScrollbarThemeGtk.h: Added new method declarations.
2010-08-31 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
Web archives are created with a size of 0 due to PassRefPtr mistake
https://bugs.webkit.org/show_bug.cgi?id=44984
rdar://problem/8042283
* loader/archive/ArchiveResource.cpp:
(WebCore::ArchiveResource::ArchiveResource): Merge the three constructors into one.
(WebCore::ArchiveResource::create): Merge the two create functions into one, and
fix the logic so there is no use of a PassRefPtr after it has been passed.
* loader/archive/ArchiveResource.h: Use default arguments instead of overloading
to cut down from three create functions to two. Remove two of the constructors.
2010-08-31 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Expose WorkerContext.createBlobURL and WorkerContext.revokeBlobURL.
https://bugs.webkit.org/show_bug.cgi?id=44972
Test: fast/files/workers/worker-apply-blob-url-to-xhr.html
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canRequest):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::createBlobURL):
(WebCore::WorkerContext::revokeBlobURL):
* workers/WorkerContext.h:
* workers/WorkerContext.idl:
2010-08-31 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextBox):
Added a cast so we can mix int and unsigned in a single ?: expression.
This warns with clang, but strangely not with gcc.
* html/parser/HTMLTreeBuilder.cpp: Removed unused functions.
The clang compiler notices and complains about these. If we need them
later we should use Subversion to bring them back.
2010-08-31 Kenneth Russell <kbr@google.com>
Reviewed by Simon Fraser.
Add cross product and arithmetic operations to FloatPoint3D
https://bugs.webkit.org/show_bug.cgi?id=44970
Added set, move, and scale operations similar to FloatPoint's,
addition and subtraction operators, length, lengthSquared and
cross product. These changes have been tested with new code to be
added later.
* platform/graphics/FloatPoint3D.cpp:
(WebCore::FloatPoint3D::normalize):
(WebCore::FloatPoint3D::length):
* platform/graphics/FloatPoint3D.h:
(WebCore::FloatPoint3D::set):
(WebCore::FloatPoint3D::move):
(WebCore::FloatPoint3D::scale):
(WebCore::FloatPoint3D::dot):
(WebCore::FloatPoint3D::cross):
(WebCore::FloatPoint3D::lengthSquared):
(WebCore::operator +=):
(WebCore::operator -=):
(WebCore::operator+):
(WebCore::operator-):
(WebCore::operator*):
2010-08-31 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Isolate all GTK+ typedefs into one file
https://bugs.webkit.org/show_bug.cgi?id=44900
* platform/graphics/gtk/CairoUtilities.h: Remove GTK+ typedefs.
* platform/gtk/ClipboardGtk.h: Ditto.
* platform/gtk/DataObjectGtk.h: Ditto.
* platform/gtk/GOwnPtrGtk.h: Ditto.
* platform/gtk/GRefPtrGtk.h: Ditto.
* platform/gtk/PasteboardHelper.h: Ditto.
* platform/gtk/PopupMenuGtk.h: Ditto.
* platform/gtk/RenderThemeGtk.h: Ditto.
* platform/gtk/ScrollbarGtk.h: Ditto.
* platform/gtk/gtk2drawing.c: Remove unused Assertions.h.
2010-08-31 Tony Chang <tony@chromium.org>
Unreviewed, fix chromium compile.
* bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
2010-08-31 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
audio engine: add FFTConvolver class
https://bugs.webkit.org/show_bug.cgi?id=34907
No new tests since audio API is not yet implemented.
* platform/audio: Added.
* platform/audio/FFTConvolver.cpp: Added.
(WebCore::FFTConvolver::FFTConvolver):
(WebCore::FFTConvolver::process):
(WebCore::FFTConvolver::reset):
* platform/audio/FFTConvolver.h: Added.
(WebCore::FFTConvolver::fftSize):
2010-08-31 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher and David Levin.
Fix ThreadableBlobRegistry methods not to rely on WorkerContext.
https://bugs.webkit.org/show_bug.cgi?id=44971
We could hit an ASSERT when we're performing some blob related cleanup
in ScriptExecutionContext destructor when WorkerContext dies. The fix
is to use isMainThread and callOnMainThread.
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::BlobRegistryContext::BlobRegistryContext):
(WebCore::registerBlobURLTask):
(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::registerBlobURLFromTask):
(WebCore::unregisterBlobURLTask):
(WebCore::ThreadableBlobRegistry::unregisterBlobURL):
2010-08-31 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Fix 'make dist' in preparation of the 1.3.3 release
https://bugs.webkit.org/show_bug.cgi?id=44978
* GNUmakefile.am: Add missing and moved headers to the sources list.
2010-08-31 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Antonio Gomes.
[EFL] crashes while dragging any contents
https://bugs.webkit.org/show_bug.cgi?id=44940
Fix crashes caused by returning newly assigned value instead of adoptRef
value.
* page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* platform/efl/ClipboardEfl.cpp:
(WebCore::Editor::newGeneralClipboard):
* platform/efl/ClipboardEfl.h:
(WebCore::ClipboardEfl::create):
2010-08-31 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: The parser of Inspector protocol messages should be covered by a test.
The inspector protocol is based on messages in JSON format.
Each message should be a JSON object with a number of properties.
InspectorBackendDispatcher is parsing these messages and should be
able to detect wrong formatted messages.
It has these functionality but no tests for it.
https://bugs.webkit.org/show_bug.cgi?id=44947
* inspector/CodeGeneratorInspector.pm:
2010-08-31 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
[v8] More correct and faster error handling when converting v8 objects to various WebCore strings
https://bugs.webkit.org/show_bug.cgi?id=44678
Split v8 object conversion into two phase: 1st, which can throw an exception, and
2nd, which must always succeed. That allows to report correctly the case when exception
happens.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8Binding.cpp:
(WebCore::int32ToWebCoreString):
(WebCore::v8NonStringValueToWebCoreString):
* bindings/v8/V8Binding.h:
(WebCore::V8ParameterBase::operator String):
(WebCore::V8ParameterBase::operator AtomicString):
(WebCore::V8ParameterBase::V8ParameterBase):
(WebCore::V8ParameterBase::prepareBase):
(WebCore::V8ParameterBase::object):
(WebCore::V8ParameterBase::setString):
(WebCore::V8ParameterBase::toString):
(WebCore::):
(WebCore::::prepare):
* bindings/v8/custom/V8BindingMacros.h:
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
* bindings/v8/cstom/V8DeviceOrientationEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::initDeviceOrientationEventCallback):
2010-08-30 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Joseph Pecoraro.
WebInspector: it'd be better to introduce inspector API related tests.
As far as we have some kind of API for Inspector
it'd be better to have API related tests. This is the test
for API wrappers. These wrappers are tracking the types of arguments
of API functions.
https://bugs.webkit.org/show_bug.cgi?id=44875
Test: inspector/protocol-error.html
* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/inspector.js:
(WebInspector_syncDispatch):
(WebInspector.reportProtocolError):
2010-08-31 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66484.
http://trac.webkit.org/changeset/66484
https://bugs.webkit.org/show_bug.cgi?id=44966
Broke EFL build (Requested by acidx on #webkit).
* CMakeLists.txt:
2010-08-31 Ojan Vafai <ojan@chromium.org>
Reviewed by Tony Chang.
deduplicate code from Node::checkReplaceChild and Node::checkAddChild
https://bugs.webkit.org/show_bug.cgi?id=44962
Remove duplicate code in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=19524
No new tests since there is no change in functionality.
* dom/Node.cpp:
(WebCore::isChildTypeAllowed):
(WebCore::Node::canReplaceChild):
(WebCore::checkAcceptChild):
(WebCore::transferOwnerDocument):
(WebCore::Node::checkReplaceChild):
(WebCore::Node::checkAddChild):
2010-08-30 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
[Chromium] bindTexture(TEXTURE_CUBE_MAP) shouldn't generate errors with valid cubemap texture
https://bugs.webkit.org/show_bug.cgi?id=44922
* html/canvas/WebGLRenderingContext.cpp: Remove TEXTURE_WRAP_R code.
(WebCore::WebGLRenderingContext::bindTexture):
* html/canvas/WebGLTexture.cpp: Remove the code for tracking TEXTURE_WRAP_R.
(WebCore::WebGLTexture::WebGLTexture):
* html/canvas/WebGLTexture.h: Ditto.
2010-08-31 Jian Li <jianli@chromium.org>
Rubber-stamped by David Levin.
Rename addTwoCStrings to concatenateTwoCStrings.
* fileapi/BlobBuilder.cpp:
(WebCore::concatenateTwoCStrings):
(WebCore::BlobBuilder::append):
2010-08-31 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
Improve BlobBuilder to combine adjacent strings.
https://bugs.webkit.org/show_bug.cgi?id=44884
* fileapi/BlobBuilder.cpp:
(WebCore::addTwoCStrings):
(WebCore::BlobBuilder::append):
2010-08-31 Darin Adler <darin@apple.com>
Reviewed by Simon Fraser.
Make DOM classes start with a reference count of 1, like all other RefCounted
https://bugs.webkit.org/show_bug.cgi?id=28068
* dom/Document.cpp:
(WebCore::Document::accessSVGExtensions): Use adoptPtr instead of set.
* dom/Document.h: Removed initialRefCount in Node constructor. It's always 1 now.
* dom/Node.h: Removed CreateWithZeroRefCountFlag, CreateStyledElementZeroRefCount,
CreateSVGElementZeroRefCount, and initialRefCount.
* platform/TreeShared.h: Removed initialRefCount argument. It's always 1 now.
* rendering/RenderSVGShadowTreeRootContainer.cpp:
(WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Use create
instead of new.
* rendering/SVGResources.h: Inherit from Noncopyable.
* rendering/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::~SVGResourcesCache): Removed unneeded special
case code.
* rendering/SVGShadowTreeElements.cpp:
(WebCore::SVGShadowTreeContainerElement::create): Added.
(WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Made argument
type more specific.
(WebCore::SVGShadowTreeRootElement::create): Added.
* rendering/SVGShadowTreeElements.h: Added create functions, and made the
argument type more specific.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Use adoptPtr.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged): Use adoptPtr instead of set.
* svg/SVGElement.cpp:
(WebCore::SVGElement::SVGElement): Use CreateSVGElement instead of
CreateSVGElementZeroRefCount.
(WebCore::SVGElement::create): Use adoptRef.
* wml/WMLElement.cpp:
(WebCore::WMLElement::WMLElement): Use CreateStyledElement instead of
CreateStyledElementZeroRefCount.
(WebCore::WMLElement::create): Use adoptRef.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::create):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::create):
* svg/SVGAnimateColorElement.cpp:
(WebCore::SVGAnimateColorElement::create):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::create):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::create):
* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::create):
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::create):
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::create):
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::create):
* svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::create):
* svg/SVGDescElement.cpp:
(WebCore::SVGDescElement::create):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::create):
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::create):
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::create):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::create):
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::create):
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::create):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::create):
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::create):
* svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::create):
* svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::create):
* svg/SVGFEFuncAElement.cpp:
(WebCore::SVGFEFuncAElement::create):
* svg/SVGFEFuncBElement.cpp:
(WebCore::SVGFEFuncBElement::create):
* svg/SVGFEFuncGElement.cpp:
(WebCore::SVGFEFuncGElement::create):
* svg/SVGFEFuncRElement.cpp:
(WebCore::SVGFEFuncRElement::create):
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::create):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::create):
* svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::create):
* svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::create):
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::create):
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::create):
* svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::create):
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::create):
* svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::create):
* svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::create):
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::create):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::create):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::create):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::create):
* svg/SVGFontFaceFormatElement.cpp:
(WebCore::SVGFontFaceFormatElement::create):
* svg/SVGFontFaceNameElement.cpp:
(WebCore::SVGFontFaceNameElement::create):
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::create):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::create):
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::create):
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::create):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::create):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::create):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::create):
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::create):
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::create):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::create):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::create):
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::create):
* svg/SVGMetadataElement.cpp:
(WebCore::SVGMetadataElement::create):
* svg/SVGMissingGlyphElement.cpp:
(WebCore::SVGMissingGlyphElement::create):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::create):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::create):
* svg/SVGPolygonElement.cpp:
(WebCore::SVGPolygonElement::create):
* svg/SVGPolylineElement.cpp:
(WebCore::SVGPolylineElement::create):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::create):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::create):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::create):
(WebCore::SVGSVGElement::currentView):
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::create):
* svg/SVGSetElement.cpp:
(WebCore::SVGSetElement::create):
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::create):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::create):
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::create):
* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::create):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::create):
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::create):
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::create):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::create):
* svg/SVGTitleElement.cpp:
(WebCore::SVGTitleElement::create):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::create):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::create):
* svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::create):
* wml/WMLAElement.cpp:
(WebCore::WMLAElement::create):
* wml/WMLAccessElement.cpp:
(WebCore::WMLAccessElement::create):
* wml/WMLAnchorElement.cpp:
(WebCore::WMLAnchorElement::create):
* wml/WMLBRElement.cpp:
(WebCore::WMLBRElement::create):
* wml/WMLCardElement.cpp:
(WebCore::WMLCardElement::create):
* wml/WMLDoElement.cpp:
(WebCore::WMLDoElement::create):
* wml/WMLDocument.h:
(WebCore::WMLDocument::create):
* wml/WMLFieldSetElement.cpp:
(WebCore::WMLFieldSetElement::create):
* wml/WMLFormControlElement.cpp:
(WebCore::WMLFormControlElement::create):
* wml/WMLGoElement.cpp:
(WebCore::WMLGoElement::create):
* wml/WMLImageElement.cpp:
(WebCore::WMLImageElement::create):
* wml/WMLInputElement.cpp:
(WebCore::WMLInputElement::create):
* wml/WMLInsertedLegendElement.cpp:
(WebCore::WMLInsertedLegendElement::create):
* wml/WMLIntrinsicEvent.cpp:
(WebCore::WMLIntrinsicEvent::create):
* wml/WMLMetaElement.cpp:
(WebCore::WMLMetaElement::create):
* wml/WMLNoopElement.cpp:
(WebCore::WMLNoopElement::create):
* wml/WMLOnEventElement.cpp:
(WebCore::WMLOnEventElement::create):
* wml/WMLOptGroupElement.cpp:
(WebCore::WMLOptGroupElement::create):
* wml/WMLOptionElement.cpp:
(WebCore::WMLOptionElement::create):
* wml/WMLPElement.cpp:
(WebCore::WMLPElement::create):
* wml/WMLPostfieldElement.cpp:
(WebCore::WMLPostfieldElement::create):
* wml/WMLPrevElement.cpp:
(WebCore::WMLPrevElement::create):
* wml/WMLRefreshElement.cpp:
(WebCore::WMLRefreshElement::create):
* wml/WMLSelectElement.cpp:
(WebCore::WMLSelectElement::create):
* wml/WMLSetvarElement.cpp:
(WebCore::WMLSetvarElement::create):
* wml/WMLTableElement.cpp:
(WebCore::WMLTableElement::create):
* wml/WMLTaskElement.cpp:
(WebCore::WMLTaskElement::create):
* wml/WMLTemplateElement.cpp:
(WebCore::WMLTemplateElement::create):
* wml/WMLTimerElement.cpp:
(WebCore::WMLTimerElement::create):
Use adoptRef.
2010-08-31 Justin Schuh <jschuh@chromium.org>
Reviewed by Nate Chapin.
Local frame loads should check against origin (not referrer)
https://bugs.webkit.org/show_bug.cgi?id=44888
Test: fast/frames/iframe-no-src-local-origin-allow.html
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
2010-08-25 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (cg)
https://bugs.webkit.org/show_bug.cgi?id=44566
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::getImageData): Fix the premultiplyAlpha issue for cg.
2010-08-31 Dave Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=44956, paginate block-level replaced elements.
<rdar://problem/8000991> Images with display:block get split between columns or pages
Added fast/multicol/paginate-block-replaced.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
2010-08-31 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=36515
CSS style definitions are ignored if they just follow a "@charset" which appears in lines
other than the first line in stylesheet.
Test: fast/css/misplaced-charset.html
* css/CSSGrammar.y: Ignore a misplaced charset rule without consuming extra characters and
thus breaking subsequent rules.
2010-08-31 Patrick Gansterer <paroga@paroga.com>
Reviewed by Antonio Gomes.
[CMake] Add IF (ENABLE_MATHML) around MathML sources
https://bugs.webkit.org/show_bug.cgi?id=44927
* CMakeLists.txt:
2010-08-31 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kenneth Rohde Christiansen.
[CMake] Unify GENERATE_DOM_NAMES code
https://bugs.webkit.org/show_bug.cgi?id=44842
* CMakeLists.txt: Added property svn:eol-style.
2010-08-31 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
[chromium] Add an interface for platform copy/paste drag/drop data objects
https://bugs.webkit.org/show_bug.cgi?id=44914
Currently, Chromium only supports a few hardcoded data types in
event.dataTransfer. This is the first of several patches to add support
for arbitrary data types.
No new tests.
* WebCore.gypi:
* platform/chromium/ChromiumDataObjectNew.h: Added.
* platform/chromium/ClipboardChromium.cpp:
2010-08-30 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add audits support to extension API
Exposed (late) adding of categories from AuditPanel.
Removed indexOfObjectInListSortedByFunction in favor of
insertionIndexForObjectInListSortedByFunction (the former had
weird interface always returning negative numbers and was only used in
the latter).
https://bugs.webkit.org/show_bug.cgi?id=44518
Tests: inspector/extensions-audits-api.html
inspector/extensions-audits.html
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/AuditFormatters.js: Added.
(WebInspector.applyFormatters):
(WebInspector.AuditFormatters.text):
(WebInspector.AuditFormatters.snippet):
(WebInspector.AuditFormatters.concat):
(WebInspector.AuditFormatters.url):
* inspector/front-end/AuditLauncherView.js:
(WebInspector.AuditLauncherView):
(WebInspector.AuditLauncherView.prototype.addCategory.compareCategories):
(WebInspector.AuditLauncherView.prototype.addCategory):
(WebInspector.AuditLauncherView.prototype._launchButtonClicked):
(WebInspector.AuditLauncherView.prototype._selectAllClicked):
(WebInspector.AuditLauncherView.prototype._categoryClicked):
(WebInspector.AuditLauncherView.prototype._createCategoryElement):
(WebInspector.AuditLauncherView.prototype._createLauncherUI):
* inspector/front-end/AuditResultView.js:
(WebInspector.AuditCategoryResultPane.prototype._appendResult):
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
(WebInspector.AuditsPanel.prototype.addCategory):
(WebInspector.AuditsPanel.prototype.getCategory):
(WebInspector.AuditsPanel.prototype._executeAudit):
(WebInspector.AuditCategory.prototype.run):
* inspector/front-end/ExtensionAPI.js:
(WebInspector.injectedExtensionAPI):
(WebInspector.injectedExtensionAPI.EventSinkImpl.prototype.addListener):
(WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._fire):
(WebInspector.injectedExtensionAPI.EventSinkImpl.prototype._dispatch):
(WebInspector.injectedExtensionAPI.EventSink):
(WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
(WebInspector.injectedExtensionAPI.Panels.prototype.create):
(WebInspector.injectedExtensionAPI.Audits):
(WebInspector.injectedExtensionAPI.Audits.prototype.addCategory):
(WebInspector.injectedExtensionAPI.AuditCategory.customDispatch):
(WebInspector.injectedExtensionAPI.AuditCategory):
(WebInspector.injectedExtensionAPI.AuditCategoryImpl):
(WebInspector.injectedExtensionAPI.AuditResult):
(WebInspector.injectedExtensionAPI.AuditResult.prototype.get Severity):
(WebInspector.injectedExtensionAPI.AuditResultImpl):
(WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.addResult):
(WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.createResult):
(WebInspector.injectedExtensionAPI.AuditResultImpl.prototype.done):
(WebInspector.injectedExtensionAPI.AuditResultImpl.prototype._nodeFactory):
(WebInspector.injectedExtensionAPI.AuditResultNode):
(WebInspector.injectedExtensionAPI.AuditResultNode.prototype.addChild):
* inspector/front-end/ExtensionAuditCategory.js: Added.
(WebInspector.ExtensionAuditCategory):
(WebInspector.ExtensionAuditCategory.prototype.get id):
(WebInspector.ExtensionAuditCategory.prototype.get displayName):
(WebInspector.ExtensionAuditCategory.prototype.get ruleCount):
(WebInspector.ExtensionAuditCategory.prototype.run):
(WebInspector.ExtensionAuditCategoryResults):
(WebInspector.ExtensionAuditCategoryResults.prototype.get complete):
(WebInspector.ExtensionAuditCategoryResults.prototype.cancel):
(WebInspector.ExtensionAuditCategoryResults.prototype.addResult):
(WebInspector.ExtensionAuditCategoryResults.prototype._addNode):
(WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
* inspector/front-end/ExtensionCommon.js: Added.
(WebInspector.commonExtensionSymbols):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype.startAuditRun):
(WebInspector.ExtensionServer.prototype.stopAuditRun):
(WebInspector.ExtensionServer.prototype._postNotification):
(WebInspector.ExtensionServer.prototype._onAddAuditCategory):
(WebInspector.ExtensionServer.prototype._onAddAuditResult):
(WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
(WebInspector.ExtensionServer.prototype._addExtensions):
(WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
(WebInspector.ExtensionStatus):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/utilities.js:
():
2010-08-31 Justin Schuh <jschuh@chromium.org>
Reviewed by Nate Chapin.
Remove unused canReferToParentFrameEncoding() function from FrameLoader.cpp
https://bugs.webkit.org/show_bug.cgi?id=44895
No new tests; no behavior changed.
* loader/FrameLoader.cpp:
2010-08-31 Jeremy Orlow <jorlow@chromium.org>
Build fix.
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::openCursor):
2010-08-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Implement the rest of IDBCursors + make them persistent
https://bugs.webkit.org/show_bug.cgi?id=44546
Because the old (memory only) backend didn't support ranges, IDBCursors
were never really finished. This completes them on top of SQLite like
the rest of IndexedDB.
Test: storage/indexeddb/objectstore-cursor.html
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::value):
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::key):
(WebCore::IDBCursorBackendImpl::value):
(WebCore::IDBCursorBackendImpl::update):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::remove):
(WebCore::IDBCursorBackendImpl::loadCurrentRow):
* storage/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
* storage/IDBCursorBackendInterface.h:
* storage/IDBKey.cpp:
(WebCore::IDBKey::isEqual):
* storage/IDBKey.h:
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::leftBound):
(WebCore::IDBKeyRange::rightBound):
(WebCore::IDBKeyRange::bound):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::cursorWhereFragment):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
2010-08-27 John Gregg <johnnyg@google.com>
Reviewed by David Levin.
Notifications should support a click event
https://bugs.webkit.org/show_bug.cgi?id=44800
Test: fast/notifications/notifications-click-event.html
* notifications/Notification.h:
* notifications/Notification.idl:
2010-08-31 Kent Tamura <tkent@chromium.org>
Reviewed by Adam Barth.
[V8] Custom binding for "dataset"
https://bugs.webkit.org/show_bug.cgi?id=44930
* WebCore.gyp/WebCore.gyp: Remove the exclusion of DOMStringMap.idl.
* WebCore.gypi: Add V8DOMStringMapCustom.cpp.
* bindings/v8/custom/V8DOMStringMapCustom.cpp: Added.
(WebCore::V8DOMStringMap::namedPropertyQuery):
(WebCore::V8DOMStringMap::namedPropertyGetter):
(WebCore::V8DOMStringMap::namedPropertyEnumerator):
(WebCore::V8DOMStringMap::namedPropertyDeleter):
(WebCore::V8DOMStringMap::namedPropertySetter):
* dom/Element.idl: Remove V8 exclusion.
* page/DOMWindow.idl: ditto.
2010-08-31 Jian Li <jianli@chromium.org>
Fix chromium build break.
* page/DOMWindow.h:
2010-08-31 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Stale document crashes at multiple URLs (with new parser)
https://bugs.webkit.org/show_bug.cgi?id=44885
We're not supposed to load resources in detached documents. According
to several locations I examined, it's the job of the caller of
DocLoader to check this invariant. Like most code dealing with
detached documents, this check isn't overly consistent. At some point,
we'll need to rationalize all the different patterns here. However, at
this point, this patch appears correct because it matches what we do
for <link rel="stylesheet">.
Test: fast/dom/HTMLLinkElement/prefetch-detached.html
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* loader/DocLoader.cpp:
(WebCore::DocLoader::requestLinkPrefetch):
2010-08-31 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Expose window.createBlobURL and window.revokeBlobURL.
https://bugs.webkit.org/show_bug.cgi?id=44908
Tests: fast/files/apply-blob-url-to-img.html
fast/files/apply-blob-url-to-xhr.html
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createBlobURL):
(WebCore::DOMWindow::revokeBlobURL):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
2010-08-31 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Support FileReaderSync in workers.
https://bugs.webkit.org/show_bug.cgi?id=44657
Also add FileException interface and make Blob/File/FileError useable in
workers.
Tests: fast/files/workers/worker-read-blob-async.html
fast/files/workers/worker-read-blob-sync.html
fast/files/workers/worker-read-file-async.html
fast/files/workers/worker-read-file-sync.html
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/Blob.idl: Added NoStaticTables attribute.
* fileapi/File.idl: Added NoStaticTables attribute.
* fileapi/FileError.idl: Added NoStaticTables attribute.
* fileapi/FileException.h: Added.
* fileapi/FileException.idl: Added.
* fileapi/FileReaderSync.cpp: Added.
* fileapi/FileReaderSync.h: Added.
* fileapi/FileReaderSync.idl: Added.
* workers/WorkerContext.idl: Expose FileReaderSync and BlodBuilder in workers.
2010-08-30 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GTK] Buffered ranges drawing support
https://bugs.webkit.org/show_bug.cgi?id=44869
Refactored the media slider track painting code to support
multiple buffered ranges painting. This change introduces no
functional regression.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMediaSliderTrack):
2010-08-30 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
HISTORY_ALWAYS_ASYNC should be removed (history should always be async)
https://bugs.webkit.org/show_bug.cgi?id=44315
Remove check in RedirectScheduler::scheduleHistoryNavigation that would
dispatch some navigations synchronously.
Test: fast/history/history-traversal-is-asynchronous.html
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::scheduleHistoryNavigation):
2010-08-30 Jian Li <jianli@chromium.org>
Try to fix break again.
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::ThreadableBlobRegistry::unregisterBlobURL):
2010-08-30 Jian Li <jianli@chromium.org>
Fix another build break. Also fix directory upload test break.
* fileapi/File.cpp:
(WebCore::File::File):
* fileapi/ThreadableBlobRegistry.cpp:
2010-08-30 Jian Li <jianli@chromium.org>
Fix build break.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
2010-08-30 Jian Li <jianli@chromium.org>
Fix qt/gtk build break.
* platform/network/BlobRegistryImpl.cpp:
2010-08-30 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
Switch the Blob implementation to using the blob data registration model
https://bugs.webkit.org/show_bug.cgi?id=44389
Tests: fast/files/read-blob-async.html
fast/files/read-file-async.html
With this switch, File/Blob/BlobBuilder are changed to register the blob
data. FileReader is changed to route through loading the blob resource.
FormData is also updated to take BlobData. The WebKit mac implementation
is updated to resolve the blob references in the BlobData.
* CMakeLists.txt: Update the project file to remove BlobItem.*.
* GNUmakefile.am: Update the project file to remove BlobItem.*.
* WebCore.gypi: Update the project file to remove BlobItem.*.
* WebCore.pro: Update the project file to remove BlobItem.*.
* WebCore.vcproj/WebCore.vcproj: Update the project file to remove BlobItem.*.
* WebCore.xcodeproj/project.pbxproj: Update the project file to remove BlobItem.*.
* fileapi/Blob.cpp: Switch to using BlobData.
(WebCore::Blob::Blob):
(WebCore::Blob::slice):
* fileapi/Blob.h: Switch to using BlobData.
(WebCore::Blob::create):
(WebCore::Blob::size):
(WebCore::Blob::isFile):
* fileapi/BlobBuilder.cpp: Switch to using BlobData.
(WebCore::BlobBuilder::BlobBuilder):
(WebCore::BlobBuilder::append):
(WebCore::BlobBuilder::getBlob):
* fileapi/BlobBuilder.h: Switch to using BlobData.
* fileapi/BlobURL.cpp: Add a new helper method used in FormData.
(WebCore::BlobURL::getIdentifier):
* fileapi/BlobURL.h:
* fileapi/File.cpp: Switch to using BlobData.
(WebCore::createBlobDataForFile):
(WebCore::File::File):
(WebCore::File::size):
(WebCore::File::captureSnapshot):
* fileapi/File.h: Switch to using BlobData.
(WebCore::File::create):
(WebCore::File::path):
(WebCore::File::name):
(WebCore::File::webkitRelativePath):
* fileapi/FileReader.cpp: Change the reading to route through blob resource loading.
(WebCore::FileReader::FileReader):
(WebCore::FileReader::readAsBinaryString):
(WebCore::FileReader::readAsText):
(WebCore::FileReader::readAsDataURL):
(WebCore::delayedStart):
(WebCore::FileReader::readInternal):
(WebCore::FileReader::terminate):
(WebCore::FileReader::start):
(WebCore::FileReader::didReceiveResponse):
(WebCore::FileReader::didReceiveData):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::didFail):
(WebCore::FileReader::failed):
(WebCore::FileReader::httpStatusCodeToExceptionCode):
(WebCore::FileReader::result):
(WebCore::FileReader::convertToDataURL):
* fileapi/FileReader.h:
* html/FormDataList.cpp: Account to BlobData change.
(WebCore::FormDataList::appendString):
(WebCore::FormDataList::appendBlob):
* html/FormDataList.h: Account to BlobData change.
(WebCore::FormDataList::appendBlob):
(WebCore::FormDataList::Item::Item):
(WebCore::FormDataList::Item::data):
(WebCore::FormDataList::Item::blob):
(WebCore::FormDataList::items):
* loader/FormSubmission.cpp: Account to BlobData change.
(WebCore::FormSubmission::create):
* platform/BlobItem.cpp: Removed.
* platform/BlobItem.h: Removed.
* platform/network/BlobRegistryImpl.cpp: Add the implementations for resource loading.
(WebCore::BlobRegistryImpl::createResourceHandle):
(WebCore::BlobRegistryImpl::loadResourceSynchronously):
* platform/network/BlobResourceHandle.cpp: Fix a bug that the ref is not added.
(WebCore::BlobResourceHandle::BlobResourceHandle):
* platform/network/FormData.cpp: Account to BlobData change.
(WebCore::FormData::create):
(WebCore::FormData::createMultiPart):
(WebCore::FormData::deepCopy):
(WebCore::FormData::appendFile):
(WebCore::FormData::appendKeyValuePairItems):
* platform/network/FormData.h: Account to BlobData change.
* platform/network/mac/FormDataStreamMac.mm: Resolve blob references in the form data.
(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):
(WebCore::formCreate):
(WebCore::formRead):
(WebCore::setHTTPBody):
* xml/XMLHttpRequest.cpp: Account to BlobData change.
(WebCore::XMLHttpRequest::send):
2010-08-30 Eric Seidel <eric@webkit.org>
Unreviewed, rolling out r66418.
http://trac.webkit.org/changeset/66418
https://bugs.webkit.org/show_bug.cgi?id=44896
Adam tried to roll this out with:
https://bugs.webkit.org/show_bug.cgi?id=44924
but we hit a commit-queue edgecase and it failed, trying again.
Causing test failures on multiple bots
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout):
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
(WebCore::RenderObject::setNeedsBoundariesUpdate):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout):
(WebCore::RenderPath::paint):
(WebCore::RenderPath::styleWillChange):
* rendering/RenderPath.h:
(WebCore::RenderPath::setNeedsBoundariesUpdate):
* rendering/RenderSVGBlock.cpp:
* rendering/RenderSVGBlock.h:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::RenderSVGContainer):
(WebCore::RenderSVGContainer::layout):
(WebCore::RenderSVGContainer::paint):
(WebCore::RenderSVGContainer::objectBoundingBox):
(WebCore::RenderSVGContainer::strokeBoundingBox):
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
* rendering/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::calculateLocalTransform):
* rendering/RenderSVGGradientStop.h:
* rendering/RenderSVGHiddenContainer.cpp:
(WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
(WebCore::RenderSVGHiddenContainer::objectBoundingBox):
(WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
* rendering/RenderSVGHiddenContainer.h:
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout):
* rendering/RenderSVGImage.h:
* rendering/RenderSVGInline.cpp:
* rendering/RenderSVGInline.h:
* rendering/RenderSVGModelObject.cpp:
* rendering/RenderSVGModelObject.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::RenderSVGRoot):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::objectBoundingBox):
(WebCore::RenderSVGRoot::strokeBoundingBox):
(WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
* rendering/RenderSVGRoot.h:
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):
* rendering/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/RenderSVGTransformableContainer.h:
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calcViewport):
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBox):
* rendering/SVGRenderSupport.h:
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff):
2010-08-30 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement CDATASection state for the HTMLTokenizer
https://bugs.webkit.org/show_bug.cgi?id=44923
In the spec, this state refers back to the HTMLTreeBuilder from the
HTMLTokenizer. Rather that introduce that (backwards) dependencies, we
have the tree builder set a bit on the tokenizer.
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::nextToken):
* html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::shouldAllowCDATA):
(WebCore::HTMLTokenizer::setShouldAllowCDATA):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
2010-08-30 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Enable HTML5lib's test_innerHTML01.dat
https://bugs.webkit.org/show_bug.cgi?id=44919
These tests provoked two branches that we hadn't implemented yet.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
2010-08-30 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Stop using a QuickDraw function that was only used for debugging purposes.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::pathFromFont):
2010-08-30 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
queryCommandValue("BackColor") returns rgb(0,0,0) for elements with transparent background
https://bugs.webkit.org/show_bug.cgi?id=21680
The bug was caused by WebKit's using the computed style to obtain the background color,
which is rgba(0,0,0,0) for nodes with transparent background color. While this is correct
in the accordance to CSS2 because background-color is not inherited by default,
it is not desirable for editing purposes where the background color in effect is expected.
Modified valueStyle in EditorCommand.cpp to call Editor::selectionStartCSSPropertyValue,
instead of Frame::selectionStartStylePropertyValue, which traverses common ancestors of
the selected range or caret to retrieve the effective background color of the selected region
instead of the background color at the start of the selection.
This takes effect when the original background color is transparent or the selection is range
(to avoid picking up the background color only present at the start of paragraph).
Removed selectionStartStylePropertyValue and migrated it to Editor::selectionStartCSSPropertyValue.
Test: editing/execCommand/query-command-value-background-color.html
* editing/Editor.cpp:
(WebCore::hasTransparentBackgroundColor): Checks whether the specified style's background color is transparent or not.
(WebCore::Editor::selectionStartCSSPropertyValue): Migrated the contents of selectionStartStylePropertyValue and
added the special case for background color.
* editing/Editor.h: Added the prototype for selectionStartCSSPropertyValue.
* editing/EditorCommand.cpp:
(WebCore::valueStyle): Calls Editor::selectionStartCSSPropertyValue.
* page/Frame.cpp: Removed selectionStartStylePropertyValue.
* page/Frame.h: Ditto.
2010-08-30 Lei Zhang <thestig@chromium.org>
Reviewed by Shinichiro Hamaji.
Defer printing until the FrameLoader finishes loading.
https://bugs.webkit.org/show_bug.cgi?id=43658
* manual-tests/print-before-load.html: Added.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoading):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::DOMWindow):
(WebCore::DOMWindow::print):
* page/DOMWindow.h:
(WebCore::DOMWindow::printDeferred):
2010-08-30 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
audio engine: add ReverbConvolver class
https://bugs.webkit.org/show_bug.cgi?id=34912
No new tests since audio API is not yet implemented.
* platform/audio: Added.
* platform/audio/ReverbAccumulationBuffer.cpp: Added.
(WebCore::ReverbAccumulationBuffer::ReverbAccumulationBuffer):
(WebCore::ReverbAccumulationBuffer::readAndClear):
(WebCore::ReverbAccumulationBuffer::updateReadIndex):
(WebCore::ReverbAccumulationBuffer::accumulate):
(WebCore::ReverbAccumulationBuffer::reset):
* platform/audio/ReverbAccumulationBuffer.h: Added.
(WebCore::ReverbAccumulationBuffer::readIndex):
(WebCore::ReverbAccumulationBuffer::readTimeFrame):
* platform/audio/ReverbConvolver.cpp: Added.
(WebCore::backgroundThreadEntry):
(WebCore::ReverbConvolver::ReverbConvolver):
(WebCore::ReverbConvolver::~ReverbConvolver):
(WebCore::ReverbConvolver::backgroundThreadEntry):
(WebCore::ReverbConvolver::process):
(WebCore::ReverbConvolver::reset):
* platform/audio/ReverbConvolver.h: Added.
(WebCore::ReverbConvolver::impulseResponseLength):
(WebCore::ReverbConvolver::inputBuffer):
(WebCore::ReverbConvolver::useBackgroundThreads):
* platform/audio/ReverbConvolverStage.cpp: Added.
(WebCore::ReverbConvolverStage::ReverbConvolverStage):
(WebCore::ReverbConvolverStage::processInBackground):
(WebCore::ReverbConvolverStage::process):
(WebCore::ReverbConvolverStage::reset):
* platform/audio/ReverbConvolverStage.h: Added.
(WebCore::ReverbConvolverStage::inputReadIndex):
* platform/audio/ReverbInputBuffer.cpp: Added.
(WebCore::ReverbInputBuffer::ReverbInputBuffer):
(WebCore::ReverbInputBuffer::write):
(WebCore::ReverbInputBuffer::directReadFrom):
(WebCore::ReverbInputBuffer::reset):
* platform/audio/ReverbInputBuffer.h: Added.
(WebCore::ReverbInputBuffer::writeIndex):
2010-08-30 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Add culling to RenderSVGContainer
https://bugs.webkit.org/show_bug.cgi?id=44896
Cache object/strokeBoundingBox and repaintRectInLocalCoordinates() in RenderSVGContainer & RenderSVGRoot, just like it's done in RenderPath.
Propagate boundary changes up the render tree, in layout phase, in order to notify parents that they should update their cached boundaries.
This is a huge speed benefit when interacting with an already layouted document, as there's no need anymore to traverse all children
of any container or <svg> element, just to retrieve the repaint rect.
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setNeedsBoundariesUpdate):
* rendering/RenderObject.h:
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout):
(WebCore::RenderPath::paint):
* rendering/RenderPath.h:
(WebCore::RenderPath::path):
(WebCore::RenderPath::setNeedsBoundariesUpdate):
* rendering/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::styleWillChange):
* rendering/RenderSVGBlock.h:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::RenderSVGContainer):
(WebCore::RenderSVGContainer::layout):
(WebCore::RenderSVGContainer::paint):
(WebCore::RenderSVGContainer::updateCachedBoundaries):
* rendering/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
(WebCore::RenderSVGContainer::objectBoundingBox):
(WebCore::RenderSVGContainer::strokeBoundingBox):
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
(WebCore::RenderSVGContainer::calculateLocalTransform):
* rendering/RenderSVGGradientStop.h:
(WebCore::RenderSVGGradientStop::strokeBoundingBox):
* rendering/RenderSVGHiddenContainer.cpp:
* rendering/RenderSVGHiddenContainer.h:
(WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout):
(WebCore::RenderSVGImage::styleWillChange):
* rendering/RenderSVGImage.h:
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::styleWillChange):
* rendering/RenderSVGInline.h:
* rendering/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::styleWillChange):
* rendering/RenderSVGModelObject.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::RenderSVGRoot):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::styleWillChange):
(WebCore::RenderSVGRoot::updateCachedBoundaries):
* rendering/RenderSVGRoot.h:
(WebCore::RenderSVGRoot::setNeedsBoundariesUpdate):
(WebCore::RenderSVGRoot::setNeedsTransformUpdate):
(WebCore::RenderSVGRoot::objectBoundingBox):
(WebCore::RenderSVGRoot::strokeBoundingBox):
(WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):
* rendering/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/RenderSVGTransformableContainer.h:
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calcViewport):
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
(WebCore::SVGRenderSupport::paintInfoIntersectsRepaintRect):
* rendering/SVGRenderSupport.h:
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff):
2010-08-30 Leandro Pereira <leandro@profusion.mobi>
[EFL] Unreviewed. Build fix when ENABLE_WEB_SOCKETS=ON.
EFL port does not yet support automated tests.
* CMakeLists.txt: Add missing files.
* CMakeListsEfl.txt: Ditto.
2010-08-30 Kenneth Russell <kbr@google.com>
Reviewed by Chris Marrin.
Expose Vector3 and associated operations
https://bugs.webkit.org/show_bug.cgi?id=44666
Rolling out earlier patch exposing Vector3 class in
TransformationMatrix.h. A different approach will be taken under
another bug.
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::v3Length):
(WebCore::v3Scale):
(WebCore::v3Dot):
(WebCore::v3Combine):
(WebCore::v3Cross):
(WebCore::decompose):
* platform/graphics/transforms/TransformationMatrix.ha:
2010-08-30 Jer Noble <jer.noble@apple.com>
Build fix; Unreviewed.
Added a export symbol to the WebCore.exp.in list.
* WebCore.exp.in:
2010-08-30 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Add audio cone effect files. The cone effect operates as defined in the OpenAL specification.
https://bugs.webkit.org/show_bug.cgi?id=44712
No new tests since audio API not implemented yet.
* platform/audio: Added.
* platform/audio/Cone.cpp: Added.
(WebCore::ConeEffect::ConeEffect):
(WebCore::ConeEffect::gain):
* platform/audio/Cone.h: Added.
(WebCore::ConeEffect::setInnerAngle):
(WebCore::ConeEffect::innerAngle):
(WebCore::ConeEffect::setOuterAngle):
(WebCore::ConeEffect::outerAngle):
(WebCore::ConeEffect::setOuterGain):
(WebCore::ConeEffect::outerGain):
2010-08-30 Chris Rogers <crogers@google.com>
Reviewed by Chris Marrin.
audio engine: add Reverb class
https://bugs.webkit.org/show_bug.cgi?id=36466
No new tests since audio API is not yet implemented.
* platform/audio: Added.
* platform/audio/Reverb.cpp: Added.
(WebCore::calculateNormalizationScale):
(WebCore::Reverb::Reverb):
(WebCore::Reverb::initialize):
(WebCore::Reverb::process):
(WebCore::Reverb::reset):
* platform/audio/Reverb.h: Added.
(WebCore::Reverb::):
(WebCore::Reverb::impulseResponseLength):
2010-08-30 Chris Rogers <crogers@google.com>
Unreviewed
Add WebCore/platform/audio directory
in preparation for landing: https://bugs.webkit.org/show_bug.cgi?id=36466
* platform/audio: Added.
2010-08-27 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
text/plain non-video files cause <video> to hang (while reading them?)
https://bugs.webkit.org/show_bug.cgi?id=44212
Disable all the QuickTime components which ingest .txt files.
New tests:
* http/tests/media/video-served-as-text.html: Added.
* http/tests/media/text-served-as-text.html: Added.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovie): Disable all four text
'eat' components.
* platform/mac/WebCoreSystemInterface.h: Add wkQTMovieDisableComponent.
* platform/mac/WebCoreSystemInterface.mm: Add wkQTMovieDisableComponent.
2010-08-30 Robert Hogan <robert@webkit.org>
Reviewed by Simon Hausmann.
allow ports with windowed plugins to support windowless plugin tests
https://bugs.webkit.org/show_bug.cgi?id=40730
Ports that implement plugins windowed by default need to have a way of
supporting plugin tests that assume the plugin is windowless. Add this
feature to the tests and support it in the webkit test plugin. Also
add mouse and keyboard event logging to the webkit-test plugin on Unix.
Unskip the following tests on Qt:
plugins/mouse-events.html
plugins/keyboard-events.html
plugins/mouse-events-fixedpos.html
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::setFocus):
(WebCore::setXKeyEventSpecificFields):
2010-08-30 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Darin Fisher.
Add DOMFileSystem implementation to support Entry manipulation operations
https://bugs.webkit.org/show_bug.cgi?id=44732
No new tests; tests will be added later.
* storage/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::root):
(WebCore::checkValidityForForCopyOrMove): Added.
(WebCore::DOMFileSystem::getMetadata): Added.
(WebCore::DOMFileSystem::move): Added.
(WebCore::DOMFileSystem::copy): Added.
(WebCore::DOMFileSystem::remove): Added.
(WebCore::DOMFileSystem::getParent): Added.
(WebCore::DOMFileSystem::getFile): Added.
(WebCore::DOMFileSystem::getDirectory): Added.
(WebCore::DOMFileSystem::readDirectory): Added.
* storage/DirectoryEntry.cpp:
(WebCore::DirectoryEntry::getFile): Added implementation.
(WebCore::DirectoryEntry::getDirectory): Added implementation.
* storage/DirectoryReader.cpp:
(WebCore::DirectoryReader::DirectoryReader): Added implementation.
(WebCore::DirectoryReader::readEntries): Added implementation.
* storage/DirectoryReader.h:
* storage/Entry.cpp:
(WebCore::Entry::getMetadata): Added implementation.
(WebCore::Entry::moveTo): Added implementation.
(WebCore::Entry::copyTo): Added implementation.
(WebCore::Entry::remove): Added implementation.
(WebCore::Entry::getParent): Added implementation.
* storage/Entry.h:
* storage/FileEntry.h:
Added a helper template to schedule callbacks.
* storage/DOMFileSystem.h:
(WebCore::DOMFileSystem::DispatchCallbackTask): Added to schedule callbacks.
(WebCore::DOMFileSystem::scheduleCallback): Added to schedule callbacks.
Changed to fire callbacks asynchronously.
* storage/LocalFileSystem.cpp:
(WebCore::LocalFileSystem::requestFileSystem):
2010-08-30 Alejandro G. Castro <alex@igalia.com>
Reviewed by Xan Lopez.
Fixed compilation error, now that we have included the
GtkVersioning.h we have to remove some version dependent code from
EventSender.
* platform/gtk/GtkVersioning.c:
(gdk_window_get_root_coords):
* platform/gtk/GtkVersioning.h:
2010-08-30 Beth Dakin <bdakin@apple.com>
Reviewed by Sam Weinig.
Fix for https://bugs.webkit.org/show_bug.cgi?id=44804 Crashes in
RenderMathMLRoot::layout() and RenderMathMLRoot::paint()
-and corresponding-
<rdar://problem/8342055>
All of the calls to firstChild() and lastChild() in
RenderMathMLRoot::layout() and RenderMathMLRoot::paint() need to be
null checked.
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
(WebCore::RenderMathMLRoot::layout):
2010-08-30 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=44801 Crash in
RenderMathMLSubSup::layout()
-and corresponding-
<rdar://problem/8325203>
Null-check m_scripts. It is null-checked everywhere else in the
class and can legitimately be null.
* mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::layout):
2010-08-30 Alejandro G. Castro <alex@igalia.com>
Reviewed by Martin Robinson.
[Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer
are deprecated
https://bugs.webkit.org/show_bug.cgi?id=44787
We have replaced GtkVersioning.cpp with GtkVersioning.c and
created a function (getDefaultGDKPointerDevice) to get the pointer
of the window with the new APIs. We added that function to DRT and
copyandpaste unit test.
* GNUmakefile.am:
* platform/gtk/GtkVersioning.c: Added.
(gtk_adjustment_set_value):
(gtk_adjustment_configure):
(getDefaultGDKPointerDevice):
* platform/gtk/GtkVersioning.cpp: Removed.
* platform/gtk/GtkVersioning.h:
2010-08-30 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Make SVG constructors private to make sure callers all use create
https://bugs.webkit.org/show_bug.cgi?id=44872
Made as many members private and protected as possible, and got rid of many
unneeded empty constructor and destructor definitions, in some cases changing
a class to be non-polymorphic. Made some functions inline. Used the word document
instead of the abbreviation doc. Removed unneeded explicit base class
initialization in cases where it is no different from the default behavior.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::SVGAElement):
(WebCore::SVGAElement::childShouldCreateRenderer):
* svg/SVGAElement.h:
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
* svg/SVGAltGlyphElement.h:
* svg/SVGAngle.cpp:
* svg/SVGAngle.h:
* svg/SVGAnimateColorElement.cpp:
(WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
* svg/SVGAnimateColorElement.h:
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::SVGAnimateElement):
* svg/SVGAnimateElement.h:
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
* svg/SVGAnimateMotionElement.h:
* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
* svg/SVGAnimateTransformElement.h:
* svg/SVGAnimatedPathData.cpp:
* svg/SVGAnimatedPathData.h:
* svg/SVGAnimatedPoints.cpp:
* svg/SVGAnimatedPoints.h:
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::SVGAnimationElement):
* svg/SVGAnimationElement.h:
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::SVGCircleElement):
* svg/SVGCircleElement.h:
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::SVGClipPathElement):
* svg/SVGClipPathElement.h:
* svg/SVGColor.cpp:
* svg/SVGColor.h:
* svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
* svg/SVGComponentTransferFunctionElement.h:
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::SVGCursorElement):
* svg/SVGCursorElement.h:
* svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::SVGDefsElement):
* svg/SVGDefsElement.h:
* svg/SVGDescElement.cpp:
(WebCore::SVGDescElement::SVGDescElement):
* svg/SVGDescElement.h:
* svg/SVGDocument.cpp:
* svg/SVGDocument.h:
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
(WebCore::SVGDocumentExtensions::reportWarning):
(WebCore::SVGDocumentExtensions::reportError):
* svg/SVGDocumentExtensions.h:
* svg/SVGElement.h:
* svg/SVGElementInstanceList.h:
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::SVGEllipseElement):
* svg/SVGEllipseElement.h:
* svg/SVGExternalResourcesRequired.cpp:
* svg/SVGExternalResourcesRequired.h:
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::SVGFEBlendElement):
* svg/SVGFEBlendElement.h:
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
* svg/SVGFEComponentTransferElement.h:
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::SVGFECompositeElement):
* svg/SVGFECompositeElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
* svg/SVGFEDiffuseLightingElement.h:
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
* svg/SVGFEDistantLightElement.h:
* svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::SVGFEFloodElement):
* svg/SVGFEFloodElement.h:
* svg/SVGFEFuncAElement.cpp:
(WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
* svg/SVGFEFuncAElement.h:
* svg/SVGFEFuncBElement.cpp:
(WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
* svg/SVGFEFuncBElement.h:
* svg/SVGFEFuncGElement.cpp:
(WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
* svg/SVGFEFuncGElement.h:
* svg/SVGFEFuncRElement.cpp:
(WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
* svg/SVGFEFuncRElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::SVGFEImageElement):
* svg/SVGFEImageElement.h:
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::SVGFELightElement):
* svg/SVGFELightElement.h:
* svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::SVGFEMergeElement):
* svg/SVGFEMergeElement.h:
* svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
* svg/SVGFEMergeNodeElement.h:
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
* svg/SVGFEMorphologyElement.h:
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
* svg/SVGFEOffsetElement.h:
* svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
(WebCore::SVGFEPointLightElement::lightSource):
* svg/SVGFEPointLightElement.h:
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
* svg/SVGFESpotLightElement.h:
* svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::SVGFETileElement):
* svg/SVGFETileElement.h:
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
* svg/SVGFETurbulenceElement.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement):
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/SVGFitToViewBox.cpp:
* svg/SVGFitToViewBox.h:
* svg/SVGFontData.cpp:
* svg/SVGFontData.h:
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::SVGFontElement):
* svg/SVGFontElement.h:
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
* svg/SVGFontFaceElement.h:
* svg/SVGFontFaceFormatElement.cpp:
(WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
* svg/SVGFontFaceFormatElement.h:
* svg/SVGFontFaceNameElement.cpp:
(WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
* svg/SVGFontFaceNameElement.h:
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
* svg/SVGFontFaceSrcElement.h:
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
* svg/SVGFontFaceUriElement.h:
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
* svg/SVGForeignObjectElement.h:
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::SVGGElement):
* svg/SVGGElement.h:
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::SVGGlyphElement):
* svg/SVGGlyphElement.h:
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::SVGGradientElement):
* svg/SVGGradientElement.h:
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::SVGHKernElement):
* svg/SVGHKernElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::SVGImageElement):
* svg/SVGImageElement.h:
* svg/SVGImageLoader.cpp:
* svg/SVGImageLoader.h:
* svg/SVGLangSpace.cpp:
* svg/SVGLangSpace.h:
* svg/SVGLengthList.cpp:
* svg/SVGLengthList.h:
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::SVGLineElement):
* svg/SVGLineElement.h:
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
* svg/SVGLinearGradientElement.h:
* svg/SVGLocatable.cpp:
* svg/SVGLocatable.h:
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::SVGMPathElement):
* svg/SVGMPathElement.h:
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::SVGMarkerElement):
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
* svg/SVGMaskElement.h:
* svg/SVGMetadataElement.cpp:
(WebCore::SVGMetadataElement::SVGMetadataElement):
* svg/SVGMetadataElement.h:
* svg/SVGMissingGlyphElement.cpp:
(WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
* svg/SVGMissingGlyphElement.h:
* svg/SVGNumberList.cpp:
* svg/SVGNumberList.h:
* svg/SVGPaint.cpp:
* svg/SVGPaint.h:
* svg/SVGParserUtilities.cpp:
(WebCore::genericParseNumber):
(WebCore::parseNumber):
* svg/SVGPathBlender.cpp:
* svg/SVGPathBlender.h:
* svg/SVGPathBuilder.h:
* svg/SVGPathByteStreamBuilder.h:
* svg/SVGPathByteStreamSource.cpp:
* svg/SVGPathByteStreamSource.h:
* svg/SVGPathConsumer.h:
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::SVGPathElement):
* svg/SVGPathElement.h:
* svg/SVGPathParser.cpp:
* svg/SVGPathParser.h:
* svg/SVGPathSeg.cpp:
* svg/SVGPathSeg.h:
* svg/SVGPathSegArc.h:
* svg/SVGPathSegClosePath.cpp:
* svg/SVGPathSegClosePath.h:
* svg/SVGPathSegCurvetoCubic.h:
* svg/SVGPathSegCurvetoCubicSmooth.h:
* svg/SVGPathSegCurvetoQuadratic.h:
* svg/SVGPathSegCurvetoQuadraticSmooth.h:
* svg/SVGPathSegLineto.h:
* svg/SVGPathSegLinetoHorizontal.h:
* svg/SVGPathSegLinetoVertical.h:
* svg/SVGPathSegList.cpp:
* svg/SVGPathSegList.h:
* svg/SVGPathSegListBuilder.h:
* svg/SVGPathSegListSource.cpp:
* svg/SVGPathSegListSource.h:
* svg/SVGPathSegMoveto.h:
* svg/SVGPathSource.h:
* svg/SVGPathStringBuilder.cpp:
* svg/SVGPathStringBuilder.h:
* svg/SVGPathStringSource.cpp:
* svg/SVGPathStringSource.h:
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement):
* svg/SVGPatternElement.h:
* svg/SVGPointList.cpp:
* svg/SVGPointList.h:
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::SVGPolyElement):
* svg/SVGPolyElement.h:
* svg/SVGPolygonElement.cpp:
(WebCore::SVGPolygonElement::SVGPolygonElement):
* svg/SVGPolygonElement.h:
* svg/SVGPolylineElement.cpp:
(WebCore::SVGPolylineElement::SVGPolylineElement):
* svg/SVGPolylineElement.h:
* svg/SVGPreserveAspectRatio.cpp:
* svg/SVGPreserveAspectRatio.h:
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::SVGRectElement):
* svg/SVGRectElement.h:
* svg/SVGSVGElement.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::SVGScriptElement):
* svg/SVGScriptElement.h:
* svg/SVGSetElement.cpp:
(WebCore::SVGSetElement::SVGSetElement):
* svg/SVGSetElement.h:
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::SVGStopElement):
* svg/SVGStopElement.h:
* svg/SVGStringList.cpp:
* svg/SVGStringList.h:
* svg/SVGStylable.cpp:
* svg/SVGStylable.h:
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::SVGStyleElement):
* svg/SVGStyleElement.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::SVGStyledElement):
* svg/SVGStyledElement.h:
* svg/SVGStyledLocatableElement.cpp:
(WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
* svg/SVGStyledLocatableElement.h:
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
* svg/SVGStyledTransformableElement.h:
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::SVGSwitchElement):
(WebCore::SVGSwitchElement::childShouldCreateRenderer):
* svg/SVGSwitchElement.h:
* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::SVGSymbolElement):
* svg/SVGSymbolElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::SVGTRefElement):
* svg/SVGTRefElement.h:
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::SVGTSpanElement):
* svg/SVGTests.cpp:
* svg/SVGTests.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::SVGTextContentElement):
* svg/SVGTextContentElement.h:
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::SVGTextElement):
* svg/SVGTextElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::SVGTextPathElement):
* svg/SVGTextPathElement.h:
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
* svg/SVGTextPositioningElement.h:
* svg/SVGTitleElement.cpp:
(WebCore::SVGTitleElement::SVGTitleElement):
* svg/SVGTransform.cpp:
* svg/SVGTransform.h:
* svg/SVGTransformable.cpp:
* svg/SVGTransformable.h:
* svg/SVGURIReference.cpp:
* svg/SVGURIReference.h:
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::SVGUseElement):
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
* svg/SVGUseElement.h:
* svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::SVGViewElement):
* svg/SVGViewElement.h:
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::SVGViewSpec):
* svg/SVGViewSpec.h:
* svg/SVGZoomAndPan.cpp:
* svg/SVGZoomAndPan.h:
* svg/SVGZoomEvent.cpp:
* svg/SVGZoomEvent.h:
2010-08-30 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
Disable automatic looping
https://bugs.webkit.org/show_bug.cgi?id=44844
Test: media/video-does-not-loop.html
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovie): Disable QuickTime automatic looping.
* platform/graphics/win/QTMovie.cpp:
(QTMoviePrivate::createMovieController): Ditto.
2010-08-30 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
ApplyStyleCommand::applyInlineStyle needs cleanup
https://bugs.webkit.org/show_bug.cgi?id=44458
Cleanup:
1. Isolated code to find the highest ancestor with embedding style, and deployed it in
ApplyStyleCommand::applyInlineStyle.
2. Combined the code to remove embedding style up to enclosing block and the code to
remove unicode-bidi and direction properties between start and end nodes.
3. Simplified the conditionals to apply embedding styles.
No new tests are added since this is a cleanup.
* editing/ApplyStyleCommand.cpp:
(WebCore::highestEmbeddingAncestor): Added.
(WebCore::ApplyStyleCommand::applyInlineStyle): See above.
2010-08-30 Martin Robinson <mrobinson@igalia.com>
Build fix. Add the new fileapi directory to the IDL vpath.
* GNUmakefile.am:
2010-08-30 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] WebKit DOM bindings build should not depend on output GNUMakefile
https://bugs.webkit.org/show_bug.cgi?id=44805
Move WebKit DOM bindings build rules to bindings/gobject/GNUmakefile.am to
prevent full WebKit API rebuilds when the automake files change.
No new tests as this is just a build change.
* bindings/gobject/GNUmakefile.am: Added.
2010-08-30 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: event listener properties are rendered as [object Object].
https://bugs.webkit.org/show_bug.cgi?id=44779
* inspector/front-end/EventListenersSidebarPane.js:
2010-08-30 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed build fix with Blob Support
[EFL] Build break with Blob support
https://bugs.webkit.org/show_bug.cgi?id=44858
No new features added, so no new tests.
* CMakeLists.txt:
2010-08-30 Andras Becsi <abecsi@webkit.org>
Unreviewed trivial fix.
[Qt] Let qmake know about HTML parser headers.
No new tests needed.
* WebCore.pro:
2010-08-30 Andras Becsi <abecsi@webkit.org>
Unreviewed build fix.
[Qt] Fix fileapi header paths to fix warnings after r66365.
No new tests needed.
* WebCore.pro:
2010-08-30 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Kent Tamura.
REGRESSION(r66355): Fix warnings in html/DateComponents.cpp
https://bugs.webkit.org/show_bug.cgi?id=44855
* html/DateComponents.cpp:
(WebCore::DateComponents::setMillisecondsSinceEpochForWeek): Suggested parentheses added around && within ||
2010-08-30 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Darin Adler.
REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
https://bugs.webkit.org/show_bug.cgi?id=44843
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||
2010-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66198.
http://trac.webkit.org/changeset/66198
https://bugs.webkit.org/show_bug.cgi?id=44856
It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::close):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/inspector.js:
(WebInspector.inspectedPageDestroyed):
2010-08-30 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Kent Tamura.
Split webcore_svg off webcore_remaining. webcore_svg contains all svg
sources files.
https://bugs.webkit.org/show_bug.cgi?id=44840
* WebCore.gyp/WebCore.gyp:
2010-08-13 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
https://bugs.webkit.org/show_bug.cgi?id=43960
[Chromium] styled scroll bar on the window is painted badly.
WebKit assumes outermost scrollbar always painted.
So force their style to have the background color if it isn't
given by the stylesheet.
Test: scrollbars/custom-scrollbar-with-incomplete-style.html
* rendering/RenderObject.h:
(WebCore::RenderObject::hasBackground): Extracted body to RenderStyle for sharing.
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::getScrollbarPseudoStyle): Added the workaround as mentioned above.
* rendering/RenderScrollbar.h:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::hasBackground): Extracted from RenderObject.
2010-08-30 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
WebCore::RenderBlock::addChild* NULL ptrs
https://bugs.webkit.org/show_bug.cgi?id=43722
Also includes some cleanup of comments and ASSERTs.
Test: fast/ruby/before-doesnt-crash.html
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsInline::addChild):
2010-08-30 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Kent Tamura
Move most dependencies to webcore_prerequisites
https://bugs.webkit.org/show_bug.cgi?id=44814
* WebCore.gyp/WebCore.gyp:
2010-08-30 Adam Barth <abarth@webkit.org>
Move AsyncImageResizer back to html to fix Chromium build.
* WebCore.gypi:
2010-08-30 Adam Barth <abarth@webkit.org>
Fix silly typo that breaks the build.
* WebCore.pro:
2010-08-30 Adam Barth <abarth@webkit.org>
Attempt to fix the Qt build.
* WebCore.pri:
2010-08-30 Adam Barth <abarth@webkit.org>
Attempt to fix Chromium build.
* WebCore.gyp/WebCore.gyp:
2010-08-29 Adam Barth <abarth@webkit.org>
Rubber-stamped by Maciej Stachowiak.
Move File and Blob related files from WebCore/html to WebCore/fileapi.
* Android.mk:
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.xcodeproj/project.pbxproj:
* fileapi: Added.
* fileapi/AsyncFileWriter.h: Copied from WebCore/html/AsyncFileWriter.h.
* fileapi/Blob.cpp: Copied from WebCore/html/Blob.cpp.
* fileapi/Blob.h: Copied from WebCore/html/Blob.h.
* fileapi/Blob.idl: Copied from WebCore/html/Blob.idl.
* fileapi/BlobBuilder.cpp: Copied from WebCore/html/BlobBuilder.cpp.
* fileapi/BlobBuilder.h: Copied from WebCore/html/BlobBuilder.h.
* fileapi/BlobBuilder.idl: Copied from WebCore/html/BlobBuilder.idl.
* fileapi/BlobURL.cpp: Copied from WebCore/html/BlobURL.cpp.
* fileapi/BlobURL.h: Copied from WebCore/html/BlobURL.h.
* fileapi/File.cpp: Copied from WebCore/html/File.cpp.
* fileapi/File.h: Copied from WebCore/html/File.h.
* fileapi/File.idl: Copied from WebCore/html/File.idl.
* fileapi/FileError.h: Copied from WebCore/html/FileError.h.
* fileapi/FileError.idl: Copied from WebCore/html/FileError.idl.
* fileapi/FileList.cpp: Copied from WebCore/html/FileList.cpp.
* fileapi/FileList.h: Copied from WebCore/html/FileList.h.
* fileapi/FileList.idl: Copied from WebCore/html/FileList.idl.
* fileapi/FileReader.cpp: Copied from WebCore/html/FileReader.cpp.
* fileapi/FileReader.h: Copied from WebCore/html/FileReader.h.
* fileapi/FileReader.idl: Copied from WebCore/html/FileReader.idl.
* fileapi/FileStreamProxy.cpp: Copied from WebCore/html/FileStreamProxy.cpp.
* fileapi/FileStreamProxy.h: Copied from WebCore/html/FileStreamProxy.h.
* fileapi/FileThread.cpp: Copied from WebCore/html/FileThread.cpp.
* fileapi/FileThread.h: Copied from WebCore/html/FileThread.h.
* fileapi/FileThreadTask.h: Copied from WebCore/html/FileThreadTask.h.
* fileapi/FileWriter.cpp: Copied from WebCore/html/FileWriter.cpp.
* fileapi/FileWriter.h: Copied from WebCore/html/FileWriter.h.
* fileapi/FileWriter.idl: Copied from WebCore/html/FileWriter.idl.
* fileapi/FileWriterClient.h: Copied from WebCore/html/FileWriterClient.h.
* fileapi/ThreadableBlobRegistry.cpp: Copied from WebCore/html/ThreadableBlobRegistry.cpp.
* fileapi/ThreadableBlobRegistry.h: Copied from WebCore/html/ThreadableBlobRegistry.h.
* html/AsyncFileWriter.h: Removed.
* html/Blob.cpp: Removed.
* html/Blob.h: Removed.
* html/Blob.idl: Removed.
* html/BlobBuilder.cpp: Removed.
* html/BlobBuilder.h: Removed.
* html/BlobBuilder.idl: Removed.
* html/BlobURL.cpp: Removed.
* html/BlobURL.h: Removed.
* html/File.cpp: Removed.
* html/File.h: Removed.
* html/File.idl: Removed.
* html/FileError.h: Removed.
* html/FileError.idl: Removed.
* html/FileList.cpp: Removed.
* html/FileList.h: Removed.
* html/FileList.idl: Removed.
* html/FileReader.cpp: Removed.
* html/FileReader.h: Removed.
* html/FileReader.idl: Removed.
* html/FileStreamProxy.cpp: Removed.
* html/FileStreamProxy.h: Removed.
* html/FileThread.cpp: Removed.
* html/FileThread.h: Removed.
* html/FileThreadTask.h: Removed.
* html/FileWriter.cpp: Removed.
* html/FileWriter.h: Removed.
* html/FileWriter.idl: Removed.
* html/FileWriterClient.h: Removed.
* html/ThreadableBlobRegistry.cpp: Removed.
* html/ThreadableBlobRegistry.h: Removed.
2010-08-29 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Kent Tamura.
Move more common settings to webcore_prerequisites
https://bugs.webkit.org/show_bug.cgi?id=44812
* WebCore.gyp/WebCore.gyp:
2010-08-29 Darin Adler <darin@apple.com>
Reviewed by Maciej Stachowiak.
Create SVG and WML elements with create functions instead of direct invocations of new
https://bugs.webkit.org/show_bug.cgi?id=44851
Added the create functions, made some existing constructors protected and private,
made some other member functions protected and and private, added some missing virtual
keywords for clarity to functions that already were overriding virtual functions,
fixed some inconsistent indentation, and removed some unneeded empty destructors.
In the future, it will be good to have the constructors all be private so we don't
use them by accident. Then we'll change the reference count rule globally and add
all the necessary calls to adoptRef.
The SVG changes are compiled and tested. The WML changes are speculative and untested.
* dom/make_names.pl: Removed supportfor the createWithNew keyword.
* svg/svgtags.in: Removed all the createWithNew keywords.
* wml/WMLTagNames.in: Ditto.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::create): Added.
* svg/SVGAElement.h:
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::create): Added.
* svg/SVGAltGlyphElement.h:
* svg/SVGAnimateColorElement.cpp:
(WebCore::SVGAnimateColorElement::create): Added.
* svg/SVGAnimateColorElement.h:
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::create): Added.
* svg/SVGAnimateElement.h:
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::create): Added.
* svg/SVGAnimateMotionElement.h:
* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::create): Added.
* svg/SVGAnimateTransformElement.h:
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::create): Added.
* svg/SVGCircleElement.h:
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::create): Added.
* svg/SVGClipPathElement.h:
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::create): Added.
* svg/SVGCursorElement.h:
* svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::create): Added.
* svg/SVGDefsElement.h:
* svg/SVGDescElement.cpp:
(WebCore::SVGDescElement::create): Added.
* svg/SVGDescElement.h:
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::create): Added.
* svg/SVGEllipseElement.h:
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::create): Added.
* svg/SVGFEBlendElement.h:
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::create): Added.
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::create): Added.
* svg/SVGFEComponentTransferElement.h:
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::create): Added.
* svg/SVGFECompositeElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::create): Added.
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::create): Added.
* svg/SVGFEDiffuseLightingElement.h:
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::create): Added.
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::create): Added.
* svg/SVGFEDistantLightElement.h:
* svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::create): Added.
* svg/SVGFEFloodElement.h:
* svg/SVGFEFuncAElement.cpp:
(WebCore::SVGFEFuncAElement::create): Added.
* svg/SVGFEFuncAElement.h:
* svg/SVGFEFuncBElement.cpp:
(WebCore::SVGFEFuncBElement::create): Added.
* svg/SVGFEFuncBElement.h:
* svg/SVGFEFuncGElement.cpp:
(WebCore::SVGFEFuncGElement::create): Added.
* svg/SVGFEFuncGElement.h:
* svg/SVGFEFuncRElement.cpp:
(WebCore::SVGFEFuncRElement::create): Added.
* svg/SVGFEFuncRElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::create): Added.
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::create): Added.
* svg/SVGFEImageElement.h:
* svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::create): Added.
* svg/SVGFEMergeElement.h:
* svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::create): Added.
* svg/SVGFEMergeNodeElement.h:
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::create): Added.
* svg/SVGFEMorphologyElement.h:
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::create): Added.
* svg/SVGFEOffsetElement.h:
* svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::create): Added.
* svg/SVGFEPointLightElement.h:
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::create): Added.
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::create): Added.
* svg/SVGFESpotLightElement.h:
* svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::create): Added.
* svg/SVGFETileElement.h:
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::create): Added.
* svg/SVGFETurbulenceElement.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::create): Added.
* svg/SVGFilterElement.h:
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::create): Added.
* svg/SVGFontElement.h:
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::create): Added.
* svg/SVGFontFaceElement.h:
* svg/SVGFontFaceFormatElement.cpp:
(WebCore::SVGFontFaceFormatElement::create): Added.
* svg/SVGFontFaceFormatElement.h:
* svg/SVGFontFaceNameElement.cpp:
(WebCore::SVGFontFaceNameElement::create): Added.
* svg/SVGFontFaceNameElement.h:
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::create): Added.
* svg/SVGFontFaceSrcElement.h:
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::create): Added.
* svg/SVGFontFaceUriElement.h:
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::create): Added.
* svg/SVGForeignObjectElement.h:
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::create): Added.
* svg/SVGGElement.h:
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::create): Added.
* svg/SVGGlyphElement.h:
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::create): Added.
* svg/SVGHKernElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::create): Added.
* svg/SVGImageElement.h:
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::create): Added.
* svg/SVGLineElement.h:
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::create): Added.
* svg/SVGLinearGradientElement.h:
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::create): Added.
* svg/SVGMPathElement.h:
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::create): Added.
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::create): Added.
* svg/SVGMaskElement.h:
* svg/SVGMetadataElement.cpp:
(SVGMetadataElement::create): Added.
* svg/SVGMetadataElement.h:
* svg/SVGMissingGlyphElement.cpp:
(WebCore::SVGMissingGlyphElement::create): Added.
* svg/SVGMissingGlyphElement.h:
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::create): Added.
* svg/SVGPathElement.h:
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::create): Added.
* svg/SVGPatternElement.h:
* svg/SVGPolygonElement.cpp:
(WebCore::SVGPolygonElement::create): Added.
* svg/SVGPolygonElement.h:
* svg/SVGPolylineElement.cpp:
(WebCore::SVGPolylineElement::create): Added.
* svg/SVGPolylineElement.h:
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::create): Added.
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::create): Added.
* svg/SVGRectElement.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::create): Added.
* svg/SVGSVGElement.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::create): Added.
* svg/SVGScriptElement.h:
* svg/SVGSetElement.cpp:
(WebCore::SVGSetElement::create): Added.
* svg/SVGSetElement.h:
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::create): Added.
* svg/SVGStopElement.h:
(WebCore::SVGStyleElement::create): Added.
* svg/SVGStyleElement.h:
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::create): Added.
* svg/SVGSwitchElement.h:
* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::create): Added.
* svg/SVGSymbolElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::create): Added.
* svg/SVGTRefElement.h:
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::create): Added.
* svg/SVGTSpanElement.h:
* svg/SVGTextContentElement.h:
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::create): Added.
* svg/SVGTextElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::create): Added.
* svg/SVGTextPathElement.h:
* svg/SVGTextPositioningElement.h:
* svg/SVGTitleElement.cpp:
(WebCore::SVGTitleElement::create): Added.
* svg/SVGTitleElement.h:
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::create): Added.
* svg/SVGUseElement.h:
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::create): Added.
* svg/SVGVKernElement.h:
* svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::create): Added.
* svg/SVGViewElement.h:
* wml/WMLAElement.cpp:
(WebCore::WMLAElement::create): Added.
* wml/WMLAElement.h:
* wml/WMLAccessElement.cpp:
(WebCore::WMLAccessElement::create): Added.
* wml/WMLAccessElement.h:
* wml/WMLAnchorElement.cpp:
(WebCore::WMLAnchorElement::create): Added.
* wml/WMLAnchorElement.h:
* wml/WMLBRElement.cpp:
(WebCore::WMLBRElement::create): Added.
* wml/WMLBRElement.h:
* wml/WMLCardElement.cpp:
(WebCore::WMLCardElement::create): Added.
* wml/WMLCardElement.h:
* wml/WMLDoElement.cpp:
(WebCore::WMLDoElement::create): Added.
* wml/WMLDoElement.h:
* wml/WMLFieldSetElement.cpp:
(WebCore::WMLFieldSetElement::create): Added.
* wml/WMLFieldSetElement.h:
* wml/WMLFormControlElement.cpp:
(WebCore::WMLFormControlElement::create): Added.
* wml/WMLGoElement.cpp:
(WebCore::WMLGoElement::create): Added.
* wml/WMLGoElement.h:
* wml/WMLImageElement.cpp:
(WebCore::WMLImageElement::create): Added.
* wml/WMLImageElement.h:
* wml/WMLInputElement.cpp:
(WebCore::WMLInputElement::create): Added.
* wml/WMLInputElement.h:
* wml/WMLInsertedLegendElement.cpp:
(WebCore::WMLInsertedLegendElement::create): Added.
* wml/WMLInsertedLegendElement.h:
* wml/WMLIntrinsicEvent.cpp:
(WebCore::WMLIntrinsicEvent::create): Added.
* wml/WMLMetaElement.cpp:
(WebCore::WMLMetaElement::create): Added.
* wml/WMLMetaElement.h:
* wml/WMLNoopElement.cpp:
(WebCore::WMLNoopElement::create): Added.
* wml/WMLNoopElement.h:
* wml/WMLOnEventElement.cpp:
(WebCore::WMLOnEventElement::create): Added.
* wml/WMLOnEventElement.h:
* wml/WMLOptGroupElement.cpp:
(WebCore::WMLOptGroupElement::create): Added.
* wml/WMLOptGroupElement.h:
* wml/WMLOptionElement.cpp:
(WebCore::WMLOptionElement::create): Added.
* wml/WMLOptionElement.h:
* wml/WMLPElement.cpp:
(WebCore::WMLPElement::create): Added.
* wml/WMLPElement.h:
* wml/WMLPostfieldElement.cpp:
(WebCore::WMLPostfieldElement::create): Added.
* wml/WMLPostfieldElement.h:
* wml/WMLPrevElement.cpp:
(WebCore::WMLPrevElement::create): Added.
* wml/WMLPrevElement.h:
* wml/WMLRefreshElement.cpp:
(WebCore::WMLRefreshElement::create): Added.
* wml/WMLRefreshElement.h:
* wml/WMLSelectElement.cpp:
(WebCore::WMLSelectElement::create): Added.
* wml/WMLSelectElement.h:
* wml/WMLSetvarElement.cpp:
(WebCore::WMLSetvarElement::create): Added.
* wml/WMLSetvarElement.h:
* wml/WMLTableElement.cpp:
(WebCore::WMLTableElement::create): Added.
* wml/WMLTableElement.h:
* wml/WMLTaskElement.cpp:
(WebCore::WMLTaskElement::create): Added.
* wml/WMLTaskElement.h:
* wml/WMLTemplateElement.cpp:
(WebCore::WMLTemplateElement::create): Added.
* wml/WMLTemplateElement.h:
* wml/WMLTimerElement.cpp:
(WebCore::WMLTimerElement::create): Added.
* wml/WMLTimerElement.h:
2010-08-29 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Kent Tamura.
Rename webcore to 'webcore_remaining'.
https://bugs.webkit.org/show_bug.cgi?id=44796
Create a meta-target webcore that inherits from every webcore_XXX targets. (Currently 1)
Move direct_dependent_settings and export_dependent_settings from webcore_remaining to webcore
Obviously, there will be other webcore_XXX targets. Keeping the change as small as possible.
* WebCore.gyp/WebCore.gyp:
2010-08-29 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Dimitri Glazkov.
First step in unforking Chrome's FontPlatformDataMac.mm.
Move files from platform/graphics/mac to platform/graphics/cocoa
https://bugs.webkit.org/show_bug.cgi?id=41398
Just moving files around so no new tests.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
* platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
* platform/graphics/mac/FontPlatformData.h: Removed.
* platform/graphics/mac/FontPlatformDataMac.mm: Removed.
2010-08-29 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Introduce isValidValue(const String&) of HTMLInputElement and HTMLTextAreaElement
https://bugs.webkit.org/show_bug.cgi?id=43537
isValidValue() is useful for browser implementations to propose
form field values without breaking form validity.
No new tests because these functions are not exposed to JavaScript.
* html/HTMLFormControlElement.h:
(WebCore::HTMLTextFormControlElement::):
Remove virtual valueMissing(), patternMismatch(), and tooLong().
* html/HTMLInputElement.cpp:
(WebCore::isValidColorString): Moved from ValidityState.
(WebCore::isValidEmailAddress): ditto.
(WebCore::HTMLInputElement::isValidValue): Added.
(WebCore::HTMLInputElement::typeMismatch): Add a String parameter.
(WebCore::HTMLInputElement::valueMissing): Add a String parameter.
(WebCore::HTMLInputElement::patternMismatch): Add a String parameter.
(WebCore::HTMLInputElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
(WebCore::HTMLInputElement::rangeUnderflow): Add a String parameter.
(WebCore::HTMLInputElement::rangeOverflow): Add a String parameter.
(WebCore::HTMLInputElement::stepMismatch): Add a String parameter.
* html/HTMLInputElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::tooLong): Add String and NeedsToCheckDirtyFlag parameters.
(WebCore::HTMLTextAreaElement::isValidValue): Added.
* html/HTMLTextAreaElement.h:
(WebCore::HTMLTextAreaElement::valueMissing):
* html/ValidityState.cpp:
(WebCore::ValidityState::valueMissing): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
(WebCore::ValidityState::typeMismatch): Passes value() to HTMLInputElement::typeMismatch().
(WebCore::ValidityState::patternMismatch): Calls patternMismatch() of HTMLInputElement.
(WebCore::ValidityState::tooLong): Calls valueMissing() of HTMLInputElement or HTMLTextAreaElement.
(WebCore::ValidityState::rangeUnderflow): Passes value() to HTMLInputElement::rangeUnderflow().
(WebCore::ValidityState::rangeOverflow): Passes value() to HTMLInputElement::rangeUnderflow().
(WebCore::ValidityState::stepMismatch): Passes value() to HTMLInputElement::stepMismatch().
* html/ValidityState.h:
2010-08-29 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Change lower and higher limits of date/datetime/datetime-local/month/week types
https://bugs.webkit.org/show_bug.cgi?id=39737
According to the latest draft of HTML5, ISO-8601 dates in HTML5
should support A.D.0001 in Gregorian calendar though Gregorian
calendar started in 1582. So, we change the lower limits of
date&time types to 0001-01-01T00:00.
We also introduce the common higher limit, 275760-09-13T00:00. It
is the higher limit of Date type of ECMAScript.
* html/DateComponents.cpp:
(WebCore::DateComponents::parseYear):
Rejects years less than A.D.1 and years greater than 275760.
(WebCore::withinHTMLDateLimits):
Helper functions to check lower and higher limits.
(WebCore::DateComponents::addDay):
- Remove an overflow check. 'year' can't be so large number because
parseYear() rejects such numbers.
- Add withinHTMLDateLimits() calls.
(WebCore::DateComponents::addMinute):
- Add an assertion for the base date.
- Add withinHTMLDateLimits() calls.
(WebCore::DateComponents::parseMonth):
Add withinHTMLDateLimits() call.
(WebCore::DateComponents::parseDate): ditto.
(WebCore::DateComponents::parseWeek): ditto.
(WebCore::DateComponents::parseDateTimeLocal): ditto.
(WebCore::DateComponents::parseDateTime): ditto.
(WebCore::DateComponents::setMillisecondsSinceEpochForDate): ditto.
(WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): ditto.
(WebCore::DateComponents::setMillisecondsSinceEpochForMonth): ditto.
(WebCore::DateComponents::setMonthsSinceEpoch):
Add year range check and withinHTMLDateLimits() call.
(WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
Add year range check and week range check.
* html/DateComponents.h:
Update minimum/maximum constant values.
(WebCore::DateComponents::minimumDate):
(WebCore::DateComponents::minimumDateTime):
(WebCore::DateComponents::minimumMonth):
(WebCore::DateComponents::minimumWeek):
(WebCore::DateComponents::maximumDate):
(WebCore::DateComponents::maximumDateTime):
(WebCore::DateComponents::maximumMonth):
(WebCore::DateComponents::maximumWeek):
2010-08-29 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Port SharedBuffer::createWithContentsOfFile
https://bugs.webkit.org/show_bug.cgi?id=34412
Implement SharedBuffer::createWithContentsOfFile with IFile.
* platform/brew/SharedBufferBrew.cpp: Added.
(WebCore::SharedBuffer::createWithContentsOfFile):
2010-08-29 Enrica Casucci <enrica@apple.com>
Reviewed by Adele Peterson.
Crash when dragging text in Google Docs
https://bugs.webkit.org/show_bug.cgi?id=20471
<rdar://problem/7783629>
This fixes the crash but also fixes the generated markup when
performing a replacement at the border with an inline, to avoid the
new content being merged into the inline.
The crash is happening when doApply detects the need of merging
the start and the end of the new paragraph and the destination position
is moved inside an inline.
I've added new test cases to an existing layout test.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): When the situation described above is detected,
we insert a placeholder to avoid merging into the inline.
2010-08-29 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Implement HTML5's fakepath
https://bugs.webkit.org/show_bug.cgi?id=29000
The HTML 5 spec says to prepend C:\fakepath\ to the value of an
<input type="file"> control, so that's what we do now.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::value):
2010-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66329.
http://trac.webkit.org/changeset/66329
https://bugs.webkit.org/show_bug.cgi?id=44845
broke chromium mac (Requested by jamesr on #webkit).
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/mac/FontPlatformData.h: Renamed from WebCore/platform/graphics/cocoa/FontPlatformData.h.
(WebCore::toCTFontRef):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::isHashTableDeletedValue):
(WebCore::FontPlatformData::size):
(WebCore::FontPlatformData::syntheticBold):
(WebCore::FontPlatformData::syntheticOblique):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::font):
(WebCore::FontPlatformData::isColorBitmapFont):
(WebCore::FontPlatformData::cgFont):
(WebCore::FontPlatformData::hashTableDeletedFontValue):
* platform/graphics/mac/FontPlatformDataMac.mm: Renamed from WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm.
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::~FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::setFont):
(WebCore::FontPlatformData::roundsGlyphAdvances):
(WebCore::FontPlatformData::allowsLigatures):
(WebCore::FontPlatformData::ctFont):
(WebCore::FontPlatformData::description):
2010-08-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Fix RenderStyle::addCursor to use a StyleImage, not a CachedImage
https://bugs.webkit.org/show_bug.cgi?id=44719
Modernize the CSS cursor code to use a StyleImage, rather
than a CachedImage in the CursorData, and handle the loading
of pending images for the cursor property.
Covered by manual tests in WebCore/manual-tests
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::loadPendingImages):
* html/canvas/WebGLRenderingContext.cpp:
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
* rendering/style/CursorData.h:
(WebCore::CursorData::CursorData):
(WebCore::CursorData::image):
(WebCore::CursorData::setImage):
* rendering/style/CursorList.h:
(WebCore::CursorList::operator[]):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::addCursor):
* rendering/style/RenderStyle.h:
2010-08-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
When properties are missing from animation keyframes, interpolate between those keyframes that specify them
https://bugs.webkit.org/show_bug.cgi?id=40794
When a property does not appear in all keyframes of a keyframe animation, we currently use the
value of that property from the unanimated style. That forces the author to use additional
keyframes for properties that need to "skip a keyframe", which is laborious.
With this change, properties are interpolated between the keyframes in which they appear.
This is equivalent to splitting each property out into its own set of keyframes.
Tests: animations/missing-keyframe-properties-repeating.html
animations/missing-keyframe-properties-timing-function.html
animations/missing-keyframe-properties.html
* css/CSSStyleSelector.h:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForKeyframe): Pass a KeyframeValue in so that we can
collect which properties are represented per keyframe.
(WebCore::CSSStyleSelector::keyframeStylesForAnimation): Keyframes are inserted into a
KeyframeList by object now, rather than by key and style.
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::progress): Use AnimationDirectionAlternate for readability.
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): Renamed from getKeyframeAnimationInterval.
Use fractionalTime etc to match AnimationBase::progress(), and do lookups per-property.
Simplify the code that finds the relevant keyframe to do less work.
(WebCore::KeyframeAnimation::animate): Call fetchIntervalEndpointsForProperty() for each property, rather than just once for the
entire keyframe.
(WebCore::KeyframeAnimation::getAnimatedStyle): Ditto.
(WebCore::KeyframeAnimation::hasAnimationForProperty): FIXME comment.
* page/animation/KeyframeAnimation.h: Rename getKeyframeAnimationInterval() to fetchIntervalEndpointsForProperty().
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation): For hardware animations, only insert values
for keyframes which contain the property.
(WebCore::KeyframeList::KeyframeList): insert() takes a KeyframeValue now.
* rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::operator==):
(WebCore::KeyframeList::insert): Fix insert/replace logic, and ensure we maintain the
m_properties hash.
* rendering/style/KeyframeList.h:
(WebCore::KeyframeValue::KeyframeValue): Make members private, with accessors.
Add a m_properties HashSet for the properties animated in this keyframe.
2010-08-29 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Darin Adler.
REGRESSION(r66324): Fix warnings in editing/ApplyStyleCommand.cpp
https://bugs.webkit.org/show_bug.cgi?id=44843
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Suggested parentheses added around && within ||
2010-08-29 Darin Adler <darin@apple.com>
Try to fix Mac build.
* WebCore.xcodeproj/project.pbxproj: Mark CounterContent.h Private instead of Project.
2010-08-29 Pawel Hajdan <phajdan.jr@chromium.org>
Reviewed by Darin Adler.
Fix libxml workarounds to work with recent versions of libxml.
I was testing locally with libxml2-2.7.6.
https://bugs.webkit.org/show_bug.cgi?id=30508
Based on patch by Philippe Normand <pnormand@igalia.com>.
This also fixes a Chromium bug:
http://code.google.com/p/chromium/issues/detail?id=29333
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::switchToUTF16):
(WebCore::XMLParserContext::createStringParser):
(WebCore::XMLDocumentParser::doWrite):
(WebCore::startDocumentHandler):
2010-08-29 Darin Adler <darin@apple.com>
Try to fix Windows build.
* rendering/style/ContentData.h: Added include of CounterContent.h.
* css/CSSStyleSelector.cpp: Removed include of CounterContent.h.
* rendering/style/ContentData.cpp: Ditto.
* rendering/style/RenderStyle.cpp: Ditto.
2010-08-29 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Deploy OwnPtr, PassOwnPtr, and adoptPtr in some CSS-related files
https://bugs.webkit.org/show_bug.cgi?id=44834
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::CSSFunctionValue): Updated since
CSSParserFunction::args is an OwnPtr.
(WebCore::CSSFunctionValue::parserValue): Ditto.
* css/CSSGrammar.y: Added leakPtr calls for putting MediaQueryExp*
into the media query expression list, which is a vector of raw pointers
that are deleted explicitly.
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::setCSSStyleSheet): Updated to use document instead of doc.
(WebCore::CSSImportRule::insertedIntoParent): Ditto.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): Ditto.
* css/CSSNamespace.h: Took the "m_" off the names of the data members of
this structure. Used OwnPtr for the parent data member. Rewrote the
namespaceForPrefix function so it's iterative instead of recursive.
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser): Update since m_mediaQuery, m_floatingMediaQuery,
m_floatingMediaQueryExp, and m_floatingMediaQueryExpList are now all OwnPtr and
thus don't need to be initialized.
(WebCore::CSSParser::~CSSParser): Update to not delete the above OwnPtr.
(WebCore::CSSParser::parseMediaQuery): Replaced the code that sets m_mediaQuery
to 0 with an assertion. Also use release when passing the media query to
appendMediaQuery.
(WebCore::CSSParser::document): Updated to use document instead of doc and to
use early return instead of a nested if.
(WebCore::CSSParser::parseContent): Added a get() call needed since
CSSParserFunction::args is an OwnPtr.
(WebCore::CSSParser::parseAnimationTimingFunction): Ditto.
(WebCore::CSSParser::parseDashboardRegions): Ditto.
(WebCore::CSSParser::parseShape): Ditto.
(WebCore::isValidFormatFunction): Ditto.
(WebCore::CSSParser::parseFontFaceSrc): Ditto.
(WebCore::CSSParser::parseColorParameters): Ditto.
(WebCore::CSSParser::parseHSLParameters): Ditto.
(WebCore::parseGradientColorStop): Ditto.
(WebCore::CSSParser::parseGradient): Ditto.
(WebCore::CSSParser::parseCanvas): Ditto.
(WebCore::CSSParser::parseTransform): Ditto.
(WebCore::CSSParser::createFloatingMediaQueryExp): Updated to use adoptPtr and
remove the explicit deletion.
(WebCore::CSSParser::sinkFloatingMediaQueryExp): Updated to use release.
(WebCore::CSSParser::createFloatingMediaQueryExpList): Ditto.
(WebCore::CSSParser::sinkFloatingMediaQueryExpList): Ditto.
(WebCore::CSSParser::createFloatingMediaQuery): Ditto.
(WebCore::CSSParser::sinkFloatingMediaQuery): Ditto.
(WebCore::CSSParser::checkForVariables): Use get for CSSParserFunction::args.
* css/CSSParser.h: Made return values for sinkFloatingMediaQueryExp,
sinkFloatingMediaQueryExpList, and sinkFloatingMediaQuery be PassOwnPtr.
Made createFloatingMediaQuery take a PassOwnPtr. Made m_mediaQuery,
m_floatingMediaQuery, m_floatingMediaQueryExp, and m_floatingMediaQueryExpList
be OwnPtr.
* css/CSSParserValues.h: Made args be an OwnPtr.
* css/CSSStyleSelector.cpp: Made CSSRuleSet m_universalRules and m_pageRules
be OwnPtr.
(WebCore::CSSStyleSelector::CSSStyleSelector): Use document instead of doc.
Got rid of the init function, only called here, because it did nothing that
wasn't already done. Eliminated unneeded code to set m_userStyle to 0, since
it's now an OwnPtr and will be 0 automatically. Use adoptPtr when initializing
m_medium, m_authorStyle, and m_useStyle.
(WebCore::CSSStyleSelector::~CSSStyleSelector): Got rid of unneeded delete of
m_medium, m_authorStyle, and m_userStyle, and unneded clear of m_keyframesRuleMap.
(WebCore::CSSStyleSelector::styleForElement): Use get with m_userStyle and
m_authorStyle.
(WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
(WebCore::CSSStyleSelector::styleForPage): Ditto.
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
(WebCore::CSSRuleSet::CSSRuleSet): Got rid of unneeded initialization of
m_universalRules and m_pageRules.
(WebCore::CSSRuleSet::~CSSRuleSet): Got rid of unneeed deletion of same.
(WebCore::CSSRuleSet::addRule): Use adoptPtr to initialize m_universalRules.
(WebCore::CSSRuleSet::addPageRule): Use adoptPtr to initialize m_pageRules.
(WebCore::CSSStyleSelector::applyProperty): Use adopPtr to create counter
context object.
* css/CSSStyleSelector.h: Made m_authorStyle, m_userStyle, and m_medium use
OwnPtr. Got rid of init function.
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::CSSStyleSheet): Updatd for name change from m_doc
and doc to m_document and document. Eliminated unneeded initialization of
m_namespaces now that it is an OwnPtr.
(WebCore::CSSStyleSheet::~CSSStyleSheet): Got rid of unneeded deletion of same.
(WebCore::CSSStyleSheet::cssRules): Updated doc to document.
(WebCore::CSSStyleSheet::addNamespace): Added adopPtr when setting m_namespaces.
(WebCore::CSSStyleSheet::determineNamespace): Updated for changes to the
CSSNamespace class, using uri data member instead of function.
(WebCore::CSSStyleSheet::styleSheetChanged): Use document instead of doc.
* css/CSSStyleSheet.h: Renamed doc and m_doc to document and m_document.
Made m_namespaces an OwnPtr.
* css/CSSValueList.cpp:
(WebCore::CSSValueList::CSSValueList): Clean up logic a bit.
(WebCore::CSSValueList::createParserValueList): Clean up logic a bit and
return a PassOwnPtr.
* css/CSSValueList.h: Changed createParserValueList to return a PassOwnPtr.
* css/CSSVariablesDeclaration.cpp:
(WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc): Updated to use
document instead of doc.
* css/MediaList.cpp:
(WebCore::MediaList::deleteMedium): Use OwnPtr instead of a boolean to
make sure the newly-created query here is deleted.
(WebCore::MediaList::appendMediaQuery): Updated to take PassOwnPtr.
* css/MediaList.h: Changed appendMediaQuery to take a PassOwnPtr.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getStyleSheet): Use document instead of doc.
(WebCore::InspectorDOMAgent::getRuleRanges): Ditto.
(WebCore::InspectorDOMAgent::buildObjectForStyleSheet): Ditto.
* rendering/style/ContentData.cpp:
(WebCore::ContentData::clear): Update since data members are OwnPtr.
Also, fixed iterative deletion algorithm to be much simpler.
(WebCore::ContentData::dataEquivalent): Added FIXMEs and tweaked formatting.
(WebCore::ContentData::deleteContent): Tweaked formatting.
* rendering/style/ContentData.h: Changed m_next to an OwnPtr.
Added assertions to getters to check that we get the correct type.
Use leakRef instead of releaseRef. Changed setCounter and setNext functions
to take PassOwnPtr arguments.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::prepareToSetContent): Refactored common part of the
into a shared function so the three setContent functions don't have to repeat
the logic. Used an OwnPtr to avoid confusing logic and leakPtr.
(WebCore::RenderStyle::setContent): Changed argument to PassOwnPtr.
* rendering/style/RenderStyle.h: Changed setContent argument to a PassOwnPtr.
Added declaration of prepareToSetContent helper function.
2010-08-29 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Port ScrollbarThemeWin to WinCE
https://bugs.webkit.org/show_bug.cgi?id=44818
Add a #ifdef around usage of unsupported DFCS_FLAT.
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::paintButton):
2010-08-29 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Port SystemInfo to WinCE
https://bugs.webkit.org/show_bug.cgi?id=44817
* platform/win/SystemInfo.cpp:
(WebCore::isRunningOnVistaOrLater):
2010-08-28 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Dimitri Glazkov.
First step in unforking Chrome's FontPlatformDataMac.mm.
Move files from platform/graphics/mac to platform/graphics/cocoa
https://bugs.webkit.org/show_bug.cgi?id=41398
Just moving files around so no new tests.
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/cocoa: Added.
* platform/graphics/cocoa/FontPlatformData.h: Copied from WebCore/platform/graphics/mac/FontPlatformData.h.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm: Copied from WebCore/platform/graphics/mac/FontPlatformDataMac.mm.
* platform/graphics/mac/FontPlatformData.h: Removed.
* platform/graphics/mac/FontPlatformDataMac.mm: Removed.
2010-08-28 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Some IDL attributes don't reflect URL content attributes properly
https://bugs.webkit.org/show_bug.cgi?id=43650
* dom/Document.cpp:
(WebCore::Document::processBaseElement): Added. Implements the rules for base elements
from the HTML5 specification. Handles multiple base elements in the same document.
* dom/Document.h: Removed setBaseElementURL and setBaseElementTarget, replacing them
with processBaseElement.
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::parseMappedAttribute): Call the new processBaseElement
function.
(WebCore::HTMLBaseElement::insertedIntoDocument): Ditto.
(WebCore::HTMLBaseElement::removedFromDocument): Ditto.
(WebCore::HTMLBaseElement::isURLAttribute): Added.
(WebCore::HTMLBaseElement::target): Moved here from the .h file and changed to not
realy on an m_target local variable.
* html/HTMLBaseElement.h: Added an override of the isURLAttribute function. Removed
unneeded process function. Removed declaration of nonexistent setHref and setTarget
functions. Removed unneeded m_hrefAttrValue, m_href, and m_target. Moved
implementation of target function into the .cpp file.
* html/HTMLBaseElement.idl: Marked the href attribute as URL.
* html/HTMLBlockquoteElement.cpp:
(WebCore::HTMLBlockquoteElement::isURLAttribute): Added.
* html/HTMLBlockquoteElement.h: Added isURLAttribute.
* html/HTMLBlockquoteElement.idl: Marked the cite attribute as URL.
* html/HTMLEmbedElement.idl: Marked the src attribute as URL.
* html/HTMLFormElement.cpp: Added a comment about the action function, which should
be removed.
* html/HTMLFormElement.idl: Marked the action attribute as URL.
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::isURLAttribute): Added.
(WebCore::HTMLHtmlElement::insertedIntoDocument): Tweaked a bit.
* html/HTMLHtmlElement.h: Added isURLAttribute.
* html/HTMLHtmlElement.idl: Marked the manifest attribute as URL.
* html/HTMLIFrameElement.idl: Marked the src attribute a URL.
* html/HTMLModElement.cpp:
(WebCore::HTMLModElement::isURLAttribute): Added.
* html/HTMLModElement.h: Added isURLAttribute.
* html/HTMLModElement.idl: Marked the cite attribute as URL.
* html/HTMLQuoteElement.cpp:
(WebCore::HTMLQuoteElement::isURLAttribute): Added.
* html/HTMLQuoteElement.h: Added isURLAttribute.
* html/HTMLQuoteElement.idl: Marked the cite attribute as URL.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::processTagToken): Changed code to create a base
element instead of calling setBaseElementURL directly.
(WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use AtomicString instead of String.
(WebCore::HTMLViewSourceDocument::addLine): Ditto.
(WebCore::HTMLViewSourceDocument::addText): Ditto.
(WebCore::HTMLViewSourceDocument::addBase): Added. Creates a base element and inserts it.
(WebCore::HTMLViewSourceDocument::addLink): Use AtomicString instead of String.
* html/HTMLViewSourceDocument.h: Updated function declarations as above.
* bindings/scripts/test/CPP/WebDOMTestCallback.h:
* bindings/scripts/test/CPP/WebDOMTestInterface.h:
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
Updated results, which changed due to the fixes for at
least these bugs, and perhaps a few more:
https://bugs.webkit.org/show_bug.cgi?id=42115
https://bugs.webkit.org/show_bug.cgi?id=44597
https://bugs.webkit.org/show_bug.cgi?id=44738
* bindings/scripts/test/TestObj.idl:
* html/HTMLAnchorElement.idl:
* html/HTMLAreaElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFormElement.cpp:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLLinkElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLSourceElement.idl:
* html/HTMLVideoElement.idl:
Tweaked formatting.
2010-08-28 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
The logic to escape entities in appendEscapedContent and appendAttributeValue should be merged
https://bugs.webkit.org/show_bug.cgi?id=44831
Added appendCharactersReplacingEntities to escape &, <, >, ", and nbsp based on the mask.
Removed escapeContentText because it was only used in appendText, which now directly calls
appendCharactersReplacingEntities. Replaced appendEscapedContent, ucharRange, and appendUCharRange
by appendNodeValue.
No new tests are added since this is a cleanup.
* editing/markup.cpp:
(WebCore::):
(WebCore::appendCharactersReplacingEntities): Added.
(WebCore::MarkupAccumulator::appendAttributeValue): Calls appendCharactersReplacingEntities.
(WebCore::MarkupAccumulator::appendNodeValue): Added.
(WebCore::MarkupAccumulator::appendText): Calls appendNodeValue and appendCharactersReplacingEntities.
(WebCore::urlToMarkup): Calls escapeEntities.
2010-08-27 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
cannot remove text-decoration when style is added by u or s
https://bugs.webkit.org/show_bug.cgi?id=44560
The bug was caused by WebKit not pushing down implicitly added styles to descendent nodes.
Fixed the bug by pushing down all elements that implicitly add style.
extractInlineStyleToPushDown now calls removeImplicitlyStyledElement, which was modified to extract
the style implicitly added by the element to extractStyle.
This revealed a bug in applyInlineStyleToPushDown where applyInlineStyleIfNeeded could add
an implicitly styled element inside an element with a conflicting style, thereby overriding the style of the element.
Fixed this by extending the logic to honor the existing inline style declaration used in
the case of rewriting inline style declaration to all cases including the one calling addInlineStyleIfNeeded.
Also fixed a bug in removeInlineStyle where pushDownInlineStyleAroundNode was called on a text node
outside of selection if start was at the end of the text node.
Test: editing/style/push-down-implicit-styles.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added extractedStyle, which receives
the style implicitly added by the element being removed.
(WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Calls removeImplicitlyStyledElement
to remove the implicitly styled element and extract the inline style added by the element.
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Fixed a bug that addInlineStyleIfNeeded
could override the inline style declaration style of the node.
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Uses extractInlineStyleToPushDown
(WebCore::ApplyStyleCommand::removeInlineStyle): See above.
* editing/ApplyStyleCommand.h: Prototype changes.
2010-08-27 Mark Rowe <mrowe@apple.com>
Reviewed by Adam Barth.
<http://webkit.org/b/44802> REGRESSION (r65351): WebCore build fails due to attempting to directly access WebKitTools/Scripts
Move create-html-entity-table in to WebCore so that the build is again self-contained.
The script is also updated to take input as a CSV file rather than JSON as the former
can be parsed without requiring a third-party Python module be installed.
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.pri:
* WebCore.xcodeproj/project.pbxproj: Stop copying the input file in to the WebCore framework wrapper.
* html/parser/HTMLEntityNames.in: Added.
* html/parser/HTMLEntityNames.json: Removed.
* html/parser/create-html-entity-table: Renamed from WebKitTools/Scripts/create-html-entity-table.
2010-08-28 Daniel Bates <dbates@rim.com>
Attempt to fix Chromium Mac Release bot after changeset 66305 <http://trac.webkit.org/changeset/66305>.
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification): Added case statements for missing enum values.
These case statements simply fall through to a "break" statement.
2010-08-26 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Nikolas Zimmermann.
Add explicit destructor for C++ DOM bindings to avoid memory leaks when using SWIG.
https://bugs.webkit.org/attachment.cgi?bugid=44738
* bindings/scripts/CodeGeneratorCPP.pm:
2010-08-28 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
Add WebM MIME types to type registry
https://bugs.webkit.org/show_bug.cgi?id=44826
* platform/MIMETypeRegistry.cpp:
(WebCore::TypeExtensionPair::): Add "video/webm" and "audio/webm" types.
2010-08-28 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
Crash reloading fast/events/tabindex-focus-blur-all.html test
https://bugs.webkit.org/show_bug.cgi?id=44743
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::asyncEventTimerFired): If m_isWaitingToDecrementLoadEventDelayCount
is true, call setShouldDelayLoadEvent(false) and set the timer to fire the pending events
on the next idle.
(WebCore::HTMLMediaElement::setShouldDelayLoadEvent): Don't clear the delay from within a
media engine callback because document 'load' event handlers that cause the page to become
inactive will delete the media engine.
* html/HTMLMediaElement.h: Add m_isWaitingToDecrementLoadEventDelayCount.
2010-08-28 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
When properties are missing from animation keyframes, interpolate between those keyframes that specify them
https://bugs.webkit.org/show_bug.cgi?id=40794
Some preliminary cleanup; for vectors, prefer indexed access rather than using iterators.
No behavior changes.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::keyframeStylesForAnimation):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
(WebCore::KeyframeAnimation::validateTransformFunctionList):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
* rendering/style/KeyframeList.h:
(WebCore::KeyframeList::at):
(WebCore::KeyframeList::keyframes):
2010-08-28 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
Speculative fix for <rdar://problem/7275077> Crash in InlineBox::root() under RenderTextControl::textWithHardLineBreaks()
https://bugs.webkit.org/show_bug.cgi?id=44816
No test because I could not reproduce the crash.
In a common variant of the crash, InlineBox::root() is called with this == 12. This suggests that
a RenderInline* was cast into a RenderBox*, so RenderBox::inlineBoxWrapper() interpreted the
m_lineHeight and m_verticalPosition members of a RenderInline as a pointer to an InlineBox.
The cast into RenderBox* in textWithHardLineBreaks() was introduced in r40881 with no exaplanation.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::textWithHardLineBreaks): Fetch the first line directly from the inner
text block instead of relying on the first child being a text node.
2010-08-28 Moritz Lipp <mlq@pwmt.org>
Reviewed by Xan Lopez.
[GTK] Improper webkit_dom_document_evaluate implementation.
https://bugs.webkit.org/show_bug.cgi?id=42115
The generated webkit_dom_document_evaluate() function does not meet the
evaluate interface described in the W3 Documentation
http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate
"If this is specified as nullor the implementation does not reuse the
specified result,...". The current implementation did not accept the
result parameter to be NULL.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-08-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLTreeBuilder needs to call HTMLFormElement::setDemoted
https://bugs.webkit.org/show_bug.cgi?id=44781
This patch teaches the HTMLTreeBuilder about demoted form elements.
Demoting a form element magically stops the form element from
rendering. Demoted form elements are a concept from the
LegacyHTMLTreeBuilder, but they are somewhat of a hack because
rendering should be DOM-based. We'll likely look for a better solution
in a future patch.
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
* html/parser/HTMLConstructionSite.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
2010-08-28 Chris Guillory <chris.guillory@google.com>
Reviewed by Chris Fleizach.
Add AX notification for childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=44472
Test by running platform/chromium/accessibility/children-changed-notification.html within chromium's DRT
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::childrenChanged):
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* page/chromium/ChromeClientChromium.h:
2010-08-28 Eric Uhrhane <ericu@chromium.org>
Reviewed by Darin Fisher.
Implement the DOM FileWriter class
https://bugs.webkit.org/show_bug.cgi?id=44362
No new tests until the delegate class has an implementation; bug logged.
Build file additions.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
The AsyncFileWriter is an abstract interface to which FileWriter delegates all the hard work.
* html/AsyncFileWriter.h: Added.
The FileWriterClient is the interface for communications back from the AsyncFileWriter [success/failure, progress events].
* html/FileWriterClient.h: Added.
(WebCore::FileWriterClient::~FileWriterClient):
Added all delegation, state tracking, and progress event processing.
* html/FileWriter.cpp:
(WebCore::FileWriter::FileWriter):
(WebCore::FileWriter::initialize):
(WebCore::FileWriter::~FileWriter):
ActiveDomObject stuff
(WebCore::FileWriter::hasPendingActivity):
(WebCore::FileWriter::stop):
(WebCore::FileWriter::write):
FileWriter public interface
(WebCore::FileWriter::seek):
(WebCore::FileWriter::truncate):
(WebCore::FileWriter::abort):
FileWriterClient interface
(WebCore::FileWriter::didWrite):
(WebCore::FileWriter::didTruncate):
(WebCore::FileWriter::didFail):
Progress events
(WebCore::FileWriter::fireEvent):
* html/FileWriter.h:
2010-08-28 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Dimitri Glazkov.
Preparatory patch to split libwebcore in multiple libraries.
Start with a webcore_prerequisites pseudo-target what will be the common
target for all the other ones.
* WebCore.gyp/WebCore.gyp:
2010-08-28 Pratik Solanki <psolanki@apple.com>
Reviewed by Dan Bernstein.
Add an ENABLE define for purgeable memory support
https://bugs.webkit.org/show_bug.cgi?id=44777
* platform/PurgeableBuffer.h:
* platform/mac/PurgeableBufferMac.cpp:
2010-08-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Fix error message when theme loading fails
https://bugs.webkit.org/show_bug.cgi?id=44775
Parameters for logging were in the wrong order.
No new functionality so no new tests.
* platform/efl/ScrollbarEfl.cpp:
(ScrollbarEfl::setParent): exchange argument order in log function
call
2010-08-27 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
REGRESSION: some tests no longer painting
https://bugs.webkit.org/show_bug.cgi?id=44773
Fix regression from the RenderImageResource introduction, fast/canvas/canvas-as-image.html
and fast/canvas/canvas-as-image-incremental-repaint.html pixel tests did not work anymore.
* rendering/RenderImageResource.h:
(WebCore::RenderImageResource::hasImage): Make hasImage virtual.
* rendering/RenderImageResourceStyleImage.h:
(WebCore::RenderImageResourceStyleImage::hasImage): Always return true, just like RenderImageGeneratedContent did.
2010-08-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Cache plugin info to a persistent database
https://bugs.webkit.org/show_bug.cgi?id=43179
Implement a cache of NPAPI plugin metadata. Write the metadata to aa
file that gets rewritten if any plugin is added / removed. Compilation
of the feature is controlled by #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
Currently only enabled for Qt UNIX flavors.
* WebCore.pro: Enable NETSCAPE_PLUGIN_METADATA_CACHE for UNIX builds
* platform/qt/FileSystemQt.cpp:
(WebCore::openFile): Added.
(WebCore::readFromFile): Added.
* plugins/PluginDatabase.cpp:
(WebCore::persistentPluginMetadataCachePath): Static accessor for the path
(WebCore::PluginDatabase::PluginDatabase): Add instance variable.
(WebCore::PluginDatabase::refresh):
(WebCore::PluginDatabase::pluginForMIMEType): Ensure returned plugin is loaded.
(WebCore::PluginDatabase::MIMETypeForExtension): Ensure returned plugin is loaded.
(WebCore::PluginDatabase::clear):
(WebCore::fillBufferWithContentsOfFile): Static helper function.
(WebCore::readUTF8String): Static helper function.
(WebCore::readTime): Static helper function.
(WebCore::PluginDatabase::loadPersistentMetadataCache):
(WebCore::writeUTF8String): Static helper function.
(WebCore::writeTime): Static helper function.
(WebCore::PluginDatabase::updatePersistentMetadataCache): Added.
(WebCore::PluginDatabase::isPersistentMetadataCacheEnabled): Added.
(WebCore::PluginDatabase::setPersistentMetadataCacheEnabled):Added.
(WebCore::PluginDatabase::persistentMetadataCachePath): Added.
(WebCore::PluginDatabase::setPersistentMetadataCachePath): Added.
* plugins/PluginDatabase.h:
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::PluginPackage): Add instance variable.
(WebCore::PluginPackage::createPackageFromCache): Added.
(WebCore::PluginPackage::ensurePluginLoaded): Added.
* plugins/PluginPackage.h:
(WebCore::PluginPackage::fullMIMEDescription): Added.
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo): Split mime parsing.
(WebCore::PluginPackage::setMIMEDescription): Added. Mime parsing.
2010-08-27 Daniel Bates <dbates@rim.com>
Reviewed by Darin Adler.
Implement symbolic CSS3 list-style-types
https://bugs.webkit.org/show_bug.cgi?id=36734
Implements all of the symbolic CSS3 list-style-types as per
section 4.5 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#symbolic>.
Test: fast/lists/w3-css3-list-styles-symbolic.html
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added list style types Asterisks and Footnotes.
* css/CSSValueKeywords.in: Ditto.
* inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
* rendering/RenderListMarker.cpp:
(WebCore::toAlphabeticOrNumeric): Changed type of parameter sequenceSize from int to unsigned.
(WebCore::toSymbolic): Added.
(WebCore::toAlphabetic): Changed type of parameter alphabetSize from int to unsigned.
(WebCore::toNumeric): Changed type of parameter numeralsSize from int to unsigned.
(WebCore::effectiveListMarkerType): Added.
(WebCore::listMarkerSuffix): Added list style types Asterisks and Footnotes.
(WebCore::listMarkerText): Ditto.
(WebCore::RenderListMarker::paint): Ditto.
(WebCore::RenderListMarker::calcPrefWidths): Ditto.
(WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
* rendering/style/RenderStyleConstants.h: Ditto.
(WebCore::):
2010-08-27 Vincent Scheib <scheib@chromium.org>
Reviewed by Darin Fisher.
CanvasRenderingContext2D::willDraw changed to didDraw
Solves issue with canvas to canvas draw calls, and simplifies
mixed software and GPU acceleration of GraphicsContext implementations
which must track dirty rects for backing stores.
https://bugs.webkit.org/show_bug.cgi?id=44741
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::didDraw):
* html/HTMLCanvasElement.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
(WebCore::CanvasRenderingContext2D::clearRect):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::drawImageFromRect):
(WebCore::CanvasRenderingContext2D::didDraw):
(WebCore::CanvasRenderingContext2D::putImageData):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::markContextChanged):
2010-08-27 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
[chromium] Add new WebClipboard method for setting generic data in copy/cut handlers.
https://bugs.webkit.org/show_bug.cgi?id=42121
No new tests.
* platform/chromium/ChromiumBridge.h:
2010-08-27 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
Remove unnecessary AlphaBlend in PasteboardWin.
https://bugs.webkit.org/show_bug.cgi?id=44720
Replacing AlphaBlend with BitBlt is safe because testing showed that alpha
never survives copy-and-paste on Windows in any browser, and StretchBlt
was a overkill since the source and destination size are always equal.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeImage):
2010-08-26 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
https://bugs.webkit.org/show_bug.cgi?id=38282
* platform/graphics/skia/GraphicsContext3DSkia.cpp: Dealing with the case of texImage2D with HTMLCanvasElement input.
(WebCore::GraphicsContext3D::getImageData):
2010-08-26 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
[chromium] Working around compile issue in LayerRendererChromium.cpp
when DEBUG_GL_CALLS=1
https://bugs.webkit.org/show_bug.cgi?id=44739
No new functionality, no new tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
2010-08-27 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Port SoftLinking to WinCE
https://bugs.webkit.org/show_bug.cgi?id=44693
WinCE provides GetProcAddressW and GetProcAddressA for softlinking.
Unfortunately WinNT provides only GetProcAddress (without A or W).
Add a platform dependent macro for GetProcAddress.
* platform/win/SoftLinking.h:
2010-08-27 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] ScrollbarThemeGtk should account for the trough_under_steppers property
https://bugs.webkit.org/show_bug.cgi?id=44742
No new tests until this code is activated, at which point pixel tests will
test the scrollbar rendering.
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paintTrackBackground): Only inflate the track background
if the style specifies trough_under_steppers.
(WebCore::ScrollbarThemeGtk::paint): If the theme specifies trough_under_steppers,
a dirty stepper also triggers a repaint of the trough region.
2010-08-27 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Alexey Proskuryakov.
Extra Events triggered by <input> on focus
https://bugs.webkit.org/show_bug.cgi?id=44731
Tests: fast/events/input-focus-no-duplicate-events.html
fast/events/input-tab-focus-no-duplicate-events.html
* dom/Element.cpp:
(WebCore::Element::focus): do not continue and update the appearance of the element if it was not focused.
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedNode): respect the return value of Document::setFocusedNode.
2010-08-26 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Pavel Feldman.
Web Inspector: attribute nodes don't get rendered in the console
https://bugs.webkit.org/show_bug.cgi?id=44736
Extended Test: inspector/console-format.html
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode): add "name" and "value" properties for Attribute nodes.
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode): add "name" and "value" properties for Attribute nodes.
* inspector/front-end/ElementsTreeOutline.js: display html for Attribute nodes.
2010-08-27 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Finshing moving the HTML parser into WebCore/html/parser.
* Android.derived.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/CSSPreloadScanner.cpp: Removed.
* html/CSSPreloadScanner.h: Removed.
* html/HTMLConstructionSite.cpp: Removed.
* html/HTMLConstructionSite.h: Removed.
* html/HTMLDocumentParser.cpp: Removed.
* html/HTMLDocumentParser.h: Removed.
* html/HTMLEntityNames.json: Removed.
* html/HTMLEntityParser.cpp: Removed.
* html/HTMLEntityParser.h: Removed.
* html/HTMLEntitySearch.cpp: Removed.
* html/HTMLEntitySearch.h: Removed.
* html/HTMLEntityTable.h: Removed.
* html/HTMLFormattingElementList.cpp: Removed.
* html/HTMLFormattingElementList.h: Removed.
* html/HTMLParserScheduler.cpp: Removed.
* html/HTMLParserScheduler.h: Removed.
* html/HTMLPreloadScanner.cpp: Removed.
* html/HTMLPreloadScanner.h: Removed.
* html/HTMLScriptRunner.cpp: Removed.
* html/HTMLScriptRunner.h: Removed.
* html/HTMLScriptRunnerHost.h: Removed.
* html/HTMLTokenizer.cpp: Removed.
* html/HTMLTokenizer.h: Removed.
* html/HTMLViewSourceParser.cpp: Removed.
* html/HTMLViewSourceParser.h: Removed.
* html/parser/CSSPreloadScanner.cpp: Copied from WebCore/html/CSSPreloadScanner.cpp.
* html/parser/CSSPreloadScanner.h: Copied from WebCore/html/CSSPreloadScanner.h.
* html/parser/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLConstructionSite.cpp.
* html/parser/HTMLConstructionSite.h: Copied from WebCore/html/HTMLConstructionSite.h.
* html/parser/HTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
* html/parser/HTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
* html/parser/HTMLEntityNames.json: Copied from WebCore/html/HTMLEntityNames.json.
* html/parser/HTMLEntityParser.cpp: Copied from WebCore/html/HTMLEntityParser.cpp.
* html/parser/HTMLEntityParser.h: Copied from WebCore/html/HTMLEntityParser.h.
* html/parser/HTMLEntitySearch.cpp: Copied from WebCore/html/HTMLEntitySearch.cpp.
* html/parser/HTMLEntitySearch.h: Copied from WebCore/html/HTMLEntitySearch.h.
* html/parser/HTMLEntityTable.h: Copied from WebCore/html/HTMLEntityTable.h.
* html/parser/HTMLFormattingElementList.cpp: Copied from WebCore/html/HTMLFormattingElementList.cpp.
* html/parser/HTMLFormattingElementList.h: Copied from WebCore/html/HTMLFormattingElementList.h.
* html/parser/HTMLParserScheduler.cpp: Copied from WebCore/html/HTMLParserScheduler.cpp.
* html/parser/HTMLParserScheduler.h: Copied from WebCore/html/HTMLParserScheduler.h.
* html/parser/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTMLPreloadScanner.cpp.
* html/parser/HTMLPreloadScanner.h: Copied from WebCore/html/HTMLPreloadScanner.h.
* html/parser/HTMLScriptRunner.cpp: Copied from WebCore/html/HTMLScriptRunner.cpp.
* html/parser/HTMLScriptRunner.h: Copied from WebCore/html/HTMLScriptRunner.h.
* html/parser/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTMLScriptRunnerHost.h.
* html/parser/HTMLTokenizer.cpp: Copied from WebCore/html/HTMLTokenizer.cpp.
* html/parser/HTMLTokenizer.h: Copied from WebCore/html/HTMLTokenizer.h.
* html/parser/HTMLViewSourceParser.cpp: Copied from WebCore/html/HTMLViewSourceParser.cpp.
* html/parser/HTMLViewSourceParser.h: Copied from WebCore/html/HTMLViewSourceParser.h.
2010-08-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Tony Chang.
Insertion point does not show when dragging text into an editable area
https://bugs.webkit.org/show_bug.cgi?id=44295
r65681 caused the caret to use the last-computed caret rect when
painting, rather than forcing a style update. Because of this,
we now need to eagerly update the caret rect when changing
the drag selection.
Not testable in DRT because the drag selection is always cleared
before EventSender returns, so the drag caret can never show in
the pixel results.
Tested by running editing/selection/drag-in-iframe.html manually.
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection):
2010-08-27 Adam Barth <abarth@webkit.org>
Attempt to fix the Windows build.
* WebCore.vcproj/WebCoreCommon.vsprops:
2010-08-27 Adam Barth <abarth@webkit.org>
Attempt to fix the Qt build.
* WebCore.pro:
2010-08-27 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Move HTMLTreeBuilder and HTMLElementStack to WebCore/html/parser.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLElementStack.cpp: Removed.
* html/HTMLElementStack.h: Removed.
* html/HTMLTreeBuilder.cpp: Removed.
* html/HTMLTreeBuilder.h: Removed.
* html/parser/HTMLElementStack.cpp: Copied from WebCore/html/HTMLElementStack.cpp.
* html/parser/HTMLElementStack.h: Copied from WebCore/html/HTMLElementStack.h.
* html/parser/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
* html/parser/HTMLTreeBuilder.h: Copied from WebCore/html/HTMLTreeBuilder.h.
2010-08-27 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Create WebCore/html/parser
https://bugs.webkit.org/show_bug.cgi?id=44792
This patch begins the process of moving the HTML parser code to the
WebCore/html/parser directory. This patch moves a single header file.
More files will follow in future patches.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/HTMLToken.h: Renamed from WebCore/html/HTMLToken.h.
2010-08-27 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=42862
WebGL in CSS Canvas crashes
This fixes the crash, which was a simple null pointer deref. But this
revealed that -webkit-canvas no longer works for WebGL. I believe this
is due to the recent ImageBuffer optimizations done by Dave Hyatt
(https://bugs.webkit.org/show_bug.cgi?id=43507). This changed ImageBuffer
from always keeping a copy of the pixels to doing a copy to get them
when needed. Since We need to get pixels out of the WebGL drawing buffer
to use them as a CSS background, I had to change when I return those
pixels to the ImageBuffer.
Tests: fast/canvas/webgl/css-webkit-canvas-repaint.html
fast/canvas/webgl/css-webkit-canvas.html
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::copiedImage): Add logic to get image from WebGL so it works with new ImageBuffer logic (see above)
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create): Fixed null pointer deref
2010-08-27 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
Move Shader class from platform/graphics/chromium to platform/graphics/gpu
https://bugs.webkit.org/show_bug.cgi?id=44793
The Shader class and its subclasses are not chromium-specific. This moves
them to a common location so they can be re-used on all platforms. Also
moves the Shader subclasses into their own .h/.cpp files.
Refactor, no new tests.
* WebCore.gypi:
* platform/graphics/chromium/GLES2Canvas.cpp:
* platform/graphics/chromium/Shader.cpp: Removed.
* platform/graphics/chromium/Shader.h: Removed.
* platform/graphics/gpu/Shader.cpp: Added.
(WebCore::Shader::affineTo3x3):
(WebCore::Shader::loadShader):
(WebCore::Shader::loadProgram):
(WebCore::Shader::Shader):
(WebCore::Shader::~Shader):
* platform/graphics/gpu/Shader.h: Added.
* platform/graphics/gpu/SolidFillShader.cpp: Added.
(WebCore::SolidFillShader::SolidFillShader):
(WebCore::SolidFillShader::create):
(WebCore::SolidFillShader::use):
* platform/graphics/gpu/SolidFillShader.h: Added.
* platform/graphics/gpu/TexShader.cpp: Added.
(WebCore::TexShader::TexShader):
(WebCore::TexShader::create):
(WebCore::TexShader::use):
* platform/graphics/gpu/TexShader.h: Added.
2010-08-27 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Darin Fisher.
Add AsyncFileSystem interface for platform-dependent FileSystem API implementation
https://bugs.webkit.org/show_bug.cgi?id=44433
No new tests; tests will be added later.
* CMakeLists.txt:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/AsyncFileSystem.cpp: Added.
* platform/AsyncFileSystem.h: Added.
* platform/AsyncFileSystemCallbacks.h: Added.
* storage/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::DOMFileSystem):
(WebCore::DOMFileSystem::~DOMFileSystem):
(WebCore::DOMFileSystem::stop):
(WebCore::DOMFileSystem::hasPendingActivity):
(WebCore::DOMFileSystem::contextDestroyed):
* storage/DOMFileSystem.h:
(WebCore::DOMFileSystem::create):
* storage/FileSystemCallbacks.cpp:
(WebCore::FileSystemCallbacksBase::didFail):
(WebCore::FileSystemCallbacks::FileSystemCallbacks):
(WebCore::FileSystemCallbacks::didOpenFileSystem):
* storage/FileSystemCallbacks.h:
* storage/LocalFileSystem.cpp: Added.
* storage/LocalFileSystem.h: Added.
* storage/Flags.h: Nits fix.
2010-07-27 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Add JavaScript API to allow a page to go fullscreen.
rdar://problem/6867795
https://bugs.webkit.org/show_bug.cgi?id=43099
Mozilla has proposed a new set of JavaScript APIs which allow any element in
a document to go full-screen. The current revision of their proposal can be
found here:
<https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI&oldid=243429>
The proposed specification includes the following:
Document:
- Three new methods on Document:
+ void requestFullScreen()
+ void requestFullScreenWithKeys()
+ void cancelFullScreen()
- Three new attributes of Document:
+ readonly attribute boolean fullScreen
+ readonly attribute boolean fullScreenWithKeys
+ (optional) readonly attribute Element currentFullScreenElement
Element:
- Two new methods on Element:
+ void requestFullScreen()
+ void requestFullScreenWithKeys()
Events:
- One new event:
+ fullScreenChange
CSS Pseudo-classes:
- Three new Pseudo-classes:
+ :full-screen
+ :full-screen-doc
+ :full-screen-root-with-target
For WebKit's initial implementation, all the above new APIs will be prefixed with
"webkit" or "-webkit" where appropriate.
New tests:
LayoutTests/fullscreen/full-screen-api.html
LayoutTests/fullscreen/full-screen-css.html
LayoutTests/fullscreen/full-screen-request.html
Project file changes:
* Configurations/FeatureDefines.xcconfig: Added an ENABLE_FULLSCREEN_API entry.
* DerivedSources.make: Added rules for fullscreen.css and WebCore.FullScreen.exp.
* WebCore.FullScreen.exp: Added export symbols for Document and Element functions.
* WebCore.xcodeproj/project.pbxproj: New source files added to the project.
IDL changes:
* dom/Document.idl: Added the new full-screen API to the Document's javascript interface.
* dom/Element.idl: Added the new full-screen API to the Element's javascript interface.
Source changes:
* bindings/objc/PublicDOMInterfaces.h: Exposed Document and Element fullscreen functions in the DOM classes.
* css/CSSSelector.cpp: Added new FullScreen pseudo-classes.
* css/CSSSelector.h: Added new full-screen pseudo classes to the PseudoType enum.
* css/CSSStyleSelector.cpp:
(WebCore::loadFullDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle and the defaultQuirksStyle sheets.
(WebCore::loadSimpleDefaultStyle): Pull the fullscreen.css sheet into the defaultStyle sheet.
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Check for the new FullScreen pseudo classes.
* dom/Document.cpp:
(WebCore::Document::createEvent): Support creating a "WebKitFullScreenChange" event.
(WebCore::Document::addListenerTypeIfNeeded): Support listening for a "webKitFullScreenChangeEvent"
(WebCore::Document::webkitRequestFullScreenForElement): Passes request to the chrome client to enter full screen mode.
(WebCore::Document::webkitCancelFullScreen): Passes request to the chrome client to exit full screen mode.
(WebCore::Document::webkitWillEnterFullScreenForElement): Sets the FullScreen pseudo-classes on the full-screen element and its document.
(WebCore::Document::webkitDidEnterFullScreenForElement): Currently a no-op.
(WebCore::Document::webkitWillExitFullScreenForElement): Currently a no-op.
(WebCore::Document::webkitDidExitFullScreenForElement): Clears the FullScreen pseudo-classes on the full-screen element and its document.
* dom/Document.h: Added const accessors for new full-screen instance variables.
(WebCore::Document::):
(WebCore::Document::webkitIsFullScreen): Accessor for m_isFullScreen.
(WebCore::Document::webkitIsFullScreenWithKeysEnabled): Accessor for m_isFullScren and m_areKeysEnabled.
(WebCore::Document::webkitCurrentFullScreenElement): Accessor for m_fullScreenElement.
* dom/Element.cpp:
(WebCore::Element::webkitRequestFullScreen): Calls Document::webkitRequestFullScreenForElement.
* dom/Element.h:
* dom/EventNames.h: Add a webkitfullscreenchange event name.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute): Parse the new "onwebkitfullscreenchange" attribute and register a listener.
* page/ChromeClient.h:
(WebCore::ChromeClient::supportsFullscreenForElement): Pass through to the current UI delegate.
(WebCore::ChromeClient::enterFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
(WebCore::ChromeClient::exitFullscreenForElement): Create a WebKitFullScreenListener and pass through to the current UI delegate.
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h: Add a new setting to control runtime support for full screen mode (defaults to off)
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): The full screen button now toggles full screen mode (previously, it only entered).
* rendering/style/RenderStyleConstants.h: Added new style constants.
2010-08-27 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
Move Texture class from p/g/chromium to p/g/gpu
https://bugs.webkit.org/show_bug.cgi?id=44783
This class and its support were developed in platform/graphics/chromium but are not chromium-specific
in any way. This patch moves them to a common location so they can be shared by all platforms.
Pure refactor, so no new tests.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::drawTexturedRect):
(WebCore::GLES2Canvas::drawTexturedRectTile):
(WebCore::GLES2Canvas::createTexture):
(WebCore::GLES2Canvas::getTexture):
* platform/graphics/chromium/GLES2Canvas.h:
* platform/graphics/chromium/GLES2Texture.cpp: Removed.
* platform/graphics/chromium/GLES2Texture.h: Removed.
* platform/graphics/gpu/Texture.cpp: Added.
(WebCore::Texture::Texture):
(WebCore::Texture::~Texture):
(WebCore::convertFormat):
(WebCore::Texture::create):
(WebCore::copySubRect):
(WebCore::Texture::load):
(WebCore::Texture::bindTile):
* platform/graphics/gpu/Texture.h: Added.
(WebCore::Texture::):
(WebCore::Texture::format):
(WebCore::Texture::tiles):
* platform/graphics/gpu/TilingData.cpp: Renamed from WebCore/platform/graphics/chromium/TilingData.cpp.
(WebCore::computeNumTiles):
(WebCore::TilingData::TilingData):
(WebCore::TilingData::tileXIndexFromSrcCoord):
(WebCore::TilingData::tileYIndexFromSrcCoord):
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):
(WebCore::TilingData::tilePositionX):
(WebCore::TilingData::tilePositionY):
(WebCore::TilingData::tileSizeX):
(WebCore::TilingData::tileSizeY):
(WebCore::TilingData::overlappedTileIndices):
(WebCore::TilingData::intersectDrawQuad):
* platform/graphics/gpu/TilingData.h: Renamed from WebCore/platform/graphics/chromium/TilingData.h.
(WebCore::TilingData::maxTextureSize):
(WebCore::TilingData::totalSizeX):
(WebCore::TilingData::totalSizeY):
(WebCore::TilingData::numTiles):
(WebCore::TilingData::numTilesX):
(WebCore::TilingData::numTilesY):
(WebCore::TilingData::tileIndex):
(WebCore::TilingData::tileXIndex):
(WebCore::TilingData::tileYIndex):
(WebCore::TilingData::TilingData):
(WebCore::TilingData::assertTile):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawBitmapGLES2):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
* platform/graphics/skia/PlatformContextSkia.h:
2010-08-27 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
Rename the various modes to match the HTML5 specification:
ParseMode -> CompatibilityMode
CompatMode -> QuirksMode
AlmostStrictMode -> LimitedQuirksMode
StrictMode -> NoQuirksMode
Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
instead. This makes switching modes avoid forcing all RenderStyles to detect as changed.
Clean up user stylesheets to minimize style recalculation when the mode is switched.
Fix bugs with the propagation of correct modes in the HTML5 parser. Make sure the
dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
a doctype token.
determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
precisely.
* WebCore.exp.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::fontSizeForKeyword):
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList):
* dom/DecodedDataDocumentParser.cpp:
(WebCore::DecodedDataDocumentParser::appendBytes):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setCompatibilityMode):
(WebCore::Document::setDocType):
(WebCore::Document::unscheduleStyleRecalc):
(WebCore::Document::recalcStyle):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::createStyleSelector):
(WebCore::Document::implicitOpen):
(WebCore::Document::pageUserSheet):
(WebCore::Document::clearPageUserSheet):
(WebCore::Document::updatePageUserSheet):
(WebCore::Document::pageGroupUserSheets):
(WebCore::Document::clearPageGroupUserSheets):
(WebCore::Document::updatePageGroupUserSheets):
(WebCore::Document::findAnchor):
* dom/Document.h:
(WebCore::Document::):
(WebCore::Document::setCompatibilityModeFromDoctype):
(WebCore::Document::lockCompatibilityMode):
(WebCore::Document::compatibilityMode):
(WebCore::Document::inQuirksMode):
(WebCore::Document::inLimitedQuirksMode):
(WebCore::Document::inNoQuirksMode):
* dom/Element.cpp:
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):
(WebCore::Element::webkitMatchesSelector):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::setClass):
* dom/Node.cpp:
(WebCore::Node::querySelector):
(WebCore::Node::querySelectorAll):
* dom/OptionElement.cpp:
(WebCore::OptionElement::collectOptionLabelOrText):
* dom/SelectorNodeList.cpp:
(WebCore::createSelectorNodeList):
* dom/StyleElement.cpp:
(WebCore::StyleElement::createSheet):
* dom/StyledElement.cpp:
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore::StyledElement::parseMappedAttribute):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::createLinkDecl):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertDoctype):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::HTMLDocument):
(WebCore::HTMLDocument::compatMode):
(WebCore::HTMLDocument::setCompatibilityModeFromDoctype):
* html/HTMLDocument.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::defaultForInitial):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
(WebCore::DocumentWriter::reportDataReceived):
* loader/DocumentWriter.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::ImageDocument):
* loader/MediaDocument.cpp:
(WebCore::MediaDocument::MediaDocument):
* loader/PluginDocument.cpp:
(WebCore::PluginDocument::PluginDocument):
* loader/SinkDocument.cpp:
(WebCore::SinkDocument::SinkDocument):
* loader/TextDocument.cpp:
(WebCore::TextDocument::TextDocument):
* page/Page.cpp:
(WebCore::Page::userStyleSheetLocationChanged):
* page/PageGroup.cpp:
(WebCore::PageGroup::resetUserStyleCacheInAllFrames):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setEnforceCSSMIMETypeInNoQuirksMode):
* page/Settings.h:
(WebCore::Settings::enforceCSSMIMETypeInNoQuirksMode):
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcPrefWidths):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
(WebCore::InlineFlowBox::paintTextDecorations):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::handleBottomOfBlock):
(WebCore::RenderBlock::calcInlinePrefWidths):
(WebCore::RenderBlock::calcBlockPrefWidths):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::createInlineBoxForRenderer):
(WebCore::RenderBlock::findNextLineBreak):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcPercentageHeight):
(WebCore::RenderBox::calcAbsoluteHorizontal):
(WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
* rendering/RenderBox.h:
(WebCore::RenderBox::stretchesToViewHeight):
* rendering/RenderListItem.cpp:
(WebCore::getParentOfFirstLineBox):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowHeight):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::verticallyAlignBoxes):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::):
(WebCore::InheritedFlags::setBitDefaults):
2010-08-27 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 44745 - Number.toFixed/toExponential/toPrecision are inaccurate.
These methods should be using a version of dtoa that can generate results accurate
to the requested precision, whereas our version of dtoa is only currently able to
support producing results sufficiently accurate to distinguish the value from any
other IEEE-754 double precision number.
* html/HTMLTreeBuilder.cpp:
(WebCore::serializeForNumberType):
doubleToStringInJavaScriptFormat renamed to numberToString.
2010-08-27 Michael Nordman <michaeln@google.com>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=44133
IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
Adds two new attributes, asBlob and responseBlob.
Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
No new tests, just adding some stubs.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
(WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
(WebCore::RuntimeEnabledFeatures::asBlobEnabled):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
(WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
(WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
(WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
(WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
(WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
(WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
(WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
* xml/XMLHttpRequest.h:
(WebCore::XMLHttpRequest::asBlob):
* xml/XMLHttpRequest.idl:
2010-08-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Tony Chang.
Crash in CSSStyleSelector.cpp
https://bugs.webkit.org/show_bug.cgi?id=44780
Need to null-check the images when replacing pending images, because a later
rule may have replaced an image with 'none'.
Test: fast/css/pending-images-crash.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::loadPendingImages):
* page/FrameView.cpp:
(WebCore::FrameView::paintContents): Fix unrelated log message.
2010-08-27 Andrey Kosyakov <caseq@chromium.org>
Unreviewed. Revert r66218 & r66220 due to GTK test failures.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/AuditLauncherView.js:
(WebInspector.AuditLauncherView.categorySortFunction):
(WebInspector.AuditLauncherView):
(WebInspector.AuditLauncherView.prototype._launchButtonClicked):
(WebInspector.AuditLauncherView.prototype._selectAllClicked):
(WebInspector.AuditLauncherView.prototype._categoryClicked):
(WebInspector.AuditLauncherView.prototype._createCategoryElement):
(WebInspector.AuditLauncherView.prototype._createLauncherUI):
* inspector/front-end/AuditResultView.js:
(WebInspector.AuditCategoryResultPane.prototype._appendResult):
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
(WebInspector.AuditsPanel.prototype._executeAudit):
(WebInspector.AuditCategory.prototype.runRules):
* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI):
(injectedExtensionAPI.EventSinkImpl.prototype.addListener):
(injectedExtensionAPI.EventSinkImpl.prototype._fire):
(injectedExtensionAPI.EventSink):
(injectedExtensionAPI.InspectorExtensionAPI):
(injectedExtensionAPI.Panels.prototype.create):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype._postNotification):
(WebInspector.ExtensionServer.prototype._addExtensions):
(WebInspector.ExtensionStatus):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/utilities.js:
():
2010-08-27 Mihai Parparita <mihaip@chromium.org>
Reviewed by Darin Fisher.
Crash in HistoryController::recursiveGoToItem when navigating in a frame
while another frame has a custom window name
https://bugs.webkit.org/show_bug.cgi?id=44183
Fix up HistoryController::recursiveGoToItem to better check whether the
current document frames, the curent history item frames, and the
destination history frames match up.
Test: fast/history/history-subframe-with-name.html
* history/HistoryItem.cpp:
(WebCore::HistoryItem::childItemWithDocumentSequenceNumber): Add linear
lookup of child by document sequence number
(WebCore::HistoryItem::hasSameDocuments): Remove assumption that the
other item has the children in the same order (it doesn't seem to be
true)
(WebCore::HistoryItem::hasSameFrames): Add recursive comparison of child
frames.
* history/HistoryItem.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadItem): Compare full set of documents in
history items, not just the topmost ones. Otherwise when going between
framesets where only one of the subframes changed we wouldn't trigger a
load.
* loader/HistoryController.cpp:
(WebCore::HistoryController::recursiveGoToItem): Also check that the
two history items have the same frames
(WebCore::HistoryController::currentFramesMatchItem): Refactor
childFramesMatchItem to also check the top-most frame, to make
recursiveGoToItem easier to read.
* loader/HistoryController.h:
2010-08-27 Patrick Gansterer <paroga@paroga.com>
Reviewed by Nikolas Zimmermann.
[WINCE] Buildfix for graphics code after r65449
https://bugs.webkit.org/show_bug.cgi?id=44510
* platform/graphics/wince/GraphicsContextWince.cpp:
* platform/graphics/wince/ImageBufferWince.cpp:
(WebCore::ImageBuffer::drawsUsingCopy):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
2010-08-27 Dawit Alemayehu <adawit@kde.org>
Reviewed by Simon Hausmann.
[Qt] Search the Windows registry for the location of the Java plugin DLL.
https://bugs.webkit.org/show_bug.cgi?id=38911
This change, in addition to the ones 34539 and 38911, is needed to
make Java applet work in QtWebKit on the Windows platform.
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::addJavaPluginDirectory):
(WebCore::PluginDatabase::defaultPluginDirectories):
2010-08-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: color-code property values in object notation.
https://bugs.webkit.org/show_bug.cgi?id=44766
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.update):
2010-08-27 Patrick Gansterer <paroga@paroga.com>
Reviewed by Nikolas Zimmermann.
[WINCE] Buildfix for FontPlatformData after r65021
https://bugs.webkit.org/show_bug.cgi?id=44467
* platform/graphics/wince/FontPlatformData.h:
2010-08-27 Patrick Gansterer <paroga@paroga.com>
Reviewed by Nikolas Zimmermann.
RenderImage::imageChanged invalidates wrong area
https://bugs.webkit.org/show_bug.cgi?id=43779
At the moment RenderSVGImage inherits from RenderImage, which makes non-SVG compatible
assumptions about repainting, and thus has to be fixed to inherit from RenderSVGModelObject.
This patch moves the CachedImage from RenderImage into a separate class.
The new class contains the common behavior of RenderImage and RenderSVGImage.
An additional patch will remove the inheritance of RenderImage at RenderSVGImage.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::createRenderer):
(WebCore::HTMLEmbedElement::attach):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createRenderer):
(WebCore::HTMLImageElement::attach):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createRenderer):
(WebCore::HTMLInputElement::attach):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::createRenderer):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::attach):
(WebCore::HTMLVideoElement::parseMappedAttribute):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::setImage):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::renderImageResource):
(WebCore::ImageLoader::updateRenderer):
* loader/ImageLoader.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::~RenderImage):
(WebCore::RenderImage::setImageResource):
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::notifyFinished):
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::minimumReplacedHeight):
(WebCore::RenderImage::calcReplacedWidth):
(WebCore::RenderImage::calcReplacedHeight):
(WebCore::RenderImage::calcAspectRatioWidth):
(WebCore::RenderImage::calcAspectRatioHeight):
* rendering/RenderImage.h:
(WebCore::RenderImage::imageResource):
(WebCore::RenderImage::cachedImage):
(WebCore::RenderImage::intrinsicSizeChanged):
(WebCore::toRenderImage):
* rendering/RenderImageGeneratedContent.cpp: Removed.
* rendering/RenderImageGeneratedContent.h: Removed.
* rendering/RenderImageResource.cpp: Added.
(WebCore::RenderImageResource::RenderImageResource):
(WebCore::RenderImageResource::~RenderImageResource):
(WebCore::RenderImageResource::initialize):
(WebCore::RenderImageResource::shutdown):
(WebCore::RenderImageResource::setCachedImage):
(WebCore::RenderImageResource::resetAnimation):
(WebCore::RenderImageResource::setImageContainerSize):
(WebCore::RenderImageResource::nullImage):
* rendering/RenderImageResource.h: Added.
(WebCore::RenderImageResource::create):
(WebCore::RenderImageResource::cachedImage):
(WebCore::RenderImageResource::hasImage):
(WebCore::RenderImageResource::image):
(WebCore::RenderImageResource::errorOccurred):
(WebCore::RenderImageResource::usesImageContainerSize):
(WebCore::RenderImageResource::imageHasRelativeWidth):
(WebCore::RenderImageResource::imageHasRelativeHeight):
(WebCore::RenderImageResource::imageSize):
(WebCore::RenderImageResource::imagePtr):
* rendering/RenderImageResourceStyleImage.cpp: Added.
(WebCore::RenderImageResourceStyleImage::RenderImageResourceStyleImage):
(WebCore::RenderImageResourceStyleImage::~RenderImageResourceStyleImage):
(WebCore::RenderImageResourceStyleImage::initialize):
(WebCore::RenderImageResourceStyleImage::shutdown):
* rendering/RenderImageResourceStyleImage.h: Added.
(WebCore::RenderImageResourceStyleImage::create):
(WebCore::RenderImageResourceStyleImage::image):
(WebCore::RenderImageResourceStyleImage::errorOccurred):
(WebCore::RenderImageResourceStyleImage::setImageContainerSize):
(WebCore::RenderImageResourceStyleImage::usesImageContainerSize):
(WebCore::RenderImageResourceStyleImage::imageHasRelativeWidth):
(WebCore::RenderImageResourceStyleImage::imageHasRelativeHeight):
(WebCore::RenderImageResourceStyleImage::imageSize):
(WebCore::RenderImageResourceStyleImage::imagePtr):
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::RenderMedia):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::RenderSVGImage):
(WebCore::RenderSVGImage::layout):
(WebCore::RenderSVGImage::paint):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::calculateIntrinsicSize):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::attach):
* wml/WMLImageElement.cpp:
(WebCore::WMLImageElement::createRenderer):
2010-08-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Elements panel breaks after calling "Edit as HTML" on <body>
https://bugs.webkit.org/show_bug.cgi?id=44765
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setOuterHTML):
2010-08-25 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add setVersion to IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=44630
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::setVersion):
* storage/IDBDatabase.h:
* storage/IDBDatabase.idl:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
(WebCore::IDBDatabaseBackendImpl::setVersion):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
2010-08-26 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: use context menu items with checkbox for setting and removing DOM breakpoints
https://bugs.webkit.org/show_bug.cgi?id=44687
* English.lproj/localizedStrings.js:
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.DOMBreakpointItem):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMBreakpointManager.prototype.findBreakpoint):
(WebInspector.DOMBreakpoint.labelForType):
(WebInspector.DOMBreakpoint.contextMenuLabelForType):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/inspector.js:
(WebInspector.pausedScript):
2010-08-27 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Calls to IndexedDB methods from V8Proxy::didLeaveScriptContext() are missing enable guards
https://bugs.webkit.org/show_bug.cgi?id=44760
No new tests, build fix only.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::didLeaveScriptContext):
2010-08-27 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
getPointAtLength returns incorrect values for paths closed with the closepath command
https://bugs.webkit.org/show_bug.cgi?id=44197
The closepath segment was traversed by the wrong direction. Swap starting point and
end point for closeSubpath.
Test: svg/dom/path-pointAtLength.html
* platform/graphics/PathTraversalState.cpp:
(WebCore::PathTraversalState::closeSubpath):
2010-08-27 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG Filter with wrong results on repaint for non-CG platforms
https://bugs.webkit.org/show_bug.cgi?id=44706
The result of SVG Filter is transformed to linearRGB on every repaint.
Transform the result just once, right after creating it.
Test: svg/repaint/filter-repaint.svg
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
2010-08-27 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
https://bugs.webkit.org/show_bug.cgi?id=44230
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::close):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
that frontend closes if InspectorController triggered the action.
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
* inspector/front-end/inspector.js:
(WebInspector.disconnectFromBackend):
2010-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66188.
http://trac.webkit.org/changeset/66188
https://bugs.webkit.org/show_bug.cgi?id=44756
"Graphic libraries handle segement length differently. Fixing
one platform might break another one. Rolling out this patch
and think about another solution to get getPointAtLength"
(Requested by krit on #webkit).
* platform/graphics/PathTraversalState.cpp:
(WebCore::PathTraversalState::closeSubpath):
2010-08-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Nikolas Zimmermann.
r66141 caused fast/forms/select-style.html to fail on mac:
https://bugs.webkit.org/show_bug.cgi?id=44737
Handle the fact that a CSSImageValue may have a value of CSSValueNone,
in which case we should not return a pending image.
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedOrPendingImage):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::cachedOrPendingFromValue):
2010-08-27 Alejandro G. Castro <alex@igalia.com>
Reviewed by Dan Bernstein.
drawGDIGlyphs checks if the offset is empty incorrectly causing
problems with the shadow
https://bugs.webkit.org/show_bug.cgi?id=44619
Removed the offset empty condition, now we just check if we have
offset or blur.
* platform/graphics/win/FontCGWin.cpp:
(WebCore::drawGDIGlyphs):
2010-08-27 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
getPointAtLength returns incorrect values for paths closed with the closepath command
https://bugs.webkit.org/show_bug.cgi?id=44197
The closepath segment was traversed by the wrong direction. Swap starting point and
end point for closeSubpath.
Test: svg/dom/path-pointAtLength.html
* platform/graphics/PathTraversalState.cpp:
(WebCore::PathTraversalState::closeSubpath):
2010-08-27 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVGLocatable.getScreenCTM ignores scrolling
https://bugs.webkit.org/show_bug.cgi?id=44083
getScreenCTM needs to include the FrameViews scrollOffset in the e/f parameters of the AffineTransform.
Adding three new tests, which cover scrolling & getScreenCTM in large svgs with scrollbars, and with (nested) divs in overflow="scroll" mode.
Tests: svg/custom/getscreenctm-in-scrollable-div-area-nested.xhtml
svg/custom/getscreenctm-in-scrollable-div-area.xhtml
svg/custom/getscreenctm-in-scrollable-svg-area.xhtml
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):
2010-08-25 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle, and removeHTMLBidiEmbeddingStyle should be merged
https://bugs.webkit.org/show_bug.cgi?id=44622
Merged shouldRemoveTextDecorationTag, implicitlyStyledElementShouldBeRemovedWhenApplyingStyle, removeHTMLFontStyle,
and removeHTMLBidiEmbeddingStyle into removeImplicitlyStyledElement. New function uses CSSPropertyElementMapping to
support all different cases dealt separately in each function.
No new tests are added since this is a cleanup.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls removeImplicitlyStyledElement.
(WebCore::):
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Added.
* editing/ApplyStyleCommand.h:
2010-08-26 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
Based on a patch by Mihnea Ovidenie <mihnea@adobe.com>.
Percentage top value on position:relative descendant not resolved
correctly if containing block height is not specified explicitly.
https://bugs.webkit.org/show_bug.cgi?id=26396
If the containing block height is auto and the element is positioned
relatively, and if the element's top/bottom is percent, then resolve the
top/bottom as auto.
Test: fast/css/percent-top-relative-container-height-unspecified.html
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffsetY):
2010-08-26 James Robinson <jamesr@chromium.org>
Another chromium mac build fix. What a dumb version of GCC.
* platform/graphics/chromium/GLES2Texture.cpp:
(WebCore::GLES2Texture::create):
2010-08-26 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix for Chromium-mac.
* platform/graphics/chromium/Shader.cpp:
(WebCore::loadShader):
2010-08-26 James Robinson <jamesr@chromium.org>
Fix chromium mac build. Unreviewed.
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::GLES2Canvas):
* platform/graphics/chromium/GLES2Texture.cpp:
(WebCore::GLES2Texture::load):
2010-08-26 Mark Rowe <mrowe@apple.com>
Darin pointed out that the braces are unnecessary in an Objective-C interface
declaration when there are no data members.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Begone, evil braces!
2010-08-26 Gavin Barraclough <barraclough@apple.com>
Rubber Stamped by Oliver Hunt.
Partially revert r65959. The toString changes regressed the v8 tests,
but keep the toFixed/toExponential/toPrecision changes.
* html/HTMLTreeBuilder.cpp:
(WebCore::serializeForNumberType):
2010-08-26 Mark Rowe <mrowe@apple.com>
Reviewed by Adam Roben.
Fix two build issues that are revealed when building with clang.
* platform/mac/PopupMenuMac.h: Forward-declare as an Objective-C class when compiling for Objective-C.
* platform/network/BlobResourceHandle.h: Forward-declare as a struct to match the real declaration.
2010-08-26 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/8339008> WebCore's MediaPlayerPrivateQTKit.mm fails to build with clang.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::mainThreadSetNeedsDisplay): Remove some ambiguity in the return type of -delegate.
Since the message was being sent to a receiver of type id the compiler cannot accurately
determine the return type. Typically this would be resolved by using a more specific type
for the receiver. However, due to lazy loading shenanigans that we play with QTKit we're
unable to directly cast to the relevant type (QTMovieView*). Instead we fake up an interface
with the correct type of the method we care about (-delegate) and cast to that type instead.
2010-08-26 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
If an <embed> is part of an <object> element's fallback content, WebKit
should only render the <embed> if the <object> fails to load.
https://bugs.webkit.org/show_bug.cgi?id=44567
<rdar://problem/7699852>
Tests: fast/replaced/invalid-object-with-fallback.html
fast/replaced/object-with-embed-url-param.html
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded): An <embed> now needs a
renderer if its parent is an <object> but the <object> is using fallback
content.
* html/HTMLObjectElement.h:
(WebCore::HTMLObjectElement::useFallbackContent): Add a public getter
for m_useFallbackContent for use in HTMLEmbedElement::rendererIsNeeded.
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::updateWidget): Change the logic that
determines the plug-in parameters to pass to the loader. Do not override
parameters from <object> with those from a child <embed>.
2010-08-26 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
[chromium] Remove the USE(GLES2_RENDERING) define and associated code
https://bugs.webkit.org/show_bug.cgi?id=43761
USE(GLES2_RENDERING) will not be useful since we'll be coding to GraphicsContext3D
instead of OpenGL and can use ENABLE(ACCELERATED_2D_CANVAS) for canvas 2d specific
changes. This deletes the macro and deletes the ChromeClient API to query
GLES2Contexts since we'll never need one of these outside of the compositor, which
is created in platform-specific code.
* loader/EmptyClients.h:
* page/ChromeClient.h:
* platform/graphics/chromium/GLES2Canvas.cpp:
* platform/graphics/chromium/GLES2Canvas.h:
* platform/graphics/chromium/GLES2Texture.cpp:
* platform/graphics/chromium/GLES2Texture.h:
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::setCompositeOperation):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setGraphicsContext3D):
(WebCore::GraphicsContext::syncSoftwareCanvas):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawBitmapGLES2):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::PlatformContextSkia):
(WebCore::PlatformContextSkia::~PlatformContextSkia):
* platform/graphics/skia/PlatformContextSkia.h:
2010-08-26 Martin Robinson <mrobinson@igalia.com>
Build fix for GTK+, after a bad merge.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMozillaGtkWidget):
2010-08-23 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] ScrollbarThemeGtk is incomplete
https://bugs.webkit.org/show_bug.cgi?id=44471
Add theme drawing code for GTK+ scrollbars. Turn RenderThemeGtk::paintMozillaWidget
into a public method so that ScrollbarThemeGtk can access Mozilla theme API properly.
Tests for this issue will be activated in the form of pixel tests, but
only after fully-fake scrollbars are activated.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMozillaGtkWidget): Added this public method which takes
the proper widget state, widget type, graphics context and rectangle and renders a
widget using the Mozilla theming API.
(WebCore::RenderThemeGtk::paintRenderObject): Added this method which first calculates
the widget state before passing the information on to paintMozillaGtkWidget.
(WebCore::RenderThemeGtk::paintCheckbox): Switch to use paintRenderObject.
(WebCore::RenderThemeGtk::paintRadio): Switch to use paintRenderObject.
(WebCore::RenderThemeGtk::paintButton): Switch to use paintRenderObject.
(WebCore::RenderThemeGtk::paintMenuList): Switch to use paintRenderObject.
(WebCore::RenderThemeGtk::paintTextField): Switch to use paintRenderObject.
(WebCore::RenderThemeGtk::paintSliderTrack): Switch to use paintRenderObject.
(WebCore::RenderThemeGtk::paintSliderThumb): Switch to use paintRenderObject.
(WebCore::RenderThemeGtk::paintProgressBar): Switch to use paintRenderObject.
* platform/gtk/RenderThemeGtk.h: Added new method declarations.
* platform/gtk/ScrollbarThemeGtk.cpp: Added code which can render GTK+ scrollbars.
(WebCore::ScrollbarThemeGtk::hasThumb): Added.
(WebCore::ScrollbarThemeGtk::backButtonRect): Added.
(WebCore::ScrollbarThemeGtk::forwardButtonRect): Added.
(WebCore::ScrollbarThemeGtk::trackRect): Added.
(WebCore::ScrollbarThemeGtk::paintTrackBackground): Added.
(WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Added.
(WebCore::ScrollbarThemeGtk::paintThumb): Added.
(WebCore::ScrollbarThemeGtk::thumbRect): Added.
(WebCore::ScrollbarThemeGtk::paint): Added.
(WebCore::ScrollbarThemeGtk::paintButton): Added.
(WebCore::ScrollbarThemeGtk::paintScrollCorner): Added.
(WebCore::ScrollbarThemeGtk::shouldCenterOnThumb): Added.
(WebCore::ScrollbarThemeGtk::scrollbarThickness): Always get the metrics from the
theme drawing API so that it stays up to date with theme changes.
(WebCore::ScrollbarThemeGtk::buttonSize): Added.
(WebCore::ScrollbarThemeGtk::minimumThumbLength): Added.
* platform/gtk/ScrollbarThemeGtk.h:
(WebCore::ScrollbarThemeGtk::hasButtons): Added.
(WebCore::ScrollbarThemeGtk::initialAutoscrollTimerDelay): Added.
(WebCore::ScrollbarThemeGtk::autoscrollTimerDelay): Added.
2010-08-26 Alexey Proskuryakov <ap@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=44726
<rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeAndRemoveChild):
(WebCore::FrameLoader::detachFromParent):
Added a few FIXME comments. The logic we have to track frames is extremely convoluted.
2010-08-26 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed; build fix.
Speculative chromium mac fix by including "Color.h".
* platform/graphics/chromium/Shader.cpp:
2010-08-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
CSS downloads all background images related to element, instead of just final rule
https://bugs.webkit.org/show_bug.cgi?id=24223
We used to kick off image loads at the point where the style selector
applies a CSS rule to an element, even if that rule was overridden
by a rule in a later block of rules. This caused loads of images that
weren't actually used.
Fix this by delaying image loads until the style has been fully
resolved. This is achieved by inserting a StylePendingImage into
the RenderStyle for duration of the style resolution, and keeping
an entry in a hash for the relevant CSS property.
At the end of style resolution, we iterate through the hash, and
replace the StylePendingImage with StyleCachedImages, which
causes the loads to happen only for images that are in the final style.
Tests: http/tests/css/border-image-loading.html
http/tests/css/mask-image-loading.html
http/tests/css/reflection-mask-image-loading.html
* GNUmakefile.am: Add StylePendingImage.h
* WebCore.gypi: Ditto
* WebCore.vcproj/WebCore.vcproj: Ditto
* css/CSSImageValue.h: Change m_image to a RefPtr<StyleImage>,
since it may be a StylePendingImage or StyleCachedImage.
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::~CSSImageValue): Only call removeClient if it's a cachedImage.
(WebCore::CSSImageValue::cachedOrPendingImage): If we have an image (pending or cached),
return it. Otherwise make a pending image and return it.
(WebCore::CSSImageValue::cachedImage): Only return the image if it's a cached image.
(WebCore::CSSImageValue::cachedImageURL):
(WebCore::CSSImageValue::clearCachedImage):
* css/CSSStyleSelector.h:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::initForStyleResolve): Clear m_pendingImageProperties.
(WebCore::CSSStyleSelector::styleForElement): Load pending images.
(WebCore::CSSStyleSelector::styleForKeyframe): Ditto.
(WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
(WebCore::CSSStyleSelector::styleForPage): Ditto.
(WebCore::CSSStyleSelector::applyProperty): Pull property into a local variable
so we can use it in macros.
(WebCore::CSSStyleSelector::mapFillAttachment): Pass the property down (needed to avoid
additional macro complexity).
(WebCore::CSSStyleSelector::mapFillClip): Ditto
(WebCore::CSSStyleSelector::mapFillComposite): Ditto
(WebCore::CSSStyleSelector::mapFillOrigin): Ditto
(WebCore::CSSStyleSelector::styleImage): Call cachedOrPendingFromValue()
(WebCore::CSSStyleSelector::cachedOrPendingFromValue): Get the cachedOrPendingImage()
from the CSSValue, and if it's a pending image, record the property.
(WebCore::CSSStyleSelector::mapFillImage): Pass the property down (needed to avoid
additional macro complexity).
(WebCore::CSSStyleSelector::mapFillRepeatX): Ditto
(WebCore::CSSStyleSelector::mapFillRepeatY): Ditto
(WebCore::CSSStyleSelector::mapFillSize): Ditto
(WebCore::CSSStyleSelector::mapFillXPosition): Ditto
(WebCore::CSSStyleSelector::mapFillYPosition): Ditto
(WebCore::CSSStyleSelector::mapNinePieceImage): Ditto
(WebCore::CSSStyleSelector::loadPendingImages): Iterate through the m_pendingImageProperties
hash, and replace the pending images with cached images.
* rendering/style/StyleCachedImage.h: Make cssValue() const.
* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::cssValue):
* rendering/style/StyleGeneratedImage.h: Make cssValue() const.
* rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::cssValue):
* rendering/style/StyleImage.h:
(WebCore::StyleImage::operator==): Make const.
(WebCore::StyleImage::isPendingImage):
* rendering/style/StylePendingImage.h: Added.
2010-08-26 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Add PassOwnArrayPtr
https://bugs.webkit.org/show_bug.cgi?id=44627
Add new forwarding headers.
* ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added.
* ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added.
2010-08-26 Stanislav Brabec <sbrabec@suse.cz>
Reviewed by Martin Robinson.
[GTK] [PATCH] plugin loading invalid symlink evaluation deadlock
https://bugs.webkit.org/show_bug.cgi?id=44683
Fix symlink resolution in PluginPackageGtk.
* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::load): g_file_resolve_relative_path must be called with a
a directory, not a file.
2010-08-26 Andy Estes <aestes@apple.com>
Reviewed by Eric Carlson.
A URL in a <param> should be parsed the same as if it were specified as
the data attribute of an <object>.
https://bugs.webkit.org/show_bug.cgi?id=44671
Test: fast/replaced/object-param-url-control-char.html
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::updateWidget): Call deprecatedParseURL()
on <param> values of names that we treat as URLs ("src", "movie", "code"
and "url").
2010-08-26 Stephen White <senorblanco@chromium.org>
Unreviewed; build fix.
Fix for Chromium/Mac.
* platform/graphics/chromium/Shader.cpp:
2010-08-26 Tony Chang <tony@chromium.org>
Reviewed by David Hyatt.
crash when rendering scrollbar gradient
https://bugs.webkit.org/show_bug.cgi?id=44549
Test: scrollbars/scrollbar-gradient-crash.html
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::getImage): Keep this alive.
2010-08-26 Stephen White <senorblanco@chromium.org>
Reviewed by Kenneth Russell.
[CHROMIUM] Give <canvas> 2D shaders their own class hierarchy.
https://bugs.webkit.org/show_bug.cgi?id=44682
Covered by fast/canvas layout tests.
* WebCore.gypi:
Add Shader.cpp, Shader.h to chromium build.
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::GLES2Canvas):
(WebCore::GLES2Canvas::~GLES2Canvas):
(WebCore::GLES2Canvas::fillRect):
(WebCore::GLES2Canvas::drawTexturedRect):
(WebCore::GLES2Canvas::drawTexturedRectTile):
Rip out all shader initialization and compilation code.
Instantiate specialized shaders instead.
* platform/graphics/chromium/GLES2Canvas.h:
* platform/graphics/chromium/Shader.cpp: Added.
(WebCore::affineTo3x3):
(WebCore::Shader::Shader):
(WebCore::Shader::~Shader):
Implement Shader base class.
(WebCore::loadShader):
(WebCore::loadProgram):
Utility functions refactored from GLES2Canvas.
(WebCore::SolidFillShader::SolidFillShader):
(WebCore::TexShader::TexShader):
(WebCore::SolidFillShader::create):
(WebCore::SolidFillShader::use):
(WebCore::TexShader::create):
(WebCore::TexShader::use):
* platform/graphics/chromium/Shader.h: Added.
2010-08-26 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adam Roben.
User scripts injected at start are not run for plugin and media documents
<https://bugs.webkit.org/show_bug.cgi?id=44711>
<rdar://problem/8359288>
http://trac.webkit.org/changeset/61271 made scripts injected at start run on ImageDocuments,
but didn't implement this behavior for MediaDocuments and PluginDocuments.
* loader/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure): Make sure we fire dispatchDocumentElementAvailable.
* loader/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure): Ditto.
2010-08-26 Peter Kasting <pkasting@google.com>
Reviewed by Dimitri Glazkov.
Misc. cleanup split off from bug 32356.
https://bugs.webkit.org/show_bug.cgi?id=44696
* WebCore.gyp/WebCore.gyp:
* dom/Element.cpp:
(WebCore::localZoomForRenderer):
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::scroll):
* platform/Scrollbar.h:
(WebCore::Scrollbar::isScrollbar):
* platform/ScrollbarClient.h:
(WebCore::ScrollbarClient::~ScrollbarClient):
* platform/qt/ScrollbarQt.cpp:
(WebCore::Scrollbar::contextMenu):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scroll):
* rendering/RenderLayer.h:
* rendering/RenderListBox.h:
* rendering/RenderTextControlSingleLine.h:
2010-08-26 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=39647, font face loads do a synchronous recalcStyle(Force)
on the whole document. Change these calls to do async recalcStyles instead.
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::fontLoaded):
(WebCore::CSSFontSelector::fontCacheInvalidated):
* dom/Document.cpp:
(WebCore::Document::scheduleForcedStyleRecalc):
(WebCore::Document::styleSelectorChanged):
* dom/Document.h:
2010-08-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
Fix double free (we were passing const memory to a GOwnPtr) by
getting rid of unneeded temp variable.
* platform/gtk/FileSystemGtk.cpp:
(WebCore::directoryName):
2010-08-26 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Store heap snapshots in InspectorProfilerAgent.
Change the way heap snapshots are transported to Inspector
to be aligned with CPU profiles. As a result, the Heap snapshots
view of Profiles panel was upstreamed into WebCore.
https://bugs.webkit.org/show_bug.cgi?id=44531
* English.lproj/localizedStrings.js:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptHeapSnapshot.h: Added.
(WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
(WebCore::ScriptHeapSnapshot::title):
(WebCore::ScriptHeapSnapshot::uid):
(WebCore::ScriptHeapSnapshot::buildInspectorObjectForHead):
(WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
* bindings/js/ScriptProfiler.h:
(WebCore::ScriptProfiler::takeHeapSnapshot):
* bindings/v8/ScriptHeapSnapshot.cpp: Added.
(WebCore::ScriptHeapSnapshot::title):
(WebCore::ScriptHeapSnapshot::uid):
(WebCore::buildInspectorObjectFor):
(WebCore::ScriptHeapSnapshot::buildInspectorObjectForHead):
* bindings/v8/ScriptHeapSnapshot.h: Added.
(WebCore::ScriptHeapSnapshot::create):
(WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
(WebCore::ScriptHeapSnapshot::ScriptHeapSnapshot):
* bindings/v8/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::takeHeapSnapshot):
* bindings/v8/ScriptProfiler.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
* inspector/InspectorBackend.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::createSnapshotHeader):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::getProfile):
(WebCore::InspectorProfilerAgent::removeProfile):
(WebCore::InspectorProfilerAgent::resetState):
(WebCore::InspectorProfilerAgent::takeHeapSnapshot):
* inspector/InspectorProfilerAgent.h:
* inspector/front-end/HeapSnapshotView.js: Added.
(WebInspector.HeapSnapshotView.profileCallback):
(WebInspector.HeapSnapshotView.resetCompleted):
(WebInspector.HeapSnapshotView):
(WebInspector.HeapSnapshotView.prototype.get statusBarItems):
(WebInspector.HeapSnapshotView.prototype.get profile):
(WebInspector.HeapSnapshotView.prototype.set profile):
(WebInspector.HeapSnapshotView.prototype.show):
(WebInspector.HeapSnapshotView.prototype.hide):
(WebInspector.HeapSnapshotView.prototype.resize):
(WebInspector.HeapSnapshotView.prototype.refresh):
(WebInspector.HeapSnapshotView.prototype.refreshShowAsPercents):
(WebInspector.HeapSnapshotView.prototype._deleteSearchMatchedFlags):
(WebInspector.HeapSnapshotView.prototype.searchCanceled):
(WebInspector.HeapSnapshotView.prototype.performSearch):
(WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult.WebInspector.CPUProfileView.prototype.jumpToFirstSearchResult.jumpToLastSearchResult.WebInspector.CPUProfileView.prototype.jumpToLastSearchResult.jumpToNextSearchResult.WebInspector.CPUProfileView.prototype.jumpToNextSearchResult.jumpToPreviousSearchResult.WebInspector.CPUProfileView.prototype.jumpToPreviousSearchResult.showingFirstSearchResult.WebInspector.CPUProfileView.prototype.showingFirstSearchResult.showingLastSearchResult.WebInspector.CPUProfileView.prototype.showingLastSearchResult._jumpToSearchResult.WebInspector.CPUProfileView.prototype._jumpToSearchResult.refreshVisibleData):
(WebInspector.HeapSnapshotView.prototype._changeBase.resetCompleted):
(WebInspector.HeapSnapshotView.prototype._changeBase):
(WebInspector.HeapSnapshotView.prototype._createSnapshotDataGridList):
(WebInspector.HeapSnapshotView.prototype._getProfiles):
(WebInspector.HeapSnapshotView.prototype._loadProfile.loadedCallback):
(WebInspector.HeapSnapshotView.prototype._loadProfile):
(WebInspector.HeapSnapshotView.prototype._mouseDownInDataGrid):
(WebInspector.HeapSnapshotView.prototype.get _isShowingAsPercent):
(WebInspector.HeapSnapshotView.prototype._percentClicked):
(WebInspector.HeapSnapshotView.prototype._prepareProfile.mergeRetainers):
(WebInspector.HeapSnapshotView.prototype._prepareProfile):
(WebInspector.HeapSnapshotView.prototype._resetDataGridList.profileLoaded):
(WebInspector.HeapSnapshotView.prototype._resetDataGridList):
(WebInspector.HeapSnapshotView.prototype._sortData):
(WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
(WebInspector.HeapSnapshotView.prototype._updatePercentButton):
(WebInspector.HeapSnapshotView.prototype._updateSummaryGraph):
(WebInspector.HeapSnapshotView.SearchHelper.operations.LESS):
(WebInspector.HeapSnapshotView.SearchHelper.operations.LESS_OR_EQUAL):
(WebInspector.HeapSnapshotView.SearchHelper.operations.EQUAL):
(WebInspector.HeapSnapshotView.SearchHelper.operations.GREATER_OR_EQUAL):
(WebInspector.HeapSnapshotView.SearchHelper.operations.GREATER):
(WebInspector.HeapSnapshotView.SearchHelper.parseOperationAndNumber):
(WebInspector.HeapSummaryCalculator):
(WebInspector.HeapSummaryCalculator.prototype.computeSummaryValues):
(WebInspector.HeapSummaryCalculator.prototype.formatValue):
(WebInspector.HeapSummaryCalculator.prototype.get showAsPercent):
(WebInspector.HeapSummaryCalculator.prototype.set showAsPercent):
(WebInspector.HeapSummaryCountCalculator):
(WebInspector.HeapSummaryCountCalculator.prototype._highFromLow):
(WebInspector.HeapSummaryCountCalculator.prototype._valueToString):
(WebInspector.HeapSummarySizeCalculator):
(WebInspector.HeapSummarySizeCalculator.prototype._highFromLow):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get _hasRetainers):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get _parent):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype._populate):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.produceDiff):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.sort):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.signForDelta):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.showDeltaAsPercent):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.getTotalCount):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.getTotalSize):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get countPercent):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get sizePercent):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get countDeltaPercent):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get sizeDeltaPercent):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.get data):
(WebInspector.HeapSnapshotDataGridNodeWithRetainers.prototype.createCell):
(WebInspector.HeapSnapshotDataGridNode):
(WebInspector.HeapSnapshotDataGridList):
(WebInspector.HeapSnapshotDataGridList.prototype.appendChild):
(WebInspector.HeapSnapshotDataGridList.prototype.insertChild):
(WebInspector.HeapSnapshotDataGridList.prototype.removeChildren):
(WebInspector.HeapSnapshotDataGridList.prototype.populateChildren):
(WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
(WebInspector.HeapSnapshotDataGridList.propertyComparator):
(WebInspector.HeapSnapshotDataGridRetainerNode):
(WebInspector.HeapSnapshotDataGridRetainerNode.prototype.get sizePercent):
(WebInspector.HeapSnapshotDataGridRetainerNode.prototype.get sizeDeltaPercent):
(WebInspector.HeapSnapshotDataGridRetainerNode.prototype._calculateRetainers):
(WebInspector.HeapSnapshotProfileType):
(WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
(WebInspector.HeapSnapshotProfileType.prototype.get buttonStyle):
(WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
(WebInspector.HeapSnapshotProfileType.prototype.get welcomeMessage):
(WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
(WebInspector.HeapSnapshotProfileType.prototype.createView):
* inspector/front-end/ProfileView.js:
(WebInspector.CPUProfileView):
(WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.addProfileHeader):
(WebInspector.ProfilesPanel.prototype.removeProfileHeader):
(WebInspector.ProfilesPanel.prototype.getProfiles):
(WebInspector.ProfilesPanel.prototype.updateProfile):
(WebInspector.ProfileSidebarTreeElement):
(WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.heap-snapshot-sidebar-tree-item .icon):
(.heap-snapshot-sidebar-tree-item.small .icon):
(.heap-snapshot-view):
(.heap-snapshot-view.visible):
(.heap-snapshot-view .data-grid):
(.heap-snapshot-view .data-grid th.count-column):
(.heap-snapshot-view .data-grid td.count-column):
(.heap-snapshot-view .data-grid th.size-column):
(.heap-snapshot-view .data-grid td.size-column):
(.heap-snapshot-view .data-grid th.countDelta-column):
(.heap-snapshot-view .data-grid td.countDelta-column):
(.heap-snapshot-view .data-grid th.sizeDelta-column):
(.heap-snapshot-view .data-grid td.sizeDelta-column):
(#heap-snapshot-summary-container):
(.heap-snapshot-summary):
(.heap-snapshot-summary canvas.summary-graph):
(.heap-snapshot-summary-label):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
2010-08-25 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/8302217> recalcStyles called immediately on each change when updating document-level stylesheets
https://bugs.webkit.org/show_bug.cgi?id=36303
Parameterize updateStyleSelector to optionally defer the forced style recalc following the rebuilding of the
sheets used by the CSSStyleSelector. Rename the method to styleSelectorChanged(). Add the capability to do
a forced style recalc to the style recalc timer.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::styleSheetChanged):
* css/CSSVariablesDeclaration.cpp:
(WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::clearPageUserSheet):
(WebCore::Document::clearPageGroupUserSheets):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::setSelectedStylesheetSet):
(WebCore::Document::removePendingSheet):
(WebCore::Document::styleSelectorChanged):
(WebCore::Document::setInPageCache):
* dom/Document.h:
(WebCore::):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::removedFromDocument):
* dom/StyleElement.cpp:
(WebCore::StyleElement::removedFromDocument):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::end):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doEnd):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::determineParseMode):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::removedFromDocument):
* page/Frame.cpp:
(WebCore::Frame::setPrinting):
(WebCore::Frame::reapplyStyles):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* page/Page.cpp:
(WebCore::Page::setViewMode):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
(WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
2010-08-24 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Implementing clipping for composited layers. Two
types of clipping are added: Scissoring for layers that don't
contain any rotations and stencil-buffer based clipping for
all other layers.
https://bugs.webkit.org/show_bug.cgi?id=44573
Tests: Compositor layout tests that test clipping such as
compositing/geometry/{clip.html, clipping-foreground.html} now
work properly.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::SharedValues::SharedValues):
(WebCore::LayerChromium::getDrawRect):
(WebCore::LayerChromium::drawAsMask):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer):
(WebCore::LayerRendererChromium::drawLayersRecursive):
(WebCore::LayerRendererChromium::scissorToRect):
(WebCore::LayerRendererChromium::initializeSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-08-25 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Expose Vector3 and associated operations
https://bugs.webkit.org/show_bug.cgi?id=44666
No new tests; ran several 3D CSS demos and did full layout test
run. New code paths have also been tested by new calling code
which will be checked in soon.
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::decompose):
* platform/graphics/transforms/TransformationMatrix.h:
(WebCore::Vector3::Vector3):
(WebCore::Vector3::x):
(WebCore::Vector3::y):
(WebCore::Vector3::z):
(WebCore::Vector3::setX):
(WebCore::Vector3::setY):
(WebCore::Vector3::setZ):
(WebCore::Vector3::set):
(WebCore::Vector3::operator =):
(WebCore::Vector3::operator +):
(WebCore::Vector3::operator -):
(WebCore::Vector3::operator[]):
(WebCore::Vector3::length):
(WebCore::Vector3::lengthSquared):
(WebCore::Vector3::scaleTo):
(WebCore::Vector3::normalize):
(WebCore::Vector3::dot):
(WebCore::Vector3::combine):
(WebCore::Vector3::cross):
2010-08-26 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: fix CPU profile header entries doubling on Inspector re-opening.
https://bugs.webkit.org/show_bug.cgi?id=44685
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.show):
2010-08-26 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler and Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=44013
HTMLMediaElement should delay document load event
Test: media/video-delay-load-event.html
* dom/Document.cpp:
(WebCore::Document::Document): Initialize incrementLoadEventDelayCount.
(WebCore::Document::decrementLoadEventDelayCount): New, decrement incrementLoadEventDelayCount
and call loader->checkCompleted() when it reaches zero.
* dom/Document.h:
(WebCore::Document::incrementLoadEventDelayCount): New.
(WebCore::Document::isDelayingLoadEvent): New.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement): Stop delaying the load event if necessary.
(WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Ditto.
(WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Delay the load event if we don't the
meta data for the movie yet.
(WebCore::HTMLMediaElement::prepareForLoad): Delay the load event.
(WebCore::HTMLMediaElement::selectMediaResource): Don't delay the load event when there are
no more sources to consider. Don't change m_delayingTheLoadEvent directly, call
setShouldDelayLoadEvent() instead.
(WebCore::HTMLMediaElement::waitForSourceChange): Stop delaying the load event.
(WebCore::HTMLMediaElement::noneSupported): Ditto.
(WebCore::HTMLMediaElement::mediaEngineError): Ditto.
(WebCore::HTMLMediaElement::setReadyState): Ditto.
(WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
(WebCore::HTMLMediaElement::setShouldDelayLoadEvent): New, increment/decrement the document's
load event delay count.
* html/HTMLMediaElement.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted): See if the document wants to delay completion for
elements that don't go through a FrameLoader.
(WebCore::FrameLoader::checkCallImplicitClose): Ditto
* page/Frame.cpp:
2010-08-26 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
Fix the same issue as https://bugs.webkit.org/show_bug.cgi?id=41585
but this time for the -webkit-font-smoothing property.
Updated fast/css/text-rendering-priority.html to cover all properties that
affect the font.
* css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForElement): Assert that the font is not dirtied by
applying any of the “low priority” properties, but still handle the case that the assertion
is false.
(WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.
2010-08-26 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] The GNUmakefile.am files contain a myriad of confusing preprocessor and compiler flag definitions
https://bugs.webkit.org/show_bug.cgi?id=44624
Clean up GNUmakefile.am.
* GNUmakefile.am: Remove some WebKit includes from webcore_cppflags. These
includes are added to the build line by the top-level GNUmakefile.am, since
WebCore isn't build as an intermediate library.
2010-08-26 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Revert r66103 since Qt tests are failing.
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::close):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/inspector.js:
(WebInspector.inspectedPageDestroyed):
2010-08-26 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
https://bugs.webkit.org/show_bug.cgi?id=44230
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::close):
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
that frontend closes if InspectorController triggered the action.
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
* inspector/front-end/inspector.js:
(WebInspector.disconnectFromBackend):
2010-08-26 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: It would be better to have an explicit type check for the all
arguments of InspectorBackend functions on front-end side.
https://bugs.webkit.org/show_bug.cgi?id=44684
* inspector/CodeGeneratorInspector.pm:
2010-08-26 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: It would be better to rename setBool, pushBool and asBool accessors
to setBoolean, pushBoolean and asBoolean for better matching with the results of
JS typeof operator.
https://bugs.webkit.org/show_bug.cgi?id=44680
* bindings/js/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
* bindings/v8/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
* inspector/CodeGeneratorInspector.pm:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::buildObjectForCookie):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
(WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::bind):
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateScriptObject):
* inspector/InspectorValues.cpp:
(WebCore::InspectorValue::asBoolean):
(WebCore::InspectorBasicValue::asBoolean):
(WebCore::InspectorBasicValue::asNumber):
(WebCore::InspectorBasicValue::writeJSON):
(WebCore::InspectorObject::getBoolean):
* inspector/InspectorValues.h:
(WebCore::InspectorValue::):
(WebCore::InspectorBasicValue::InspectorBasicValue):
(WebCore::InspectorObject::setBoolean):
(WebCore::InspectorArray::pushBoolean):
* inspector/ScriptBreakpoint.cpp:
(WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
(WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
2010-08-26 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Simon Hausmann.
[Qt] Set the clipRect correctly in windowed and windowless mode.
In Windowed mode, the values are in page coordinates. In Windowless
mode the values are in drawable coordinates. Setting these values is
purely academic since they are not used by Flash. However, there is a
possibility that plugins might infer a 'null' clipRect to mean 'invisible'.
https://bugs.webkit.org/show_bug.cgi?id=44594
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::setNPWindowIfNeeded):
2010-08-26 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: enable debugger after resources are pushed to front-end
https://bugs.webkit.org/show_bug.cgi?id=44673
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::populateScriptObjects):
2010-08-26 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
text-shadow is not respected in RenderSVGText::repaintRectInLocalCoordinates()
https://bugs.webkit.org/show_bug.cgi?id=44616
Centralize code to calculate the shadow extents in ShadowData.
Respect textShadow() when calculating the repaint rect of RenderSVGText.
Tests: svg/css/composite-shadow-text.svg
transitions/svg-text-shadow-transition.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::adjustRectForOutlineAndShadow):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
(WebCore::RenderSVGRoot::computeRectForRepaint):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::repaintRectInLocalCoordinates):
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeRectForRepaint):
(WebCore::SVGRenderSupport::prepareToRenderSVGContent):
(WebCore::SVGRenderSupport::finishRenderSVGContent):
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
* rendering/style/SVGRenderStyle.cpp:
* rendering/style/SVGRenderStyle.h:
* rendering/style/ShadowData.cpp:
(WebCore::calculateShadowExtent):
(WebCore::ShadowData::adjustRectForShadow):
* rendering/style/ShadowData.h:
2010-08-25 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] Rework event definition in the DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=44597
Define DOM events in the base classes that implement EventTarget,
since theoretically you can dispatch any event to any of those
classes whether it makes sense semantically or not.
All the existing events in WebKit are not listed anywhere in the
IDL files, so we need to have the list in the generator script.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-08-25 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: as far as we have 'seq' property in the each inspector message
it would be better to remove explicit callId argument from Inspector.idl functions
declarations.
https://bugs.webkit.org/show_bug.cgi?id=44617
* WebCore.xcodeproj/project.pbxproj:
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel.prototype.getStylesAsync):
(WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
(WebInspector.CSSStyleModel.prototype.setRuleSelector):
(WebInspector.CSSStyleModel.prototype.addRule):
(WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
(WebInspector.CSSStyleModel.prototype.setCSSText):
(WebInspector.CSSStyleModel.prototype.applyStyleText):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype.getChildNodesAsync):
(WebInspector.DOMAgent.prototype.setAttributeAsync):
(WebInspector.DOMAgent.prototype.removeAttributeAsync):
(WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
(WebInspector.ApplicationCache.getApplicationCachesAsync):
(WebInspector.Cookies.getCookiesAsync):
(WebInspector.EventListeners.getEventListenersForNodeAsync):
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorage.prototype.getEntries):
(WebInspector.DOMStorage.prototype.setItem):
(WebInspector.DOMStorage.prototype.removeItem):
* inspector/front-end/Database.js:
(WebInspector.Database.prototype.getTableNames):
(WebInspector.Database.prototype.executeSql):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.setDocument):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
():
* inspector/front-end/InjectedScriptAccess.js:
(InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
(InjectedScriptAccess._installHandler):
* inspector/front-end/MetricsSidebarPane.js:
(WebInspector.MetricsSidebarPane.prototype.update):
(WebInspector.MetricsSidebarPane.prototype.editingCommitted):
* inspector/front-end/ProfileView.js:
(WebInspector.CPUProfileView):
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.getResourceContent):
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.editScriptSource):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone):
2010-08-26 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
Add ENABLE(INDEXED_DATABASE) guard
https://bugs.webkit.org/show_bug.cgi?id=44659
Build fix for ports with index database disabled.
* storage/IDBKeyPathBackendImpl.cpp:
2010-08-26 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Ariya Hidayat.
[Qt] Replace QLibrary("libgdk-x11-2.0.so.0") with QLibrary("libgdk-x11-2.0", 0)
https://bugs.webkit.org/show_bug.cgi?id=44618
* plugins/qt/PluginViewQt.cpp:
(WebCore::getPluginDisplay):
2010-08-26 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Deploy adoptPtr to WebCore/loader
https://bugs.webkit.org/show_bug.cgi?id=44591
This patch covers the easy cases. There are a handful of tougher cases
that I'm leaving to a future patch. I filed one bug about a possible
memory leak and I emailed webkit-dev about some infrastructure we'll
need to tackle some of the harder cases.
* loader/CrossOriginAccessControl.cpp:
(WebCore::createAllowedCrossOriginResponseHeadersSet):
(WebCore::isOnAccessControlResponseHeaderWhitelist):
* loader/DocLoader.cpp:
(WebCore::DocLoader::requestPreload):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::addAllArchiveResources):
(WebCore::DocumentLoader::addArchiveResource):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::didReceiveResponse):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::incrementProgress):
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::scheduleRedirect):
(WebCore::RedirectScheduler::scheduleLocationChange):
(WebCore::RedirectScheduler::scheduleFormSubmission):
(WebCore::RedirectScheduler::scheduleRefresh):
(WebCore::RedirectScheduler::scheduleHistoryNavigation):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
* loader/icon/IconDatabase.cpp:
(WebCore::readySQLiteStatement):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::create):
2010-08-26 Alejandro G. Castro <alex@igalia.com>
Reviewed by Dan Bernstein.
shadowSize parameter is used to pass shadow offset in the
GraphicsContext::setShadow and getShadow functions
https://bugs.webkit.org/show_bug.cgi?id=44603
Change the shadowSize parameter ot the functions getShadow and
setShadow in GraphicsContext to shadowOffset which is the current
use of that parameter in the code.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::getShadow):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContextPrivate.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::calculateShadowBufferDimensions):
(WebCore::drawPathShadow):
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::Font::drawComplexText):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::draw):
* platform/graphics/qt/GraphicsContextQt:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::windowsCanHandleDrawTextShadow):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::drawGDIGlyphs):
(WebCore::Font::drawGlyphs):
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::drawText):
2010-08-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66074.
http://trac.webkit.org/changeset/66074
https://bugs.webkit.org/show_bug.cgi?id=44660
Chromium canary turned red (Requested by yuzo on #webkit).
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::responseText):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseText):
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::clearResponse):
(WebCore::XMLHttpRequest::didFinishLoading):
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequest.idl:
2010-08-25 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/8205479> WebCore's icon database often prevents Safari from being killable via sudden termination
We need to ensure that each call to disableSuddenTermination is balanced by a corresponding call to enableSuddenTermination.
It's possbile for several calls to IconDatabase::wakeSyncThread to correspond to only a single iteration of the loop within
IconDatabase::syncThreadMainLoop. This results in the sudden termination disable count growing without bound rather than
being balanced when the work completes. We can prevent this by ensuring that we only disable sudden termination once for each
corresponding iteration of the sync thread's main loop.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::wakeSyncThread): Only disable sudden termination if it has not yet been disabled for this iteration of
the sync thread's main loop.
(WebCore::IconDatabase::syncThreadMainLoop): Clear the flag indicating that sudden termination has been disabled after reenabling it
so that future calls to wakeSyncThread disable sudden termination once more.
* loader/icon/IconDatabase.h:
2010-08-25 Michael Nordman <michaeln@google.com>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=44133
IDL bindings for XmlHttpRequest.responseBlob support, doesn't do anything yet.
Adds two new attributes, asBlob and responseBlob.
Runtime disabled by default, also behind a new ENABLE_XHR_RESPONSE_BLOB compile time guard.
No new tests, just adding some stubs.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setResponseBlobEnabled):
(WebCore::RuntimeEnabledFeatures::responseBlobEnabled):
(WebCore::RuntimeEnabledFeatures::asBlobEnabled):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::responseText): Changed to allow an exceptional return path.
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::responseTextAccessorGetter): Changed to allow an exceptional return path.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseText): Changed to raise an exception when accessed with asBlob set to true.
(WebCore::XMLHttpRequest::responseXML): Changed to raise an exception when accessed with asBlob set to true.
(WebCore::XMLHttpRequest::responseBlob): Added stub method, returns 0 for now.
(WebCore::XMLHttpRequest::setAsBlob): Sets the asBlob attribute, raises exception if called at an inappropriate time.
(WebCore::XMLHttpRequest::open): Resets asBlob to false, the default value.
(WebCore::XMLHttpRequest::abort): Clears m_responseBlob.
(WebCore::XMLHttpRequest::clearResponse): Clears m_responseBlob.
(WebCore::XMLHttpRequest::didFinishLoading): Added a FIXME to populate m_responseBlob.
* xml/XMLHttpRequest.h:
(WebCore::XMLHttpRequest::asBlob):
* xml/XMLHttpRequest.idl:
2010-08-24 Victoria Kirst <vrk@google.com>
Reviewed by Darin Fisher.
Adding a means of communication between WebKit/WebCore and
chromium in order to share video frames. This adds the necessary
WebKit-side classes and methods, but does not actually use them
yet - that will be committed in a separate patch after the
corresponding Chromium side is committed.
https://bugs.webkit.org/show_bug.cgi?id=44539
No new tests, as these new classes/APIs are not yet used.
* platform/graphics/chromium/VideoFrameChromium.h: Added.
(WebCore::VideoFrameChromium::):
* platform/graphics/chromium/VideoFrameProvider.h: Added.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::create):
(WebCore::VideoLayerChromium::VideoLayerChromium):
* platform/graphics/chromium/VideoLayerChromium.h:
2010-08-25 Kenneth Russell <kbr@google.com>
Reviewed by Simon Fraser.
Source data passed to TypedArray creators should be const
https://bugs.webkit.org/show_bug.cgi?id=44649
Compiled and ran existing WebGL tests to verify.
* html/canvas/Float32Array.cpp:
(WebCore::Float32Array::create):
* html/canvas/Float32Array.h:
* html/canvas/TypedArrayBase.h:
(WebCore::TypedArrayBase::create):
2010-08-25 Eric Seidel <eric@webkit.org>
Unreviewed, just removing a dead enum.
Remove endTagRequirement now that the LegacyHTMLDocumentParser is dead
https://bugs.webkit.org/show_bug.cgi?id=44626
Remove HTMLTagStatus since it's not used anymore.
* html/HTMLElement.h:
2010-08-25 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: CSS first letter text transform causes crash
https://bugs.webkit.org/show_bug.cgi?id=44352
Test: accessibility/first-letter-text-transform-causes-crash.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::nextContinuation):
2010-08-25 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Remove endTagRequirement now that the LegacyHTMLDocumentParser is dead
https://bugs.webkit.org/show_bug.cgi?id=44626
Serialization is covered by a bunch of tests. innerHTML behavior is sadly not.
In either case, this is just moving code and should have no functional change.
* editing/markup.cpp:
(WebCore::elementCannotHaveEndTag):
(WebCore::MarkupAccumulator::shouldSelfClose):
(WebCore::MarkupAccumulator::appendEndMarkup):
(WebCore::serializeNodesWithNamespaces):
* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.h:
* html/HTMLBRElement.h:
* html/HTMLBaseElement.h:
* html/HTMLBaseFontElement.h:
* html/HTMLBlockquoteElement.h:
* html/HTMLBodyElement.h:
* html/HTMLCanvasElement.cpp:
* html/HTMLCanvasElement.h:
* html/HTMLDListElement.h:
* html/HTMLDataGridCellElement.h:
* html/HTMLDataGridColElement.h:
* html/HTMLDirectoryElement.h:
* html/HTMLDivElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::nodeName):
(WebCore::HTMLElement::ieForbidsInsertHTML):
(WebCore::HTMLElement::deprecatedCreateContextualFragment):
(WebCore::HTMLElement::setInnerText):
(WebCore::HTMLElement::setOuterText):
* html/HTMLElement.h:
* html/HTMLEmbedElement.h:
* html/HTMLFontElement.h:
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.h:
* html/HTMLFrameElement.h:
* html/HTMLFrameSetElement.h:
* html/HTMLHRElement.h:
* html/HTMLHeadElement.h:
* html/HTMLHeadingElement.h:
* html/HTMLHtmlElement.h:
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.h:
* html/HTMLInputElement.h:
* html/HTMLIsIndexElement.h:
* html/HTMLLIElement.h:
* html/HTMLLinkElement.h:
* html/HTMLMapElement.h:
* html/HTMLMarqueeElement.h:
* html/HTMLMenuElement.h:
* html/HTMLMetaElement.h:
* html/HTMLModElement.h:
* html/HTMLOListElement.h:
* html/HTMLOptionElement.h:
* html/HTMLParagraphElement.h:
* html/HTMLParamElement.h:
* html/HTMLPlugInElement.h:
* html/HTMLPreElement.h:
* html/HTMLQuoteElement.h:
* html/HTMLScriptElement.h:
* html/HTMLSourceElement.h:
* html/HTMLStyleElement.h:
* html/HTMLTableCaptionElement.h:
* html/HTMLTableCellElement.h:
* html/HTMLTableColElement.cpp:
* html/HTMLTableColElement.h:
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.h:
* html/HTMLTableSectionElement.h:
* html/HTMLUListElement.h:
2010-08-20 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
WebGL must enforce restrictions even if running on OpenGL ES 2.0
https://bugs.webkit.org/show_bug.cgi?id=42908
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::getColorBufferFormat): Get format at given level instead of 0.
* html/canvas/WebGLRenderingContext.cpp: Add two new flags and use them to replace the original isGLES2Compliant().
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::checkFramebufferStatus):
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::generateMipmap):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::isEnabled):
(WebCore::WebGLRenderingContext::texImage2DBase):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::isGLES2NPOTStrict):
(WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses):
* html/canvas/WebGLRenderingContext.h: Declare two new flags.
* html/canvas/WebGLTexture.cpp: Get format at given level instead of 0.
(WebCore::WebGLTexture::getInternalFormat):
* html/canvas/WebGLTexture.h: Ditto.
* platform/graphics/GraphicsContext3D.h: Add three new flags.
* platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
(WebCore::GraphicsContext3D::isGLES2NPOTStrict):
(WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
* platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
(WebCore::GraphicsContext3D::isGLES2NPOTStrict):
(WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
2010-08-25 Brent Fulgham <bfulgham@webkit.org>
Build correction, no review.
* WebCore.vcproj/WebCore.vcproj: Add missing implementation
for PlatformRefPtrCairo.
2010-08-25 Cris Neckar <cdn@chromium.org>
Reviewed by Darin Adler.
Added abort condition for RenderCounters when traversing a detached render tree.
https://bugs.webkit.org/show_bug.cgi?id=43812
Test: fast/css/counters/counter-traverse-object-crash.html
* rendering/RenderCounter.cpp:
(WebCore::findPlaceForCounter):
2010-08-25 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=44629
Add layer consistency checking and fix found crashing bug
The crash was being caused by some of the calls which mutated
the sublayer list leaving the list in an inconsistent state.
This eventually lead to a crash. It would also lead to visual
artifacts if the crash didn't occur. Added consistency checking
to catch this and any other inconsistencies in the sublayer list.
The particular bug in this case was caused by clamping an index
for insertion to the current size of the sublayer list. CACF uses
an index equal to the current length to indicate an append operation.
With tiled layers the apparent size of the list is one less than its
actual size (to accomodate the layer which holds the list of tiles)
so this clamping was causing the new layer to get inserted before the
tile parent. The tile parent was then mistaken for a WKCACFLayer and
it eventually tried to deref that layer, causing the crash.
I also added some protection when destroying a WKCACFLayer. The user data
for the corresponding CACFLayer is now changed to 0xDeadBeef rather than
null. This allows dangling layers to be more easily identified. This
value is checked and ASSERTed if seen. I also remove the sublayers
on destruction to make the consistency checks work properly while
a layer is being destroyed.
Test: compositing/tiling/crash-reparent-tiled-layer.html
* platform/graphics/win/WKCACFLayer.cpp:
* platform/graphics/win/WKCACFLayer.h:
* platform/graphics/win/WebTiledLayer.cpp:
* platform/graphics/win/WebTiledLayer.h:
2010-08-25 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
WebCore::InsertListCommand::modifyRange infinite loop (100% CPU usage)
https://bugs.webkit.org/show_bug.cgi?id=33668
The bug was caused by enclosingListChild returning a list child whose enclosing list is
a sibling of the current list child. Fixed enclosingListChild to traverse upwards
in the DOM to find the list child which is a sibling of the current list child.
Also fixed adjacentEnclosingList to only returns the list that belongs to the same outer list.
In doApplyForSingleParagraph, if the start or the end of currentSelection existed inside a list content
moved by moveParagraphWithClones, either end could point to a wrong position after the move.
Fixed this problem by checking this condition upfront and restoring later.
In doApply, if moveParagraph or moveParagraphWithClones, endOfSelection or startOfLastParagraph
could be null or orphaned, fixed this problem by indexForVisiblePosition.
Test: editing/execCommand/insert-list-orphaned-item-with-nested-lists.html
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply):
(WebCore::enclosingListChild):
(WebCore::InsertListCommand::doApplyForSingleParagraph):
(WebCore::adjacentEnclosingList):
(WebCore::InsertListCommand::listifyParagraph):
2010-08-25 Brent Fulgham <bfulgham@webkit.org>
Build corrections, no review.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
Add include for new (missing) "CairoPath.h" class.
* platform/graphics/cairo/PlatformRefPtrCairo.h: Correct
include and compilation guards to match coding conventions.
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
Change implementation to match CG version, using the
FontCustomPlatformData name, rather than the original
FontCustomPlatformDataCairo.
* platform/graphics/win/FontCustomPlatformDataCairo.h:
Same as for the .cpp file.
2010-08-25 Krzysztof Czech <k.czech@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Crash while calling PopupMenuEfl destructor
https://bugs.webkit.org/show_bug.cgi?id=44497
Condition checks if m_view is defined
before popup is hide
* platform/efl/PopupMenuEfl.cpp:
(WebCore::PopupMenuEfl::~PopupMenuEfl):
2010-08-24 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
Creating a link when selecting multiple nodes creates multiple links
https://bugs.webkit.org/show_bug.cgi?id=30836
The bug was caused by applyInlineStyleToRange calling addInlineStyleIfNeeded
on each inline element. Modified applyInlineStyleToRange to call addInlineStyleIfNeeded
once for all inline elements with the same style difference.
Because this implies that anchor element may wrap other inline elements when added,
modified pushDownInlineStyleAroundNode to push down styled elements.
Removed pushPartiallySelectedAnchorElementsDown from CompositeEditCommand since
ApplyStyleCommand now correctly pushes down anchors at the start and the end of the selection.
Test: editing/execCommand/toggle-link.html
* editing/ApplyStyleCommand.cpp:
(WebCore::StyleChange::operator==): Added.
(WebCore::StyleChange::operator!=): Added.
(WebCore::ApplyStyleCommand::applyInlineStyleToRange): Wraps inline elements with
the same style difference by one element instead of wrapping each element separately.
(WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Extracts styled element.
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Avoids adding styled element.
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Pushes down styled element.
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): No longer checks inline-ness.
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds style even when m_removeOnly.
Callers should set addStyledElement = DoNotAddStyledElement to avoid adding styled element.
* editing/ApplyStyleCommand.h:
* editing/CompositeEditCommand.cpp: Removed pushPartiallySelectedAnchorElementsDown.
* editing/CompositeEditCommand.h: Removed pushPartiallySelectedAnchorElementsDown.
* editing/CreateLinkCommand.cpp:
(WebCore::CreateLinkCommand::doApply): used to call pushPartiallySelectedAnchorElementsDown.
* editing/UnlinkCommand.cpp:
(WebCore::UnlinkCommand::doApply): Used to call pushPartiallySelectedAnchorElementsDown.
2010-08-24 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Passing premultiplyAlpha=false to tex{Sub}Image2D loses information (skia)
https://bugs.webkit.org/show_bug.cgi?id=38282
Test: fast/canvas/webgl/gl-teximage.html
* platform/graphics/GraphicsContext3D.cpp: Fix a bug where alpha channel is ignored.
* platform/graphics/ImageSource.cpp: Add premultiplyAlpha flag.
(WebCore::ImageSource::ImageSource):
(WebCore::ImageSource::setData):
* platform/graphics/ImageSource.h: Ditto.
* platform/graphics/cg/ImageSourceCG.cpp: Ditto.
(WebCore::ImageSource::ImageSource):
* platform/graphics/qt/ImageDecoderQt.cpp: Ditto.
(WebCore::ImageDecoder::create):
(WebCore::ImageDecoderQt::ImageDecoderQt):
(WebCore::ImageDecoderQt::frameCount):
(WebCore::ImageDecoderQt::forceLoadEverything):
* platform/graphics/qt/ImageDecoderQt.h: Ditto.
* platform/graphics/skia/GraphicsContext3DSkia.cpp: Fix the premultiplyAlpha data loss issue in skia.
(WebCore::GraphicsContext3D::getImageData):
* platform/image-decoders/ImageDecoder.cpp: Add premultiplyAlpha flag.
(WebCore::ImageDecoder::create):
(WebCore::RGBA32Buffer::RGBA32Buffer):
(WebCore::RGBA32Buffer::operator=):
* platform/image-decoders/ImageDecoder.h: Ditto.
(WebCore::RGBA32Buffer::premultiplyAlpha):
(WebCore::RGBA32Buffer::setPremultiplyAlpha):
(WebCore::RGBA32Buffer::setRGBA):
(WebCore::ImageDecoder::ImageDecoder):
* platform/image-decoders/bmp/BMPImageDecoder.cpp: Ditto.
(WebCore::BMPImageDecoder::BMPImageDecoder):
(WebCore::BMPImageDecoder::frameBufferAtIndex):
* platform/image-decoders/bmp/BMPImageDecoder.h: Ditto.
* platform/image-decoders/gif/GIFImageDecoder.cpp: Ditto.
(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::frameCount):
* platform/image-decoders/gif/GIFImageDecoder.h: Ditto.
* platform/image-decoders/ico/ICOImageDecoder.cpp: Ditto.
(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::frameCount):
(WebCore::ICOImageDecoder::decodeAtIndex):
* platform/image-decoders/ico/ICOImageDecoder.h: Ditto.
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::frameBufferAtIndex):
* platform/image-decoders/jpeg/JPEGImageDecoder.h: Ditto.
* platform/image-decoders/png/PNGImageDecoder.cpp: Ditto.
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
* platform/image-decoders/png/PNGImageDecoder.h: Ditto.
* platform/image-decoders/skia/ImageDecoderSkia.cpp: Ditto.
(WebCore::RGBA32Buffer::RGBA32Buffer):
(WebCore::RGBA32Buffer::operator=):
2010-08-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove XBL
https://bugs.webkit.org/show_bug.cgi?id=44621
This patch removes support for XBL. XBL seems cool, but this code is
old and pretty bitrotten. If we decide to support XBL in the future,
we can recover this code from this revision. As it stands, it doesn't
seem worth half-maintaining this code.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
* dom/Document.h:
* loader/Cache.cpp:
(WebCore::createResource):
(WebCore::Cache::getStatistics):
* loader/Cache.h:
* loader/CachedResource.h:
(WebCore::CachedResource::):
* loader/CachedResourceClient.h:
(WebCore::CachedResourceClient::setXSLStyleSheet):
(WebCore::CachedResourceClient::fontLoaded):
* loader/CachedXBLDocument.cpp: Removed.
* loader/CachedXBLDocument.h: Removed.
* loader/DocLoader.cpp:
(WebCore::DocLoader::canRequest):
* loader/DocLoader.h:
* loader/loader.cpp:
(WebCore::cachedResourceTypeToTargetType):
(WebCore::Loader::determinePriority):
* rendering/style/BindingURI.cpp: Removed.
* rendering/style/BindingURI.h: Removed.
* rendering/style/RenderStyle.cpp:
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
2010-08-25 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] GraphicsContext: Construct with the correct default LineJoin (MiterJoin)
We weren't setting it explicitly which caused us to use Qt::MiterJoin when
we actually want Qt::SvgMiterJoin.
Fixes display glitches on the "Monster" chrome experiment among other things.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::GraphicsContext):
2010-08-25 Rafael Antognolli <antognolli@profusion.mobi>
Unreviewed build fix.
[EFL] Build fix for revision 66024
https://bugs.webkit.org/show_bug.cgi?id=44631
No new features added, so no new tests.
* CMakeListsEfl.txt: change GRefPtrCairo.cpp by PlatformRefPtrCairo.cpp.
2010-08-25 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Various designmode=&quot;on&quot;/&quot;off&quot; &amp; execCommand(&quot;Undo&quot;) NULL pointer crashes
https://bugs.webkit.org/show_bug.cgi?id=32823
The bug was caused by changeSelectionAfterCommand which updates the selection
without checking the whether new selection is valid or not.
Fixed changeSelectionAfterCommand so that it won't update the selection
when either end of the new selection is orphaned. Also fixed various editing commands
to exit early if either end of the selection is orphaned.
Tests: editing/undo/orphaned-selection-crash-bug32823-1.html
editing/undo/orphaned-selection-crash-bug32823-2.html
editing/undo/orphaned-selection-crash-bug32823-3.html
editing/undo/orphaned-selection-crash-bug32823-4.html
* editing/Editor.cpp:
(WebCore::Editor::changeSelectionAfterCommand): No longer sets orphaned selection.
* editing/VisibleSelection.h:
(WebCore::VisibleSelection::isNonOrphanedRange): Added.
(WebCore::VisibleSelection::isNonOrphanedCaretOrRange): Added.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::doApply): Added an early exist. See above.
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::doApply): Ditto.
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::doApply): Ditto.
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply): Ditto.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply): Ditto.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input): Ditto.
* editing/MoveSelectionCommand.cpp:
(WebCore::MoveSelectionCommand::doApply): Ditto.
* editing/RemoveFormatCommand.cpp:
(WebCore::RemoveFormatCommand::doApply): Ditto.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Ditto.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::doApply): Ditto.
* editing/UnlinkCommand.cpp:
(WebCore::UnlinkCommand::doApply): Ditto.
2010-08-25 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Flash content draws in front of site's drop down menu at http://www.monster.com/
https://bugs.webkit.org/show_bug.cgi?id=41330
If an iframe with composited content became overlapped, we failed to
consider that iframe for compositing if it had no RenderLayer, so the layering
would be incorrect.
Overlap is detected at painting time, but it's bad for FrameView::setIsOverlapped()
to call setNeedsStyleRecalc(), because this would cause subsequent calls to
FrameView::paintContents() in the same painting batch to bail with needsLayout().
Instead, we do the setNeedsStyleRecalc() from RenderLayerCompositor::notifyIFramesOfCompositingChange(),
so that the parent document has a chance to update style, and give the iframe a RenderLayer.
Then setIsOverlapped() simply needs to schedule a layer update, which we do on a timer.
When dumping layers via Frame::layerTreeAsText(), if a layer update is pending, then
update the layers.
Test: compositing/iframes/become-overlapped-iframe.html
* page/Frame.cpp:
(WebCore::Frame::layerTreeAsText):
* page/FrameView.cpp:
(WebCore::FrameView::setIsOverlapped):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::scheduleCompositingLayerUpdate):
(WebCore::RenderLayerCompositor::compositingLayerUpdatePending):
(WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
* rendering/RenderLayerCompositor.h:
2010-08-25 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
Cairo and EFL port shouldn't depend on glib.
https://bugs.webkit.org/show_bug.cgi?id=44354
No new tests as functionality has not changed.
Replace occurrences of GRefPtr and adoptGRef with PlatformRefPtr and
adoptPlatformRef. Rename GRefPtrCairo to PlatformRefPtrCairo.
* GNUmakefile.am:
* platform/Cursor.h:
* platform/graphics/cairo/GRefPtrCairo.cpp: Removed.
* platform/graphics/cairo/GRefPtrCairo.h: Removed.
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::Image::drawPattern):
* platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added.
(WTF::refPlatformPtr):
(WTF::derefPlatformPtr):
* platform/graphics/cairo/PlatformRefPtrCairo.h: Added.
* platform/graphics/gtk/ImageBufferGtk.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::declareAndWriteDragImage):
* platform/gtk/CursorGtk.cpp:
(WebCore::createNamedCursor):
(WebCore::createCustomCursor):
(WebCore::Cursor::ensurePlatformCursor):
* platform/gtk/DataObjectGtk.h:
* platform/gtk/GRefPtrGtk.cpp:
(WTF::refPlatformPtr):
(WTF::derefPlatformPtr):
* platform/gtk/GRefPtrGtk.h:
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeImage):
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::dropAtomsForContext):
* platform/gtk/PopupMenuGtk.h:
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::RenderThemeGtk):
(WebCore::paintMozillaGtkWidget):
* platform/gtk/RenderThemeGtk.h:
2010-08-25 Eric Carlson <eric.carlson@apple.com>
Reviewed by Alexey Proskuryakov.
HTMLMediaElement.canPlayType must be case insensitive for MIME type.
https://bugs.webkit.org/show_bug.cgi?id=44577
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load):
(WebCore::MediaPlayer::supportsType):
2010-08-25 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
[GTK] CodeGeneratorGObject not picking up FEATURE_DEFINES
https://bugs.webkit.org/show_bug.cgi?id=44608
Move FEATURE_DEFINES declaration to the toplevel GNUmakefile.am,
since it's used there now too.
* GNUmakefile.am:
2010-08-25 Dawit Alemayehu <adawit@kde.org>
Reviewed by Ariya Hidayat.
Proper workaround for missing Gtk initialization in Adobe's flash plugins.
https://bugs.webkit.org/show_bug.cgi?id=44405
* plugins/qt/PluginPackageQt.cpp:
(WebCore::initializeGtk):
(WebCore::PluginPackage::load):
2010-08-25 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: InspectorBackendStub.js is not updated when Inspector.idl changes.
https://bugs.webkit.org/show_bug.cgi?id=44604
* WebCore.xcodeproj/project.pbxproj:
2010-08-25 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: don't stop on DOM breakpoints when all breakpoints are deactivated
https://bugs.webkit.org/show_bug.cgi?id=44509
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::setBreakpointsActivated):
(WebCore::ScriptDebugServer::breakProgram):
* bindings/v8/ScriptDebugServer.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::create):
2010-08-25 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: lazily request frontend settings instead of pushing them on connect
https://bugs.webkit.org/show_bug.cgi?id=44607
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createParser):
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::getSettings):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::populateScriptObjects): this method is now called explicitely from the frontend,
it should be gone eventually once all panels request initial data lazily.
* inspector/InspectorController.h:
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.show):
(WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
(WebInspector.ProfilesPanel.prototype._reset):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
(WebInspector.Settings.initialize.populateApplicationSettings):
(WebInspector.Settings.initialize.populateSessionSettings):
(WebInspector.Settings.initialize):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone):
2010-08-25 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: support checked and disabled context menu items.
https://bugs.webkit.org/show_bug.cgi?id=44612
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::checkOrEnableIfNeeded):
2010-08-25 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: support disabled and checked context menu items.
https://bugs.webkit.org/show_bug.cgi?id=44601
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::showContextMenu):
* bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
(WebCore::V8InspectorFrontendHost::showContextMenuCallback):
* inspector/front-end/ContextMenu.js:
(WebInspector.ContextMenu.prototype.appendItem):
2010-08-25 Zaheer Ahmad <zaheer.mot@gmail.com>
Reviewed by Xan Lopez.
[GTK] GTK port doesnt compile with video turned off
https://bugs.webkit.org/show_bug.cgi?id=44236
Generate the audio GObject DOM bindings only if video enabled
* WebCore/GNUMakefile.am
* WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
Make the audio code invocation conditional
2010-08-24 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: add "Attribute Modified" and "Node Removed" DOM breakpoints
https://bugs.webkit.org/show_bug.cgi?id=44532
Test: inspector/dom-breakpoint.html
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setDOMBreakpoint):
(WebCore::InspectorDOMAgent::removeDOMBreakpoint):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
* inspector/front-end/DOMAgent.js:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2010-08-25 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Pass the element's bounds to embedder during speech recognition.
https://bugs.webkit.org/show_bug.cgi?id=44427
The embedder would typically want to show a native UI with information, settings etc.
By passing the display bounds of the html element, the embedder can position the
native speech recognition UI appropriately.
* page/SpeechInput.cpp:
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::startRecognition):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::detach):
2010-08-25 Yongjun Zhang <yongjun_zhang@apple.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=44461
Assertion failure at WebCore/platform/network/CredentialStorage.cpp:85.
Remove the assertion at CredentialStorage.cpp:85 since it is legal to have
multiple forward slashes after the path component.
No test needed.
* platform/network/CredentialStorage.cpp:
(WebCore::protectionSpaceMapKeyFromURL):
2010-08-25 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: search in Scripts panel brings ui back to original search view.
https://bugs.webkit.org/show_bug.cgi?id=44516
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.searchCanceled):
(WebInspector.Panel.prototype.jumpToNextSearchResult):
(WebInspector.Panel.prototype.jumpToPreviousSearchResult):
* inspector/front-end/ResourcesPanel.js:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.searchCanceled):
(WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
(WebInspector.ScriptsPanel.prototype.performSearch):
(WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
(WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
2010-08-25 Kent Tamura <tkent@chromium.org>
Reviewed by Shinichiro Hamaji
<input type=number>: Support auto-repeat by mouse press
https://bugs.webkit.org/show_bug.cgi?id=44476
Like arrow button of scrollbars, spinbuttons of <input
type=number> should continue to increase/decrease their values
while the mouse button is pressed.
No new tests because the new behavior strongly depends on a timer.
* rendering/TextControlInnerElements.cpp:
(WebCore::SpinButtonElement::SpinButtonElement):
Initializes the timer.
(WebCore::SpinButtonElement::defaultEventHandler):
Starts the timer by a mousedown event.
(WebCore::SpinButtonElement::startRepeatingTimer):
(WebCore::SpinButtonElement::stopRepeatingTimer):
(WebCore::SpinButtonElement::repeatingTimerFired):
* rendering/TextControlInnerElements.h:
2010-08-25 Gabor Loki <loki@webkit.org>
Reviewed by Gavin Barraclough.
Avoid increasing required alignment of target type warning
https://bugs.webkit.org/show_bug.cgi?id=43963
Fix alignment warnings on Qt.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::getImageData):
(WebCore::putImageData):
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::getAddr):
* platform/text/qt/TextCodecQt.cpp:
(WebCore::TextCodecQt::decode):
2010-08-25 Kent Tamura <tkent@chromium.org>
Reviewed by Shinichiro Hamaji
Fix a bug that a spin-button doesn't release mouse capturing
https://bugs.webkit.org/show_bug.cgi?id=44411
- LeftButton should be checked only for clickEvent.
Note that this change doesn't change the behavior because
button() value is initialized with LeftButton even for
mousemoveEvent.
- Should pass a SpinButtonElement node to setCapturingMouseEventsNode().
Test: fast/forms/input-spinbutton-capturing.html
* rendering/TextControlInnerElements.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
2010-08-25 Gabor Loki <loki@webkit.org>
Reviewed by Gavin Barraclough.
Avoid increasing required alignment of target type warning
https://bugs.webkit.org/show_bug.cgi?id=43963
Fix platform independent alignment warnings.
* loader/CachedMetadata.h:
(WebCore::CachedMetadata::readUnsigned):
* platform/text/TextCodecLatin1.cpp:
(WebCore::TextCodecLatin1::decode):
2010-08-25 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
Add missing methods at ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=44453
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::willLoadFromCache):
(WebCore::prefetchDNS):
(WebCore::ResourceHandle::bufferedData):
(WebCore::ResourceHandle::supportsBufferedData):
(WebCore::ResourceHandle::loadsBlocked):
(WebCore::ResourceHandle::platformSetDefersLoading):
2010-08-25 Adam Barth <abarth@webkit.org>
Second attempt to fix Qt build
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseDtd):
2010-08-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Remove more DTD junk now that the LegacyHTMLDocumentParser is gone
https://bugs.webkit.org/show_bug.cgi?id=44588
Just removing dead code, thus no tests.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::nodeName):
* html/HTMLElement.h:
2010-08-24 Adam Barth <abarth@webkit.org>
Qt build fix.
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):
(WebCore::XMLDocumentParser::parseDtd):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Delete HTMLElement::checkDTD
https://bugs.webkit.org/show_bug.cgi?id=44563
This function existed to service the LegacyHTMLTreeBuilder. The new
HTMLTreeBuilder has this logic internalized. Pulling on this thread
caused me to remove a legacyParserAddChild and to discover some code
that shouldn't be calling these parser-specific APIs.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::parserAddChild):
(WebCore::ContainerNode::deprecatedParserAddChild):
* dom/ContainerNode.h:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
* dom/Node.cpp:
(WebCore::Node::deprecatedParserAddChild):
* dom/Node.h:
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::enterText):
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::characters):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::internalSubset):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parse):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseCharacters):
(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):
(WebCore::XMLDocumentParser::parseDtd):
* html/HTMLDataGridElement.cpp:
* html/HTMLDataGridElement.h:
* html/HTMLDataGridRowElement.cpp:
* html/HTMLDataGridRowElement.h:
* html/HTMLDataListElement.cpp:
* html/HTMLDataListElement.h:
* html/HTMLDocument.cpp:
* html/HTMLDocument.h:
* html/HTMLElement.cpp:
* html/HTMLElement.h:
* html/HTMLFieldSetElement.cpp:
* html/HTMLFieldSetElement.h:
* html/HTMLFrameSetElement.cpp:
* html/HTMLFrameSetElement.h:
* html/HTMLHeadElement.cpp:
* html/HTMLHeadElement.h:
* html/HTMLHeadingElement.cpp:
* html/HTMLHeadingElement.h:
* html/HTMLHtmlElement.cpp:
* html/HTMLHtmlElement.h:
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement):
* html/HTMLMapElement.cpp:
* html/HTMLMapElement.h:
* html/HTMLMediaElement.cpp:
* html/HTMLMediaElement.h:
* html/HTMLNoScriptElement.cpp:
* html/HTMLNoScriptElement.h:
* html/HTMLOptGroupElement.cpp:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.cpp:
* html/HTMLOptionElement.h:
* html/HTMLParagraphElement.cpp:
* html/HTMLParagraphElement.h:
* html/HTMLPlugInElement.cpp:
* html/HTMLPlugInElement.h:
* html/HTMLScriptElement.h:
* html/HTMLSelectElement.cpp:
* html/HTMLSelectElement.h:
* html/HTMLStyleElement.h:
* html/HTMLTableColElement.cpp:
* html/HTMLTableColElement.h:
* html/HTMLTableElement.cpp:
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.cpp:
* html/HTMLTableRowElement.h:
* html/HTMLTableSectionElement.cpp:
* html/HTMLTableSectionElement.h:
* html/HTMLTextAreaElement.h:
* html/HTMLTitleElement.h:
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlElement::attachToParent):
(WebCore::MediaControlInputElement::attachToParent):
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::attachInnerElement):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove tagPriority
https://bugs.webkit.org/show_bug.cgi?id=44557
This code used to be used by the old parser. Now it's unused.
* html/HTMLAnchorElement.h:
* html/HTMLAppletElement.h:
* html/HTMLAreaElement.h:
* html/HTMLAudioElement.h:
* html/HTMLBRElement.h:
* html/HTMLBaseElement.h:
* html/HTMLBaseFontElement.h:
* html/HTMLBlockquoteElement.h:
* html/HTMLBodyElement.h:
* html/HTMLCanvasElement.cpp:
* html/HTMLCanvasElement.h:
* html/HTMLDListElement.h:
* html/HTMLDataGridCellElement.h:
* html/HTMLDataGridColElement.h:
* html/HTMLDataGridElement.h:
* html/HTMLDataGridRowElement.h:
* html/HTMLDirectoryElement.h:
* html/HTMLDivElement.h:
* html/HTMLElement.cpp:
* html/HTMLElement.h:
* html/HTMLEmbedElement.h:
* html/HTMLFieldSetElement.h:
* html/HTMLFontElement.h:
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.h:
* html/HTMLFrameElement.h:
* html/HTMLFrameSetElement.h:
* html/HTMLHRElement.h:
* html/HTMLHeadElement.h:
* html/HTMLHeadingElement.h:
* html/HTMLHtmlElement.h:
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.h:
* html/HTMLInputElement.h:
* html/HTMLIsIndexElement.h:
* html/HTMLKeygenElement.h:
* html/HTMLLIElement.h:
* html/HTMLLabelElement.h:
* html/HTMLLinkElement.h:
* html/HTMLMapElement.h:
* html/HTMLMarqueeElement.h:
* html/HTMLMenuElement.h:
* html/HTMLMetaElement.h:
* html/HTMLModElement.h:
* html/HTMLOListElement.h:
* html/HTMLObjectElement.h:
* html/HTMLOptionElement.h:
* html/HTMLParagraphElement.h:
* html/HTMLParamElement.h:
* html/HTMLPreElement.h:
* html/HTMLQuoteElement.h:
* html/HTMLScriptElement.h:
* html/HTMLSelectElement.h:
* html/HTMLSourceElement.h:
* html/HTMLStyleElement.h:
* html/HTMLTableCaptionElement.h:
* html/HTMLTableCellElement.h:
* html/HTMLTableColElement.cpp:
* html/HTMLTableColElement.h:
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.h:
* html/HTMLTableSectionElement.h:
* html/HTMLUListElement.h:
* html/HTMLVideoElement.h:
2010-08-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix one more html5lib test case for button scoping
https://bugs.webkit.org/show_bug.cgi?id=44583
I <3 test driven development.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
2010-08-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Remove HTML5 parser testing infrastructure now that we don't need it
https://bugs.webkit.org/show_bug.cgi?id=44581
Just removing dead code, no tests.
* dom/DocumentFragment.cpp:
* dom/DocumentFragment.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove unneeded include in HTMLPreloadScanner
https://bugs.webkit.org/show_bug.cgi?id=44552
Slowly but steadily sweeping up the dust in the HTML parser.
* html/HTMLPreloadScanner.cpp:
* html/HTMLPreloadScanner.h:
2010-08-24 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
Implement virtual path utilities for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=44132
No new tests; tests will be added later. (Each DOMFilePath's method is briefly tested locally.)
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* storage/DOMFilePath.cpp: Added.
* storage/DOMFilePath.h: Added.
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLParserScheduler::create
https://bugs.webkit.org/show_bug.cgi?id=44551
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
* html/HTMLParserScheduler.h:
(WebCore::HTMLParserScheduler::create):
2010-08-24 Daniel Bates <dbates@rim.com>
Fix code comment as per Darin Adler's suggestion in <https://bugs.webkit.org/show_bug.cgi?id=44486#c2>.
I inadvertently did not update this comment when I landed changeset 65967 <http://trac.webkit.org/changeset/65967>.
* rendering/RenderListMarker.cpp:
(WebCore::listMarkerSuffix):
2010-08-24 Daniel Bates <dbates@rim.com>
Reviewed by Darin Adler.
Suffix for CSS alphabetic list style types should fallback to
decimal for ordinals outside of their representable range
https://bugs.webkit.org/show_bug.cgi?id=44486
Test: fast/lists/w3-css3-list-styles-fallback-style.html
Fixes an issue where the decimal suffix is not used for
ordinals that cannot be represented by the alphabetic list
style type.
Currently, for ordinals that cannot be represented in the
alphabetic list style we use the suffix associated with the
list style. Instead, we should use the suffix for the decimal
list style ('.'). For instance, when the list style type is
Afar and the starting ordinal is 0, then we fallback to the
decimal list style suffix '.' because 0 cannot be represented
in Afar.
* rendering/RenderListMarker.cpp:
(WebCore::toRoman): Moved bounds check into WebCore::effectiveListMarkerType().
(WebCore::toAlphabetic): Ditto.
(WebCore::toHebrew): Ditto.
(WebCore::toArmenian): Ditto.
(WebCore::toGeorgian): Ditto.
(WebCore::toCJKIdeographic): Ditto.
(WebCore::effectiveListMarkerType): Added.
(WebCore::listMarkerSuffix): Added value parameter to prototype.
Modified to call WebCore::effectiveListMarkerType.
(WebCore::listMarkerText): Modified to call WebCore::effectiveListMarkerType().
(WebCore::RenderListMarker::paint): Modified to pass list item ordinal (i.e. m_listItem->value()) to WebCore::listMarkerSuffix().
(WebCore::RenderListMarker::calcPrefWidths): Ditto.
(WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
2010-08-24 Gavin Barraclough <barraclough@apple.com>
Windows build fix.
* ForwardingHeaders/wtf/DecimalNumber.h: Added.
2010-08-23 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=44487
* html/LegacyHTMLTreeBuilder.cpp:
(WebCore::serializeForNumberType):
Update function call to numberToString.
2010-08-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
XMLDocumentParser needs to implement DocumentParser::detach()
https://bugs.webkit.org/show_bug.cgi?id=44533
Test: fast/frames/set-parent-src-synchronously.xhtml
In the example from the page we were accessing document()
after DocumentParser::detach() was called. To prevent this
I added an ASSERT(m_document) to document(), causing many
test cases to cover the bug shown in bug 44533.
To fix the bug, I implemented XMLDocumentParser::detach()
and had it call clearCurrentNodeStack(), thus making
it impossible for XMLDocumentParser to still have the Document
on the node stack after detach (which was what was causing this bug).
While fixing this, I noticed that XMLDocumentParser may have the
same trouble crashing that the HTMLDocumentParser did when
synchronously deleted from JS (for example by an iframe navigation).
I added a test case to cover this and protected the parser after
the two places it executes scripts.
* dom/DocumentParser.h:
(WebCore::DocumentParser::document):
(WebCore::DocumentParser::isDetached):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::finish):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::append):
(WebCore::XMLDocumentParser::detach):
(WebCore::XMLDocumentParser::notifyFinished):
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::resumeParsing):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::willPumpLexer):
(WebCore::HTMLDocumentParser::didPumpLexer):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::script):
* html/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::updateTokenizerState):
* html/HTMLViewSourceParser.h:
(WebCore::HTMLViewSourceParser::document):
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::document):
2010-08-24 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
Add SynchronousLoader for ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=44452
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::ResourceHandle::loadResourceSynchronously):
2010-08-24 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed.
Replaced soft tab indentation by hard tab indentation for LegacyWebArchive.h.
* WebCore.xcodeproj/project.pbxproj:
2010-08-24 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Mark Rowe.
Web Inspector: RemoteInspectorFrontend can be renamed to InspectorFrontend
https://bugs.webkit.org/show_bug.cgi?id=44499
Follow-up. No longer generate the RemoteInspectorFrontend files, just
generate the required InspectorFrontend files.
* DerivedSources.make:
2010-08-20 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Pavel Feldman.
Web Inspector: Backend Should Provide Full Supported CSS Properties List
https://bugs.webkit.org/show_bug.cgi?id=40886
This allows the backend to send the front-end its complete list of
supported CSS Properties. This is used in CSS Autocompletion and
CSS Syntax Highlighting to show which styles are supported.
* css/makeprop.pl: moved CSS properties to the header file.
* inspector/Inspector.idl: expose getSupportedCSSProperties.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getSupportedCSSProperties):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/CSSCompletions.js:
(WebInspector.CSSCompletions._firstIndexOfPrefix): handle a possible error case before properties have loaded.
(WebInspector.CSSCompletions._load): fill up the special array with the received properties.
* inspector/front-end/SourceCSSTokenizer.js:
(WebInspector.SourceCSSTokenizer): use the list of support properties from the backend.
* inspector/front-end/SourceCSSTokenizer.re2js:
* inspector/front-end/inspector.js: request the list of supported CSS properties on load.
(WebInspector.doLoadedDone):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Delete LegacyHTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=44554
There were some free functions in LegacyHTMLTreeBuilder that needed a
new home. I've put them in HTMLTreeBuilder, but they'll probably need
a better home eventually.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::shouldCreateImplicitHead):
* dom/DocumentParser.h:
* dom/ScriptableDocumentParser.h:
* html/HTMLConstructionSite.cpp:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
* html/HTMLInputElement.cpp:
* html/HTMLMeterElement.cpp:
* html/HTMLProgressElement.cpp:
* html/HTMLTreeBuilder.cpp:
(WebCore::serializeForNumberType):
(WebCore::parseToDoubleForNumberType):
* html/HTMLTreeBuilder.h:
* html/HTMLViewSourceParser.h:
* html/LegacyHTMLTreeBuilder.cpp: Removed.
* html/LegacyHTMLTreeBuilder.h: Removed.
* html/StepRange.cpp:
* html/ValidityState.cpp:
* rendering/RenderSlider.cpp:
2010-08-24 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: show DOM breakpoints in sidebar pane
https://bugs.webkit.org/show_bug.cgi?id=44424
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype._setBreakpoint):
(WebInspector.BreakpointManager.prototype._breakpointRemoved):
(WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
(WebInspector.Breakpoint.prototype.set enabled):
(WebInspector.Breakpoint.prototype.set condition):
(WebInspector.Breakpoint.prototype.remove):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane):
(WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
(WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
(WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
(WebInspector.BreakpointItem):
(WebInspector.BreakpointItem.prototype.element):
(WebInspector.BreakpointItem.prototype.remove):
(WebInspector.BreakpointItem.prototype._checkboxClicked):
(WebInspector.BreakpointItem.prototype._enableChanged):
(WebInspector.BreakpointItem.prototype._removed):
(WebInspector.JSBreakpointItem):
(WebInspector.JSBreakpointItem.prototype._textChanged):
(WebInspector.DOMBreakpointItem):
(WebInspector.DOMBreakpointItem.prototype.compareTo):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMBreakpointManager):
(WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
(WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
(WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
(WebInspector.DOMBreakpoint):
(WebInspector.DOMBreakpoint.prototype.get enabled):
(WebInspector.DOMBreakpoint.prototype.set enabled):
(WebInspector.DOMBreakpoint.prototype.remove):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype.reset):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype.reset):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
(WebInspector.SourceFrame.prototype.set visible):
(WebInspector.SourceFrame.prototype.addBreakpoint):
(WebInspector.SourceFrame.prototype._breakpointRemoved):
(WebInspector.SourceFrame.prototype._addBreakpointToSource):
(WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
(WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
(WebInspector.SourceFrame.prototype._contextMenu):
(WebInspector.SourceFrame.prototype._mouseDown):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView):
(WebInspector.SourceView.prototype.updateLocalContent):
* inspector/front-end/inspector.js:
(WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
(WebInspector.createJSBreakpointsSidebarPane):
(WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
(WebInspector.createDOMBreakpointsSidebarPane):
(WebInspector.doLoadedDone):
2010-08-24 Stephen White <senorblanco@chromium.org>
Reviewed by Dumitru Daniliuc.
Speculative fix for layout test failures on Chrome/Linux.
https://bugs.webkit.org/show_bug.cgi?id=44550
Tests fast/canvas/arc-crash.html, fast/canvas/canvas-state-intact-after-putImageData.html, and fast/canvas/toDataURL-supportedTypes.html are failing on Chrome/Linux. Can't repro the failure locally, but this fix can't hurt.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
2010-08-24 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Fix the NodeFilter wrapper and the binding for acceptNode.
https://bugs.webkit.org/show_bug.cgi?id=44542
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::wrapNativeNodeFilter): This function
should always create a filter. V8NodeFilterCondition::acceptNode()
will check if the given object can be used as a filter, and throw
an exception if it can't.
* bindings/v8/V8NodeFilterCondition.cpp:
(WebCore::V8NodeFilterCondition::acceptNode): Update this binding
to do the same thing that the JS binding does.
2010-08-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Tony Chang.
After r65681, caret no longer displays promptly while editing form fields
https://bugs.webkit.org/show_bug.cgi?id=44294
The caret no longer eagerly updates its rect on every paint, so we have
to manually update it after scrolling the selection into view when
the selection changes.
Tested by the pixel results of fast/forms/input-text-scroll-left-on-blur.html
* page/Frame.cpp:
(WebCore::Frame::revealSelection):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Remove redundant call to OwnPtr::clear
https://bugs.webkit.org/show_bug.cgi?id=44548
As pointed out by Darin, this call to clear is not needed.
* editing/TextIterator.cpp:
(WebCore::plainTextToMallocAllocatedBuffer):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLTokenizer::create
https://bugs.webkit.org/show_bug.cgi?id=44477
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
* html/HTMLPreloadScanner.cpp:
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
(WebCore::HTMLPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::processToken):
* html/HTMLPreloadScanner.h:
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::create):
* html/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
(WebCore::HTMLViewSourceParser::pumpTokenizer):
(WebCore::HTMLViewSourceParser::updateTokenizerState):
* html/HTMLViewSourceParser.h:
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Remove references to LegacyHTMLTreebuilder from HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=44544
* html/HTMLDocumentParser.cpp:
* html/HTMLDocumentParser.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::finished):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
2010-08-24 Xan Lopez <xlopez@igalia.com>
Try to fix GTK+ build.
Move GTK_API_VERSION_2 define out.
* GNUmakefile.am:
2010-08-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
TreeWalker traversal order is wrong when skipping and rejecting
https://bugs.webkit.org/show_bug.cgi?id=44377
TreeWalker's nextSibling() and previousSibling() behaved incorrectly
when traversing down a subtree where all nodes are skipped; it backed all
the way up to the root of the subtree, then jump to the subtree's parentNode.
This would skip later siblings.
Fix by resetting 'node' when traversing to children so that node = node->parentNode()
gets the correct node later.
Test: fast/dom/TreeWalker/traversal-skip-most.html
* dom/TreeWalker.cpp:
(WebCore::TreeWalker::previousSibling):
(WebCore::TreeWalker::nextSibling):
2010-08-24 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Remove null-checks from DeviceOrientationController
https://bugs.webkit.org/show_bug.cgi?id=44504
Remove checks for m_client being NULL from DeviceOrientationController.
It will never be NULL, and this is checked by an ASSERT on construction.
Will be covered by layout tests for device orientation.
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::timerFired):
(WebCore::DeviceOrientationController::addListener):
(WebCore::DeviceOrientationController::removeListener):
(WebCore::DeviceOrientationController::removeAllListeners):
2010-08-24 Stephen White <senorblanco@chromium.org>
Reviewed by Kenneth Russell.
Fix accelerated 2d canvas with accelerated compositing off.
https://bugs.webkit.org/show_bug.cgi?id=44525
Tested by running with --enable-accelerated-2d-canvas with
--enable-accelerated-compositing off.
ImageBuffer::copyImage changes covered by
LayoutTests/fast/canvas/canvas-pattern-*.html.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
Extend the accelerated compositing check and the readback for
non-accelerated compositing to accelerated 2D canvas also.
* html/canvas/CanvasRenderingContext.cpp:
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
Move this logic from WebGL to common canvas context code.
* html/canvas/WebGLRenderingContext.h:
Remove implementation of paintsIntoCanvasBuffer.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::copyImage):
When copying the image for patterns, sync the software canvas.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::prepareForSoftwareDraw):
Use SkDevice::eraseColor() to clear the canvas for mixed mode rendering.
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Deploy adoptPtr in WebCore/editing
https://bugs.webkit.org/show_bug.cgi?id=44501
* editing/Editor.cpp:
(WebCore::Editor::Editor):
* editing/TextIterator.cpp:
(WebCore::plainTextToMallocAllocatedBuffer):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Deploy adoptPtr in WebCore/history
https://bugs.webkit.org/show_bug.cgi?id=44502
* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
(WebCore::HistoryItem::addRedirectURL):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Partial deployment of adoptPtr to WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=44507
Deploy adoptPtr to some more places in WebCore/html. The big chunk
that I haven't done yet is createRenderer, but that's going to be a big
patch unto itself.
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::formCollectionInfo):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::addElementAlias):
* html/HTMLInputElement.cpp:
(WebCore::createTypeMap):
(WebCore::HTMLInputElement::setInputType):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::attach):
(WebCore::HTMLInputElement::preDispatchEventHandler):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseMappedAttribute):
(WebCore::HTMLObjectElement::attach):
* html/HTMLToken.h:
(WebCore::HTMLToken::beginDOCTYPE):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::attach):
(WebCore::HTMLVideoElement::parseMappedAttribute):
* html/ValidityState.h:
(WebCore::ValidityState::create):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Partial deployment of adoptPtr to WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=44507
There's a lot of places that need adoptPtr in WebCore/html. This patch
does some of them. More will follow.
* html/FileThreadTask.h:
(WebCore::FileThreadTask0::create):
(WebCore::FileThreadTask1::create):
(WebCore::FileThreadTask2::create):
(WebCore::FileThreadTask3::create):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::mapMouseEvent):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::insertAbove):
(WebCore::HTMLElementStack::pushCommon):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute):
(WebCore::HTMLEmbedElement::attach):
2010-08-24 Sam Weinig <sam@webkit.org>
Reviewed by Simon Fraser.
Improve comment for Simon.
* editing/Editor.h:
2010-08-24 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Paste event fires twice for mac WebKit
<rdar://problem/8094611>
https://bugs.webkit.org/show_bug.cgi?id=44535
The mac implementation of paste in WebKit was accidentally calling
Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
in Editor::pasteAsPlainText (which is called by -[WebHTMLView paste:]).
Use the new pasteAsPlainTextBypassingDHTML function to bypass the
second call.
Test: editing/pasteboard/paste-event-only-once.html
* WebCore.exp.in:
* editing/Editor.cpp:
(WebCore::Editor::pasteAsPlainTextBypassingDHTML):
* editing/Editor.h:
Expose a function which just pastes using from the general pasteboard,
bypassing all the checking and DHTML pasting.
2010-08-24 Nate Chapin <japhet@chromium.org>
Unreviewed.
Chromium build fix (add a #include missing in PingLoader.cpp)
* loader/PingLoader.cpp:
2010-08-24 Nate Chapin <japhet@chromium.org>
Reviewed by David Levin.
Allow image loads triggered from unload handlers to run entirely
independently of any other loads or navigations.
https://bugs.webkit.org/show_bug.cgi?id=30457
Test: http/tests/navigation/image-load-in-unload-handler.html
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/DocLoader.cpp:
(WebCore::DocLoader::requestImage): Use PingLoader for image
loads in unload handlers.
* loader/FrameLoader.h:
(WebCore::FrameLoader::pageDismissalEventBeingDispatched):
* loader/PingLoader.cpp: Added.
(WebCore::PingLoader::loadImage): Set the appropriate
headers for an image load in unload handler (since we're
not using SubresourceLoader, we need to do this manually here).
(WebCore::PingLoader::PingLoader):
* loader/PingLoader.h: Added.
(WebCore::PingLoader::~PingLoader):
(WebCore::PingLoader::didReceiveResponse):
(WebCore::PingLoader::didReceiveData):
(WebCore::PingLoader::didFinishLoading):
(WebCore::PingLoader::didFail):
2010-08-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Trace to the style that contributes to
the computed styles panel.
https://bugs.webkit.org/show_bug.cgi?id=44448
Test: inspector/styles-computed-trace.html
* English.lproj/localizedStrings.js:
* inspector/front-end/Section.js:
(WebInspector.Section.prototype.set subtitle):
(WebInspector.Section.prototype.get subtitleAsTextForTest):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._refreshUpdate):
(WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
(WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
(WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
(WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
(WebInspector.StylePropertiesSection.linkifyUncopyable):
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
(WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
(WebInspector.StylePropertiesSection.prototype.isPropertyDisabled):
(WebInspector.StylePropertiesSection.prototype.update):
(WebInspector.StylePropertiesSection.prototype.onpopulate):
(WebInspector.ComputedStylePropertiesSection):
(WebInspector.ComputedStylePropertiesSection.prototype.collapse):
(WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
(WebInspector.ComputedStylePropertiesSection.prototype.update):
(WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
(WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
(WebInspector.BlankStylePropertiesSection):
* inspector/front-end/inspector.css:
(.styles-section a::before):
* inspector/front-end/inspector.js:
(WebInspector.documentClick.followLink):
(WebInspector.documentClick):
(WebInspector.linkifyResourceAsNode):
2010-08-24 Daniel Cheng <dcheng@chromium.org>
Reviewed by Eric Seidel.
[chromium] Generate drag images for HTML elements and selections.
https://bugs.webkit.org/show_bug.cgi?id=43449
We weren't properly generating drag images if an HTML element was set
as the drag feedback image. I also implemented dragImageForSelection
while I was working on this part of the code.
No new tests.
* WebCore.exp.in:
* bindings/objc/DOM.mm:
(-[DOMNode renderedImage]):
* page/Frame.h:
* page/brew/FrameBrew.cpp:
(WebCore::Frame::nodeImage):
* page/chromium/FrameChromium.cpp:
(WebCore::):
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):
* page/efl/FrameEfl.cpp:
(WebCore::Frame::nodeImage):
* page/gtk/FrameGtk.cpp:
(WebCore::Frame::nodeImage):
* page/haiku/FrameHaiku.cpp:
(WebCore::Frame::nodeImage):
* page/mac/FrameMac.mm:
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):
* page/qt/FrameQt.cpp:
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):
* page/win/FrameCGWin.cpp:
(WebCore::Frame::nodeImage):
* page/win/FrameCairoWin.cpp:
(WebCore::Frame::nodeImage):
* page/wince/FrameWince.cpp:
(WebCore::Frame::nodeImage):
* page/wx/FrameWx.cpp:
(WebCore::Frame::nodeImage):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::createDragImage):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionForegroundColor):
2010-08-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
IndexedDB needs to manually delete all objectStore data and indexes
https://bugs.webkit.org/show_bug.cgi?id=44522
Apparently it's only newer versions of SQLite that handle cascade
delete. The rest silently fail. So do it manually.
Test: storage/indexeddb/objectstore-removeobjectstore.html
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::doDelete):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::createTables):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
* storage/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::create):
(WebCore::IDBObjectStoreBackendImpl::id):
2010-08-23 Sam Weinig <sam@webkit.org>
Reviewed by Adam Barth.
Fix for <rdar://problem/8153271> and <rdar://problem/8153288>
Change behavior of javascript: urls in <embed> and <object> back to
how they behaved before r50698.
Tests: fast/loader/javascript-url-in-embed.html
fast/loader/javascript-url-in-object.html
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestFrame):
(WebCore::SubframeLoader::requestObject):
(WebCore::SubframeLoader::loadOrRedirectSubframe):
* loader/SubframeLoader.h:
2010-08-24 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Update code to compile with latest GTK+ 3.x.
* platform/gtk/gtk2drawing.c:
(TSOffsetStyleGCs):
(moz_gtk_entry_paint):
* plugins/gtk/gtk2xtbin.c:
(gtk_xtbin_new):
2010-08-24 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
-webkit-svg-shadow doesn't repaint on changes
https://bugs.webkit.org/show_bug.cgi?id=44521
Trivial fix, to make -webkit-svg-shadow react on changes.
Test: svg/css/shadow-changes.svg
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff): If 'svgShadow' is not equal, cause a repaint.
2010-08-24 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Cg logs "<Error>: CGPathCloseSubpath: no current point. " in lots of tests
https://bugs.webkit.org/show_bug.cgi?id=43026
Check if the path is empty before closing it.
* svg/SVGPathBuilder.cpp:
(WebCore::SVGPathBuilder::moveTo):
2010-08-24 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Hooks IDBKeyPath with IDBObjectStorage::put.
https://bugs.webkit.org/show_bug.cgi?id=44275
Adds a mechanism to extract an IDBKey from SerializedScriptValue using IDBKeyPath
during IDBObjectStorage::put.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/chromium/ChromiumBridge.h:
* storage/IDBKeyPathBackendImpl.cpp: Added.
(IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
* storage/IDBKeyPathBackendImpl.h: Added.
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put):
* storage/chromium/IDBKeyPathBackendImpl.cpp: Added.
(WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
2010-08-24 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: RemoteInspectorFrontend can be renamed to InspectorFrontend.
The old version of InspectorFrontend was removed some time ago and now
it is possible to rename the new version of inspector frontend class to its
original name.
https://bugs.webkit.org/show_bug.cgi?id=44499
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/CodeGeneratorInspector.pm:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::updateRepeatCountInConsole):
* inspector/ConsoleMessage.h:
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::pushNodePathToFrontend):
(WebCore::InjectedScriptHost::frontend):
* inspector/InjectedScriptHost.h:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::dispatchOnInjectedScript):
(WebCore::InspectorBackend::frontend):
* inspector/InspectorBackend.h:
* inspector/InspectorCSSStore.cpp:
* inspector/InspectorCSSStore.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::inspect):
(WebCore::InspectorController::focusNode):
(WebCore::InspectorController::windowVisible):
(WebCore::InspectorController::addConsoleMessage):
(WebCore::InspectorController::clearConsoleMessages):
(WebCore::InspectorController::inspectedWindowScriptObjectCleared):
(WebCore::InspectorController::setSearchingForNode):
(WebCore::InspectorController::setMonitoringXHR):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::show):
(WebCore::InspectorController::showPanel):
(WebCore::InspectorController::close):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::pruneResources):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::mainResourceFiredDOMContentEvent):
(WebCore::InspectorController::mainResourceFiredLoadEvent):
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
(WebCore::InspectorController::enableResourceTracking):
(WebCore::InspectorController::disableResourceTracking):
(WebCore::InspectorController::startTimelineProfiler):
(WebCore::InspectorController::stopTimelineProfiler):
(WebCore::InspectorController::postWorkerNotificationToFrontend):
(WebCore::InspectorController::didCreateWorker):
(WebCore::InspectorController::didDestroyWorker):
(WebCore::InspectorController::selectDatabase):
(WebCore::InspectorController::didOpenDatabase):
(WebCore::InspectorController::didUseDOMStorage):
(WebCore::InspectorController::selectDOMStorage):
(WebCore::InspectorController::enableDebuggerFromFrontend):
(WebCore::InspectorController::enableDebugger):
(WebCore::InspectorController::disableDebugger):
(WebCore::InspectorController::evaluateForTestInFrontend):
* inspector/InspectorController.h:
(WebCore::InspectorController::hasFrontend):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
* inspector/InspectorDOMAgent.h:
(WebCore::InspectorDOMAgent::create):
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::bind):
* inspector/InspectorDOMStorageResource.h:
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDatabaseResource.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::create):
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::failedToParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::didContinue):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::addProfile):
(WebCore::InspectorProfilerAgent::disable):
(WebCore::InspectorProfilerAgent::enable):
(WebCore::InspectorProfilerAgent::resetState):
(WebCore::InspectorProfilerAgent::toggleRecordButton):
* inspector/InspectorProfilerAgent.h:
(WebCore::InspectorProfilerAgent::setFrontend):
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::releaseScriptObject):
* inspector/InspectorResource.h:
* inspector/InspectorStorageAgent.cpp:
(WebCore::InspectorStorageAgent::InspectorStorageAgent):
* inspector/InspectorStorageAgent.h:
(WebCore::InspectorStorageAgent::create):
(WebCore::InspectorStorageAgent::frontend):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
* inspector/InspectorTimelineAgent.h:
2010-08-24 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Markers don't render, when applied to a target using vector-effect="non-scaling-stroke"
https://bugs.webkit.org/show_bug.cgi?id=44511
Make fillAndStrokePath a member function of RenderPath, to avoid having to pass the const Path& and this paramters.
Don't leave the GraphicsContext mutated after applying non-scaling-stroke transformation, otherwhise markers will be renderer
in the wrong coordinate space, and thus don't show up anymore.
Test: svg/custom/non-scaling-stroke-markers.svg
* rendering/RenderPath.cpp:
(WebCore::RenderPath::fillAndStrokePath):
(WebCore::RenderPath::paint):
* rendering/RenderPath.h:
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
Remove wrong code from Qt that's dumping extra markup into the clipboard
https://bugs.webkit.org/show_bug.cgi?id=44506
I have no way of testing this patch, but hopefully it should fix a
bunch of newly failing tests. This code seems very confused.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeSelection):
2010-08-24 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: fix gcc warnings introduced in 65731
https://bugs.webkit.org/show_bug.cgi?id=44468
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::pauseOnBreakpoint):
2010-08-24 Ariya Hidayat <ariya@sencha.com>
Reviewed by Simon Hausmann.
[Qt] Blur shadow for rectangle fill
https://bugs.webkit.org/show_bug.cgi?id=44488
Refactor fillRect() function to support blur radius in the shadow.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRect):
2010-08-24 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze
clip-path does not work inside mask element
https://bugs.webkit.org/show_bug.cgi?id=41428
Add new tests covering nesting of clippers and maskers, with different unitTypes for the content coordinate system.
Scale all ImageBuffer content to take into account that ImageBuffers use integer based sizes, where the content
is floating-point sized. This compensates rounded errors, when scaling the document.
Tests: svg/clip-path/clip-in-mask-objectBoundingBox.svg
svg/clip-path/clip-in-mask-userSpaceOnUse.svg
svg/clip-path/clip-in-mask.svg
svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg
svg/clip-path/deep-nested-clip-in-mask-panning.svg
svg/clip-path/deep-nested-clip-in-mask.svg
svg/clip-path/nested-clip-in-mask-image-based-clipping.svg
svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg
svg/clip-path/nested-clip-in-mask-path-based-clipping.svg
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyResource): Return the value of applyClippingToContext, instead of always true.
(WebCore::RenderSVGResourceClipper::applyClippingToContext): Moved some code from createClipData, to avoid having to pass 5 arguments to createClipData.
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Renamed from createClipData.
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient): Pass absoluteTargetRect to createImageBuffer.
(WebCore::clipToTextMask): Ditto.
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource): Ditto.
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Pass content transformation to renderSubtreeToImageBuffer, to support nesting objectBoundingBox resources.
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource): Adapt to calculateTransformationToOutermostSVGCoordinateSystem changes. AffineTransform is now passed as reference.
(WebCore::RenderSVGResourcePattern::createTileImage): ImageBuffer content scaling is now handled by createImageBuffer.
* rendering/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem): Renamed. Don't return an AffineTransform copy, but instead pass it as reference.
(WebCore::SVGImageBufferTools::createImageBuffer): Always scale the ImageBuffer content, to compensate rounding effects (code was only present in patterns so far).
Now also needs the 'absoluteTargetRect' parameter, not only 'clampedAbsoluteTargetRect'.
(WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): Moved from SVGRenderSupport.
(WebCore::SVGImageBufferTools::clipToImageBuffer): Pass ImageBuffer as OwnPtr reference, to allow to clear it under certain circumstances (see comment).
(WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): Remove AffineTransform parameter, absoluteTargetRect is calculated before passing into this function.
* rendering/SVGImageBufferTools.h:
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::prepareToRenderSVGContent): Important change, respect the RenderSVGResourceClipper::applyResource() return value!
* rendering/SVGRenderSupport.h:
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::build): renderSubtreeToImage now lives in SVGImageBufferTools, adapt code.
2010-08-24 Andrei Popescu <andreip@dhcp-172-16-14-12.lon.corp.google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IDBTransaction is missing the implementation for objectStore method
https://bugs.webkit.org/show_bug.cgi?id=44446
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::transaction):
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
* storage/IDBTransactionBackendImpl.h:
* storage/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::createTransaction):
* storage/IDBTransactionCoordinator.h:
2010-08-24 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
Disallow setting Document.xmlVersion to unsupported versions
https://bugs.webkit.org/show_bug.cgi?id=44494
Added XMLDocumentParser::supportsXMLVersion() - only returns true for "1.0"
in both implementations.
* dom/Document.cpp:
(WebCore::Document::setXMLVersion): Throw NOT_SUPPORTED_ERR
if XMLDocumentParser::supportsXMLVersion() returns false for the version.
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::supportsXMLVersion):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::supportsXMLVersion):
2010-08-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Simon Hausmann.
[Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
https://bugs.webkit.org/show_bug.cgi?id=31273
On Symbian PREPEND_INCLUDEPATH is the best way to make sure that
WebKit headers are included before platform headers. On all other
platforms continue to use INCLUDEPATH (as before).
This patch also removed the workarounds that are put in place
now that we have a better solution.
No new tests as there is no new functionality.
* WebCore.pro:
2010-08-24 Ariya Hidayat <ariya@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Support text-shadow blur
https://bugs.webkit.org/show_bug.cgi?id=19728
Implement blur for text shadow using the shadow layer in r65782.
* platform/graphics/qt/ContextShadow.cpp:
(WebCore::ContextShadow::beginShadowLayer):
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon):
2010-08-23 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
https://bugs.webkit.org/show_bug.cgi?id=44432
Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html
* dom/Element.cpp:
(WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
and the qualifiedName has a prefix.
2010-08-24 Adam Barth <abarth@webkit.org>
Build fix. leakPtr doesn't exist, contrary to my dreams.
* storage/IDBKeyTree.h:
(WebCore::::put):
* storage/IDBPendingTransactionMonitor.cpp:
(WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
2010-08-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Deploy adoptPtr in WebCore/storage
https://bugs.webkit.org/show_bug.cgi?id=44491
There are still some naked news for a future patch. The next step is
to make create methods.
* storage/Database.cpp:
(WebCore::DatabaseCreationCallbackTask::create):
(WebCore::DerefContextTask::create):
(WebCore::DeliverPendingCallbackTask::create):
* storage/DatabaseSync.cpp:
(WebCore::CloseSyncDatabaseOnContextThreadTask::create):
* storage/DatabaseTask.h:
(WebCore::Database::DatabaseOpenTask::create):
(WebCore::Database::DatabaseCloseTask::create):
(WebCore::Database::DatabaseTransactionTask::create):
(WebCore::Database::DatabaseTableNamesTask::create):
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::DatabaseThread):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::populateOrigins):
(WebCore::DatabaseTracker::addOpenDatabase):
* storage/IDBKeyTree.h:
(WebCore::::put):
* storage/IDBPendingTransactionMonitor.cpp:
(WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
* storage/LocalStorageTask.h:
(WebCore::LocalStorageTask::createImport):
(WebCore::LocalStorageTask::createSync):
(WebCore::LocalStorageTask::createDeleteEmptyDatabase):
(WebCore::LocalStorageTask::createTerminate):
* storage/LocalStorageThread.cpp:
(WebCore::LocalStorageThread::create):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::openTransactionAndPreflight):
* storage/SQLTransactionSync.cpp:
(WebCore::SQLTransactionSync::SQLTransactionSync):
(WebCore::SQLTransactionSync::begin):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::copy):
2010-08-24 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: setAttachedWindow was modified at r65809 but it should be implemented another way.
https://bugs.webkit.org/show_bug.cgi?id=44493
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):
2010-08-23 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Use new HTML5 TreeBuilder for fragment parsing
https://bugs.webkit.org/show_bug.cgi?id=44475
The HTML5 TreeBuilder is ready to be used for all parsing
including fragments! This is the last change to move trunk
off of the LegacyHTMLTreeBuilder. We'll go through and
delete the thousands of lines of code supporting the old
parser in a separate patch.
This is covered by many layout tests.
* html/HTMLTreeBuilder.cpp:
2010-08-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLScriptRunner::create
https://bugs.webkit.org/show_bug.cgi?id=44474
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
* html/HTMLScriptRunner.h:
(WebCore::HTMLScriptRunner::create):
2010-08-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLTreeBuilder should use adoptPtr
https://bugs.webkit.org/show_bug.cgi?id=44473
We should really use this pattern everywhere.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::create):
2010-08-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
Set the ResourceResponse HTTP headers in RessourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=44444
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::queryHTTPHeader):
(WebCore::ResourceHandle::onRequestComplete):
2010-08-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
Support all available biBitCount values in BitmapInfo
https://bugs.webkit.org/show_bug.cgi?id=43724
Add an enum with all possible values for biBitCount.
Also remove explicit initialization of bmiHeader members,
because that is already done in the constructor.
* platform/win/BitmapInfo.cpp: Added property svn:eol-style.
(WebCore::bitmapInfoForSize):
(WebCore::BitmapInfo::create):
(WebCore::BitmapInfo::createBottomUp):
* platform/win/BitmapInfo.h: Added property svn:eol-style.
(WebCore::BitmapInfo::):
(WebCore::BitmapInfo::bytesPerLine):
(WebCore::BitmapInfo::paddedBytesPerLine):
(WebCore::BitmapInfo::paddedWidth):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::paint):
2010-08-23 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix for r65852.
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::InputFieldSpeechButtonElement::create):
* rendering/TextControlInnerElements.h:
2010-08-23 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
MarkupAccumulator::appendStartMarkup should be broken down into pieces
https://bugs.webkit.org/show_bug.cgi?id=44288
Extracted appendText, appendComment, appendProcessingInstruction, appendElement and appendCDATASection.
Also simplified the conditionals in appendText.
No new tests are added since this is a cleanup.
* editing/markup.cpp:
(WebCore::MarkupAccumulator::appendText):
(WebCore::MarkupAccumulator::appendComment):
(WebCore::MarkupAccumulator::appendProcessingInstruction):
(WebCore::MarkupAccumulator::appendElement):
(WebCore::MarkupAccumulator::appendCDATASection):
(WebCore::MarkupAccumulator::appendStartMarkup):
2010-08-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Alexey Proskuryakov.
TreeWalker is not calling acceptNode function in filter object
https://bugs.webkit.org/show_bug.cgi?id=35296
Fix incorrect shadowing of the 'function' variable, which could result
in badness when asking for arguments.callee.
* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode):
2010-08-23 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
Changed type of Node::parentNode to ContainerNode so we don't have to cast,
since parent are all containers.
* css/CSSStyleSelector.h: Changed m_parentNode to ContainerNode*.
* dom/Document.h: Fixed the type of TreeShared in the Node constructor.
Yes, it's here.
* dom/Node.cpp:
(WebCore::Node::eventParentNode): Removed now-unneeded typecast dance.
(WebCore::eventTargetAsSVGElementInstance):Changed type to ContainerNode*.
* dom/Node.h: Made Node inherit from TreeShared<ContainerNode> instead of
from TreeShared<Node>. Removed bogus comment. Changed return type of parentNode
and shadowParentNode functions to ContainerNode*. Fixed using to use
TreeShared<ContainerNode>.
* dom/Position.h: Include ContainerNode.h instead of Node.h.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::findFosterSite): Removed now-unneeded typecast.
* rendering/MediaControlElements.h:
* rendering/SVGShadowTreeElements.h:
* rendering/TextControlInnerElements.h:
Changed return type of shadowParentNode functions to ContainerNode.
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::updatePartsState): Cast the node to HTMLElement* before
passing it to the function that creates the shadow element. We know the node is
a HTMLMeterElement, but the node function doesn't know that.
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::updatePartsState): Ditto.
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::SliderThumbElement): More of the same.
(WebCore::SliderThumbElement::create): Ditto.
(WebCore::RenderSlider::updateFromElement): Ditto.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::createSubtreeIfNeeded): Ditto.
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Ditto.
* rendering/SVGShadowTreeElements.cpp:
(WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Ditto.
(WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto.
* rendering/ShadowElement.cpp:
(WebCore::ShadowBlockElement::create): Ditto.
(WebCore::ShadowBlockElement::ShadowBlockElement): Ditto.
(WebCore::ShadowBlockElement::createForPart): Ditto.
(WebCore::ShadowInputElement::create): Ditto.
(WebCore::ShadowInputElement::ShadowInputElement): Ditto.
* rendering/ShadowElement.h:
(WebCore::ShadowElement::ShadowElement): Ditto.
(WebCore::ShadowElement::shadowParent): Ditto.
(WebCore::ShadowElement::shadowParentNode): Ditto.
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::TextControlInnerElement): Ditto.
(WebCore::TextControlInnerElement::create): Ditto.
(WebCore::TextControlInnerTextElement::TextControlInnerTextElement): Ditto.
(WebCore::TextControlInnerTextElement::create): Ditto.
(WebCore::SpinButtonElement::SpinButtonElement): Ditto.
(WebCore::SpinButtonElement::create): Ditto.
* svg/SVGElement.cpp:
(WebCore::SVGElement::eventParentNode): Removed now-unneeded typecast.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::title): Changed type to ContainerNode*.
2010-08-23 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] The Mozilla theme drawing code incorrectly renders scrollbar backgrounds
https://bugs.webkit.org/show_bug.cgi?id=44388
No new tests as this functionality is currently unused. When the
the new scrollbar theme code lands for GTK+, this will be tested
by scrollbar pixel tests.
* platform/gtk/gtk2drawing.c: Expose a method to paint scrolled window
backgrounds and disable incorrect rendering of scrollbar trough backgrounds.
(moz_gtk_scrolled_window_paint): Added.
(moz_gtk_scrollbar_trough_paint): Disable incorrect background render.
* platform/gtk/gtkdrawing.h: Add scrolled window widget type in the enum.
2010-08-23 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] The Mozilla theme drawing API should expose extra information about scrollbar geometry
https://bugs.webkit.org/show_bug.cgi?id=44385
Expose the trough_under_steppers property in MozGtkScrollbarMetrics.
No new tests as this does not change functionality.
* platform/gtk/gtk2drawing.c: Set the trough_under_steppers member when accessing theme data.
* platform/gtk/gtkdrawing.h: Add the trough_under_steppers member.
2010-08-23 Darin Adler <darin@apple.com>
Reviewed by Geoff Garen.
Parser DOM tree manipulation functions do not need to be virtual.
* dom/ContainerNode.h: Made parserAddChild, parserRemoveChild, and
parserInsertBefore non-virtual.
* dom/Node.cpp: Removed the parserAddChild, parserRemoveChild, and
parserInsertBefore functions, which should never have been in the Node class.
* dom/Node.h: Ditto.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach): Changed argument type to ContainerNode*
because we never need to attach a child to a non-container node.
(WebCore::HTMLConstructionSite::findFosterSite): Cast the result of the parent
function to ContainerNode*. A parent is always guaranteed to be a container, but
the parent function returns a Node* so that callers can use it without including
ContainerNode's header. That seems like something we can easily fix later.
* html/HTMLConstructionSite.h: Changed AttachmentSite::parent and the
attach function to ContainerNode* instead of Node*.
2010-08-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
editing/pasteboard/bad-placeholder.html fails with --html5-treebuilder
https://bugs.webkit.org/show_bug.cgi?id=44463
The problem here is that using the documentElement as the context puts
the tree builder into the BeforeHead insertion mode, which strips
leading spaces. This code is confused about what it wants, but it
certainly doesn't want to be in that insertion mode. Looking through
the callers, they'd much rather be in the InBody insertion mode. We
can get them there by creating a fake body element as the context
element.
In the long term, all this code needs to be changed to move away from
deprecatedCreateContextualFragment, which does a bunch of nasty stuff
like removing certain kinds of elements. However, that's a battle for
another day.
* editing/markup.cpp:
(WebCore::createFragmentFromMarkup):
2010-08-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
fast/xsl/default-html.html fails with HTML5 fragment parsing
https://bugs.webkit.org/show_bug.cgi?id=44450
This patch is a step down a trail of tears. As far as I can tell,
there's no spec for XSLTProcessor.transformToFragment. This patch
attempts to infer the proper behavior from test cases and the Mozilla
wiki.
* xml/XSLTProcessor.cpp:
(WebCore::createFragmentFromSource):
2010-08-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
editing/pasteboard/paste-visible-script.html is broken with --html5-treebuilder
https://bugs.webkit.org/show_bug.cgi?id=44457
Turns out there are two more checks we need for fragment scripting
permission. Not the most beautiful design, but it seems work.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertScriptElement):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
2010-08-23 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
fast/dom/script-innerHTML-x.xhtml fails when run with the HTML5 TreeBuilder in fragment mode
https://bugs.webkit.org/show_bug.cgi?id=44447
This special handling for script/style used to exist in
setInnerHTML. HTML5 moves this logic into the HTML and XML
parsers instead of in setInnerHTML.
In order to share this logic between WebKit's two XML parsers
I had to clean up a bit of the libxml2 parser and add a
new appendFragmentSource method.
Covered by fast/dom/script-innerHTML-x.xhtml.
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::end):
- Now that libxml2 is calling finish() for fragments (Qt already was)
I went through and removed this unneeded style update after fragment parsing.
(WebCore::XMLDocumentParser::parseDocumentFragment):
- Yay for shared code!
- This is where I added the style/script hack moved from setInnerHTML.
* dom/XMLDocumentParser.h:
- Fix indent.
* dom/XMLDocumentParserLibxml2.cpp:
- Removed parseDocumentFragment and moved necessary libxml-specific
logic into appendFragmentSource.
(WebCore::XMLDocumentParser::appendFragmentSource):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::appendFragmentSource):
2010-08-23 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Remove references to ArrayBuffer and ArrayBufferView from GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=44455
Updated Safari, Qt and Chromium WebGL ports to avoid referencing
ArrayBuffer and ArrayBufferView types from GraphicsContext3D.
Ran all WebGL layout tests; no new regressions. Built and tested
WebKit on Mac OS X; built Chromium on Mac OS X and Linux.
* html/canvas/WebGLBuffer.cpp:
* html/canvas/WebGLBuffer.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::simulateVertexAttrib0):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::extractTextureData):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::getQuadVertices):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
2010-08-20 Stephen White <senorblanco@chromium.org>
Reviewed by Kenneth Russell.
[CHROMIUM] Fix some failing layout tests w/ACCELERATED_2D_CANVAS
https://bugs.webkit.org/show_bug.cgi?id=44346
LayoutTests/fast/canvas/canvas-incremental-repaint.html (top middle
pane).
Failing because we were not applying the CTM in clearRect(). Now using
the fast path when the CTM is identity, and a fillRect() for the rest.
LayoutTests/fast/canvas/canvas-strokeRect.html
LayoutTests/fast/canvas/shadow-offset-[1-7].html
Failing because we weren't switching to the software path when a
shadow is present.
Also refactor the two versions of fillRect(), and use TRIANGLE_STRIP
strip instead of TRIANGLES, which lets us get rid of the element array
and use drawArrays() instead of drawElements().
Covered by the above layout tests.
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::GLES2Canvas):
(WebCore::GLES2Canvas::~GLES2Canvas):
Remove m_quadIndices (now unused).
(WebCore::GLES2Canvas::clearRect):
Use a glClear() fast path for the identity-CTM clear, and fillRect()
for the rest.
(WebCore::GLES2Canvas::fillRect):
Refactor the two versions of fillRect().
(WebCore::GLES2Canvas::drawTexturedRect):
(WebCore::GLES2Canvas::drawTexturedRectTile):
Get rid of the ELEMENT_ARRAY_BUFFER bind. Use drawArrays() instead of
drawElements().
(WebCore::GLES2Canvas::getQuadVertices):
Re-order the vertices so they form a triangle strip.
* platform/graphics/chromium/GLES2Canvas.h:
Remove m_quadIndices (now unused).
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::fillRect):
Check for a draw looper (shadow), and drop to the software path.
2010-08-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
Move filehandling into fileLoadTimer callback
https://bugs.webkit.org/show_bug.cgi?id=43714
Also add mimetype detection for local files.
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::fileLoadTimer):
2010-08-23 Iain Merrick <husky@google.com>
Reviewed by Steve Block.
Update JNI bridge for V8 after renaming of JavaString::utf8().
https://bugs.webkit.org/show_bug.cgi?id=44419
This fixes the build on Android. No new functionality, so no new tests.
* bridge/jni/v8/JNIBridgeV8.cpp:
(JavaField::JavaField):
* bridge/jni/v8/JNIBridgeV8.h:
(JSC::Bindings::JavaField::type):
* bridge/jni/v8/JavaClassV8.cpp:
(JavaClass::JavaClass):
* bridge/jni/v8/JavaNPObjectV8.cpp:
(JSC::Bindings::JavaNPObjectGetProperty):
* bridge/jni/v8/JavaStringV8.h:
(JSC::Bindings::JavaStringImpl::utf8):
2010-08-23 Mihai Parparita <mihaip@chromium.org>
Reviewed by David Hyatt.
Assertion failure in FrameView::layout when modifying the DOM during
pagehide with PageCache enabled
https://bugs.webkit.org/show_bug.cgi?id=43152
Always unschedule any pending relayouts when changing the view, not just
when we're not using the page cache. Otherwise touching the DOM during
the pagehide handler can lead to layouts that will be done by the time
the view has changed, which triggers an assert.
Test: fast/loader/unschedule-relayout-after-unload.html
* page/Frame.cpp:
(WebCore::Frame::setView): move unscheduleRelayout outside page cache
check.
* page/FrameView.cpp:
(WebCore::FrameView::layout): remove early return now that assert
should be correct (and the referenced rdar:// got fixed).
2010-08-23 Abhishek Arya <inferno@chromium.org>
Reviewed by Dimitri Glazkov.
Fix security origin calculation in createPattern. Need to use
cachedImage->response().url() instead of cachedImage->url().
https://bugs.webkit.org/show_bug.cgi?id=44399.
Test: http/tests/security/canvas-remote-read-remote-image-redirect.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createPattern):
2010-08-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Alexey Proskuryakov.
TreeWalker is not calling acceptNode function in filter object
https://bugs.webkit.org/show_bug.cgi?id=35296
We only accepted raw functions as the NodeFilter on TreeWalker. Fix this to
look for an 'acceptNode' function on the filter object, and use that if present.
Also throw an exception if the filter object does not have an acceptNode function.
Test: fast/dom/TreeWalker/acceptNode-filter.html
* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode):
2010-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65814.
http://trac.webkit.org/changeset/65814
https://bugs.webkit.org/show_bug.cgi?id=44443
broke svg/custom/missing-xlink.svg (Requested by kling on
#webkit).
* dom/Element.cpp:
(WebCore::Element::setAttributeNS):
2010-08-23 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
Handle blob resource.
https://bugs.webkit.org/show_bug.cgi?id=43941
To provide lower level blob reosurce handling for all possible ports,
BlobResourceHandle derived from ResourceHandle is implemented. It provides
both synchronous and asynchronous resource loading for blob URL.
BlobResourceHandle needs to create a FileStreamProxy instance in order to
asynchronous file stream operation. To achive this, a hook createAsyncFileStream
is added to ResourceHandleClient interface. When ResourceLoader implements
ths hook, it creates and returns FileStreamProxy.
BlobResourceHandle.* is not added to chromium port since it will implement
its own blob resource handling.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::createAsyncFileStream): Create and return FileStreamProxy.
* loader/ResourceLoader.h:
* page/SecurityOrigin.cpp: Add the support to get and validate the origin of blob URL.
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::canLoad):
* platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::appendStorageItems): Fix a bug that the length is not subtracted.
* platform/network/BlobResourceHandle.cpp: Added.
* platform/network/BlobResourceHandle.h: Added.
* platform/network/HTTPParsers.cpp:
(WebCore::parseRange):
* platform/network/HTTPParsers.h:
* platform/network/ResourceHandle.cpp: Hook up with asynchronous blob resource handling.
(WebCore::ResourceHandle::create):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::createAsyncFileStream): Add a hook.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::loadResourceSynchronously): Hook up with synchronous blob resource handling.
2010-08-23 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Remove unneeded BlobRegistryImpl.* and WebBlobRegistryImpl.* from
chromium project files.
https://bugs.webkit.org/show_bug.cgi?id=44442
* WebCore.gypi:
2010-08-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Many LayoutTests crash when run with --html5-treebuilder
https://bugs.webkit.org/show_bug.cgi?id=44440
Our list of special tags is out of sync with the HTML5 spec. This
patch adds HTML to the list, which fixs a ton of crashers when parsing
fragments. We neet to sync up the list at some point, but we want to
make sure we have test coverage for all those changes, so I've left
that for a future patch.
* html/HTMLTreeBuilder.cpp:
2010-08-23 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Context menu in Scripts panel was broken.
https://bugs.webkit.org/show_bug.cgi?id=44431
* inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::contextMenuItemSelected):
(WebCore::FrontendMenuProvider::contextMenuCleared):
2010-08-23 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
https://bugs.webkit.org/show_bug.cgi?id=44432
Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html
* dom/Element.cpp:
(WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
and the qualifiedName has a prefix.
2010-08-23 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Antonio Gomes.
[EFL] rendering was broken when missing plugin.
https://bugs.webkit.org/show_bug.cgi?id=43395
Implement RenderThemeEfl::systemFont to render "Missing plugin" when we
don't have proper plugin.
In this case, RenderEmbeddedObject::paintReplaced call systemFont and
pass returned font to GraphicsContext.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::setDefaultFontSize):
(WebCore::RenderThemeEfl::systemFont):
* platform/efl/RenderThemeEfl.h:
2010-08-23 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove javascript breakpoint specific code from BreakpointSidebarPane
https://bugs.webkit.org/show_bug.cgi?id=44327
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.setBreakpoint):
(WebInspector.BreakpointManager.prototype.restoredBreakpoint):
(WebInspector.BreakpointManager.prototype._setBreakpoint):
(WebInspector.BreakpointManager.prototype._removeBreakpoint):
(WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
(WebInspector.Breakpoint):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane):
(WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
(WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
(WebInspector.JSBreakpointItem):
(WebInspector.JSBreakpointItem.prototype.compareTo):
(WebInspector.JSBreakpointItem.prototype.element):
(WebInspector.JSBreakpointItem.prototype._breakpointClicked):
(WebInspector.JSBreakpointItem.prototype._checkboxClicked):
(WebInspector.JSBreakpointItem.prototype._enableChanged):
(WebInspector.JSBreakpointItem.prototype._textChanged):
(WebInspector.JSBreakpointItem.prototype._removed):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype._breakpointRemoved):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.addBreakpoint):
(WebInspector.SourceFrame.prototype._addBreakpointToSource):
2010-08-23 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: inspector protocol should be switched from array based
message format to object based message format.
Almost all the protocol related things is generated by CodeGeneratorInspector.pm
It was changed a bit. As result InspectorBackendStub.js wraps the
calls into Request objects. InspectorBackendDispatcher.cpp unwraps
these objects and calls corresponding agents. These two files and
RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
Dispatching part of WebInspector also was adjusted for handling Event
objects produced by RemoteInspectorFrontend.cpp and Response objects
produced by InspectorBackendDispatcher.cpp
https://bugs.webkit.org/show_bug.cgi?id=44338
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setAttachedWindow):
* inspector/InspectorController.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):
* inspector/InspectorValues.h:
(WebCore::InspectorObject::find):
* inspector/front-end/Callback.js:
(WebInspector.Callback.prototype.processResponse):
* inspector/front-end/inspector.js:
(WebInspector.dispatch):
(WebInspector_syncDispatch):
(WebInspector.dispatchMessageFromBackend):
(WebInspector.reportProtocolError):
2010-08-19 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Remove IDBDatabase.description per spec changes
https://bugs.webkit.org/show_bug.cgi?id=44264
There's now no longer any way to access the description from JS.
The main premise of the manual test is now obsolete. Over time we'll
be able to add to it again. While I'm at it, I cleaned up the format
of the manual test to be easier to follow (code and usage wise).
* manual-tests/indexed-database.html:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::IDBDatabase):
* storage/IDBDatabase.h:
* storage/IDBDatabase.idl:
2010-08-23 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: element's css: pseudo-class locations
https://bugs.webkit.org/show_bug.cgi?id=44344
Also contains a drive-by fix for 44301 (gray out read-only).
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
(WebInspector.StylesSidebarPane.prototype.update):
(WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
(WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
(WebInspector.StylePropertiesSection):
2010-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65803.
http://trac.webkit.org/changeset/65803
https://bugs.webkit.org/show_bug.cgi?id=44416
windows build failed (Requested by loislo on #webkit).
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):
* inspector/InspectorValues.h:
* inspector/front-end/Callback.js:
(WebInspector.Callback.prototype.processResponse):
* inspector/front-end/inspector.js:
(WebInspector.dispatch.delayDispatch):
(WebInspector.dispatch):
(WebInspector_syncDispatch):
(WebInspector.dispatchMessageFromBackend):
(WebInspector.reportProtocolError):
2010-08-23 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: inspector protocol should be switched from array based
message format to object based message format.
Almost all the protocol related things is generated by CodeGeneratorInspector.pm
It was changed a bit. As result InspectorBackendStub.js wraps the
calls into Request objects. InspectorBackendDispatcher.cpp unwraps
these objects and calls corresponding agents. These two files and
RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
Dispatching part of WebInspector also was adjusted for handling Event
objects produced by RemoteInspectorFrontend.cpp and Response objects
produced by InspectorBackendDispatcher.cpp
https://bugs.webkit.org/show_bug.cgi?id=44338
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setAttachedWindow):
* inspector/InspectorController.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):
* inspector/InspectorValues.h:
(WebCore::InspectorObject::find):
* inspector/front-end/Callback.js:
(WebInspector.Callback.prototype.processResponse):
* inspector/front-end/inspector.js:
(WebInspector.dispatch):
(WebInspector_syncDispatch):
(WebInspector.dispatchMessageFromBackend):
(WebInspector.reportProtocolError):
2010-08-23 Alejandro G. Castro <alex@igalia.com>
Reviewed by Xan Lopez.
Make the copy of the inspector files silent.
* GNUmakefile.am:
2010-08-23 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] -webkit-text-stroke is broken due to Qt::TextBypassShaping
https://bugs.webkit.org/show_bug.cgi?id=44403
Don't bypass the Harfbuzz shaping if we're drawing text with a stroke.
For canvas, always use complex text shaping since stroke and fill are decoupled.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon):
2010-08-23 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
Extract profiler-related code and data from InspectorController into
InspectorProfilerAgent.
https://bugs.webkit.org/show_bug.cgi?id=44174
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
* bindings/js/ScriptProfiler.h:
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
* bindings/v8/ScriptProfiler.h:
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::addProfile):
(WebCore::InspectorController::addProfileFinishedMessageToConsole):
(WebCore::InspectorController::addStartProfilingMessageToConsole):
(WebCore::InspectorController::isRecordingUserInitiatedProfile):
(WebCore::InspectorController::getCurrentUserInitiatedProfileName):
(WebCore::InspectorController::startUserInitiatedProfiling):
(WebCore::InspectorController::stopUserInitiatedProfiling):
(WebCore::InspectorController::profilerEnabled):
(WebCore::InspectorController::enableProfiler):
(WebCore::InspectorController::disableProfiler):
* inspector/InspectorController.h:
(WebCore::InspectorController::profilerAgent):
* inspector/InspectorProfilerAgent.cpp: Added.
(WebCore::InspectorProfilerAgent::create):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::addProfile):
(WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
(WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
(WebCore::InspectorProfilerAgent::createProfileHeader):
(WebCore::InspectorProfilerAgent::disable):
(WebCore::InspectorProfilerAgent::enable):
(WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::getProfile):
(WebCore::InspectorProfilerAgent::removeProfile):
(WebCore::InspectorProfilerAgent::resetState):
(WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
(WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
(WebCore::InspectorProfilerAgent::toggleRecordButton):
* inspector/InspectorProfilerAgent.h: Added.
(WebCore::InspectorProfilerAgent::clearProfiles):
(WebCore::InspectorProfilerAgent::enabled):
(WebCore::InspectorProfilerAgent::isRecordingUserInitiatedProfile):
(WebCore::InspectorProfilerAgent::setRemoteFrontend):
(WebCore::InspectorProfilerAgent::startProfiling):
(WebCore::InspectorProfilerAgent::stopProfiling):
2010-08-23 Ariya Hidayat <ariya@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Crash when purging the scratch buffer for the shadow
https://bugs.webkit.org/show_bug.cgi?id=44384
WebCore::Timer can't be used in a static object bcause it relies on
thread global data, which is invalid once the application instance is
destroyed. To overcome the problem, use QObject's timer support for
the ShadowBuffer class.
* platform/graphics/qt/ContextShadow.cpp:
(WebCore::):
(WebCore::ShadowBuffer::ShadowBuffer):
(WebCore::ShadowBuffer::schedulePurge):
(WebCore::ShadowBuffer::timerEvent):
2010-08-23 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GStreamer] don't expose the private player in GStreamerGWorld
https://bugs.webkit.org/show_bug.cgi?id=44332
Only a pointer to our playbin2 element instance is required
instead of the whole MediaPlayerPrivateGStreamer instance.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::createGWorld):
(WebCore::GStreamerGWorld::GStreamerGWorld):
(WebCore::GStreamerGWorld::~GStreamerGWorld):
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
* platform/graphics/gstreamer/GStreamerGWorld.h:
(WebCore::GStreamerGWorld::pipeline):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2010-08-22 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] GraphicsContext: Simplify getting the clip bounding rect
https://bugs.webkit.org/show_bug.cgi?id=44396
Move the Qt 4.8 version check for QPainter::clipBoundingRect()
into a GraphicsContextPlatformPrivate method.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipOutEllipseInRect):
2010-08-22 Juha Savolainen <juha.savolainen@weego.fi>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Add QTouchEvents support for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=44330
This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
is created for touchevents, WebTouchEvent. Also touchpoints needed a new
class, WebPlatformTouchPoint. This is similar solution like in other
events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h
Also there was a need to create an empty constructor to PlatformTouchPoint-class.
* platform/PlatformTouchPoint.h:
(WebCore::PlatformTouchPoint::PlatformTouchPoint):
2010-08-22 Daniel Bates <dbates@rim.com>
Reviewed by Eric Seidel.
Encapsulate document marker management into DocumentMarkerController
https://bugs.webkit.org/show_bug.cgi?id=44383
Moves the document marker management code in Document.cpp into its own
class called DocumentMarkerController.
No functionality was changed, so no new tests.
* Android.mk: Added DocumentMarkerController.cpp
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
* WebCore.exp.in: Substituted symbols __ZN7WebCore24DocumentMarkerController13removeMarkersENS_14DocumentMarker10MarkerTypeE
and __ZN7WebCore24DocumentMarkerController23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE for
__ZN7WebCore8Document13removeMarkersENS_14DocumentMarker10MarkerTypeE and
__ZN7WebCore8Document23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE, respectively.
* WebCore.gypi: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/Document.cpp:
(WebCore::Document::removedLastRef): Modified to call DocumentMarkerController::detach().
(WebCore::Document::~Document): Removed "deleteAllValues(m_markers)" as DocumentMarkerController
is stored in OwnPtr; so it will be destroyed automatically on Document destruction.
(WebCore::Document::textInserted): Modified to use marker controller.
(WebCore::Document::textRemoved): Ditto.
* dom/Document.h:
(WebCore::Document::markers): Added.
* dom/DocumentMarkerController.cpp: Added.
(WebCore::placeholderRectForMarker):
(WebCore::DocumentMarkerController::detach):
(WebCore::DocumentMarkerController::addMarker):
(WebCore::DocumentMarkerController::removeMarkers):
(WebCore::DocumentMarkerController::copyMarkers):
(WebCore::DocumentMarkerController::markerContainingPoint):
(WebCore::DocumentMarkerController::markersForNode):
(WebCore::DocumentMarkerController::renderedRectsForMarkers):
(WebCore::DocumentMarkerController::repaintMarkers):
(WebCore::DocumentMarkerController::setRenderedRectForMarker):
(WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
(WebCore::DocumentMarkerController::shiftMarkers):
(WebCore::DocumentMarkerController::setMarkersActive):
* dom/DocumentMarkerController.h: Added.
(WebCore::DocumentMarkerController::~DocumentMarkerController):
* editing/Editor.cpp:
(WebCore::Editor::ignoreSpelling): Modified to use marker controller.
(WebCore::findFirstMisspellingInRange): Ditto.
(WebCore::findFirstGrammarDetailInRange): Ditto.
(WebCore::Editor::advanceToNextMisspelling): Ditto.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
(WebCore::Editor::changeBackToReplacedString): Ditto.
* editing/SplitTextNodeCommand.cpp:
(WebCore::SplitTextNodeCommand::doApply): Ditto.
(WebCore::SplitTextNodeCommand::doUnapply): Ditto.
* page/Frame.cpp:
(WebCore::Frame::markAllMatchesForText): Ditto.
(WebCore::Frame::setMarkedTextMatchesAreHighlighted): Ditto.
(WebCore::Frame::respondToChangedSelection): Ditto.
* page/FrameView.cpp:
(WebCore::FrameView::getTickmarks): Ditto.
(WebCore::FrameView::paintContents): Ditto.
* page/Page.cpp:
(WebCore::Page::unmarkAllTextMatches): Ditto.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::spellingToolTip): Ditto.
(WebCore::HitTestResult::replacedString): Ditto.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
(WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
(WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
(WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Ditto.
2010-08-22 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
Add the blob URL member to FormData.
https://bugs.webkit.org/show_bug.cgi?id=44387
This is in preparation to switch blob implementation to using BlobData
model. When a blob is added to a FormData, it is represented as a blob
URL in the list.
* platform/network/FormData.cpp:
(WebCore::FormData::appendBlob):
* platform/network/FormData.h:
(WebCore::FormDataElement::FormDataElement):
(WebCore::FormDataElement::):
(WebCore::operator==):
2010-08-22 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 TreeBuilder builds wrong DOM for <a><svg><tr><input></a>
https://bugs.webkit.org/show_bug.cgi?id=44390
The HTML5 spec has changed since Adam and I original wrote
the HTMLTreeBuilder. Most important for this change was resolution of:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=9580
I also removed our "phrasing" tag support since that was also removed
from the spec as part of other bug fixes.
This is tested by tonyg's <a><svg><tr><input></a> test in adoption01.dat.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
(WebCore::HTMLTreeBuilder::processEndTag):
2010-08-22 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] TransparencyLayer: Always use anti-aliasing and smooth pixmap transform
https://bugs.webkit.org/show_bug.cgi?id=44394
* platform/graphics/qt/TransparencyLayer.h:
(WebCore::TransparencyLayer::TransparencyLayer): Set the Antialiasing
and SmoothPixmapTransforms render hints for all TransparencyLayers.
2010-08-22 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Gradient: Support inner radius larger than outer radius
https://bugs.webkit.org/show_bug.cgi?id=44392
* platform/graphics/qt/GradientQt.cpp:
(WebCore::Gradient::platformGradient): Reverse the (radial) gradient if r0 > r1.
2010-08-22 Ariya Hidayat <ariya@sencha.com>
Reviewed by Dirk Schulze.
[Qt] Layer approach to support generic shadow handling
https://bugs.webkit.org/show_bug.cgi?id=44380
The pair beginShadowLayer and endShadowLayer creates a temporary image
where the caller can draw onto, using the returned QPainter. When
endShadowLayer is called, the temporary image will be filtered, using
the specified shadow color and blur radius, and drawn to the graphics
context.
* platform/graphics/GraphicsContext.h:
* platform/graphics/qt/ContextShadow.cpp:
(WebCore::ContextShadow::beginShadowLayer):
(WebCore::ContextShadow::endShadowLayer):
* platform/graphics/qt/ContextShadow.h:
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::contextShadow):
2010-08-21 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
Media engine should not be asked to open all urls
https://bugs.webkit.org/show_bug.cgi?id=44370
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load): Do nothing with urls with a type attribute that would be
rejected by canPlayType().
2010-08-21 Ariya Hidayat <ariya@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Faster bounding rect for the shadow clip region
https://bugs.webkit.org/show_bug.cgi?id=44369
Like in r65650, we should use the faster QPainter::clipBoundingRect
when it is available.
* platform/graphics/qt/ContextShadow.cpp:
(WebCore::ContextShadow::drawShadowRect):
2010-08-20 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Ariya Hidayat.
[Qt] When using the raster graphics system on Maemo5, allow
Flash to render directly into the raster window surface.
wmode=transparent is now supported as a result of this change.
https://bugs.webkit.org/show_bug.cgi?id=44043
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::paintUsingImageSurfaceExtension):
2010-08-20 Alexey Proskuryakov <ap@apple.com>
Reviewed by Brady Eidson.
https://bugs.webkit.org/show_bug.cgi?id=38428
HTTP code 500 (and other non-4xx codes) wrongfully treated as success for subresources
Test: http/tests/misc/script-500.html
* loader/loader.cpp: (WebCore::Loader::Host::didReceiveData): Treat all HTTP codes >= 400 as
error ones, since they are.
2010-08-20 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Crash in WebCore::Node::createRendererIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=44129
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore): Factor out core bit to insertBetween.
(WebCore::ContainerNode::insertBetween): Factored out of insertBefore.
(WebCore::ContainerNode::parserInsertBefore): Similar to insertBefore, but doesn't handle reparenting or dispatch DOM mutation events.
(WebCore::ContainerNode::removeChild): Factor out core bit to removeBetween.
(WebCore::ContainerNode::removeBetween): Facotred out of removeChild.
(WebCore::ContainerNode::parserRemoveChild): Similar to removeChild, but doesn't handle reparenting or dispatch DOM mutation events.
(WebCore::ContainerNode::addChildCommon):
(WebCore::ContainerNode::parserAddChild):
(WebCore::ContainerNode::legacyParserAddChild):
* dom/ContainerNode.h:
* dom/Node.cpp:
(WebCore::Node::parserRemoveChild):
(WebCore::Node::parserInsertBefore):
* dom/Node.h:
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
(WebCore::HTMLConstructionSite::attachAtSite): Use new parserInsertBefore.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
(WebCore::HTMLTreeBuilder::reparentChildren):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Was missing a key bit from the spec about removing the old parent if it exists.
2010-08-20 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed; build fix. Had included wrong version of build file.
2010-08-20 Martin Robinson <mrobinson@igalia.com>
Reviewed by Joseph Pecoraro.
[GTK] Inspector extensions tests fail on GTK+ bots because onSelectionChanged is missing
https://bugs.webkit.org/show_bug.cgi?id=44342
* GNUmakefile.am: Fix dependency tracking for copied web inspector files.
2010-08-20 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Darin Fisher.
Add Callback implementation for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=44349
No new tests; tests will be added later.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* storage/FileSystemCallbacks.cpp: Added.
* storage/FileSystemCallbacks.h: Added.
* storage/EntryCallback.h: Nits fix
* storage/FileSystemCallback.h: Nits fix
2010-08-20 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] WebKit does not compile with --3d-canvas
https://bugs.webkit.org/show_bug.cgi?id=44335
- PlatformGLObject => Platform3DObject
- Implemented getAttachedShaders()
- Implemented bufferData() and bufferSubData() for ArrayBuffer*
- Removed reference to nonexistent variable in getImageData()
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::getAttachedShaders):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
(WebCore::GraphicsContext3D::getImageData):
* platform/graphics/qt/GraphicsLayerQt.h:
2010-08-20 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Kilzer.
#ifdef-out some Leopard-and-earlier code.
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2010-08-20 Kenneth Russell <kbr@google.com>
Unreviewed, speculative Chromium build fix. Forward declare
IntSize in WebGLRenderingContext.h and include IntSize.h in .cpp.
* html/canvas/WebGLRenderingContext.cpp:
* html/canvas/WebGLRenderingContext.h:
2010-08-20 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
Media element canPlayType("application/octet-stream") not handled correctly
https://bugs.webkit.org/show_bug.cgi?id=44343
Test: media/media-can-play-octet-stream.html
* platform/graphics/MediaPlayer.cpp:
(WebCore::applicationOctetStream): New, accessor for static string used more than once.
(WebCore::textPlain): Ditto.
(WebCore::codecs): Ditto.
(WebCore::chooseBestEngineForTypeAndCodecs): Special case "application/octet-stream".
(WebCore::MediaPlayer::load): Use static static string methods.
(WebCore::MediaPlayer::supportsType): Special case "application/octet-stream".
2010-08-20 Adrienne Walker <enne@google.com>
Reviewed by Kenneth Russell.
Implement HTMLVideoElement support for texImage2D and texSubImage2D
https://bugs.webkit.org/show_bug.cgi?id=33852
Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
(WebCore::WebGLRenderingContext::videoFrameToImage):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
(WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
(WebCore::WebGLRenderingContext::LRUImageBufferCache::bubbleToFront):
* html/canvas/WebGLRenderingContext.h:
2010-08-20 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Removing an incorrect ASSERT.
https://bugs.webkit.org/show_bug.cgi?id=44151
A failure in the preflight step of a transaction wrapper does not
guarantee that the transaction is rolled back (and it shouldn't).
Test: storage/change-version-no-crash-on-preflight-failure.html
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::openTransactionAndPreflight):
2010-08-20 David Leong <david.leong@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Update Symbian capabilities to remove AllFiles and DRM
Add CONFIG(production) variation for set of DLL capabilities.
DRM and AllFiles capabilities need to be audited for the sis
package to be signed.
No new tests.
* WebCore.pro: Updated Symbian Capabilities.
2010-08-20 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Do Not Copy Subversion Related Files in Inspector Build Phase
https://bugs.webkit.org/show_bug.cgi?id=44353
* WebCore.xcodeproj/project.pbxproj: remove .svn directories in the "Copy Inspector Resources" build phase.
2010-08-19 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Adam Barth.
style correction in markup.cpp
https://bugs.webkit.org/show_bug.cgi?id=44318
Make markup.cpp pass check-webkit-style.
No new tests are added since this is a cleanup.
* editing/markup.cpp:
(WebCore::MarkupAccumulator::appendAttributeValue):
(WebCore::appendEscapedContent):
(WebCore::MarkupAccumulator::appendStartMarkup):
(WebCore::completeURLs):
(WebCore::isElementPresentational):
(WebCore::isSpecialAncestorBlock):
(WebCore::shouldIncludeWrapperForFullySelectedRoot):
(WebCore::createMarkup):
(WebCore::fillContainerFromString):
(WebCore::createFragmentFromText):
(WebCore::createFragmentFromNodes):
2010-08-20 Tony Chang <tony@chromium.org>
Reviewed by Adam Barth.
crash when trying to access a stale Node pointer in FocusController::setFocusedNode
https://bugs.webkit.org/show_bug.cgi?id=44226
Test: fast/events/focus-change-crash2.html
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedNode): add a ref to prevent the focused node from being deleted
2010-08-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/8245719> backface-visibility and reflections don't play nicely together.
On elements with a reflection and backface-visibility: hidden, set the doubleSided property on the
reflection flattening layer so that backface-visibility works in all configurations.
Test: compositing/reflections/backface-hidden-reflection.html
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::updateBackfaceVisibility): Call setDoubleSided: on the structural
layer for reflections.
(WebCore::GraphicsLayerCA::ensureStructuralLayer): Fix a comment typo, and call updateBackfaceVisibility()
when we gain a structural layer.
2010-08-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Slider labels do not update as you move the sliders on this page
https://bugs.webkit.org/show_bug.cgi?id=41020
When repainting after layout in a multicol element, we need to adjust the
repaint rect for the columns.
Test: fast/repaint/multicol-repaint.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
2010-08-20 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Move FileStreamClient to platform and add AsyncFileStream interface.
https://bugs.webkit.org/show_bug.cgi?id=44224
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/FileStreamProxy.cpp: Account for the change.
(WebCore::FileStreamProxy::FileStreamProxy):
(WebCore::FileStreamProxy::stop):
* html/FileStreamProxy.h: Make it derive from AsyncFileStream.h.
* platform/AsyncFileStream.h: Added.
* platform/FileStreamClient.h: Renamed from WebCore/html/FileStreamClient.h.
2010-08-20 Abhishek Arya <inferno@chromium.org>
Reviewed by Darin Fisher.
Prevent use of stale notification presenter pointer in notifications by instead using
a notification center pointer and deriving the presenter from it. Notification presenter
gets properly destroyed using disconnectFrame function inside notification center. Add
null checks for notification presenter.
https://bugs.webkit.org/show_bug.cgi?id=43645
Test: fast/notifications/notifications-window-close-crash.html
* notifications/Notification.cpp:
(WebCore::Notification::Notification):
(WebCore::Notification::create):
(WebCore::Notification::show):
(WebCore::Notification::cancel):
(WebCore::Notification::contextDestroyed):
(WebCore::Notification::finishLoading):
* notifications/Notification.h:
(WebCore::Notification::detachPresenter):
* notifications/NotificationCenter.h:
(WebCore::NotificationCenter::createHTMLNotification):
(WebCore::NotificationCenter::createNotification):
2010-08-20 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
r64526 broke the GTK+-3 build
https://bugs.webkit.org/show_bug.cgi?id=44254
No new tests, as this is covered by manual-tests/cursor.html.
* platform/gtk/CursorGtk.cpp:
(WebCore::createPixmapFromBits): Added this method which turns the inline data
structures into GdkPixmaps using Cairo and GDK-Cairo.
(WebCore::createNamedCursor): Modified this method to use the new helper.
* platform/gtk/CursorGtk.h: Changed all inline data structures to be unsigned
char arrays (which Cairo requires). The progress cursor is known in X11 icon themes
as "left_ptr_watch." This change to the name preserves the old behavior of taking this
icon from the theme when available. It seems that this worked in the past due to a fluke
or failure of the previous code.
2010-08-20 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
[Cairo] Eliminate full-surface copy from canvas.drawImage(...)
https://bugs.webkit.org/show_bug.cgi?id=44190
Covered by canvas layout tests.
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::drawsUsingCopy): Return false now.
(WebCore::ImageBuffer::clip): Add a link to the bug which tracks this feature.
(WebCore::ImageBuffer::draw): Construct the bitmap image without the full-surface copy.
(WebCore::ImageBuffer::drawPattern): Ditto.
2010-08-20 Alejandro G. Castro <alex@igalia.com>
Reviewed by Xan Lopez.
[REGRESSION] r65608 broke gtk distcheck
https://bugs.webkit.org/show_bug.cgi?id=44333
Define the inspector.html as a noinst_DATA intead of using the dir
suffix, which is used for installation.
* GNUmakefile.am:
2010-08-19 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: implement breaking on DOM node subtree mutations.
https://bugs.webkit.org/show_bug.cgi?id=42886
Add two entries to Web Inspector DOM element context menu:
1. "Stop on subtree modifications": will break on adding/removing of any element which is a child of the DOM element
2. "Remove breakpoints": will remove all breakpoints associated with the DOM element
* English.lproj/localizedStrings.js:
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::breakProgram):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::breakProgram):
(WebCore::ScriptDebugServer::breakProgramCallback):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
* bindings/v8/ScriptDebugServer.h:
* inspector/Inspector.idl:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::~InspectorDOMAgent):
(WebCore::InspectorDOMAgent::discardBindings):
(WebCore::InspectorDOMAgent::setDOMBreakpoint):
(WebCore::InspectorDOMAgent::removeDOMBreakpoint):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::hasBreakpoint):
(WebCore::InspectorDOMAgent::pauseOnBreakpoint):
(WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
* inspector/front-end/Settings.js:
2010-08-20 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: discard InjectedScript reference on ScriptState when clearing injected scripts
https://bugs.webkit.org/show_bug.cgi?id=44328
Otherwise if the reference is not cleared we may remove InjectedScript from the
map on InjectedScriptHost but keep it on ScriptState and try to reuse it later.
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::discardInjectedScript):
* bindings/v8/V8HiddenPropertyName.h:
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::discardInjectedScript):
(WebCore::InjectedScriptHost::injectedScriptFor):
* inspector/InjectedScript.h:
(WebCore::InjectedScript::scriptState):
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::discardInjectedScripts):
* inspector/InjectedScriptHost.h:
2010-08-20 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Clippers are rasterized, when applied to scaled target object
https://bugs.webkit.org/show_bug.cgi?id=44325
Use SVGImageBufferTools logic for RenderSVGResourceClipper, just like RenderSVGResourceMasker/Gradient,
to avoid pixelation, when the clipper is applied to a scaled target object, or when the document is scaled.
Test: svg/clip-path/clip-path-pixelation.svg
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
(WebCore::RenderSVGResourceClipper::createClipData):
* rendering/RenderSVGResourceClipper.h:
2010-08-20 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Initialize GDK before loading plugins
https://bugs.webkit.org/show_bug.cgi?id=44324
Attempt to call gdk_init_check() before loading any plugins.
This prevents various crashes and freezes in Adobe's Flash plugin.
* plugins/qt/PluginPackageQt.cpp:
(WebCore::initializeGdkIfPossible):
(WebCore::PluginPackage::load):
2010-08-20 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
Follow-up to r41020.
No change in behavior, thus no new tests.
* platform/graphics/mac/FontPlatformDataMac.mm:
(WebCore::FontPlatformData::FontPlatformData): Asserted that the NSFont parameter is not nil,
and removed nil check.
(WebCore::FontPlatformData::setFont): Asserted that the NSFont parameter is not nil and that
this is not the deleted value, and removed code to handle those cases.
2010-08-19 Vincent Scheib <scheib@chromium.org>
Reviewed by David Levin.
[chromium] TilingData::tilePositionY has typo of X where Y should be used
https://bugs.webkit.org/show_bug.cgi?id=44195
Corrected error, and rewrote functions to use for loop instead of recursion.
Unit Tests added to WebKit/chromium/tests/TilingDataTest.cpp
* platform/graphics/chromium/TilingData.cpp:
(WebCore::TilingData::tilePositionX):
(WebCore::TilingData::tilePositionY):
2010-08-19 Mihai Parparita <mihaip@chromium.org>
Reviewed by Brady Eidson.
Assertion failure when going back inside frame during onload
https://bugs.webkit.org/show_bug.cgi?id=44217
Fix assertion failure when doing a history.back() within the main frame
during onload of a child frame. This would happen when
HISTORY_ALWAYS_ASYNC was set to 0, because we would only compare the
current frame document sequence numbers when determining if we're in the
same document, instead of also recursing over child frames.
Test: fast/history/history-back-within-subframe-hash.html
* history/HistoryItem.cpp:
(WebCore::HistoryItem::hasSameDocuments):
* history/HistoryItem.h:
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::scheduleHistoryNavigation):
2010-08-19 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Antonio Gomes.
[Qt] Fix cursor change propagation
https://bugs.webkit.org/show_bug.cgi?id=44250
No functional change so new tests.
Propagate the setCursor callback to the PageClient via the HostWindow instead of preassuming
the concrete type of the ChromeClient (what was generally wrong and actually incompatible with WebKit2).
* platform/qt/WidgetQt.cpp:
(WebCore::Widget::setCursor):
2010-08-19 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Rearranging the accelerated compositing code such that the
layer rendering logic now lives in the layer classes rather than the
compositor. This lifts the restriction of having one texture per layer
and significantly cleans up the compositor code. This change mostly
resulted in a lot of code moving around files. Noteworthy changes
include:
* Made LayerChromium a proper based class for layers that mostly handles
the updates to the layer properties and superlayer / sublayer updates.
* Introduced a new layer type, ContentLayerChromium, which handles
layers that require a GraphicsContext to render their content.
* ImageLayerChromium and VideoLayerChromium now derive from
ContentLayerChromium as they share the same shader and draw function.
* Removed TransformLayerChromium as its functionality is now replaced by
the base LayerChromium class.
* Re-arranged the order in which the members of LayerChromium are defined
in the header file to form a more reasonable logical grouping.
* Changed LayerRendererChromium to use the shader creation and drawing
methods defined in the layer classes. As a result, a lot of GL code was
removed from the implementation file.
* Eliminated randomly dispersed calls to check for GL errors by a macro (GLC)
which allows turning error testing on/off with a single define (DEBUG_GL_CALLS
defined in LayerRendererChromium.h)
* Replaced the previous layer render loop with two traversals of the layer
hierarchy, the first to update transforms and opacity values and the
second to render the layers. Eliminated global Z sorting of all layers as
it was wrong.
https://bugs.webkit.org/show_bug.cgi?id=44148
Test: Verified that pages using the compositor and compositor
layout tests have not regressed.
* WebCore.gypi:
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::SharedValues::SharedValues):
(WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
(WebCore::CanvasLayerChromium::updateContents):
(WebCore::CanvasLayerChromium::draw):
* platform/graphics/chromium/CanvasLayerChromium.h:
(WebCore::CanvasLayerChromium::SharedValues::canvasShaderProgram):
(WebCore::CanvasLayerChromium::SharedValues::shaderSamplerLocation):
(WebCore::CanvasLayerChromium::SharedValues::shaderMatrixLocation):
(WebCore::CanvasLayerChromium::SharedValues::shaderAlphaLocation):
(WebCore::CanvasLayerChromium::SharedValues::initialized):
* platform/graphics/chromium/ContentLayerChromium.cpp: Added.
(WebCore::ContentLayerChromium::SharedValues::SharedValues):
(WebCore::ContentLayerChromium::SharedValues::~SharedValues):
(WebCore::ContentLayerChromium::create):
(WebCore::ContentLayerChromium::ContentLayerChromium):
(WebCore::ContentLayerChromium::~ContentLayerChromium):
(WebCore::ContentLayerChromium::updateContents):
(WebCore::ContentLayerChromium::updateTextureRect):
(WebCore::ContentLayerChromium::draw):
* platform/graphics/chromium/ContentLayerChromium.h: Added.
(WebCore::ContentLayerChromium::drawsContent):
(WebCore::ContentLayerChromium::SharedValues::contentShaderProgram):
(WebCore::ContentLayerChromium::SharedValues::shaderSamplerLocation):
(WebCore::ContentLayerChromium::SharedValues::shaderMatrixLocation):
(WebCore::ContentLayerChromium::SharedValues::shaderAlphaLocation):
(WebCore::ContentLayerChromium::SharedValues::initialized):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::ImageLayerChromium):
(WebCore::ImageLayerChromium::updateContents):
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::loadShader):
(WebCore::LayerChromium::SharedValues::SharedValues):
(WebCore::LayerChromium::SharedValues::~SharedValues):
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::~LayerChromium):
(WebCore::LayerChromium::createShaderProgram):
(WebCore::LayerChromium::toGLMatrix):
(WebCore::LayerChromium::drawTexturedQuad):
(WebCore::LayerChromium::drawDebugBorder):
(WebCore::LayerChromium::prepareForDraw):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::getSublayers):
(WebCore::LayerChromium::setPosition):
(WebCore::LayerChromium::contentsDirty):
(WebCore::LayerChromium::drawsContent):
(WebCore::LayerChromium::updateContents):
(WebCore::LayerChromium::draw):
(WebCore::LayerChromium::SharedValues::quadVerticesVbo):
(WebCore::LayerChromium::SharedValues::quadElementsVbo):
(WebCore::LayerChromium::SharedValues::maxTextureSize):
(WebCore::LayerChromium::SharedValues::borderShaderProgram):
(WebCore::LayerChromium::SharedValues::borderShaderMatrixLocation):
(WebCore::LayerChromium::SharedValues::borderShaderColorLocation):
(WebCore::LayerChromium::SharedValues::initialized):
(WebCore::LayerChromium::layerRenderer):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::debugGLCall):
(WebCore::LayerRendererChromium::useShader):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::createLayerTexture):
(WebCore::LayerRendererChromium::updateLayersRecursive):
(WebCore::LayerRendererChromium::drawLayersRecursive):
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::checkTextureSize):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::projectionMatrix):
(WebCore::LayerRendererChromium::layerSharedValues):
(WebCore::LayerRendererChromium::contentLayerSharedValues):
(WebCore::LayerRendererChromium::canvasLayerSharedValues):
* platform/graphics/chromium/TransformLayerChromium.cpp: Removed.
* platform/graphics/chromium/TransformLayerChromium.h: Removed.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::updateContents):
(WebCore::VideoLayerChromium::createTextureRect):
* platform/graphics/chromium/VideoLayerChromium.h:
2010-08-19 David Kilzer <ddkilzer@apple.com>
BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
* WebCore.exp.in:
(WebCore::ScrollView::contentsToWindow): Added export.
2010-08-19 David Kilzer <ddkilzer@apple.com>
BUILD FIX #3: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
Still trying to make Qt Linux Release minimal buildbot happy.
* plugins/PluginViewNone.cpp: Compile missing methods for Qt.
2010-08-19 David Kilzer <ddkilzer@apple.com>
BUILD FIX: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
Reviewed by Joseph Pecoraro.
* plugins/PluginView.cpp: Added #if ENABLE(NETSCAPE_PLUGIN_API)
and #endif macros around the source to fix the Qt Linux Release
Minimal build.
2010-08-19 Stephen White <senorblanco@chromium.org>
Reviewed by Kenneth Russell.
[CHROMIUM] Assert w/canvas image draw
https://bugs.webkit.org/show_bug.cgi?id=44279
Don't use bitmap->pixelRef()->getPixels() directly; prefer
bitmap->pixels() and an SkAutoLockPixels. Also, make sure to set
the backing store state to Software when it was None. This handles
missing draws when the first call is software. Finally, remove some
spurious prepareForSoftwareDraw() calls in addPath() and beginPath().
It's really the fillPath() or strokePath() that matters.
Covered by LayoutTests/fast/canvas/arc360.html and others.
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::addPath):
(WebCore::GraphicsContext::beginPath):
Remove spurious prepareForSoftwareDraw() calls.
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawBitmapGLES2):
Lock SkBitmap's pixels, and use ->getPixels().
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::prepareForSoftwareDraw):
Switch backing store state to Software when it was None.
2010-08-19 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
Reviewed by Joseph Pecoraro.
* WebCore.exp.in:
(WebCore::HTMLPlugInElement::getNPObject): Moved from general
section into ENABLE(NETSCAPE_PLUGIN_API) section.
(WebCore::FrameView::windowClipRectForLayer): Moved from
ENABLE(NETSCAPE_PLUGIN_API) section to general section since
it's used by WebKit2.
* plugins/PluginView.h: Added #if ENABLE(NETSCAPE_PLUGIN_API)
and #endif macros as needed to make iOS WebKit build with
NETSCAPE_PLUGIN_API disabled.
* plugins/PluginViewNone.cpp: Ditto.
(WebCore::PluginView::platformGetValueStatic):
2010-08-17 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make DocumentParser safer to use
https://bugs.webkit.org/show_bug.cgi?id=43055
Make DocumentParser and its subclasses RefCounted, and protect
HTMLDocumentParser during parsing. It's possible for a parser to
get deleted if certain actions (e.g., a document.write()) occur
synchronously.
The original version of this patch was written by Nate Chapin.
DocumentParser doesn't actually have to be fully RefCounted, since
the only two things which should ever hold a reference to it are
Document and DocumentParser itself. However using RefCounted and
RefPtr was easier/cleaner than inventing a custom ref() scheme.
This deploys a new "detach()" method throughout the parsing
framework. detach() causes the parser to disconnect from the
document so that no further modifications will be made to the
document while any possible DocumentParser stacks are unwound.
The irony of this patch is that the new detach() system is never
used, since Document always outlives the DocumentParser in all of
our layout tests. There is an ASSERT in ~Document() to verify
that the DocumentParser will not outlive the Document.
However I expect that we will soon either find new test cases, or change
the architecture in such a way that DocumentParser will outlive
Document. At which point, the detach() plumbing will be crucial.
Right now detach() serves as a safe-guard against use-after-free bugs
for any case where DocumentParser does outlive the Document.
This also fixes test cases attached to:
https://bugs.webkit.org/show_bug.cgi?id=42099
Tests: fast/frames/document-write-in-iframe-onload.html
fast/frames/set-parent-src-synchronously.html
fast/parser/document-close-iframe-load.html
fast/parser/document-close-nested-iframe-load.html
fast/parser/iframe-sets-parent-to-javascript-url.html
* dom/Document.cpp:
- Added a new detachParser() call to be used anywhere we
used to call m_parser.clear().
There is an ASSERT in ~DocumentParser which ensures that
we get this right.
(WebCore::Document::removedLastRef):
(WebCore::Document::~Document):
(WebCore::Document::createParser):
(WebCore::Document::detachParser):
(WebCore::Document::cancelParsing):
(WebCore::Document::implicitOpen):
- removed redundant m_parser.clear()
(WebCore::Document::implicitClose):
* dom/Document.h:
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::~DocumentParser):
- ASSERT that callers always call detach() before destruction.
- This ASSERT might prove too cumbersome, but for now it's useful.
(WebCore::DocumentParser::detach):
* dom/DocumentParser.h:
* dom/RawDataDocumentParser.h:
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::finish):
- Add a FIXME explaining part of the reason why
stopParsing() and detach() are separate concepts.
* dom/XMLDocumentParser.h:
(WebCore::XMLDocumentParser::create):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::parseDocumentFragment):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseDocumentFragment):
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::detach):
(WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
* html/HTMLConstructionSite.h:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createParser):
* html/HTMLDocument.h:
* html/HTMLDocumentParser.cpp:
- We need to protect(this) before calling into any code
which might cause the parser to be destroyed.
(WebCore::HTMLDocumentParser::~HTMLDocumentParser):
(WebCore::HTMLDocumentParser::detach):
(WebCore::HTMLDocumentParser::resumeParsingAfterYield):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::notifyFinished):
(WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::HTMLDocumentParser::parseDocumentFragment):
* html/HTMLDocumentParser.h:
(WebCore::HTMLDocumentParser::create):
* html/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::detach):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executeScript):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
(WebCore::HTMLScriptRunner::runScript):
* html/HTMLScriptRunner.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::detach):
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
(WebCore::HTMLTreeBuilder::finished):
* html/HTMLTreeBuilder.h:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createParser):
* html/HTMLViewSourceDocument.h:
* html/HTMLViewSourceParser.cpp:
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
* html/HTMLViewSourceParser.h:
(WebCore::HTMLViewSourceParser::create):
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::create):
(WebCore::FTPDirectoryDocument::createParser):
* loader/FTPDirectoryDocument.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::create):
(WebCore::ImageDocumentParser::ImageDocumentParser):
(WebCore::ImageDocument::createParser):
* loader/ImageDocument.h:
* loader/MediaDocument.cpp:
(WebCore::MediaDocumentParser::create):
(WebCore::MediaDocument::createParser):
* loader/MediaDocument.h:
* loader/PluginDocument.cpp:
(WebCore::PluginDocumentParser::create):
(WebCore::PluginDocument::createParser):
* loader/PluginDocument.h:
* loader/SinkDocument.cpp:
(WebCore::SinkDocumentParser::create):
(WebCore::SinkDocument::createParser):
* loader/SinkDocument.h:
* loader/TextDocument.cpp:
(WebCore::TextDocumentParser::create):
(WebCore::TextDocument::createParser):
(WebCore::createTextDocumentParser):
* loader/TextDocument.h:
2010-08-19 David Kilzer <ddkilzer@apple.com>
Fix compilation of SelectElement.cpp with ARROW_KEYS_POP_MENU == 0
Reviewed by Simon Fraser.
* dom/SelectElement.cpp:
(WebCore::SelectElement::menuListDefaultEventHandler): Added
UNUSED_PARAM() macro for htmlForm argument when
ARROW_KEYS_POP_MENU defined as zero.
2010-08-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Disable XSLT for production configuration
https://bugs.webkit.org/show_bug.cgi?id=37445
Introduce a new CONFIG option to maintain stable configuration for
the QtWebKit port and disable XSLT for the stable configuration
because of bug 37445.
No new tests as there is no new functionality.
* features.pri:
2010-08-18 Zhenyao Mo <zmo@google.com>
Reviewed by Kenneth Russell.
Implement strict type checking in js bindings for WebGL functions
https://bugs.webkit.org/show_bug.cgi?id=44202
Test: fast/canvas/webgl/bad-arguments-test.html
* bindings/js/JSWebGLRenderingContextCustom.cpp: Add type check for wrapper types and DOMString and throw error in case of mismatch.
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
* bindings/scripts/CodeGeneratorJS.pm: Ditto.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Ditto.
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
(WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
(WebCore::V8WebGLRenderingContext::getUniformCallback):
(WebCore::vertexAttribAndUniformHelperf):
(WebCore::uniformHelperi):
(WebCore::uniformMatrixHelper):
* html/canvas/WebGLRenderingContext.idl: Add attribute StrictTypeChecking for WebGL functions.
2010-08-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Clean up some selection code
https://bugs.webkit.org/show_bug.cgi?id=44314
Change the concept of "layout" in SelectionController to "updateCaretRect", renaming
methods accordingly.
Move selection and printing methods in RenderView.h into groups.
No behavioral changes.
* editing/SelectionController.cpp:
(WebCore::SelectionController::SelectionController):
(WebCore::SelectionController::setSelection):
(WebCore::SelectionController::modify):
(WebCore::SelectionController::setCaretRectNeedsUpdate):
(WebCore::SelectionController::updateCaretRect):
(WebCore::SelectionController::localCaretRect):
(WebCore::SelectionController::recomputeCaretRect): Test m_caretRectNeedsUpdate first.
(WebCore::SelectionController::invalidateCaretRect):
* editing/SelectionController.h:
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollToOffset):
* rendering/RenderView.h:
(WebCore::RenderView::selectionStart):
(WebCore::RenderView::selectionEnd):
(WebCore::RenderView::printRect):
(WebCore::RenderView::setPrintRect):
2010-08-19 Simon Fraser <simon.fraser@apple.com>
Fix Chromium build.
* svg/SVGElement.cpp:
(WebCore::SVGElement::attributeChanged):
2010-08-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Nikolas Zimmermann.
HTMLElement::isContentEditable() can cause an updateStyleIfNeeded() to happen in the middle of layout
https://bugs.webkit.org/show_bug.cgi?id=21834
<rdar://problem/8093653&8261394>
If we're in the middle of layout, or painting, and something causes updateStyleIfNeeded() to
get called, then we can end up entering recalcStyle() during layout or painting. This is bad
because it can create/destry the renderers and RenderLayers which are in use by layout/painting.
This is the cause of a number of random crashers, some of which show up more frequently
in content which uses accelerated compositing.
The changes here:
1. Add an assertion in Document::updateStyleIfNeeded() that we are not laying out or painting.
2. Remove calls to updateStyleIfNeeded() in editing and caret painting code
3. Pass along information to CTM and BBox-related SVG methods to indicate whether it's safe
to update style.
Tested by new assertions and existing tests.
* dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded): New assertion that we are not mid-layout or painting.
(WebCore::command): Call updateStyleIfNeeded() to ensure that subsequent calls to isContentEditable()
return the correct result.
* dom/Element.cpp:
(WebCore::Element::focus): Move the supportsFocus() call to after style has been updated.
* editing/SelectionController.cpp:
(WebCore::SelectionController::localCaretRect):
(WebCore::SelectionController::caretRepaintRect):
(WebCore::SelectionController::paintCaret):
* editing/SelectionController.h:
(WebCore::SelectionController::localCaretRectForPainting): When painting, use localCaretRectForPainting()
which does not update style. Make localCaretRect() non-const so allowing it to update style without ugly casts.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::isContentEditable): Don't call updateStyleIfNeeded() here.
(WebCore::HTMLElement::isContentRichlyEditable): Ditto.
(WebCore::HTMLElement::contentEditable): Ditto.
* page/FrameView.h:
(WebCore::FrameView::isMidLayout): New accessor, used for asserting.
* rendering/RenderPath.cpp:
(WebCore::fillAndStrokePath): Pass DisallowStyleUpdate to getScreenCTM since we are painting.
* rendering/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): This is only called when
painting, so use DisallowStyleUpdate.
* svg/SVGElement.cpp:
(WebCore::SVGElement::attributeChanged): Changes to the style attribute should not have
side effects, since a call to Element::getAttribute() is allowed to result in a call to
setAttribute() for the style attribute. To avoid updateStyleIfNeeded() during painting,
this must not cause SVG to do extra work.
* svg/SVGLocatable.cpp: Pass StyleUpdateStrategy down to these methods to indicate
whether it's OK to update style.
(WebCore::SVGLocatable::getBBox):
(WebCore::SVGLocatable::computeCTM):
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGLocatable.h:
(WebCore::SVGLocatable::):
* svg/SVGStyledLocatableElement.cpp:
(WebCore::SVGStyledLocatableElement::getBBox):
(WebCore::SVGStyledLocatableElement::getCTM):
(WebCore::SVGStyledLocatableElement::getScreenCTM):
* svg/SVGStyledLocatableElement.h:
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::getCTM):
(WebCore::SVGStyledTransformableElement::getScreenCTM):
(WebCore::SVGStyledTransformableElement::getBBox):
* svg/SVGStyledTransformableElement.h:
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::getBBox):
(WebCore::SVGTextElement::getCTM):
(WebCore::SVGTextElement::getScreenCTM):
* svg/SVGTextElement.h:
2010-08-19 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Range, EAnnotateForInterchange, and EAbsoluteURLs should be member variables of MarkupAccumulator
https://bugs.webkit.org/show_bug.cgi?id=44229
No new tests are added since this is a clean up.
* editing/markup.cpp:
(WebCore::MarkupAccumulator::MarkupAccumulator): Added shouldResolveURLs, shouldAnnotate, and range.
(WebCore::MarkupAccumulator::shouldResolveURLs): Private inline accessor for m_shouldResolveURLs.
(WebCore::MarkupAccumulator::shouldAnnotate): Private inline accessor for m_shouldAnnotate.
(WebCore::MarkupAccumulator::appendEndTag): Renamed local variable result to markup.
(WebCore::MarkupAccumulator::appendStartTag): Removed range, annotate, shouldResolveURLs from the function arguments.
(WebCore::MarkupAccumulator::wrapWithNode): Ditto.
(WebCore::MarkupAccumulator::appendStartMarkup): Ditto.
(WebCore::serializeNodes): Ditto and uses MarkupAccumulator.
(WebCore::createMarkup): Uses MarkupAccumulator.
(WebCore::serializeNodesWithNamespaces): Ditto.
2010-08-19 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: do not dump inspector errors into the inspected window console.
https://bugs.webkit.org/show_bug.cgi?id=44272
* inspector/front-end/inspector.js:
(WebInspector.reportProtocolError):
2010-08-19 Jeremy Orlow <jorlow@chromium.org>
Chromium build fix.
Use ASSERT_UNUSED on variables that aren't used besides by the ASSERT.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::remove):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
2010-08-19 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: expose Panel.onSelectionChanged in extension API
https://bugs.webkit.org/show_bug.cgi?id=44171
* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.PanelImpl):
(injectedExtensionAPI):
2010-08-19 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] Abort idle IDBTransactions when the JS context they were created in finishes execution.
https://bugs.webkit.org/show_bug.cgi?id=44101
This change also introduces the TransactionCoordinator, which will be used
to schedule transactions for execution.
Test: storage/indexeddb/transaction-basics.html
* WebCore.gypi:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::runScript):
(WebCore::V8Proxy::callFunction):
(WebCore::V8Proxy::didLeaveScriptContext):
* bindings/v8/V8Proxy.h:
* dom/EventTarget.cpp:
(WebCore::EventTarget::toIDBTransaction):
* dom/EventTarget.h:
* page/PageGroup.h:
(WebCore::PageGroup::hasIDBFactory):
* storage/IDBAbortEvent.cpp: Added.
(WebCore::IDBAbortEvent::create):
(WebCore::IDBAbortEvent::IDBAbortEvent):
(WebCore::IDBAbortEvent::~IDBAbortEvent):
* storage/IDBAbortEvent.h: Added.
(WebCore::IDBAbortEvent::isIDBAbortEvent):
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::transaction):
* storage/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::create):
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
(WebCore::IDBFactoryBackendImpl::open):
(WebCore::IDBFactoryBackendImpl::abortPendingTransactions):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBPendingTransactionMonitor.cpp: Added.
(WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
(WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
(WebCore::IDBPendingTransactionMonitor::clearPendingTransactions):
(WebCore::IDBPendingTransactionMonitor::pendingTransactions):
* storage/IDBPendingTransactionMonitor.h: Added.
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::id):
(WebCore::IDBTransaction::stop):
(WebCore::IDBTransaction::timerFired):
* storage/IDBTransaction.h:
* storage/IDBTransactionBackendInterface.h:
* storage/IDBTransactionCallbacks.h: Added.
(WebCore::IDBTransactionCallbacks::~IDBTransactionCallbacks):
* storage/IDBTransactionCoordinator.cpp: Added.
(WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
(WebCore::IDBTransactionBackendImpl::mode):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::sqliteDatabase):
(WebCore::IDBTransactionBackendImpl::id):
(WebCore::IDBTransactionBackendImpl::setCallbacks):
(WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
(WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
(WebCore::IDBTransactionCoordinator::createTransaction):
(WebCore::IDBTransactionCoordinator::abort):
* storage/IDBTransactionCoordinator.h: Added.
(WebCore::IDBTransactionCoordinator::create):
2010-08-19 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Chromium DevTools: There is no need in resource-based InjectedScript.js source.
Now that we populate front-end after its onload handler, we don't need
to install injected script early. Exposing injected script source on the WebCore
level here.
https://bugs.webkit.org/show_bug.cgi?id=44029
* inspector/InjectedScriptHost.h:
(WebCore::InjectedScriptHost::injectedScriptSource):
2010-08-18 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Implement persistance for IndexedDB ObjectStores
https://bugs.webkit.org/show_bug.cgi?id=44164
Get rid of the in-memory storage of ObjectStores and instead
use SQL backed memory.
Existing tests give most of the coverage. Will update the manual
test in the next patch (which will also re-work database.description).
* manual-tests/indexed-database.html: Get rid of race where you can click before the page loads.
* platform/sql/SQLiteStatement.cpp: Add two helper functions
(WebCore::SQLiteStatement::bindInt):
(WebCore::SQLiteStatement::isColumnNull):
* platform/sql/SQLiteStatement.h:
* storage/IDBCursorBackendImpl.cpp:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
(WebCore::IDBDatabaseBackendImpl::importObjectStores):
* storage/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::createTables):
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::sqliteDatabase):
* storage/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::whereClause):
(WebCore::bindKey):
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::remove):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::importIndexes):
(WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
* storage/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::create):
(WebCore::IDBObjectStoreBackendImpl::database):
2010-08-19 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Pattern is rasterized
https://bugs.webkit.org/show_bug.cgi?id=41396
SVG pattern size changed when resizing browser
https://bugs.webkit.org/show_bug.cgi?id=38704
Incorrect pattern tilling
https://bugs.webkit.org/show_bug.cgi?id=41603
Apply same fixes to <pattern> that <mask> recently received. Build the tile image in absolute coordinates,
to avoid pixelation, when the target element is scaled. Also fixes problems when zooming into patterns.
Clamp ImageBuffer sizes to RenderSVGRoots viewport, now that gradient/pattern and mask buffers are created
in absolute coordinates -> no more huge image buffer allocations, that could fail.
Drop overflow="visible" support for <pattern>, which complicates the code a lot. Neither Opera nor Firefox
support this, and SVG 1.1 2nd Edition says that the rendering behaviour is "undefined".
Tests: svg/batik/paints/patternRegions-positioned-objects.svg
svg/custom/pattern-incorrect-tiling.svg
svg/custom/pattern-no-pixelation.svg
svg/transforms/text-with-mask-with-svg-transform.svg
* rendering/PaintInfo.h:
(WebCore::PaintInfo::applyTransform): Don't alter the repaint rect if it's infinite (only affects SVG).
(WebCore::PaintInfo::infiniteRect): Moved from RenderLayer into PaintInfo, as applyTransform() needs it.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
* rendering/RenderLayer.h: Moved infiniteRect() to PaintInfo.
* rendering/RenderLayerBacking.cpp:
(WebCore::clipBox): s/ClipRects::infiniteRect/PaintInfo::infiniteRect/
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::clippedByAncestor): Ditto.
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient): Clamp image buffer size, use new SVGImageBufferTools helper methods for that.
(WebCore::clipToTextMask): Adapt to renames/code changes in SVGImageBufferTools.
(WebCore::RenderSVGResourceGradient::applyResource): Ditto.
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource): lamp image buffer size, use new SVGImageBufferTools helper methods for that.
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Adapt to renames/code changes in SVGImageBufferTools.
* rendering/RenderSVGResourceMasker.h:
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource): Rewrite to create tile image buffers in absolute coordinates, avoids pixelation artefacts.
(WebCore::calculatePatternBoundaries):
(WebCore::RenderSVGResourcePattern::buildTileImageTransform):
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/RenderSVGResourcePattern.h:
* rendering/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::transformationToOutermostSVGCoordinateSystem): Helper method, concating all localToParentTransforms() up until RenderSVGRoot is reached.
(WebCore::SVGImageBufferTools::createImageBuffer): Simplified.
(WebCore::SVGImageBufferTools::clipToImageBuffer): Rename absoluteTargetRect to clampedAbsoluteTargetRect.
(WebCore::SVGImageBufferTools::roundedImageBufferSize): New helper method to centralize FloatSize -> IntSize rounding, when creating image buffers.
(WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): New helper methods to clamp an image buffer rect against the viewport.
* rendering/SVGImageBufferTools.h:
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::renderSubtreeToImage): Use PaintInfo::infiniteRect() as repaint rect, to avoid any culling.
(WebCore::SVGRenderSupport::findTreeRootObject): Renamed from svgRootTreeObject, and expose it.
(WebCore::SVGRenderSupport::layoutChildren): s/svgRootTreeObject/findTreeRootObject/.
* rendering/SVGRenderSupport.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setCurrentTranslate): Be sure to relayout on invalidation, otherwhise resources are not updated, and we have to update them, as they depend on the absolute transform.
2010-08-19 Alejandro G. Castro <alex@igalia.com>
Reviewed by Dirk Schulze.
[GTK] The size of the shadow image uses the standard deviation
size instead of the blur radius
https://bugs.webkit.org/show_bug.cgi?id=40793
The kernelSize variable was renamed to radius and recalculated
considering the CSS3 specification
http://www.w3.org/TR/css3-background/#the-box-shadow, and the
visual result of other browsers. The HTML5 canvas shadow standard
deviation calculation that was used, was not appropiate for the
blur distance specified in the CSS3.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::calculateShadowBufferDimensions):
Changed the calculation, now we use the parameter in the style
directly as recomended in the CSS3 standard.
(WebCore::drawPathShadow):
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::createPlatformShadow): We get the
standard deviation from the radius using the new function and we
create the filter with that deviation.
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::calculateStdDeviation): Added this
function that gets the standard deviation from the blur
radius. Required in the CSS3 case where we have this radio and we
need the deviation to initialize the algorithm.
* platform/graphics/filters/FEGaussianBlur.h:
2010-08-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Avoid unnecessary string copy in TextCodecQt::decode()
https://bugs.webkit.org/show_bug.cgi?id=44232
* platform/text/qt/TextCodecQt.cpp:
(WebCore::TextCodecQt::decode): Use String::append(const UChar*, int)
to avoid creating a temporary string.
2010-08-19 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GStreamer] GTK XOverlay support in GStreamerGWorld
https://bugs.webkit.org/show_bug.cgi?id=39474
GStreamerGWorld now catches synchronous messages coming from the
sinks and creates a GTK window where the video can be overlayed if
fullscreen display is requested using enterFullscreen.
* GNUmakefile.am:
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::gstGWorldSyncMessageCallback):
(WebCore::GStreamerGWorld::GStreamerGWorld):
(WebCore::GStreamerGWorld::~GStreamerGWorld):
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
(WebCore::GStreamerGWorld::setWindowOverlay):
* platform/graphics/gstreamer/GStreamerGWorld.h:
(WebCore::GStreamerGWorld::pipeline):
(WebCore::GStreamerGWorld::platformVideoWindow):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gstreamer/PlatformVideoWindow.h: Added.
(WebCore::PlatformVideoWindow::createWindow):
(WebCore::PlatformVideoWindow::window):
(WebCore::PlatformVideoWindow::videoWindowId):
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Added.
(PlatformVideoWindow::PlatformVideoWindow):
2010-08-19 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Add idl and mock classes for FileWriter.
https://bugs.webkit.org/show_bug.cgi?id=44075
No new tests, since there's no new functionality.
New do-nothing classes, but the real IDL:
* FileWriter.idl:
* FileWriter.h:
* FileWriter.cpp:
The build file changes to include the above:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Added FileWriter event names and required EventTarget changes.
* dom/EventNames.h:
* dom/EventTarget.cpp:
(WebCore::EventTarget::toFileWriter):
* dom/EventTarget.h:
2010-08-18 Andreas Kling <andreas.kling@nokia.com>
Rubber-stamped by Ariya Hidayat.
[Qt] Remove unused variable in GraphicsContext::fillRect()
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRect):
2010-08-18 Ariya Hidayat <ariya@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Short lived shadow buffer for blur operation
https://bugs.webkit.org/show_bug.cgi?id=44094
ContextShadow needs a scratch image as the buffer for the blur filter.
Instead of creating and destroying the buffer for every operation,
we create a buffer which will be automatically purged via a timer.
* platform/graphics/qt/ContextShadow.cpp:
(WebCore::):
(WebCore::ShadowBuffer::ShadowBuffer):
(WebCore::ShadowBuffer::scratchImage):
(WebCore::ShadowBuffer::schedulePurge):
(WebCore::ShadowBuffer::purgeBuffer):
(WebCore::ContextShadow::drawShadowRect):
2010-08-18 Alexey Marinichev <amarinichev@chromium.org>
Reviewed by Darin Fisher.
[chromium] scrolling issues when accelerated compositor is enabled
https://bugs.webkit.org/show_bug.cgi?id=43992
Corrected scroll position not being updated, and an off-by-half error.
Int cast and floorf are taken out because they produce incorrect
transformation matrix. The information lost there is not immediately
obvious because of rounding that happens when texture is mapped with
GL_NEAREST filtering mode. These errors accumulate, and after some
scrolling it becomes more apparent.
To test the former, follow instructions in the bug. To test the
latter, change GL_NEAREST to GL_LINEAR in LayerRendererChromium.cpp.
Scrolling should work properly for all window sizes, without blurring
images and shifting them to the left.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
2010-08-18 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Implement GraphicsContext::clipOut more efficiently
https://bugs.webkit.org/show_bug.cgi?id=43416
The current implementation of clipOut uses QPainter::clipRegion().boundingRect(),
which is a very slow function because it converts the entire clip region - which
may potentially contain a complex path - into a set of QRegion rectangles, just
to throw away all that information and use the bounding rect.
QTBUG-12618 implements a faster function in QPainter: QPainter::clipBoundingRect().
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipOut): Use QPainter::clipBoundingRect() with Qt >= 4.8.
(WebCore::GraphicsContext::clipOutEllipseInRect): Ditto.
2010-08-18 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Since the GSEAL changes moz_gtk_scrollbar_button_paint fiddles the widget allocation but doesn't preserve it
https://bugs.webkit.org/show_bug.cgi?id=44211
No new tests as we do not currently use the scrollbar button painting
code. Tests for this issue will be enabled when we have pixel tests
for WebCore-drawn interior frame scrollbars.
* platform/gtk/GtkVersioning.h: Add backward-compatible functions for getting
and setting the widget allocation.
* platform/gtk/gtk2drawing.c:
(moz_gtk_scrollbar_button_paint): Use new backward-compatible functions for getting
and setting the widget allocation.
2010-08-18 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Group functions in markup.cpp into MarkupAccumulatorWrapper
https://bugs.webkit.org/show_bug.cgi?id=43936
Renamed MarkupAccumulatorWrapper to MarkupAccumulator and moved the MarkupAccumulatorWrapper
to the top of markup.cpp. Made various functions private member functions of MarkupAccumulator.
No new tests are added since this is a cleanup.
* editing/markup.cpp:
(WebCore::MarkupAccumulator::):
(WebCore::MarkupAccumulator::MarkupAccumulator):
(WebCore::MarkupAccumulator::appendString):
(WebCore::MarkupAccumulator::appendStartTag):
(WebCore::MarkupAccumulator::appendEndTag):
(WebCore::MarkupAccumulator::wrapWithNode):
(WebCore::MarkupAccumulator::wrapWithStyleNode):
(WebCore::MarkupAccumulator::takeResults):
(WebCore::MarkupAccumulator::appendAttributeValue):
(WebCore::MarkupAccumulator::escapeContentText):
(WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
(WebCore::MarkupAccumulator::stringValueForRange):
(WebCore::MarkupAccumulator::ucharRange):
(WebCore::MarkupAccumulator::appendUCharRange):
(WebCore::MarkupAccumulator::renderedText):
(WebCore::MarkupAccumulator::shouldAddNamespaceElement):
(WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
(WebCore::MarkupAccumulator::appendNamespace):
(WebCore::MarkupAccumulator::appendDocumentType):
(WebCore::MarkupAccumulator::removeExteriorStyles):
(WebCore::MarkupAccumulator::appendStartMarkup):
(WebCore::MarkupAccumulator::shouldSelfClose):
(WebCore::MarkupAccumulator::appendEndMarkup):
(WebCore::serializeNodes):
(WebCore::createMarkup):
(WebCore::serializeNodesWithNamespaces):
2010-08-18 Beth Dakin <bdakin@apple.com>
Reviewed by Sam Weinig.
Fix for https://bugs.webkit.org/show_bug.cgi?id=44207 Empty mfrac
and empty munderover cause crashes
-and corresponding-
<rdar://problem/8325160>
This is just a matter of adding null checks in the right places.
* mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::baselinePosition):
* mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::baselinePosition):
2010-08-18 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Move FileStream to platform.
https://bugs.webkit.org/show_bug.cgi?id=44213
In addition to moving files over, FileStream has been changed to remove
ExceptionCode dependency. Also update FileStreamProxy and FileRead to
account for this change.
* Android.mk:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/FileReader.cpp:
(WebCore::FileReader::didOpen):
* html/FileReader.h:
* html/FileStream.cpp: Removed.
* html/FileStream.h: Removed.
* html/FileStreamClient.h:
(WebCore::FileStreamClient::didTruncate):
(WebCore::FileStreamClient::didOpen):
* html/FileStreamProxy.cpp:
(WebCore::didOpen):
(WebCore::FileStreamProxy::openForReadOnFileThread):
(WebCore::FileStreamProxy::openForWriteOnFileThread):
(WebCore::FileStreamProxy::write):
(WebCore::FileStreamProxy::writeOnFileThread):
(WebCore::didTruncate):
(WebCore::FileStreamProxy::truncateOnFileThread):
* html/FileStreamProxy.h:
* platform/FileStream.cpp: Renamed from WebCore/FileStream.cpp and updated.
* platform/FileStream.h: Renamed from WebCore/FileStream.h and updated.
2010-08-18 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
Chromium side implementation of blob data and blob registry.
https://bugs.webkit.org/show_bug.cgi?id=43871
Wrap !PLATFORM(CHROMIUM) around blobRegistry() so that chromium uses the
implementation in WebKit Chromium.
* platform/network/BlobRegistryImpl.cpp:
2010-08-18 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Bots are showing lots of GTK_IS_CONTAINER critical warnings
https://bugs.webkit.org/show_bug.cgi?id=40990
Instead of relying on the ScrollView's adjustment members to determine if a
Scrollbar should be native or just a shell of the parent's scrollbar (main frame
scrollbar), just check if this ScrollView has a parent. This will ensure the
correct behavior when main frame scrollbar's are created after the ScrollView's
containing adjustments go away.
Lack of warnings during tests are the test for this fix.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::createScrollbar): Decide what type of scrollbar to make based
on the result of the parent() method.
* platform/gtk/ScrollbarGtk.cpp:
(ScrollbarGtk::ScrollbarGtk): Allow for an m_adjustment which is null.
(ScrollbarGtk::attachAdjustment): Ditto.
(ScrollbarGtk::updateThumbPosition): Ditto.
(ScrollbarGtk::updateThumbProportion): Ditto.
2010-08-18 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
NOT_REACHED is reachable in SVGLength
https://bugs.webkit.org/show_bug.cgi?id=44150
The author of this code was confused. This code is reachable. We just
haven't implemented it yet.
* svg/SVGLength.cpp:
(WebCore::SVGLength::setValue):
2010-08-18 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Antonio Gomes.
[Qt] Use LAZY_NATIVE_CURSOR
https://bugs.webkit.org/show_bug.cgi?id=44062
No functional change so new tests.
Change Cursor behaviour to match the LAZY_NATIVE_CURSOR policy.
* platform/Cursor.h: Typedef PlatformCursor to be a QCursor* to be able create it dynamically.
(WebCore::Cursor::Cursor): Remove the ifdef for Qt.
* platform/qt/CursorQt.cpp: Remove the Cursors class since we have the static cursor instances
for the common cursor types in Cursor.cpp. Move the logic that maps the cursor types to
QCursor instances into ensurePlatformCursor.
(WebCore::Cursor::Cursor):
(WebCore::Cursor::~Cursor):
(WebCore::Cursor::operator=):
(WebCore::createCustomCursor):
(WebCore::Cursor::ensurePlatformCursor):
* platform/qt/WidgetQt.cpp:
(WebCore::Widget::setCursor): Adjust to the PlatformCursor change.
2010-08-18 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
CSS: Make rgb() and rgba() fast paths case-insensitive
https://bugs.webkit.org/show_bug.cgi?id=44107
Also inlined the string comparisons against "rgb(" and "rgba("
which is faster and avoids creating a temporary String object.
* css/CSSParser.cpp:
(WebCore::mightBeRGBA):
(WebCore::mightBeRGB):
(WebCore::CSSParser::parseColor):
2010-08-18 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
Change BlobStorageData to reuse BlobData.
https://bugs.webkit.org/show_bug.cgi?id=44188
Also addressed Darin's feedbacks for bug 44116.
* html/ThreadableBlobRegistry.cpp:
(WebCore::registerBlobURLTask):
(WebCore::registerBlobURLFromTask):
(WebCore::unregisterBlobURLTask):
* platform/network/BlobData.cpp:
(WebCore::BlobData::appendData):
* platform/network/BlobData.h:
(WebCore::BlobDataItem::BlobDataItem):
* platform/network/BlobRegistry.h:
* platform/network/BlobRegistryImpl.cpp:
(WebCore::blobRegistry):
(WebCore::BlobRegistryImpl::appendStorageItems):
(WebCore::BlobRegistryImpl::registerBlobURL):
* platform/network/BlobRegistryImpl.h:
* platform/network/BlobStorageData.h:
(WebCore::BlobStorageData::create):
(WebCore::BlobStorageData::contentType):
(WebCore::BlobStorageData::contentDisposition):
(WebCore::BlobStorageData::items):
(WebCore::BlobStorageData::BlobStorageData):
2010-08-18 David Hyatt <hyatt@apple.com>
Reviewed by Martin Robinson.
https://bugs.webkit.org/show_bug.cgi?id=44193
Fix a typo in my previous canvas checkin. m_in->resultImage() was originally m_in2->resultImage(),
and I accidentally changed it when swapping the order of the arguments.
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::apply):
2010-08-18 Stephen White <senorblanco@chromium.org>
Reviewed by Darin Fisher.
[CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
https://bugs.webkit.org/show_bug.cgi?id=44115
This is the Skia followup to Dave Hyatt's patch in r65449.
Covered by canvas layout tests.
* platform/graphics/skia/BitmapImageSingleFrameSkia.h:
Add a "copyPixels" argument to the create() static to indicate if
the caller wants the pixels to be copied or ref'ed.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::drawsUsingCopy):
We don't use the always-copy path anymore, so return false.
(WebCore::ImageBuffer::copyImage):
Force a copy here.
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
Create a temporary BitampImageSingleFrameSkia wrapped around the
canvas's bitmap, and draw with it immediately. If drawing to our own
canvas, copy the pixels, otherwise just shallow copy.
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
Make the constructor take an SkBitmap to be wrapped.
(WebCore::BitmapImageSingleFrameSkia::create):
Implement the "copyPixels" flag: if true, do a deep copy, otherwise
do a shallow copy.
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::NativeImageSkia):
* platform/graphics/skia/NativeImageSkia.h:
Implement a new constructor that shallow-copies the given SkBitmap.
2010-08-18 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Steve Block.
[Qt] Request for permission before starting Geolocation service
https://bugs.webkit.org/show_bug.cgi?id=42027
Handles starting location acquisition when request is granted for ports using
"!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
Only Qt port as of today uses the above combination. Enable
PREEMPT_GEOLOCATION_PERMISSION for qt port.
Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
- fast/dom/Geolocation/delayed-permission-allowed.html
- fast/dom/Geolocation/delayed-permission-denied.html
- fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
- fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
* WebCore.pro:
* page/Geolocation.cpp:
(WebCore::Geolocation::handlePendingPermissionNotifiers):
2010-08-18 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
CanvasStyle method naming cleanup
https://bugs.webkit.org/show_bug.cgi?id=44184
Renamed the various create() overloads to reflect what they're
constructing the CanvasStyle from.
The unused CanvasStyle::create(grayLevel) and accompanying constructor
were removed.
Also renamed the isEquivalentColor overloads to isEquivalent{RGBA,CMYKA}
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::toHTMLCanvasStyle):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::toCanvasStyle):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::createFromString):
(WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
(WebCore::CanvasStyle::createFromGradient):
(WebCore::CanvasStyle::createFromPattern):
(WebCore::CanvasStyle::isEquivalentRGBA):
(WebCore::CanvasStyle::isEquivalentCMYKA):
* html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::createFromRGBA):
(WebCore::CanvasStyle::createFromGrayLevelWithAlpha):
(WebCore::CanvasStyle::createFromRGBAChannels):
(WebCore::CanvasStyle::createFromCMYKAChannels):
2010-08-18 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Implement Maemo5 local rendering NPAPI extension. See
https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.
With the local rendering extension, Flash will paint into a 16-bit surface.
For wmode=transparent, Flash expects the surface to contain the contents
beneath it. As it is tricky to implement the content propagation across all
graphics systems, transparent Flash is not supported. We just fill the surface
with white and wmode=transparent behaves the same as wmode=opaque with a white
background.
https://bugs.webkit.org/show_bug.cgi?id=44043
* WebCore.pro:
* plugins/PluginView.cpp:
(WebCore::PluginView::setValue):
(WebCore::PluginView::PluginView):
* plugins/PluginView.h:
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paintUsingImageSurfaceExtension):
(WebCore::PluginView::paint):
(WebCore::PluginView::platformGetValueStatic):
2010-08-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65603.
http://trac.webkit.org/changeset/65603
https://bugs.webkit.org/show_bug.cgi?id=44179
4 tests crash on Qt bot (Requested by Ossy on #webkit).
* WebCore.pro:
* page/Geolocation.cpp:
(WebCore::Geolocation::handlePendingPermissionNotifiers):
2010-08-18 Ryuan Choi <ryuan.choi@samsung.com>
Unreviewed. Attempted build fix for EFL
[EFL]REGRESSION(65530) need to fix build break
https://bugs.webkit.org/show_bug.cgi?id=44154
* CMakeListsEfl.txt:
2010-08-18 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed qt build fix.
* WebCore.pri:
2010-08-17 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: replace hand written InspectorBackendStub.js with generated one.
New command-line flag was added to combine-javascript-resources.
It specifies the location of generated scripts.
https://bugs.webkit.org/show_bug.cgi?id=43791
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* combine-javascript-resources:
* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/InspectorBackendStub.js: Removed.
* inspector/front-end/WebKit.qrc:
2010-08-18 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: extension panels do not occupy entire panel client area.
https://bugs.webkit.org/show_bug.cgi?id=44167
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onCreatePanel):
(WebInspector.ExtensionServer.prototype._createClientIframe):
2010-08-18 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Use SVGPathParser logic to traverse states of a Path
https://bugs.webkit.org/show_bug.cgi?id=44009
Move the getPathSegAtLength logic from SVGPathSegList into a new SVGPathConsumer
class: SVGPathTraversalStateBuilder.
This allows us to get a SVGPathSeg at a given length for SVGPathByteStreams and SVGPathSegLists.
It is also possible to use unaltered SVG path data, instead of just normalized path data.
This is the final preparation to provide normalized and unaltered SVGPathSegLists
on SVGPathElement.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* svg/SVGAllInOne.cpp:
* svg/SVGPathBuilder.h:
(WebCore::SVGPathBuilder::nextPathSegment):
(WebCore::SVGPathBuilder::quitEarlier):
* svg/SVGPathByteStreamBuilder.h:
(WebCore::SVGPathByteStreamBuilder::nextPathSegment):
(WebCore::SVGPathByteStreamBuilder::quitEarlier):
* svg/SVGPathConsumer.h:
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getPathSegAtLength):
* svg/SVGPathElement.h:
* svg/SVGPathElement.idl:
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::parsePathDataFromSource):
* svg/SVGPathParserFactory.cpp:
(WebCore::globalSVGPathTraversalStateBuilder):
(WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathSegList):
* svg/SVGPathParserFactory.h:
* svg/SVGPathSegList.cpp:
* svg/SVGPathSegList.h:
* svg/SVGPathSegListBuilder.h:
(WebCore::SVGPathSegListBuilder::nextPathSegment):
(WebCore::SVGPathSegListBuilder::quitEarlier):
* svg/SVGPathStringBuilder.h:
(WebCore::SVGPathStringBuilder::nextPathSegment):
(WebCore::SVGPathStringBuilder::quitEarlier):
* svg/SVGPathTraversalStateBuilder.cpp: Added. New Consumer for SVGPathParser.
(WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
(WebCore::SVGPathTraversalStateBuilder::moveTo):
(WebCore::SVGPathTraversalStateBuilder::lineTo):
(WebCore::SVGPathTraversalStateBuilder::curveToCubic):
(WebCore::SVGPathTraversalStateBuilder::closePath):
(WebCore::SVGPathTraversalStateBuilder::setDesiredLength):
(WebCore::SVGPathTraversalStateBuilder::quitEarlier):
(WebCore::SVGPathTraversalStateBuilder::nextPathSegment):
(WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
* svg/SVGPathTraversalStateBuilder.h: Added.
(WebCore::SVGPathTraversalStateBuilder::setCurrentTraversalState):
(WebCore::SVGPathTraversalStateBuilder::cleanup):
(WebCore::SVGPathTraversalStateBuilder::lineToHorizontal):
(WebCore::SVGPathTraversalStateBuilder::lineToVertical):
(WebCore::SVGPathTraversalStateBuilder::curveToCubicSmooth):
(WebCore::SVGPathTraversalStateBuilder::curveToQuadratic):
(WebCore::SVGPathTraversalStateBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathTraversalStateBuilder::arcTo):
2010-08-18 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Steve Block.
[Qt] Request for permission before starting Geolocation service
https://bugs.webkit.org/show_bug.cgi?id=42027
Handles starting location acquisition when request is granted for ports using
"!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
Only Qt port as of today uses the above combination. Enable
PREEMPT_GEOLOCATION_PERMISSION for qt port.
Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
- fast/dom/Geolocation/delayed-permission-allowed.html
- fast/dom/Geolocation/delayed-permission-denied.html
- fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
- fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
* WebCore.pro:
* page/Geolocation.cpp:
(WebCore::Geolocation::handlePendingPermissionNotifiers):
2010-08-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65595.
http://trac.webkit.org/changeset/65595
https://bugs.webkit.org/show_bug.cgi?id=44161
qt build failed (Requested by loislo on #webkit).
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/copyInspectorFiles.cmd:
* WebCore.xcodeproj/project.pbxproj:
* combine-javascript-resources:
* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/InspectorBackendStub.js: Added.
(WebInspector.InspectorBackendStub):
(WebInspector.InspectorBackendStub.prototype._registerDelegate):
(WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
* inspector/front-end/InspectorBackendStub.qrc: Removed.
* inspector/front-end/WebKit.qrc:
2010-08-18 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: make objectId of string type instead of object.
https://bugs.webkit.org/show_bug.cgi?id=44160
* WebCore.xcodeproj/project.pbxproj:
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.):
* inspector/front-end/InjectedScriptAccess.js:
(get InjectedScriptAccess.getForObjectId):
* inspector/front-end/RemoteObject.js:
(WebInspector.RemoteObject.prototype.getProperties):
(WebInspector.RemoteObject.prototype.setPropertyValue):
(WebInspector.RemoteObject.prototype.pushNodeToFrontend):
2010-08-17 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: replace hand written InspectorBackendStub.js by generated one.
New command-line flag was added to combine-javascript-resources.
It specifies the location of generated scripts.
https://bugs.webkit.org/show_bug.cgi?id=43791
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* combine-javascript-resources:
* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/InspectorBackendStub.js: Removed.
* inspector/front-end/WebKit.qrc:
2010-08-18 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Dimitri Glazkov.
Printer font is different from screen font
https://bugs.webkit.org/show_bug.cgi?id=43340
Not testable because PNG output in layoutTestController.setPrinting
for chromium isn't implemented yet.
* platform/graphics/FontDescription.h: Use screen font even for printing on Mac Chromium
(WebCore::FontDescription::setUsePrinterFont):
2010-08-18 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Dirk Schulze.
Fix displaying problem of feTurbulence.
https://bugs.webkit.org/show_bug.cgi?id=44111
Change the order of calculating turbulenceFunctionResult
and clamping it. Furthermore remove the unnecessary rounding of m_seed.
Add a new test for checking the change of seed's value.
Test: svg/W3C-SVG-1.1/filters-turb-02-f.svg
* svg/graphics/filters/SVGFETurbulence.cpp:
(WebCore::FETurbulence::initPaint):
(WebCore::FETurbulence::calculateTurbulenceValueForPoint):
(WebCore::FETurbulence::apply):
2010-08-17 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
Bug 44146 - Remove toDouble/toUInt32 methods from UString.
These methods all implement JavaScript language specific behaviour, and as such
are not suited to being on a generic string object. They are also inefficient
and incorrectly used, refactor & cleanup. Uses of these methods really divide
out into two cases.
ToNumber:
Uses of toDouble from JSString and from parseFloat are implementing ecma's
ToNumber conversion from strings (see ecma-262 9.3.1), so UString::toDouble
should largely just be moved out to a global jsToNumber function. ToNumber is
capable of recognizing either decimal or hexadecimal numbers, but parseFloat
should only recognize decimal values. This is currently handled by testing for
hexadecimal before calling toDouble, which should unnecessary - instead we can
just split out the two parts to the grammar into separate functions. Also,
strtod recognizes a set of literals (nan, inf, and infinity - all with any
capitalization) - which are not defined by any of the specs we are implementing.
To handle this we need to perform additional work in toDouble to convert the
unsupported cases of infinities back to NaNs. Instead we should simply remove
support for this literals from strtod. This should provide a more desirable
behaviour for all clients of strtod.
Indexed properties:
Uses of the toStrictUInt32 methods are were all converting property names to
indices, and all uses of toUInt32 were incorrect; in all cases we should have
been calling toUInt32. This error results in some incorrect behaviour in the
DOM (accessing property "0 " of a NodeList should fail; it currently does not).
Move this method onto Identifier (our canonical property name), and make it
always perform a strict conversion. Add a layout test to check NodeList does
convert indexed property names correctly.
Test: fast/dom/NodeList/nodelist-item-with-index.html
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::callHTMLCollection):
(WebCore::JSHTMLCollection::item):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::callNodeList):
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertyDescriptor):
(JSC::RuntimeArray::put):
2010-08-18 Adam Barth <abarth@webkit.org>
Reviewed by Adele Peterson.
Null dereference in DOMSelection::deleteFromDocument
https://bugs.webkit.org/show_bug.cgi?id=44153
deleteFromDocument checks selection->isNone() before calling
selection->selection().toNormalizedRange(), but toNormalizedRange()
notes that it needs to updateLayout(), which can make the selection
isNone() again. In that case, we crash on a NULL pointer in
deleteFromDocument. I don't know how to trigger that situation in a
test, but cross_fuzz was able to hit it, so we should fix it.
* page/DOMSelection.cpp:
(WebCore::DOMSelection::deleteFromDocument):
2010-08-17 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Antonio Gomes.
[Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for
libgdk-x11-2.0.so.0 instead on X11 and Maemo5.
https://bugs.webkit.org/show_bug.cgi?id=44043
* plugins/qt/PluginViewQt.cpp:
(WebCore::getPluginDisplay):
2010-08-17 Ariya Hidayat <ariya@sencha.com>
Reviewed by Antonio Gomes.
[Qt] Remove unused ContextShadowParameter class in GraphicsContextQt
https://bugs.webkit.org/show_bug.cgi?id=44142
The class is not needed anymore after r65425.
We know have dedicated ContextShadow in its own file.
* platform/graphics/qt/GraphicsContextQt.cpp:
2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed by Darin Adler.
Add NetworkingContext to avoid layer violations
https://bugs.webkit.org/show_bug.cgi?id=42292
Preparation: Just add the files to the build system.
* GNUmakefile.am: Added new files.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* loader/FrameNetworkingContext.h: Added.
* platform/network/NetworkingContext.h: Added.
Placeholders with tentative code that might be changed when landing
the rest of it.
2010-08-17 Mihai Parparita <mihaip@chromium.org>
Reviewed by Darin Fisher.
Back button after Google search result click broken
https://bugs.webkit.org/show_bug.cgi?id=44086
Test: fast/history/redirect-via-iframe.html
isLoadingInAPISense doesn't quite map to onload (it also returns true
if frames are loading, even after the parent frame has fired its onload
handler). Instead, add a flag for the onload event being fired, and
use that.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::handledOnloadEvents):
(WebCore::DocumentLoader::wasOnloadHandled):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handledOnloadEvents):
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::mustLockBackForwardList):
2010-08-17 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Geolocation clearWatch() needs to protect against invalid IDs
https://bugs.webkit.org/show_bug.cgi?id=44096
If the ID passed to clearWatch() is invalid, we early-out.
Test: fast/dom/Geolocation/clear-watch-invalid-id-crash.html
* page/Geolocation.cpp:
(WebCore::Geolocation::Watchers::set):
(WebCore::Geolocation::Watchers::remove):
(WebCore::Geolocation::watchPosition):
(WebCore::Geolocation::clearWatch):
2010-08-17 Stephen White <senorblanco@chromium.org>
Reviewed by David Levin.
Allow non-Skia ports to compile with ENABLE(ACCELERATED_2D_CANVAS).
https://bugs.webkit.org/show_bug.cgi?id=44130
No tests; if it compiles, it's good.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
Fix a warning (treated as error).
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setGraphicsContext3D):
(WebCore::GraphicsContext::syncSoftwareCanvas):
* platform/graphics/GraphicsContext.h:
Make setGraphicsContext3D() and syncSoftwareCanvas() stubbed out,
but still present in non-Skia ports. This allows Chrome Mac to
compile with ENABLE(ACCELERATED_2D_CANVAS) (although it isn't hooked
up yet, it should at least compile).
2010-08-17 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
<rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
No new tests. (Especially since DRT doesn't spin inner run loops at all, it would be a significant
effort to give it the ability to perform the back/forward navigation in the background to reproduce
this bug)
Manual tests in place of layout tests:
* manual-tests/back-forward-during-alert-1.html: Added.
* manual-tests/back-forward-during-alert-2.html: Added.
* page/Page.cpp:
(WebCore::Page::goToItem):
2010-08-17 Ojan Vafai <ojan@chromium.org>
Reviewed by Tony Chang.
selectionStart clobbered if textarea isn't focused
https://bugs.webkit.org/show_bug.cgi?id=43814
If a text control is blurred, setting selectionStart/end should use
the cached selection value, which is currently stored on the form
control element.
Test: fast/forms/text-control-select-blurred.html
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setSelectionStart):
(WebCore::RenderTextControl::setSelectionEnd):
2010-08-17 Dmitry Titov <dimich@chromium.org>
Reviewed by David Levin.
MessagePort.close() crashes if the owning context was destroyed.
https://bugs.webkit.org/show_bug.cgi?id=43140
Test: fast/events/message-port-context-destroyed.html
* dom/MessagePort.cpp:
(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::start):
(WebCore::MessagePort::close):
(WebCore::MessagePort::contextDestroyed):
Use isEntangled() method to gate various operations on MessagePort. This method also takes into account m_closed bit.
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
(WebCore::ScriptExecutionContext::closeMessagePorts):
* dom/ScriptExecutionContext.h:
Add closeMessagePorts() method that closes message ports at the same moments when other ActiveDOMObjects are stopped.
2010-08-17 Fady Samuel <fsamuel@chromium.org>
Reviewed by David Hyatt.
Updated table cell hit testing and painting to use binary search instead of linear scan.
Improved Table Hit Testing and Painting Performance
https://bugs.webkit.org/show_bug.cgi?id=43933
Tests: fast/table/simple_paint.html
tables/hittesting/filltable-emptycells.html
tables/hittesting/filltable-levels.html
tables/hittesting/filltable-outline.html
tables/hittesting/filltable-rtl.html
tables/hittesting/filltable-stress.html
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paintObject): Dirty rect determined using binary search.
(WebCore::RenderTableSection::nodeAtPoint): Cell hit determined using binary search
2010-08-17 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Only destroy empty anonymous block when it is columns or column span block
in RenderBlock::removeChild.
https://bugs.webkit.org/show_bug.cgi?id=44035
Test: fast/block/basic/empty-anonymous-block-remove-crash.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):
2010-08-17 Darin Fisher <darin@chromium.org>
Reviewed by Darin Adler.
[Chromium] REGRESSION: Incorrect repaint on scrolling with position:fixed elements
https://bugs.webkit.org/show_bug.cgi?id=42949
This is a partial revert of http://trac.webkit.org/changeset/63907
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
(WebCore::FrameView::scrollPositionChanged):
* platform/ScrollView.cpp:
(WebCore::ScrollView::valueChanged):
2010-08-17 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65528.
http://trac.webkit.org/changeset/65528
https://bugs.webkit.org/show_bug.cgi?id=44123
"Broke a bunch of canvas tests on Chrome win/linux."
(Requested by senorblanco on #webkit).
* platform/graphics/skia/BitmapImageSingleFrameSkia.h:
(WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::drawsUsingCopy):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImageSingleFrameSkia::create):
* platform/graphics/skia/NativeImageSkia.cpp:
* platform/graphics/skia/NativeImageSkia.h:
2010-08-17 Martin Robinson <mrobinson@igalia.com>
Reviewed by David Hyatt.
[Cairo] Remove unnecessary full-surface copies from ImageCairo and GraphicsContextCairo
https://bugs.webkit.org/show_bug.cgi?id=44076
No new tests as functionality has not changed.
* GNUmakefile.am: Added GRefPtrCairo to the sources list.
* platform/graphics/cairo/GRefPtrCairo.cpp: Added.
(WTF::refGPtr): Added specializations for cairo_t and cairo_surface_t.
(WTF::derefGPtr):
* platform/graphics/cairo/GRefPtrCairo.h: Added.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::createPlatformShadow): Access the image surface directly
from the ImageBuffer instead of wrapping it in an Image.
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::Image::drawPattern): Create the temporary surface using cairo primitives
instead of through the platform-independent WebCore code.
2010-08-17 Martin Robinson <mrobinson@igalia.com>
[GTK] Clean up WebCore/platform/graphics/gtk/ImageGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=44069
No new tests as functionality has not changed.
* GNUmakefile.am: Add WEBKITGTK_API_VERSION_STRING definition, which
allows WebCore to use this as well.
* platform/graphics/gtk/ImageGtk.cpp:
(getWebKitDataDirectory): Added this helper.
(WebCore::Image::loadPlatformResource): Use GOwnPtr for gchar pointers and
use the new getWebKitDataDirectory helper.
* platform/gtk/GOwnPtrGtk.cpp: Move the GtkIconInfo template specialization to this file.
(WTF::GtkIconInfo): Added this forward declaration.
* platform/gtk/GOwnPtrGtk.h: Declaration for new template specialization.
2010-08-17 Stephen White <senorblanco@chromium.org>
Reviewed by Darin Fisher.
[CHROMIUM] Eliminate a memcpy() from the canvas.drawImage(canvas, ...) path.
This is the Skia followup to Dave Hyatt's patch in r65449.
https://bugs.webkit.org/show_bug.cgi?id=44115
Covered by canvas layout tests.
* platform/graphics/skia/BitmapImageSingleFrameSkia.h:
Add a "copyPixels" argument to the create() static to indicate if
the caller wants the pixels to be copied or ref'ed.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::drawsUsingCopy):
We don't use the always-copy path anymore, so return false.
(WebCore::ImageBuffer::copyImage):
Shouldn't get here anymore, so ASSERT_NOT_REACHED.
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
Create a temporary BitampImageSingleFrameSkia wrapped around the
canvas's bitmap, and draw with it immediately. If drawing to our own
canvas, copy the pixels, otherwise just shallow copy.
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
Make the constructor take an SkBitmap to be wrapped.
(WebCore::BitmapImageSingleFrameSkia::create):
Implement the "copyPixels" flag: if true, do a deep copy, otherwise
do a shallow copy.
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::NativeImageSkia):
* platform/graphics/skia/NativeImageSkia.h:
Implement a new constructor that shallow-copies the given SkBitmap.
2010-08-17 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
Move BlobRegistry interface and implementation to platform/network
https://bugs.webkit.org/show_bug.cgi?id=44116
Also move BlobData and BlobStorageData since they're part of BlobRegistry
implementation.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/network/BlobData.cpp: Renamed from WebCore/platform/BlobData.cpp.
* platform/network/BlobData.h: Renamed from WebCore/platform/BlobData.h.
* platform/network/BlobRegistry.h: Renamed from WebCore/platform/BlobRegistry.h.
* platform/network/BlobRegistryImpl.cpp: Renamed from WebCore/html/BlobRegistryImpl.cpp.
* platform/network/BlobRegistryImpl.h: Renamed from WebCore/html/BlobRegistryImpl.h.
* platform/network/BlobStorageData.h: Renamed from WebCore/html/BlobStorageData.h.
2010-08-17 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Path: Fast approximation of stroke bounding rects
https://bugs.webkit.org/show_bug.cgi?id=44014
In canvas's stroke(), use QPainterPath::controlPointRect() to calculate
a slightly larger bounding rect in a fraction of the time.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::stroke):
2010-08-17 Girish Ramakrishnan <girish@forwardbias.in>
Reviewed by Kenneth Rohde Christiansen.
Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
just Flash 10.
https://bugs.webkit.org/show_bug.cgi?id=44043
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):
2010-08-17 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Change FileStream implementation to prepare for blob resource handling.
https://bugs.webkit.org/show_bug.cgi?id=43985
Change FileStream to support synchronous usage only. All the asychronous
logics are moved to FileStreamProxy. Update the existing FileReader code
to adapt to this change.
* html/FileReader.cpp: Account for FileStreamProxy changes.
(WebCore::FileReader::didStart):
(WebCore::FileReader::didGetSize):
(WebCore::FileReader::didOpen):
(WebCore::FileReader::didRead):
* html/FileReader.h:
* html/FileStream.cpp: Remove m_client and make all calls synchronous only.
(WebCore::FileStream::FileStream):
(WebCore::FileStream::start):
(WebCore::FileStream::stop):
(WebCore::FileStream::getSize):
(WebCore::FileStream::openForRead):
(WebCore::FileStream::openForWrite):
(WebCore::FileStream::close):
(WebCore::FileStream::read):
(WebCore::FileStream::write):
(WebCore::FileStream::truncate):
* html/FileStream.h: Add getSize() and make all calls synchronous by adding return values.
(WebCore::FileStream::create):
* html/FileStreamClient.h: Account for FileStreamProxy changes.
(WebCore::FileStreamClient::didRead):
(WebCore::FileStreamClient::didTruncate):
(WebCore::FileStreamClient::didOpen):
* html/FileStreamProxy.cpp: All the logics to handle asynchronous calls are wrapped here.
(WebCore::FileStreamProxy::FileStreamProxy):
(WebCore::FileStreamProxy::create):
(WebCore::FileStreamProxy::fileThread):
(WebCore::didStart):
(WebCore::FileStreamProxy::startOnFileThread):
(WebCore::FileStreamProxy::stop):
(WebCore::derefProxyOnContext):
(WebCore::FileStreamProxy::stopOnFileThread):
(WebCore::didGetSize):
(WebCore::FileStreamProxy::getSize):
(WebCore::FileStreamProxy::getSizeOnFileThread):
(WebCore::didOpen):
(WebCore::FileStreamProxy::openForRead):
(WebCore::FileStreamProxy::openForReadOnFileThread):
(WebCore::FileStreamProxy::openForWrite):
(WebCore::FileStreamProxy::openForWriteOnFileThread):
(WebCore::FileStreamProxy::close):
(WebCore::FileStreamProxy::closeOnFileThread):
(WebCore::didRead):
(WebCore::FileStreamProxy::read):
(WebCore::FileStreamProxy::readOnFileThread):
(WebCore::didWrite):
(WebCore::FileStreamProxy::write):
(WebCore::FileStreamProxy::writeOnFileThread):
(WebCore::didTruncate):
(WebCore::FileStreamProxy::truncate):
(WebCore::FileStreamProxy::truncateOnFileThread):
* html/FileStreamProxy.h:
* html/FileThreadTask.h: Change all methods to return void since return value is not needed now.
2010-08-17 Dimitri Glazkov <dglazkov@chromium.org>
Returned WebCore.xcodeproj to default settings after http://trac.webkit.org/changeset/65468/trunk/WebCore/WebCore.xcodeproj/project.pbxproj.
* WebCore.xcodeproj/project.pbxproj: Removed developmentRegion = English line.
2010-08-17 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Eric Seidel.
Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
https://bugs.webkit.org/show_bug.cgi?id=43749
Land the actual change that I intended to land in http://trac.webkit.org/changeset/65508.
Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
so the check for shadow tree existence isn't needed.
Gives a small, but consistent win in Dromaeo's DOM Modification test.
* dom/Node.h:
(WebCore::Node::canLazyAttach): Changed to always return true.
2010-08-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Eric Carlson.
Restore intrinsic size of video elements after loading poster
The element might already have the instrinsic size of the video, in
which case we don't want to override it witht that of the image.
* rendering/RenderVideo.cpp: call updateIntrinsicSize() to restore size
2010-08-17 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Steve Block.
Geolocation preemptive permissions policy is buggy
https://bugs.webkit.org/show_bug.cgi?id=42811
While waiting for permission, m_startRequestPermissionNotifier was
used to consider only one pending request. This patch implements a set
m_pendingForPermissionNotifiers to maintain set of pending requests.
When user grants/denies permission all listeners will be notified.
Also fixed issue with hasZeroTimeout() where startTimerIfNeeded() has
to start irrespective of permission state
Tests: fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
* WebCore.pro:
* page/Geolocation.cpp:
(WebCore::Geolocation::startRequest):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::startUpdating):
(WebCore::Geolocation::handlePendingPermissionNotifiers):
* page/Geolocation.h:
2010-08-11 Jeremy Orlow <jorlow@chromium.org>
Beginnings of IndexedDB persistance + IDBDatabase.description fleshed out
https://bugs.webkit.org/show_bug.cgi?id=43744
The beginnings of a SQLite backend for IndexedDB. Right now, only persists
meta-data for the database. The rest is coming in future patches. Adds
a manual test to verify persistance.
Test: storage/indexeddb/database-description.html
+ a manual test
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* manual-tests/indexed-database.html: Added.
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::databaseIdentifier):
* platform/FileSystem.cpp: Added.
(WebCore::):
(WebCore::shouldEscapeUChar):
(WebCore::encodeForFileName):
* platform/FileSystem.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::IDBDatabase):
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::description):
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::extractMetaData):
(WebCore::setMetaData):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::setDescription):
* storage/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::create):
* storage/IDBFactory.h:
* storage/IDBFactory.idl:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
(WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
(WebCore::openSQLiteDatabase):
(WebCore::createTables):
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h:
(WebCore::IDBFactoryBackendImpl::create):
2010-08-17 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Eric Seidel.
Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
https://bugs.webkit.org/show_bug.cgi?id=43749
Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
so the check for shadow tree existence isn't needed.
Gives a small, but consisten win in Dromaeo's DOM Modification test.
* dom/Node.cpp: Removed canLazyAttach declaration.
* dom/Node.h:
(WebCore::Node::canLazyAttach): Changed to always return true.
2010-08-17 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [CRASH] Console formatting crashes after cross-domain navigation.
https://bugs.webkit.org/show_bug.cgi?id=44103
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::injectedScriptFor):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::injectedScriptFor):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
2010-08-17 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: upstream Chromium debugger step tests
https://bugs.webkit.org/show_bug.cgi?id=44106
Tests: inspector/debugger-step-in.html
inspector/debugger-step-out.html
inspector/debugger-step-over.html
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::returnEvent): check that debugger is still attached after continue to ensure
that current call frame is not 0.
2010-08-17 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
Reviewed by David Levin.
Trivial fix removing the self-inclusion of a couple of header files.
Self inclusion in Document.h and RenderTheme.h
https://bugs.webkit.org/show_bug.cgi?id=44065
* dom/Document.h:
* rendering/RenderTheme.h:
2010-08-17 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Move the accelerated compositing build flag to the right place
https://bugs.webkit.org/show_bug.cgi?id=43882
No new tests: build fix.
* WebCore.pro:
2010-08-17 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65500.
http://trac.webkit.org/changeset/65500
https://bugs.webkit.org/show_bug.cgi?id=44108
Qt bots failed to compile. (Requested by loislo on #webkit).
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/copyInspectorFiles.cmd:
* WebCore.xcodeproj/project.pbxproj:
* combine-javascript-resources:
* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/InspectorBackendStub.js: Added.
(WebInspector.InspectorBackendStub):
(WebInspector.InspectorBackendStub.prototype._registerDelegate):
(WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
* inspector/front-end/InspectorBackendStub.qrc: Removed.
* inspector/front-end/WebKit.qrc:
2010-08-17 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: replace hand written InspectorBackendStub.js by generated one.
New command-line flag was added to combine-javascript-resources.
It specifies the location of generated scripts.
https://bugs.webkit.org/show_bug.cgi?id=43791
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* combine-javascript-resources:
* inspector/CodeGeneratorInspector.pm:
* inspector/front-end/InspectorBackendStub.js: Removed.
* inspector/front-end/WebKit.qrc:
2010-08-17 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: get rid of node and scoped object-specific ids.
https://bugs.webkit.org/show_bug.cgi?id=44097
* inspector/front-end/ConsoleView.js:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
* inspector/front-end/EventListenersSidebarPane.js:
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.):
(injectedScriptConstructor):
* inspector/front-end/InjectedScriptAccess.js:
(InjectedScriptAccess):
(InjectedScriptAccess.getForNode):
(InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
(InjectedScriptAccess._installHandler):
* inspector/front-end/PropertiesSidebarPane.js:
(WebInspector.PropertiesSidebarPane.prototype.update):
* inspector/front-end/RemoteObject.js:
(WebInspector.RemoteObjectId):
(WebInspector.RemoteObject.resolveNode):
* inspector/front-end/ScriptsPanel.js:
2010-08-17 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Fix wrapping of core Events in the bindings
https://bugs.webkit.org/show_bug.cgi?id=44095
Return the proper GObject type instead of hardcoding
WebKitDOMEvent for all Event types.
* bindings/gobject/GObjectEventListener.cpp:
(WebCore::GObjectEventListener::handleEvent):
* bindings/gobject/WebKitDOMBinding.cpp:
(WebKit::kit):
2010-08-17 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Revert supposed build-fix which was in fact reverting a previous
build fix which was correct (oh dear).
* GNUmakefile.am:
2010-08-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Add media element support for preload=none
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
* platform/graphics/qt/MediaPlayerPrivateQt.h:
2010-08-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Pre-roll media when loading media elements
This ensures we get correct size-hints from QtMultimedia, as well as
the media states Buffering and Buffered instead of Loading and Loaded,
which we use to transition into MediaPlayer::HaveEnoughData.
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
* platform/graphics/qt/MediaPlayerPrivateQt.h:
2010-08-16 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Fix missing default controls for stand-alone media elements
https://bugs.webkit.org/show_bug.cgi?id=35427
* css/mediaControlsQt.css:
2010-08-17 Ariya Hidayat <ariya@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Reduce the size of the shadow buffer to the clip region
https://bugs.webkit.org/show_bug.cgi?id=44091
Instead of allocating the buffer image (for the blur support) as big
as the rectangle which casts the shadow, we limit the size to the
current clip region.
* platform/graphics/qt/ContextShadow.cpp:
(WebCore::ContextShadow::drawShadowRect):
2010-08-17 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
[GStreamer] media/invalid-media-url-crash.html fails
https://bugs.webkit.org/show_bug.cgi?id=42960
Implemented two ResourceHandleClient callbacks that need to notify
downstream GStreamer elements of errors while accessing the
resource.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::wasBlocked):
(StreamingClient::cannotShowURL):
2010-08-16 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig
Remove unnecessary includes from UString.h, add new includes as necessary.
* dom/ScriptExecutionContext.h:
* loader/appcache/ApplicationCache.cpp:
2010-08-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
CSS: Add fast-path for rgba() color parsing
https://bugs.webkit.org/show_bug.cgi?id=42965
Test: fast/canvas/rgba-parsing.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor): Extended with support for rgba().
(WebCore::parseAlphaValue): Added, parses an alpha value using
WTF::strtod() (if necessary) and clamps between 0 and 1.
(WebCore::isTenthAlpha):
2010-08-16 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
Add idl and mock classes for FileSystem API's {File,Directory}Entry and related interfaces
https://bugs.webkit.org/show_bug.cgi?id=43993
Adding DirectoryEntry, DirectoryReader, EntriesCallback and FileEntry as defined in HTML5 FileSystem API.
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
Also adding Makefile entries for idl and mock classes added in changeset 64414 (except for Android platforms).
Tests will be added when we add underlying implementation.
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* storage/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::root):
* storage/DOMFileSystem.h:
* storage/DOMFileSystem.idl:
* storage/DirectoryEntry.cpp: Added.
* storage/DirectoryEntry.h: Added.
* storage/DirectoryEntry.idl: Added.
* storage/DirectoryReader.cpp: Added.
* storage/DirectoryReader.h: Added.
* storage/DirectoryReader.idl: Added.
* storage/EntriesCallback.h: Added.
* storage/EntriesCallback.idl: Added.
* storage/EntryArray.cpp: Added.
* storage/EntryArray.h: Added.
* storage/EntryArray.idl: Added.
* storage/Entry.cpp:
(WebCore::Entry::Entry):
(WebCore::Entry::getMetadata):
(WebCore::Entry::moveTo):
(WebCore::Entry::copyTo):
(WebCore::Entry::remove):
(WebCore::Entry::getParent):
* storage/Entry.h:
(WebCore::Entry::isFile):
(WebCore::Entry::isDirectory):
* storage/Entry.idl:
* storage/FileEntry.cpp: Added.
* storage/FileEntry.h: Added.
* storage/FileEntry.idl: Added.
2010-08-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Path::closeSubpath() should only close the last subpath if it has >1 point
https://bugs.webkit.org/show_bug.cgi?id=44061
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-closepath
Test: fast/canvas/canvas-closePath-single-point.html
* platform/graphics/Path.h: Add a Qt-only member to track the last subpath.
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::closeSubpath): Only close the last subpath if it
has more than 1 point. Otherwise behave as moveTo(first point in last subpath)
(WebCore::Path::Path):
(WebCore::Path::operator=):
(WebCore::Path::moveTo):
(WebCore::Path::transform):
2010-08-16 Nate Chapin <japhet@chromium.org>
Unreviewed, Chromium mac build fix (with help from jamesr).
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::paint):
2010-08-16 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig
Bug 44080 - String find/reverseFind methods need tidying up
These methods have a couple of problems with their interface, and implementation.
These methods take and int index, and return an int - however this is problematic
since on 64-bit string indices may have a full 32-bit range. This spills out into
surrounding code, which unsafely casts string indices from unsigned to int. Code
checking the result of these methods check for a mix of "== -1", "< 0", and
"== notFound". Clean this up by changing these methods to take an unsigned
starting index, and return a size_t. with a failed match indicated by notFound.
reverseFind also has a special meaning for the starting index argument, in that a
negative index is interpreted as an offset back from the end of the string. Remove
this functionality, in the (1!) case where it is used we should just calculate the
offset by subtracting from the string's length.
The implementation has a few problems too. The code is not in webkit style, in
using assorted abbreviations in variable names, and implementations of similar
find methods with differing argument types were unnecessarily inconsistent. When
find is passed const char* data the string would be handled as latin1 (zero
extended to UTF-16) for all characters but the first; this is sign extended.
Case-insensitive find is broken for unicode strings; the hashing optimization is
not unicode safe, and could result in false negatives.
Unify UString find methods to match String.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::RareData::parseNth):
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::setProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
* dom/Document.cpp:
(WebCore::Document::getImageMap):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::inputText):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input):
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextBox):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertText):
* editing/markup.cpp:
(WebCore::fillContainerFromString):
(WebCore::createFragmentFromText):
* html/File.cpp:
(WebCore::File::Init):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setHost):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseMappedAttribute):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::performSearch):
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::parseAccessControlAllowList):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::parseHeader):
(WebCore::parseHeaders):
* loader/icon/IconFetcher.cpp:
(WebCore::parseIconLink):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::parseModalDialogFeatures):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::createFromDatabaseIdentifier):
* page/UserContentURLPattern.cpp:
(WebCore::UserContentURLPattern::parse):
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::findInRequest):
* platform/ContentType.cpp:
(WebCore::ContentType::parameter):
(WebCore::ContentType::type):
* platform/KURL.cpp:
(WebCore::KURL::lastPathComponent):
(WebCore::KURL::setProtocol):
(WebCore::decodeURLEscapeSequences):
(WebCore::substituteBackslashes):
(WebCore::mimeTypeFromDataURL):
* platform/Length.cpp:
(WebCore::newCoordsArray):
(WebCore::newLengthArray):
* platform/LinkHash.cpp:
(WebCore::findSlashDotDotSlash):
(WebCore::findSlashSlash):
(WebCore::findSlashDotSlash):
(WebCore::cleanPath):
* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForPath):
* platform/SchemeRegistry.cpp:
(WebCore::SchemeRegistry::shouldTreatURLAsLocal):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load):
* platform/mac/DragImageMac.mm:
(WebCore::createDragImageIconForCachedImage):
* platform/network/CredentialStorage.cpp:
(WebCore::protectionSpaceMapKeyFromURL):
(WebCore::findDefaultProtectionSpaceForURL):
* platform/network/HTTPParsers.cpp:
(WebCore::skipWhiteSpace):
(WebCore::skipToken):
(WebCore::parseHTTPRefresh):
(WebCore::filenameFromHTTPContentDisposition):
(WebCore::findCharsetInMediaType):
(WebCore::parseXSSProtectionHeader):
(WebCore::extractReasonPhraseFromHTTPStatusLine):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::isAttachment):
(WebCore::parseCacheHeader):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::updateWidget):
* storage/Entry.cpp:
(WebCore::Entry::Entry):
* svg/SVGFont.cpp:
(WebCore::isCompatibleGlyph):
* svg/SVGURIReference.cpp:
(WebCore::SVGURIReference::getTarget):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseClockValue):
(WebCore::SVGSMILElement::parseCondition):
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunSubstringBefore::evaluate):
(WebCore::XPath::FunSubstringAfter::evaluate):
(WebCore::XPath::FunTranslate::evaluate):
(WebCore::XPath::FunLang::evaluate):
* xml/XPathParser.cpp:
(WebCore::XPath::Parser::expandQName):
2010-08-16 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
REGRESSION(r65208): editing/pasteboard/smart-paste-003.html and smart-paste-004.html crash on Windows Chromium
https://bugs.webkit.org/show_bug.cgi?id=44070
The crash was caused by start or end node being removed in pushDownInlineStyleAroundNode.
It made start and end orphaned, and caused s.node() to be detached from the document.
Fixed the crash by using nodes passed to pushDownInlineStyleAroundNode for start and end if the original
start and end are orphaned because pushDownInlineStyleAroundNode won't prune targetNode.
Test: editing/pasteboard/smart-paste-003-trailing-whitespace.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyle):
2010-08-16 James Robinson <jamesr@chromium.org>
Compile fix. Remove ANGLEWebKitBridge classes from Chromium build. They are unused.
* WebCore.gypi:
2010-08-16 Vincent Scheib <scheib@chromium.org>
Reviewed by Dimitri Glazkov.
Canvas2D does not support images larger than system's GPU max texture size
https://bugs.webkit.org/show_bug.cgi?id=43864
A new class "TilingData" has been created that provides logic for
splitting a large image into a series of smaller tiles.
GLES2Texture and CLES2Canvas are modified to use the TilingData to
split images on texture upload and render one logical image as many smaller
images.
TilingData is tested via unit tests in WebKit/chromium/tests/TilingDataTest.cpp
* WebCore.gypi:
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::drawTexturedRect):
(WebCore::GLES2Canvas::drawTexturedRectTile):
* platform/graphics/chromium/GLES2Canvas.h:
* platform/graphics/chromium/GLES2Texture.cpp:
(WebCore::GLES2Texture::GLES2Texture):
(WebCore::GLES2Texture::~GLES2Texture):
(WebCore::GLES2Texture::create):
(WebCore::copySubRect):
(WebCore::GLES2Texture::load):
(WebCore::GLES2Texture::bindTile):
* platform/graphics/chromium/GLES2Texture.h:
(WebCore::GLES2Texture::tiles):
* platform/graphics/chromium/TilingData.cpp: Added.
(WebCore::computeNumTiles):
(WebCore::TilingData::TilingData):
(WebCore::TilingData::tileXIndexFromSrcCoord):
(WebCore::TilingData::tileYIndexFromSrcCoord):
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileBoundsWithBorder):
(WebCore::TilingData::tileBoundsNormalized):
(WebCore::TilingData::tilePositionX):
(WebCore::TilingData::tilePositionY):
(WebCore::TilingData::tileSizeX):
(WebCore::TilingData::tileSizeY):
(WebCore::TilingData::overlappedTileIndices):
(WebCore::TilingData::intersectDrawQuad):
* platform/graphics/chromium/TilingData.h: Added.
(WebCore::TilingData::maxTextureSize):
(WebCore::TilingData::totalSizeX):
(WebCore::TilingData::totalSizeY):
(WebCore::TilingData::numTiles):
(WebCore::TilingData::numTilesX):
(WebCore::TilingData::numTilesY):
(WebCore::TilingData::tileIndex):
(WebCore::TilingData::tileXIndex):
(WebCore::TilingData::tileYIndex):
(WebCore::TilingData::TilingData):
(WebCore::TilingData::assertTile):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
2010-08-16 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=43507, stop ImageBuffer from copying its data when rendering after canvas changes happen.
This patch renames ImageBuffer::image() to ImageBuffer::copyImage(). The new method always returns a new copy that is a current
snapshot of the ImageBuffer.
To draw an ImageBuffer, you now use new GraphicsContext calls: drawImageBuffer. Platforms can then optimize these calls to draw
efficiently without having to copy the bits of the ImageBuffer into an Image.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::image):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::willDraw):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::setSurfaceSize):
(WebCore::HTMLCanvasElement::copiedImage):
(WebCore::HTMLCanvasElement::clearCopiedImage):
* html/HTMLCanvasElement.h:
* html/canvas/CanvasPattern.cpp:
(WebCore::CanvasPattern::CanvasPattern):
* html/canvas/CanvasPattern.h:
(WebCore::CanvasPattern::create):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::createPattern):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContext::reshape):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2D):
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
* platform/graphics/GeneratedImage.cpp:
(WebCore::GeneratedImage::drawPattern):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::clipToImageBuffer):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
* platform/graphics/Image.h:
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::width):
(WebCore::ImageBuffer::height):
* platform/graphics/Pattern.cpp:
(WebCore::Pattern::Pattern):
* platform/graphics/Pattern.h:
(WebCore::Pattern::create):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::drawsUsingCopy):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::drawsUsingCopy):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
(WebCore::ImageBuffer::clip):
* platform/graphics/cg/ImageBufferData.h:
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::apply):
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::apply):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::apply):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::apply):
* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/qt/ImageBufferData.h:
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBufferData::ImageBufferData):
(WebCore::ImageBuffer::drawsUsingCopy):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
(WebCore::ImageBuffer::clip):
* platform/graphics/skia/GraphicsContextSkia.cpp:
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::drawsUsingCopy):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::clip):
(WebCore::):
* platform/graphics/wx/GraphicsContextWx.cpp:
* platform/graphics/wx/ImageBufferWx.cpp:
(WebCore::ImageBuffer::drawsUsingCopy):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::paint):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::clipToTextMask):
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::build):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::nativeImageForCurrentFrame):
* svg/graphics/SVGImage.h:
* svg/graphics/filters/SVGFEMerge.cpp:
(WebCore::FEMerge::apply):
* svg/graphics/filters/SVGFEOffset.cpp:
(WebCore::FEOffset::apply):
* svg/graphics/filters/SVGFETile.cpp:
(WebCore::FETile::apply):
2010-08-16 Paul Sawaya <psawaya@apple.com>
Reviewed by Chris Marrin.
Added shader validation via ANGLE
https://bugs.webkit.org/show_bug.cgi?id=42405
Added validation to WebGL via ANGLE
* Configurations/WebCore.xcconfig:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ANGLEWebKitBridge.cpp: Added.
(WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
(WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
(WebCore::ANGLEWebKitBridge::validateShaderSource):
* platform/graphics/ANGLEWebKitBridge.h: Added.
(WebCore::):
(WebCore::ANGLEWebKitBridge::setResources):
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
2010-08-16 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix, do not build WebCore as a convenience library as this leads to
errors in the Win build w/export symbols and causes problems with DOM bindings
debugging in gdb.
* wscript: Removed.
2010-08-16 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Adam Roben.
Current implementation of WebCore post-build step on windows platform is error prone.
It would be better to extract the script into external file.
https://bugs.webkit.org/show_bug.cgi?id=44058
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/copyForwardingHeaders.cmd: Added.
* WebCore.vcproj/copyInspectorFiles.cmd: Added.
2010-08-16 Kevin Ollivier <kevino@theolliviers.com>
[wx] Fix typo in previous build fix.
* platform/graphics/WOFFFileFormat.cpp:
2010-08-16 Alex Milowski <alex@milowski.com>
Reviewed by David Levin.
Added the configuration of the MathML related files.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
2010-08-16 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: fix Leopard Release inspector tests.
* inspector/front-end/inspector.js:
2010-08-16 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Implements IDBKeyPath extractor.
https://bugs.webkit.org/show_bug.cgi?id=43276
Unit-test IDBKeyPathExtractorTest.cpp.
LayoutTests will arrive as IndexedDB infrastructure is fleshed out.
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::getValueFrom):
(WebCore::createIDBKeyFromSerializedValueAndKeyPath):
* bindings/v8/IDBBindingUtilities.h:
2010-08-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Kenneth Rohde Christiansen and Martin Robinson.
[GTK] GTK+ drawing idle starved
https://bugs.webkit.org/show_bug.cgi?id=43994
Tune down the priority of the shared timers to guarantee GTK+ has
an opportunity to redraw.
* platform/gtk/SharedTimerGtk.cpp:
(WebCore::setSharedTimerFireTime):
2010-08-16 Leandro Pereira <leandro@profusion.mobi>
[EFL] Build fix after r65366.
EFL port does not support automated tests yet.
* CMakeLists.txt: Use if (VAR) instead of if (${VAR}) to check if
they're empty.
2010-08-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Make InjectedScript proto-based.
https://bugs.webkit.org/show_bug.cgi?id=44028
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
(injectedScriptConstructor.):
2010-08-16 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Adam Roben.
Fix warning in WebCore/plugins/win/PluginPackageWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=43920
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::fetchInfo):
2010-08-16 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Touch inspector file to force frontend deployment.
* inspector/InspectorController.cpp:
2010-08-16 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix for non-Win ports on Windows.
* platform/graphics/WOFFFileFormat.cpp:
2010-08-16 Adam Langley <agl@chromium.org>
Reviewed by Tony Chang.
[chromium] Improve spacing support for complex text on Linux
https://bugs.webkit.org/show_bug.cgi?id=39014
Previously, our complex text support ignored word-spacing,
justification and letter-spacing. This fixes the first two issues and
allows us to render Scribd's HTML5 documents much better.
Test: fast/text/atsui-spacing-features.html
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::setWordSpacingAdjustment):
(WebCore::TextRunWalker::setLetterSpacingAdjustment):
(WebCore::TextRunWalker::setPadding):
(WebCore::TextRunWalker::setGlyphXPositions):
(WebCore::TextRunWalker::isCodepointSpace):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
2010-08-16 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
Fix warnings: unknown conversion type character 'l' in format
https://bugs.webkit.org/show_bug.cgi?id=43359
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::performURLImport): Replace %zu with %lu, because Windows doesn't understand z modifier.
(WebCore::IconDatabase::pruneUnretainedIcons): Use %I64i intsead of %lli on Windows.
* platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
(WebCore::MediaPlayerPrivate::totalTimeChanged): Use %I64d intsead of %lld on Windows.
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::setMaximumSize): Use %I64i intsead of %lli on Windows.
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::setQuota): Use %I64u intsead of %llu on Windows.
2010-08-16 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
Fix warnings: unknown conversion type character 'l' in format
https://bugs.webkit.org/show_bug.cgi?id=43359
* loader/FTPDirectoryParser.cpp: Use %I64u format specifier instead of %llu on Windows.
(WebCore::parseOneFTPLine):
2010-08-16 Ariya Hidayat <ariya@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Shadow blur for rectangle fill
https://bugs.webkit.org/show_bug.cgi?id=44025
The blur implementation follows the approximation of Gaussian blur
with three successive box blurs, working on the alpha channel only.
(see http://www.w3.org/TR/SVG/filters.html#feGaussianBlur).
* WebCore.pro: Refer to ContexShadow.* files.
* platform/graphics/qt/ContextShadow.cpp: Added.
(WebCore::ContextShadow::ContextShadow):
(WebCore::ContextShadow::clear):
(WebCore::blurHorizontal): Box blurs in horizontal direction, working
on QImage (in-place).
(WebCore::shadowBlur): Main blur function which just calls the
above blurHorizontal function twice, once with transposed image
(equivalent as it would have done vertical box blurs).
(WebCore::ContextShadow::drawShadowRect):
* platform/graphics/qt/ContextShadow.h: Added.
(WebCore::ContextShadow::):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::hasShadow):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::fillRect): Use ContextShadow for the shadow.
(WebCore::GraphicsContext::setPlatformShadow):
2010-08-16 Andras Becsi <abecsi@webkit.org>
Rubber-stamped by Gustavo Noronha Silva.
[GTK] Build fix for MathML code generation.
No new tests needed.
* GNUmakefile.am:
2010-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65414.
http://trac.webkit.org/changeset/65414
https://bugs.webkit.org/show_bug.cgi?id=44055
GTL & QT tests failing. (Requested by pfeldman on #webkit).
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
(injectedScriptConstructor.):
2010-08-16 Ariya Hidayat <ariya@sencha.com>
Reviewed by Antonio Gomes.
[Qt] Save and restore shadow state in GraphicsContextQt
https://bugs.webkit.org/show_bug.cgi?id=44031
This is needed after r65362.
Use a new class ContextShadowParameter to track and keep the shadow
state. We use this rather than using GraphicsContextState to allow
possible optimizations (right now only to determine the shadow type,
but in future it might cover things like cached scratch image,
persistent shader, etc).
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::ContextShadowParameter::):
(WebCore::ContextShadowParameter::ContextShadowParameter):
(WebCore::ContextShadowParameter::clear):
(WebCore::GraphicsContextPlatformPrivate::hasShadow):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::clearPlatformShadow):
2010-07-28 Marcus Bulach <bulach@chromium.org>
Reviewed by Adam Barth.
Implement IDBKeyPath parser.
https://bugs.webkit.org/show_bug.cgi?id=42976
IDBKeyPath is an internal class, exposed only for unit tests for now.
It'll allow indexed database implementation to traverse a given key path and obtain the corresponding properties
from a SerializedScriptValue.
* WebCore.gypi:
* storage/IDBKeyPath.cpp: Added.
(WebCore::IDBKeyPath::create):
(WebCore::IDBKeyPath::IDBKeyPath):
(WebCore::IDBKeyPath::~IDBKeyPath):
(WebCore::IDBKeyPath::hasNext):
(WebCore::IDBKeyPath::next):
(WebCore::IDBKeyPath::identifier):
(WebCore::IDBKeyPath::hasIndex):
(WebCore::IDBKeyPath::indexValue):
(WebCore::IDBKeyPath::parserError):
(WebCore::IDBKeyPath::parse):
(WebCore::IDBKeyPath::Lexer::lex):
(WebCore::isSafeIdentifierStartCharacter):
(WebCore::isSafeIdentifierCharacter):
(WebCore::IDBKeyPath::Lexer::lexIdentifier):
(WebCore::IDBKeyPath::Lexer::lexNumber):
* storage/IDBKeyPath.h: Added.
(WebCore::IDBKeyPath::Token::Token):
(WebCore::IDBKeyPath::):
(WebCore::IDBKeyPath::Lexer::Lexer):
(WebCore::IDBKeyPath::Lexer::next):
(WebCore::IDBKeyPath::Lexer::currentToken):
2010-08-13 Steve Block <steveblock@google.com>
Reviewed by Alexey Proskuryakov.
Geolocation requests in progress when the frame is disconnected should invoke the error callback
https://bugs.webkit.org/show_bug.cgi?id=43974
If requests are ongoing when the Frame is disconnected, we abort them with a fatal error.
To do this, when Geolocation::disconnectFrame() is called we call cancelAllRequests() to
set a fatal error on all ongoing requests. Once the requests have made their error
callbacks, they are deleted. Note that we check at callback time that the script
execution context for the callback is still valid, so it's safe to attempt these
callbacks even after the Geolocation object's Frame has gone.
This requires a change to allow multiple calls to GeoNotifier::setFatalError().
For repeated calls, we do not replace the existing error. This ensures that when
permission has been denied and the frame is then disconnected, the error callback
reports the permission error, as required by the spec.
Tests: fast/dom/Geolocation/disconnected-frame.html
fast/dom/Geolocation/disconnected-frame-permission-denied.html
* page/Geolocation.cpp:
(WebCore::Geolocation::GeoNotifier::setFatalError):
(WebCore::Geolocation::disconnectFrame):
(WebCore::Geolocation::startRequest):
(WebCore::Geolocation::cancelAllRequests):
* page/Geolocation.h:
2010-08-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: upstream frontend-side WebSocket transport.
https://bugs.webkit.org/show_bug.cgi?id=43970
Chromium already has an alternate WebSocket-based communication channel with
the backend. Upstreaming it in this change. We will agree on the URI
of the remote service as the protocol matures.
* inspector/front-end/inspector.js:
(.WebInspector.socket.onmessage):
(.WebInspector.socket.onerror):
(.WebInspector.socket.onopen):
(WebInspector.loaded):
(WebInspector.doLoadedDone):
(WebInspector_syncDispatch):
2010-08-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Make InjectedScript proto-based.
https://bugs.webkit.org/show_bug.cgi?id=44028
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
(injectedScriptConstructor.):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
2010-08-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: [REGRESSION] console's clear command does not work.
https://bugs.webkit.org/show_bug.cgi?id=44027
Test: inspector/console-command-clear.html
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
* inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::clearConsoleMessages):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.requestClearMessages):
* inspector/front-end/inspector.js:
(WebInspector.consoleMessagesCleared):
2010-08-16 Jeremy Orlow <jorlow@chromium.org>
Ugh, the #if ENABLE() was supposed to be added to Settings not GroupSettings.
* page/GroupSettings.cpp:
(WebCore::GroupSettings::GroupSettings):
(WebCore::GroupSettings::setLocalStorageQuotaBytes):
* page/GroupSettings.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
2010-08-16 Jeremy Orlow <jorlow@chromium.org>
Last build fix?
* page/PageGroup.cpp:
(WebCore::PageGroup::PageGroup):
2010-08-16 Jeremy Orlow <jorlow@chromium.org>
Ugh...another build fix.
* page/GroupSettings.cpp:
(WebCore::GroupSettings::GroupSettings):
* page/GroupSettings.h:
2010-08-16 Jeremy Orlow <jorlow@chromium.org>
Build fix.
* GNUmakefile.am:
2010-08-16 Jeremy Orlow <jorlow@chromium.org>
Build fix.
* page/PageGroup.cpp:
(WebCore::PageGroup::localStorage):
2010-08-13 Jeremy Orlow <jorlow@chromium.org>
Some settings are linked to the PageGroup not the Page. Create a new class for those.
https://bugs.webkit.org/show_bug.cgi?id=43794
Since persistient storage is shared between pages, there's no way to modify
some settings related to it on a per page basis. As such, it's not technically
correct for these settings to be on the Page's settings. Create a new class
called GroupSettings, move group-wide local storage setting there (the other we
can't), and add a new setting for IndexedDB's path (which is prompting this change).
No behavior has changed, so no tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/GroupSettings.cpp: Added.
(WebCore::GroupSettings::GroupSettings):
(WebCore::GroupSettings::setLocalStorageQuotaBytes):
(WebCore::GroupSettings::setLocalStorageDatabasePath):
(WebCore::GroupSettings::setIndexedDBDatabasePath):
* page/GroupSettings.h: Added.
(WebCore::GroupSettings::create):
(WebCore::GroupSettings::localStorageQuotaBytes):
(WebCore::GroupSettings::localStorageDatabasePath):
(WebCore::GroupSettings::indexedDBDatabasePath):
* page/PageGroup.cpp:
(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::localStorage):
* page/PageGroup.h:
(WebCore::PageGroup::groupSettings):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setSessionStorageQuota):
* page/Settings.h:
2010-08-16 Adam Barth <abarth@webkit.org>
Reviewed by Alexey Proskuryakov.
HTML5 fragment parsing doesn't load iframes
https://bugs.webkit.org/show_bug.cgi?id=44038
Previously, this code assumed that every source iframe was actually
attached to a render tree. It tried to "keep the iframe alive" as it
moved documents. However, if the iframe wasn't attached to begin with,
it was never "alive," so trying to keep a dead iframe alive lead to a
... zombie iframe.
Test: fast/frames/adopt-from-created-document.html
* dom/Document.cpp:
(WebCore::Document::adoptNode):
2010-08-13 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
https://bugs.webkit.org/show_bug.cgi?id=43778
Dropping should fire textInput event
This change:
- added TextEvent::m_isDrop to distinguish drop-initiated events.
- added to dispatch TextEvent from DragController before making a side effect
and cancel the side effect if the event prevents default
Tests: editing/pasteboard/drop-text-events-sideeffect.html
editing/pasteboard/drop-text-events.html
* dom/TextEvent.cpp:
(WebCore::TextEvent::createForDrop): Added.
(WebCore::TextEvent::TextEvent):
* dom/TextEvent.h:
(WebCore::TextEvent::isDrop): Added.
* editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::findEventTargetFrom): Extracted from findEventTargetFromSelection().
(WebCore::Editor::findEventTargetFromSelection):
* editing/Editor.h:
* page/DragController.cpp:
(WebCore::DragController::dispatchTextInputEventFor): Added.
(WebCore::DragController::concludeEditDrag): Added an event dispatch path.
* page/DragController.h:
2010-08-15 Ariya Hidayat <ariya@sencha.com>
Unreviewed, rolling out r65393.
http://trac.webkit.org/changeset/65393
https://bugs.webkit.org/show_bug.cgi?id=44031
Breaks some canvas tests.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::):
(WebCore::GraphicsContextPlatformPrivate::hasShadow):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::clearPlatformShadow):
2010-08-15 Ariya Hidayat <ariya@sencha.com>
Reviewed by Antonio Gomes.
[Qt] Save and restore shadow state in GraphicsContextQt
https://bugs.webkit.org/show_bug.cgi?id=44031
This is needed after r65362.
Use a new class ContextShadowParameter to track and keep the shadow
state. We use this rather than using GraphicsContextState to allow
possible optimizations (right now only to determine the shadow type,
but in future it might cover things like cached scratch image,
persistent shader, etc).
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::ContextShadowParameter::):
(WebCore::ContextShadowParameter::ContextShadowParameter):
(WebCore::ContextShadowParameter::clear):
(WebCore::GraphicsContextPlatformPrivate::hasShadow):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::clearPlatformShadow):
2010-08-15 Ariya Hidayat <ariya@sencha.com>
Reviewed by Antonio Gomes.
[Qt] Border should not cast shadows
https://bugs.webkit.org/show_bug.cgi?id=44015
Shadows should be not casted except for brush fill (which is not what
drawLine and drawRect are supposed to do).
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawRect): Remove shadow painting,
(WebCore::GraphicsContext::drawLine): ditto.
2010-08-15 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Antonio Gomes.
[EFL] Build error on r65378
https://bugs.webkit.org/show_bug.cgi?id=44019
Change build script for HTMLEntityNames.json instead of HTMLEntityNames.gperf
* CMakeLists.txt:
2010-08-15 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix, add missing header.
* platform/graphics/WOFFFileFormat.cpp:
2010-08-15 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix, don't build PluginDataNone.cpp even on GTK as PluginDataWx.cpp compiles.
* wscript:
2010-08-15 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
document.write() doesn't flush plain text
https://bugs.webkit.org/show_bug.cgi?id=8961
Originally I thought we should buffer the character tokens until we've
reached the end of the input stream, but that's not how the spec
handles things (it emits the character tokens one-by-one).
Tests: fast/tokenizer/flush-characters-in-document-write-evil.html
fast/tokenizer/flush-characters-in-document-write.html
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::emitEndOfFile):
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::haveBufferedCharacterToken):
- Renamed this function now that it's simplier.
* html/HTMLTokenizer.h:
2010-08-15 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Don't try to replace a non-existent document after executing JavaScript URLs
https://bugs.webkit.org/show_bug.cgi?id=44024
Synchronous JavaScript execution is evil. Previously, the frame was
deleted after executing the JavaScript URL, so we'd get confused when
we tried to replace its document.
Test: fast/frames/javascript-url-for-deleted-frame.html
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeIfJavaScriptURL):
2010-08-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65374.
http://trac.webkit.org/changeset/65374
https://bugs.webkit.org/show_bug.cgi?id=44018
broke a myriad of svg tests (Requested by kling on #webkit).
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::strokeBoundingRect):
2010-08-14 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
XSLTProcessor.transformToFragment should not pass contextElement to html/xml document parsers
https://bugs.webkit.org/show_bug.cgi?id=44017
This fixes two tests which otherwise would fail when the
HTML5 TreeBuilder is enabled for fragment parsing.
This revealed a bug in HTMLTreeBuilder() which I fixed as well.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
* xml/XSLTProcessor.cpp:
(WebCore::createFragmentFromSource):
2010-08-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Path: Fast approximation of stroke bounding rects
https://bugs.webkit.org/show_bug.cgi?id=44014
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::strokeBoundingRect): Use QPainterPath::controlPointRect()
to calculate a slightly larger bounding rect in a fraction of the time.
2010-08-14 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move innerHTML off of Range::createContextualFragment
https://bugs.webkit.org/show_bug.cgi?id=44011
This makes all the editing tests stop failing under the
HTML5 TreeBuilder.
In a previous patch Adam disabled some of the (wrong) code
in createContextualFragment when in html5 treebuilder mode.
The problem is that the editing code depends on
createContextualFragment (as well as the Range DOM API),
so we have to leave this code in until we can figure
out if it's right or wrong behavior for the Range API.
This patch moves innerHTML/outerHTML off of using
createContextualFragment and instead calls
DocumentFragment::parseHTML directly (which is much simpler).
I expect Adam and I will end up turning on the HTML5 TreeBuilder
in the next couple days, and most of the if branches I added
here will go away for good.
I renamed Element::createContextualFragment to
deprecatedCreateContextualFragment, to indicate that it's a
dead API. The editing code should move off of it and consider
using DocumentFragment::parseHTML instead.
* dom/Element.cpp:
(WebCore::Element::deprecatedCreateContextualFragment):
* dom/Element.h:
* dom/Range.cpp:
(WebCore::Range::createContextualFragment):
* editing/markup.cpp:
(WebCore::createFragmentFromMarkup):
* html/HTMLElement.cpp:
(WebCore::useLegacyTreeBuilder):
(WebCore::HTMLElement::deprecatedCreateContextualFragment):
(WebCore::HTMLElement::setInnerHTML):
(WebCore::HTMLElement::setOuterHTML):
* html/HTMLElement.h:
2010-08-14 Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Fix compilation with QT_NO_LINEEDIT
https://bugs.webkit.org/show_bug.cgi?id=38324
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
2010-08-14 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dirk Schulze.
IE SVG empty path test fails
https://bugs.webkit.org/show_bug.cgi?id=44008
Change createLine to allow creating zero-length lines. This makes it possible
to have markers and line-caps applied to zero-length lines.
Test: svg/custom/marker-empty-path.svg
* platform/graphics/Path.cpp:
(WebCore::Path::createLine):
2010-08-14 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kenneth Rohde Christiansen.
[CMake] Move SQL files into a IF (ENABLE_DATABASE) section
https://bugs.webkit.org/show_bug.cgi?id=43979
* CMakeLists.txt:
2010-08-14 Matthew Delaney <mdelaney@apple.com>
Reviewed by Kenneth Rohde Christiansen.
Canvas is not reset when setting canvas.width
https://bugs.webkit.org/show_bug.cgi?id=43341
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::reset): Moved the call to
hasCreatedImageBuffer up *before* the call to setSurface since setSurface
sets hasCreatedImageBuffer to false every time.
2010-08-14 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kenneth Rohde Christiansen.
[CMake] Set target properties only if available
https://bugs.webkit.org/show_bug.cgi?id=43978
* CMakeLists.txt:
2010-08-14 Dirk Schulze <krit@webkit.org>
Unreviewed sort of Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-08-14 Ariya Hidayat <ariya@sencha.com>
Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
[Qt] Refactor shadow state handling in GraphicsContextQt
https://bugs.webkit.org/show_bug.cgi?id=44006
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
member variables.
(WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
function to check whether there is shadow or not.
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::drawRect): Use shadow states instead of
calling getShadow.
(WebCore::GraphicsContext::drawLine): ditto.
(WebCore::GraphicsContext::strokeArc): ditto.
(WebCore::GraphicsContext::drawConvexPolygon): ditto.
(WebCore::GraphicsContext::fillPath): ditto.
(WebCore::GraphicsContext::strokePath): ditto.
(WebCore::GraphicsContext::fillRect): Removes the use of helper function
drawBorderlessRectShadow as the code already becomes a lot simpler.
(WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
function drawFilledShadowPath as the code already becomes a lot simpler.
(WebCore::GraphicsContext::setPlatformShadow): Store shadow states
and find out the shadow type (complexity) for future use.
(WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
2010-08-13 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename some concepts in HTML entity search to be more self-documenting
https://bugs.webkit.org/show_bug.cgi?id=44004
Start and end are now first and last, which lets us use some better
names for the statics in HTMLEntityTable.
* html/HTMLEntityParser.cpp:
(WebCore::consumeHTMLEntity):
* html/HTMLEntitySearch.cpp:
(WebCore::HTMLEntitySearch::HTMLEntitySearch):
(WebCore::HTMLEntitySearch::findFirst):
(WebCore::HTMLEntitySearch::findLast):
(WebCore::HTMLEntitySearch::advance):
* html/HTMLEntitySearch.h:
(WebCore::HTMLEntitySearch::isEntityPrefix):
(WebCore::HTMLEntitySearch::mostRecentMatch):
(WebCore::HTMLEntitySearch::fail):
* html/HTMLEntityTable.h:
2010-08-13 Adam Barth <abarth@webkit.org>
Fix ASSERT in XML entity parsing. You can't advance the entity search
if you've already discovered that your string is not an entity.
* html/HTMLEntityParser.cpp:
(WebCore::decodeNamedEntity):
2010-08-13 Eric Seidel <eric@webkit.org>
Unreviewed. Attempt at fixing Chromium build.
Add support for MathML entities
https://bugs.webkit.org/show_bug.cgi?id=43949
* WebCore.gyp/WebCore.gyp:
- I have no clue if this is right or not.
2010-08-13 Eric Seidel <eric@webkit.org>
Unreviewed. Attempted build fix for Windows.
Add support for MathML entities
https://bugs.webkit.org/show_bug.cgi?id=43949
* DerivedSources.cpp:
- Add HTMLEntityTable.cpp
2010-08-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add support for MathML entities
https://bugs.webkit.org/show_bug.cgi?id=43949
Implementing the HTML5 entity parsing algorithm require refactoring how
we search for entity names. Instead of using a perfect hash, we now
use a sorted list. As we advance through the input, we walk down a
binary search of the table looking for an entity.
Using this data structure lets us keep track of whether the current
string is a prefix of an existing entity, which we need for the
algorithm. In a future patch, I plan to add some indices to the
table, which should let us narrow down the range of interesting entries
more quickly.
The one nasty piece of the algorithm is if we walk too far down the
input and we need to back up to a previous match. In this patch, we
accomplish this by rewinding the input and consuming a known number of
characters to resync the source.
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLEntityParser.cpp:
(WebCore::consumeHTMLEntity):
* html/HTMLEntitySearch.cpp: Added.
(WebCore::):
(WebCore::HTMLEntitySearch::HTMLEntitySearch):
(WebCore::HTMLEntitySearch::compare):
(WebCore::HTMLEntitySearch::findStart):
(WebCore::HTMLEntitySearch::findEnd):
(WebCore::HTMLEntitySearch::advance):
* html/HTMLEntitySearch.h: Added.
(WebCore::HTMLEntitySearch::isEntityPrefix):
(WebCore::HTMLEntitySearch::currentValue):
(WebCore::HTMLEntitySearch::lastMatch):
(WebCore::HTMLEntitySearch::):
(WebCore::HTMLEntitySearch::fail):
* html/HTMLEntityTable.h: Added.
(WebCore::HTMLEntityTableEntry::lastCharacter):
2010-08-13 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Refactor HTMLScriptRunner to allow deferred scripts to share code
https://bugs.webkit.org/show_bug.cgi?id=43736
No new tests because no functional change
* html/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::sourceFromPendingScript): Make const to enforce the idea that it doesn't change m_parsingBlockingScript.
(WebCore::HTMLScriptRunner::executeParsingBlockingScript): Rename to make it clear this deals with the parsing blocking script and refactor to use executePendingScriptAndDispatchEvent.
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Factored out of executePendingScript, this can be used for executing any external script.
(WebCore::HTMLScriptRunner::executeScript): This can be used for executing any inline or external script. ASSERTs moved to the two calling points.
(WebCore::HTMLScriptRunner::executeParsingBlockingScripts): Moved method.
(WebCore::HTMLScriptRunner::requestParsingBlockingScript): Factored out requestPendingScript.
(WebCore::HTMLScriptRunner::requestPendingScript): Factored out from reqeustParsingBlockingScript.
(WebCore::HTMLScriptRunner::runScript):
* html/HTMLScriptRunner.h:
2010-08-13 Gavin Barraclough <barraclough@apple.com>
Windows build fix.
* WebCore.xcodeproj/project.pbxproj:
* platform/win/SharedBufferWin.cpp:
2010-08-13 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig.
Switch String::/UString::ascii() to return a CString.
* WebCore.xcodeproj/project.pbxproj:
* bridge/c/c_class.cpp:
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):
* bridge/jni/jsc/JNIBridgeJSC.cpp:
(JavaField::valueFromInstance):
(JavaField::setValueToInstance):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* bridge/objc/objc_class.mm:
(JSC::Bindings::ObjcClass::methodsNamed):
(JSC::Bindings::ObjcClass::fieldNamed):
* bridge/objc/objc_instance.mm:
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):
* loader/icon/IconRecord.cpp:
* platform/sql/SQLiteDatabase.cpp:
* platform/sql/SQLiteStatement.cpp:
* storage/SQLStatement.cpp:
2010-08-13 Mihai Parparita <mihaip@chromium.org>
Reviewed by Dimitri Glazkov.
Session history should skip over JS redirects
https://bugs.webkit.org/show_bug.cgi?id=42861
Lock the back/forward list for location changes and form submits that
happen before the onload event fires that are not the result of user
gestures.
Made form submission (at the ScheduledFormSubmission level) more similar
to ScheduledURLNavigation by having it call clientRedirected too, fixing
a long-standing FIXME.
Test: fast/history/gesture-before-onload-location-href.html,
fast/history/gesture-before-onload-form-submit.html and updated
expectations for http/tests/history tests that used to fail.
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::requestURL):
(WebCore::FormSubmission::populateFrameLoadRequest):
* loader/FormSubmission.h:
* loader/RedirectScheduler.cpp:
(WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
(WebCore::ScheduledFormSubmission::fire):
(WebCore::ScheduledFormSubmission::didStartTimer):
(WebCore::ScheduledFormSubmission::didStopTimer):
(WebCore::RedirectScheduler::scheduleRedirect):
(WebCore::RedirectScheduler::mustLockBackForwardList):
(WebCore::RedirectScheduler::scheduleLocationChange):
(WebCore::RedirectScheduler::scheduleFormSubmission):
* loader/RedirectScheduler.h:
2010-08-13 Leandro Pereira <leandro@profusion.mobi>
[EFL] Unreviewed build fix.
These changes were supposed to be landed on r65319, but due to some
svn-apply/commit-queue bug it wasn't fully applied. A bug was filed
by Patrick Gansterer (author of the changes in this commit):
https://bugs.webkit.org/show_bug.cgi?id=43981
* CMakeLists.txt: Update calls to GENERATE_GPERF and
GENERATE_GRAMMAR macros.
2010-08-13 Chris Fleizach <cfleizach@apple.com>
AX: isNativeCheckbox does not work as advertised
https://bugs.webkit.org/show_bug.cgi?id=43872
Re-adding this patch after it was erroneously rolled out.
Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isInputImage):
(WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
* dom/InputElement.h:
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isCheckbox):
2010-08-13 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65331.
http://trac.webkit.org/changeset/65331
https://bugs.webkit.org/show_bug.cgi?id=43980
This patch breaks some shadow tests on Qt Linux release
(Requested by ariya on #webkit).
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::drawFilledShadowPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::clearPlatformShadow):
2010-08-13 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Update run-bindings-tests expectations
https://bugs.webkit.org/show_bug.cgi?id=43944
The results have become out of sync after changeset 64552 and 65269.
Test: WebKitTools/Scripts/run-bindings-tests
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
(webkit_dom_test_callback_callback_with_class1param):
(webkit_dom_test_callback_callback_with_class2param):
(webkit_dom_test_callback_callback_with_non_bool_return_type):
* bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_void_method_with_args):
(webkit_dom_test_obj_int_method_with_args):
(webkit_dom_test_obj_obj_method):
(webkit_dom_test_obj_obj_method_with_args):
(webkit_dom_test_obj_method_that_requires_all_args):
(webkit_dom_test_obj_method_that_requires_all_args_and_throws):
(webkit_dom_test_obj_serialized_value):
(webkit_dom_test_obj_idb_key):
(webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
(webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
(webkit_dom_test_obj_with_script_state_obj):
(webkit_dom_test_obj_with_script_state_obj_exception):
(webkit_dom_test_obj_get_read_only_string_attr):
(webkit_dom_test_obj_get_read_only_test_obj_attr):
(webkit_dom_test_obj_get_string_attr):
(webkit_dom_test_obj_set_string_attr):
(webkit_dom_test_obj_get_test_obj_attr):
(webkit_dom_test_obj_set_test_obj_attr):
(webkit_dom_test_obj_get_xml_obj_attr):
(webkit_dom_test_obj_set_xml_obj_attr):
(webkit_dom_test_obj_get_reflected_string_attr):
(webkit_dom_test_obj_set_reflected_string_attr):
(webkit_dom_test_obj_get_reflected_url_attr):
(webkit_dom_test_obj_set_reflected_url_attr):
(webkit_dom_test_obj_get_reflected_non_empty_url_attr):
(webkit_dom_test_obj_set_reflected_non_empty_url_attr):
(webkit_dom_test_obj_get_reflected_custom_url_attr):
(webkit_dom_test_obj_set_reflected_custom_url_attr):
(webkit_dom_test_obj_get_reflected_custom_non_empty_url_attr):
(webkit_dom_test_obj_set_reflected_custom_non_empty_url_attr):
(webkit_dom_test_obj_get_string_attr_with_getter_exception):
(webkit_dom_test_obj_set_string_attr_with_getter_exception):
(webkit_dom_test_obj_get_string_attr_with_setter_exception):
(webkit_dom_test_obj_set_string_attr_with_setter_exception):
(webkit_dom_test_obj_get_script_string_attr):
(webkit_dom_test_obj_get_hash):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2010-08-13 Ariya Hidayat <ariya@sencha.com>
Reviewed by Simon Hausmann.
[Qt] Canvas and CSS: blur option in shadow not working
https://bugs.webkit.org/show_bug.cgi?id=34479
Patch 1: Refactor shadow states handling.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::): Added shadow states as
member variables.
(WebCore::GraphicsContextPlatformPrivate::hasShadow): Convenient
function to check whether there is shadow or not.
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::drawRect): Use shadow states instead of
calling getShadow.
(WebCore::GraphicsContext::drawLine): ditto.
(WebCore::GraphicsContext::strokeArc): ditto.
(WebCore::GraphicsContext::drawConvexPolygon): ditto.
(WebCore::GraphicsContext::fillPath): ditto.
(WebCore::GraphicsContext::strokePath): ditto.
(WebCore::GraphicsContext::fillRect): Removes the use of helper function
drawBorderlessRectShadow as the code already becomes a lot simpler.
(WebCore::GraphicsContext::fillRoundedRect): Removes the use of helper
function drawFilledShadowPath as the code already becomes a lot simpler.
(WebCore::GraphicsContext::setPlatformShadow): Store shadow states
and find out the shadow type (complexity) for future use.
(WebCore::GraphicsContext::clearPlatformShadow): Reset shadow states.
2010-08-11 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Regression in linking of programs
https://bugs.webkit.org/show_bug.cgi?id=43820
Shaders and programs shouldn't be deleted until their attachments are removed, therefore, we need to track the attach/detach/useProgram.
* html/canvas/WebGLObject.cpp: Track the object attachment count and whether it should really be deleted.
(WebCore::WebGLObject::WebGLObject):
(WebCore::WebGLObject::setObject):
(WebCore::WebGLObject::deleteObject):
* html/canvas/WebGLObject.h: Track the object attachment count and whether it should really be deleted.
(WebCore::WebGLObject::onAttached):
(WebCore::WebGLObject::onDetached):
(WebCore::WebGLObject::getAttachmentCount):
* html/canvas/WebGLProgram.cpp: Track the attached shaders.
(WebCore::WebGLProgram::WebGLProgram):
(WebCore::WebGLProgram::deleteObjectImpl):
(WebCore::WebGLProgram::getAttachedShader):
(WebCore::WebGLProgram::attachShader):
(WebCore::WebGLProgram::detachShader):
* html/canvas/WebGLProgram.h: Track the attached shaders.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::attachShader): Track the attachment of a shader to a program.
(WebCore::WebGLRenderingContext::deleteProgram): Detach shaders.
(WebCore::WebGLRenderingContext::detachShader): Track the attachment of a shader to a program.
(WebCore::WebGLRenderingContext::validateWebGLObject): Also check if object == 0.
(WebCore::WebGLRenderingContext::linkProgram): Using the cached attached shaders instead of query from driver.
(WebCore::WebGLRenderingContext::useProgram): Track the attachment of a program to the current rendering pipeline.
2010-08-13 Steve Block <steveblock@google.com>
Reviewed by Alexey Proskuryakov.
Geolocation activity started after frame has been disconnected can cause crash
https://bugs.webkit.org/show_bug.cgi?id=39879
New requests started after the Frame has been disconnected are ignored. We do
not invoke the error callback as this would allow buggy or malicious pages to
hose the CPU. Such a page could hold a reference to a Geolocation object from
a since closed Page and register new requests from the error callback to
create an infinite loop.
Tests: fast/dom/Geolocation/disconnected-frame-already.html
* page/Geolocation.cpp:
2010-08-13 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Support for multiple speech enabled elements in same page.
https://bugs.webkit.org/show_bug.cgi?id=43922
* page/SpeechInput.cpp: Generates request ids as necessary when each speech enabled input element gets
created/destroyed and multiplexes the listener callbacks to the appropriate input element based on the request id.
(WebCore::SpeechInput::SpeechInput):
(WebCore::SpeechInput::~SpeechInput):
(WebCore::SpeechInput::registerListener):
(WebCore::SpeechInput::unregisterListener):
(WebCore::SpeechInput::didCompleteRecording):
(WebCore::SpeechInput::didCompleteRecognition):
(WebCore::SpeechInput::setRecognitionResult):
(WebCore::SpeechInput::startRecognition):
(WebCore::SpeechInput::stopRecording):
(WebCore::SpeechInput::cancelRecognition):
* page/SpeechInput.h:
* page/SpeechInputClient.h: Now requires a one time set for the WebCore::SpeechInputListener and
takes in a 'requestId' for all calls.
* page/SpeechInputListener.h: Now returns the above mentioned requestId in all the listener callbacks for
identifying which input element the event goes to.
* platform/mock/SpeechInputClientMock.cpp:
(WebCore::SpeechInputClientMock::SpeechInputClientMock):
(WebCore::SpeechInputClientMock::setListener):
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::stopRecording):
(WebCore::SpeechInputClientMock::cancelRecognition):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::InputFieldSpeechButtonElement::~InputFieldSpeechButtonElement):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::speechInput):
(WebCore::InputFieldSpeechButtonElement::didCompleteRecording):
(WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
* rendering/TextControlInnerElements.h:
2010-08-13 Eric Carlson <eric.carlson@apple.com>
Reviewed by David Kilzer.
HTMLMediaElement::prepareForLoad should cancel current plug-in proxy media player
https://bugs.webkit.org/show_bug.cgi?id=43923
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad): Tell mediaPlayer to cancel the current load
if it already exists.
2010-08-12 Stephen White <senorblanco@chromium.org>
Reviewed by David Levin.
[CHROMIUM] Use the BGRA format for canvas 2D accel upload and readbacks.
https://bugs.webkit.org/show_bug.cgi?id=43804
Use the BGRA format from GraphicsContext3D, if supported. Also keep a
texture around for uploads, rather than re-creating it each time.
Covered by many layout tests (once we're running them).
* platform/graphics/chromium/GLES2Texture.cpp:
(WebCore::convertFormat):
Move convertFormat() ahead of texture creation, so we can check for
BGRA support.
(WebCore::GLES2Texture::create):
Use convertFormat() to determine the correct format and types to use;
use the returned format also for internalFormat, since GLES2 insists
they match.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::setGraphicsContext3D):
Clear the upload texture when a new context is set.
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
Use m_uploadTexture instead of creating a new one each time.
(WebCore::PlatformContextSkia::readbackHardwareToSoftware):
When the context supports it, use the BGRA format for readbacks
instead of swizzling.
* platform/graphics/skia/PlatformContextSkia.h:
Add m_uploadTexture for consecutive uploads.
2010-08-13 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Ariya Hidayat.
[Qt] Clean up mobile feature useage
https://bugs.webkit.org/show_bug.cgi?id=43968
* WebCore.pro: Replaced use of Nokia specific platform scopes with concrete
feature names.
2010-08-13 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: rename InspectorValue::push and set to
push{Value|Object|Array} and set{...}.
https://bugs.webkit.org/show_bug.cgi?id=43966
* bindings/js/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
* bindings/js/ScriptValue.cpp:
(WebCore::jsToInspectorValue):
* bindings/v8/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::stackTrace):
* bindings/v8/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
* bindings/v8/ScriptValue.cpp:
(WebCore::v8ToInspectorValue):
* inspector/CodeGeneratorInspector.pm:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
* inspector/Inspector.idl:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::buildArrayForCookies):
(WebCore::InspectorController::getDOMStorageEntries):
(WebCore::InspectorController::getProfileHeaders):
(WebCore::InspectorController::getProfile):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::getStyles):
(WebCore::InspectorDOMAgent::getAllStyles):
(WebCore::InspectorDOMAgent::getRuleRanges):
(WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
(WebCore::InspectorDOMAgent::buildArrayForCSSRules):
(WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
(WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
(WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
(WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::saveBreakpoints):
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateScriptObject):
* inspector/InspectorStorageAgent.cpp:
(WebCore::):
(WebCore::InspectorStorageAgent::executeSQL):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::pushGCEventRecords):
(WebCore::InspectorTimelineAgent::didInstallTimer):
(WebCore::InspectorTimelineAgent::didRemoveTimer):
(WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
(WebCore::InspectorTimelineAgent::willSendResourceRequest):
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
(WebCore::InspectorTimelineAgent::didMarkTimeline):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
* inspector/InspectorValues.cpp:
(WebCore::):
(WebCore::InspectorValue::asValue):
(WebCore::InspectorValue::asObject):
(WebCore::InspectorValue::asArray):
(WebCore::InspectorObject::asObject):
(WebCore::InspectorArray::asArray):
* inspector/InspectorValues.h:
(WebCore::InspectorObject::setBool):
(WebCore::InspectorObject::setNumber):
(WebCore::InspectorObject::setString):
(WebCore::InspectorObject::setValue):
(WebCore::InspectorObject::setObject):
(WebCore::InspectorObject::setArray):
(WebCore::InspectorArray::pushValue):
(WebCore::InspectorArray::pushObject):
(WebCore::InspectorArray::pushArray):
* inspector/ScriptBreakpoint.cpp:
(WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
2010-08-13 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65204.
http://trac.webkit.org/changeset/65204
https://bugs.webkit.org/show_bug.cgi?id=43965
Caused a lot of test crashes in Chromium (Requested by yutak
on #webkit).
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isInputImage):
(WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
* dom/InputElement.h:
* html/HTMLInputElement.h:
2010-08-13 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
Reapplying http://trac.webkit.org/changeset/65284 after fixed include.
[v8] Create callbacks for named access of elements from document object on fly.
https://bugs.webkit.org/show_bug.cgi?id=43725
That should speed up access to methods on document as there is no need to
consult with interceptor before invoking the method.
This reapplies http://trac.webkit.org/changeset/60670 reverted with
http://trac.webkit.org/changeset/63845. The main difference is in treatment
of removed named elements: we don't remove an accessor any more, but leave it.
Therefore any accessor should be able to treat the case when there is no
expando property.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::checkDocumentWrapper):
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
(WebCore::getter):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::WrapInShadowObject):
(WebCore::V8HTMLDocument::GetNamedProperty):
(WebCore::V8HTMLDocument::allAccessorSetter):
(WebCore::toV8):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::removeItemFromMap):
2010-08-13 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: remove openInInspectorWindow and evaluateAndStringify from InjectedScript.
https://bugs.webkit.org/show_bug.cgi?id=43854
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::openInInspectedWindow):
* inspector/InspectorController.h:
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage.callback):
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
* inspector/front-end/InjectedScriptAccess.js:
* inspector/front-end/InspectorBackendStub.js:
(WebInspector.InspectorBackendStub):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
2010-08-13 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by Alexey Proskuryakov.
flaky websocket/tests/frame-length-overflow.html
https://bugs.webkit.org/show_bug.cgi?id=43902
Add m_shouldDiscardReceivedData flag to indicate it will no longer
receive data from network.
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::didReceiveData):
(WebCore::WebSocketChannel::didFail):
(WebCore::WebSocketChannel::processBuffer):
- when frame length overflows, we couldn't process data any more.
clear buffer and mark m_shouldDiscardReceivedData true to make sure
it doesn't process the same buffer again.
* websockets/WebSocketChannel.h:
2010-08-13 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Use SVGPathByteStream to animate SVGPath
https://bugs.webkit.org/show_bug.cgi?id=43929
Use SVGPathByteStream to perform animations of Paths. SVGPathBlender blends
the starting point to the end point according to the current progress value.
Cleanup SVGPathSegList, by removing the unnecessary legacy blending code.
No new tests because no functional changes.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* svg/SVGAllInOne.cpp:
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::SVGAnimateElement):
(WebCore::SVGAnimateElement::calculateAnimatedValue):
(WebCore::SVGAnimateElement::calculateFromAndToValues):
(WebCore::SVGAnimateElement::resetToBaseValue):
(WebCore::SVGAnimateElement::applyResultsToTarget):
* svg/SVGAnimateElement.h:
* svg/SVGPathBlender.cpp: Added.
(WebCore::SVGPathBlender::SVGPathBlender):
(WebCore::SVGPathBlender::~SVGPathBlender):
(WebCore::SVGPathBlender::blendAnimatedFloat):
(WebCore::SVGPathBlender::blendAnimatedFloatPoint):
(WebCore::SVGPathBlender::blendMoveToSegment):
(WebCore::SVGPathBlender::blendLineToSegment):
(WebCore::SVGPathBlender::blendLineToHorizontalSegment):
(WebCore::SVGPathBlender::blendLineToVerticalSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
(WebCore::SVGPathBlender::blendArcToSegment):
(WebCore::SVGPathBlender::blendAnimatedPath):
(WebCore::SVGPathBlender::cleanup):
* svg/SVGPathBlender.h: Added.
* svg/SVGPathParserFactory.cpp:
(WebCore::globalSVGPathBlender):
(WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
* svg/SVGPathParserFactory.h:
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::getPathSegAtLength):
* svg/SVGPathSegList.h:
(WebCore::SVGPathSegList::create):
* svg/SVGPointList.cpp:
(WebCore::adjustAnimatedValue):
2010-08-12 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Window size changes + resources on absolute sized content leads to pixelation
https://bugs.webkit.org/show_bug.cgi?id=43921
Avoid pixelation when using resources on absolute sized objects. Be sure to invalidate the used resources if window size changes.
Otherwhise masks etc. will be scaled up and pixelate. As nice side-effect, this fixes run-webkit-tests --singly svg/W3C-SVG-1.1, which
used to produce wrong results for the gradient tests, as the window size change from 800x600 for 480x360 (svg/W3C-SVG-1.1 specific DRT quirk)
didn't invalidate the resources.
Renamed invalidateClient -> removeClientFromCache and invalidateClients -> removeAllClientsFromCache.
Add a boolean "markForInvalidation" parameter, that controls wheter the clients should be marked for repaint/boundaries invalidation/layout
or wheter we only want to notify the parents that the resource changed, to avoid doing unncessary work in SVGRenderSupport::layoutChildren.
Test: svg/custom/absolute-sized-content-with-resources.xhtml
* rendering/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::styleDidChange): Don't do anything for StyleDifferenceEqual.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageChanged):
* rendering/RenderSVGResource.cpp:
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
* rendering/RenderSVGResource.h:
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
(WebCore::RenderSVGResourceClipper::removeClientFromCache):
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::layout):
(WebCore::RenderSVGResourceContainer::idChanged):
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
(WebCore::RenderSVGResourceContainer::markClientForInvalidation):
* rendering/RenderSVGResourceContainer.h:
(WebCore::RenderSVGResourceContainer::):
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
(WebCore::RenderSVGResourceFilter::removeClientFromCache):
(WebCore::RenderSVGResourceFilter::postApplyResource):
* rendering/RenderSVGResourceFilter.h:
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
(WebCore::RenderSVGResourceGradient::removeClientFromCache):
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourceGradient.h:
* rendering/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::layout):
(WebCore::RenderSVGResourceMarker::removeAllClientsFromCache):
(WebCore::RenderSVGResourceMarker::removeClientFromCache):
* rendering/RenderSVGResourceMarker.h:
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
(WebCore::RenderSVGResourceMasker::removeClientFromCache):
* rendering/RenderSVGResourceMasker.h:
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
(WebCore::RenderSVGResourcePattern::removeClientFromCache):
(WebCore::RenderSVGResourcePattern::applyResource):
* rendering/RenderSVGResourcePattern.h:
* rendering/RenderSVGResourceSolidColor.h:
(WebCore::RenderSVGResourceSolidColor::removeAllClientsFromCache):
(WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
* rendering/SVGRenderSupport.cpp:
(WebCore::invalidateResourcesOfChildren): Add new helper funtion recursively invalidating resources of a sub render tree.
(WebCore::SVGRenderSupport::layoutChildren): Keep track of all objects that didn't need layout, as we still have to invalidate their resources, if window size changes.
* rendering/SVGResources.cpp:
(WebCore::SVGResources::removeClientFromCache):
(WebCore::SVGResources::resourceDestroyed):
* rendering/SVGResources.h:
* rendering/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
2010-08-13 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Chromium DevTools: [CRASH] Autocomplete on arrays causes crashes.
https://bugs.webkit.org/show_bug.cgi?id=43955
* bindings/v8/ScriptValue.cpp:
(WebCore::v8ToInspectorValue):
2010-08-13 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig
Unify UString::UTF8String() & String::utf8() methods,
remove UString::cost() & make atArrayIndex a free function.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
* bridge/NP_jsobject.cpp:
(_NPN_Enumerate):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
* bridge/jni/JNIBridge.cpp:
(JavaParameter::JavaParameter):
(JavaMethod::JavaMethod):
(JavaMethod::signature):
(JavaMethod::methodID):
* bridge/jni/JNIBridge.h:
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaParameter::type):
(JSC::Bindings::JavaMethod::returnType):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::convertJObjectToValue):
* bridge/jni/jsc/JNIBridgeJSC.cpp:
(JavaField::JavaField):
(JavaField::valueFromInstance):
(JavaField::setValueToInstance):
* bridge/jni/jsc/JNIBridgeJSC.h:
(JSC::Bindings::JavaField::type):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* bridge/jni/jsc/JavaStringJSC.h:
(JSC::Bindings::JavaStringImpl::utf8):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertyDescriptor):
(JSC::RuntimeArray::put):
2010-08-12 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: allow interrupting long running JS to execute inspector command
https://bugs.webkit.org/show_bug.cgi?id=43900
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::):
(WebCore::ScriptDebugServer::pause):
(WebCore::ScriptDebugServer::interruptAndRun):
(WebCore::ScriptDebugServer::runPendingTasks):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
* bindings/v8/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::Task::~Task):
2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65295.
http://trac.webkit.org/changeset/65295
https://bugs.webkit.org/show_bug.cgi?id=43950
It broke 4 sputnik tests (Requested by Ossy on #webkit).
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
* bridge/NP_jsobject.cpp:
(_NPN_Enumerate):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
* bridge/jni/JNIBridge.cpp:
(JavaParameter::JavaParameter):
(JavaMethod::JavaMethod):
(JavaMethod::signature):
(JavaMethod::methodID):
* bridge/jni/JNIBridge.h:
(JSC::Bindings::JavaString::UTF8String):
(JSC::Bindings::JavaParameter::type):
(JSC::Bindings::JavaMethod::returnType):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::convertJObjectToValue):
* bridge/jni/jsc/JNIBridgeJSC.cpp:
(JavaField::JavaField):
(JavaField::valueFromInstance):
(JavaField::setValueToInstance):
* bridge/jni/jsc/JNIBridgeJSC.h:
(JSC::Bindings::JavaField::type):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* bridge/jni/jsc/JavaStringJSC.h:
(JSC::Bindings::JavaStringImpl::UTF8String):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertyDescriptor):
(JSC::RuntimeArray::put):
2010-08-12 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Fixed typo in inspector js.
Follow up to r65300.
* inspector/front-end/inspector.js:
(WebInspector.log.isLogAvailable):
2010-08-12 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Make getPrototypes return objects, not names.
https://bugs.webkit.org/show_bug.cgi?id=43934
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
(injectedScriptConstructor.):
* inspector/front-end/PropertiesSidebarPane.js:
(WebInspector.PropertiesSidebarPane.prototype.update.callback):
* inspector/front-end/inspector.js:
(WebInspector.log):
2010-08-12 James Robinson <jamesr@chromium.org>
Unreviewed, rolling out r65284 and r65288. Broke chromium compile.
https://bugs.webkit.org/show_bug.cgi?id=43725
http://trac.webkit.org/changeset/65284
http://trac.webkit.org/changeset/65288
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::namedPropertyDeleter):
(WebCore::V8HTMLDocument::namedPropertyGetter):
(WebCore::V8HTMLDocument::indexedPropertyGetter):
(WebCore::V8HTMLDocument::allAccessorSetter):
(WebCore::toV8):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::removeItemFromMap):
2010-08-12 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig
Unify UString::UTF8String() & String::utf8() methods,
remove UString::cost() & make atArrayIndex a free function.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
* bridge/NP_jsobject.cpp:
(_NPN_Enumerate):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
* bridge/jni/JNIBridge.cpp:
(JavaParameter::JavaParameter):
(JavaMethod::JavaMethod):
(JavaMethod::signature):
(JavaMethod::methodID):
* bridge/jni/JNIBridge.h:
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaParameter::type):
(JSC::Bindings::JavaMethod::returnType):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::convertJObjectToValue):
* bridge/jni/jsc/JNIBridgeJSC.cpp:
(JavaField::JavaField):
(JavaField::valueFromInstance):
(JavaField::setValueToInstance):
* bridge/jni/jsc/JNIBridgeJSC.h:
(JSC::Bindings::JavaField::type):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* bridge/jni/jsc/JavaStringJSC.h:
(JSC::Bindings::JavaStringImpl::utf8):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertyDescriptor):
(JSC::RuntimeArray::put):
2010-08-12 Gavin Barraclough <barraclough@apple.com>
Speculative build fix for chromium bindings (someone added the old include style!).
* bindings/v8/V8DOMWindowShell.h:
2010-08-12 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
[Refactoring] TextEvent class has to many flags
https://bugs.webkit.org/show_bug.cgi?id=43893
Turned TextEvent::m_isLineBreak, TextEvent::m_isBacktab, TextEvent::m_isPaste
into single TextEvent::m_inputType enumeration.
No functional change. No new tests.
* dom/TextEvent.cpp:
(WebCore::TextEvent::selectInputType):
(WebCore::TextEvent::create):
(WebCore::TextEvent::createForPlainTextPaste):
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::TextEvent):
* dom/TextEvent.h:
(WebCore::TextEvent::):
(WebCore::TextEvent::isLineBreak):
(WebCore::TextEvent::isBackTab):
(WebCore::TextEvent::isPaste):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTextInputEvent):
2010-08-12 Kenneth Russell <kbr@google.com>
Reviewed by David Levin.
Delete obsolete CanvasNumberArray
https://bugs.webkit.org/show_bug.cgi?id=38619
Deleted unreferenced code. Built WebKit and Chromium to test.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.jscbindings.mk:
* Android.mk:
* bindings/js/JSCanvasNumberArrayCustom.cpp: Removed.
* html/canvas/CanvasNumberArray.cpp: Removed.
* html/canvas/CanvasNumberArray.h: Removed.
* html/canvas/CanvasNumberArray.idl: Removed.
2010-08-12 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
[v8] Create callbacks for named access of elements from document object on fly.
https://bugs.webkit.org/show_bug.cgi?id=43725
That should speed up access to methods on document as there is no need to
consult with interceptor before invoking the method.
This reapplies http://trac.webkit.org/changeset/60670 reverted with
http://trac.webkit.org/changeset/63845. The main difference is in treatment
of removed named elements: we don't remove an accessor any more, but leave it.
Therefore any accessor should be able to treat the case when there is no
expando property.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::checkDocumentWrapper):
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
(WebCore::getter):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::WrapInShadowObject):
(WebCore::V8HTMLDocument::GetNamedProperty):
(WebCore::V8HTMLDocument::allAccessorSetter):
(WebCore::toV8):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::removeItemFromMap):
2010-08-12 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Adam Barth.
Ensure that parser doesn't attach children that have been removed by JavaScript event handlers.
https://bugs.webkit.org/show_bug.cgi?id=43813
This patch re-fixes bug 40742 in a way that keeps allowing HTMLLinkElement
to lazy-attach.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach): Added parent check.
* html/HTMLLinkElement.cpp: Basically undoes changes introduced by r61424.
* html/HTMLLinkElement.h: Ditto.
2010-08-12 Justin Schuh <jschuh@chromium.org>
Reviewed by Dumitru Daniliuc.
Clear PluginData's page pointer on page refresh
https://bugs.webkit.org/show_bug.cgi?id=43888
Test: plugins/access-after-page-destroyed.html
* page/Page.cpp:
(WebCore::Page::refreshPlugins):
2010-08-12 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
getParameter(STENCIL_VALUE_MASK) (and others) returns the wrong value
https://bugs.webkit.org/show_bug.cgi?id=31842
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getUnsignedLongParameter): Casting from int to unsigned long correctly.
2010-08-12 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: mimic FireBug's array detection.
https://bugs.webkit.org/show_bug.cgi?id=30974
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-08-12 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
regression in generateMipmap
https://bugs.webkit.org/show_bug.cgi?id=43873
* html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::generateMipmapLevelInfo): should set m_needToUseBlackTexture to false if generateMipmapLevelInfo runs through successfully.
2010-08-12 Ariya Hidayat <ariya@sencha.com>
Reviewed by David Hyatt.
[Qt] Split TransparencyLayer into its own header file.
https://bugs.webkit.org/show_bug.cgi?id=43935
* WebCore.pro: Include TransparencyLayer.h.
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/qt/TransparencyLayer.h: Added.
(WebCore::TransparencyLayer::TransparencyLayer):
(WebCore::TransparencyLayer::operator=):
2010-08-12 François Sausset <sausset@gmail.com>
Reviewed by Beth Dakin.
Horizontal padding should be 0 on mrow elements.
https://bugs.webkit.org/show_bug.cgi?id=43908
Updated tests in /mathml
* css/mathml.css:
(mrow, mfenced):
(mfenced):
2010-08-12 Aaron Boodman <aa@chromium.org>
Reviewed by David Hyatt.
Make the cascade level of "user" styles configurable
https://bugs.webkit.org/show_bug.cgi?id=43457
* WebCore.exp.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
* dom/Document.cpp:
(WebCore::Document::pageGroupUserSheets):
* page/PageGroup.cpp:
(WebCore::PageGroup::addUserStyleSheetToWorld):
* page/PageGroup.h:
* page/UserStyleSheet.h:
(WebCore::UserStyleSheet::):
(WebCore::UserStyleSheet::UserStyleSheet):
(WebCore::UserStyleSheet::level):
2010-08-12 Jian Li <jianli@chromium.org>
Fix qt build break.
* html/ThreadableBlobRegistry.cpp:
(WebCore::postTaskToMainThread):
2010-08-12 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Add ThreadableBlobRegistry to support calling BlobRegistry methods in
main thread.
https://bugs.webkit.org/show_bug.cgi?id=43874
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::addBlob):
(WebCore::ScriptExecutionContext::removeBlob):
(WebCore::ScriptExecutionContext::createPublicBlobURL):
(WebCore::ScriptExecutionContext::revokePublicBlobURL):
* dom/ScriptExecutionContext.h:
* html/Blob.cpp:
(WebCore::Blob::Blob):
(WebCore::Blob::~Blob):
(WebCore::Blob::contextDestroyed):
* html/Blob.h:
* html/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::unregisterBlobURL):
(WebCore::BlobRegistryImpl::getBlobDataFromURL):
* html/ThreadableBlobRegistry.cpp: Added.
* html/ThreadableBlobRegistry.h: Added.
2010-08-12 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Darin Adler.
generate-bindings.pl should generate warning free code
https://bugs.webkit.org/show_bug.cgi?id=43353
* bindings/scripts/CodeGeneratorJS.pm: Suggested parentheses added around && within ||
2010-08-11 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
merge MarkupAccumulator and MarkupAccumulatorWrapper
https://bugs.webkit.org/show_bug.cgi?id=43834
Removed MarkupAccumulator and added serializeNodesWithNamespaces to use MarkupAccumulatorWrapper
in both versions of createMarkup. Accumulation of nodes done manually in serializeNodes is
now done by MarkupAccumulatorWrapper as done in the original MarkupAccumulator.
No new tests added since this is a cleanup.
* editing/markup.cpp:
(WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Takes vector of nodes and set it to m_nodes.
(WebCore::MarkupAccumulatorWrapper::insertOpenTag): Adds node to m_nodes.
(WebCore::MarkupAccumulatorWrapper::wrapWithNode): Adds node to m_nodes.
(WebCore::serializeNodes): Adding node to nodes is moved into MarkupAccumulatorWrapper.
(WebCore::createMarkup): Instantiates MarkupAccumulatorWrapper.
(WebCore::serializeNodesWithNamespaces): Renamed from MarkupAccumulator::appendMarkup.
2010-08-12 Dirk Schulze <krit@webkit.org>
Unreviewed sort of Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-08-12 Ben Murdoch <benm@google.com>
Reviewed by Pavel Feldman.
InspectorController.h missing InspectorObject forward declaration
https://bugs.webkit.org/show_bug.cgi?id=43913
Build fix so no new tests.
* inspector/InspectorController.h: Adds the necessary forward declaration.
2010-08-12 Hui Huang <hui.2.huang@nokia.com>
Reviewed by Eric Seidel.
m_windowRect is not updated because parent of PluginView is not
set when updatePluginWidget is called. plugin gets wrong window
size on setwindow.
https://bugs.webkit.org/show_bug.cgi?id=43635
* plugins/symbian/PluginViewSymbian.cpp:
(WebCore::PluginView::setParent):
2010-08-12 Pavel Feldman <pfeldman@chromium.org>
Not reviewed, re-apply r65241 and 65243.
Web Inspector: brush up object proxies, introduce remote object model.
https://bugs.webkit.org/show_bug.cgi?id=43847
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
(WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.doEvalInWindow):
(WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
(WebInspector.ConsoleView.prototype._enterKeyPressed):
(WebInspector.ConsoleView.prototype._format):
(WebInspector.ConsoleView.prototype._formatarray):
(WebInspector.ConsoleView.prototype._formatAsArrayEntry):
(WebInspector.ConsoleMessage.prototype._format):
(WebInspector.ConsoleCommandResult):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.performSearch):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
* inspector/front-end/EventListenersSidebarPane.js:
():
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
(injectedScriptConstructor.):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertiesSection.prototype.update):
(WebInspector.ObjectPropertiesSection.prototype.updateProperties):
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
(WebInspector.ObjectPropertyTreeElement.prototype.update):
(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
* inspector/front-end/ObjectProxy.js: Removed.
* inspector/front-end/PropertiesSidebarPane.js:
(WebInspector.PropertiesSidebarPane.prototype.update.callback):
* inspector/front-end/RemoteObject.js: Added.
(WebInspector.RemoteObjectId):
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPrimitiveValue):
(WebInspector.RemoteObject.fromNode):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.type):
(WebInspector.RemoteObject.prototype.get objectId):
(WebInspector.RemoteObject.prototype.get type):
(WebInspector.RemoteObject.prototype.get description):
(WebInspector.RemoteObject.prototype.get hasChildren):
(WebInspector.RemoteObject.prototype.isError):
(WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
(WebInspector.RemoteObject.prototype.getOwnProperties):
(WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
(WebInspector.RemoteObjectProperty):
* inspector/front-end/ScopeChainSidebarPane.js:
(WebInspector.ScopeChainSidebarPane.prototype.update):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
(WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
(WebInspector.SourceFrame.prototype._showPopup):
(WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSection.prototype.update):
(WebInspector.WatchExpressionTreeElement.prototype.update):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.log.logMessage):
(WebInspector.log):
* inspector/front-end/utilities.js:
():
2010-08-11 Stephen White <senorblanco@chromium.org>
Reviewed by David Levin.
Add support for BGRA pixel format to GraphicsContext3D.
https://bugs.webkit.org/show_bug.cgi?id=43858
Although this has been standard in desktop GL since 1.2, it's an
extension in GL ES 2.0, so a query function is provided to check
for support. Since they differ on semantics (GL ES 2.0 requires
TexImage2D()'s format and internalFormat to match, while desktop GL
will not accept BGRA as an internalFormat), the stub implementation
returns false until these quirks have been implemented and tested on
each port.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::supportsBGRA):
Add implementation for non-chromium platforms which returns false.
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::):
Add query function (supportsBGRA()) and the BGRA_EXT token.
2010-08-12 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Rolling out r65241 and 65243 for breaking inspector tests.
2010-08-12 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Adding the file missing in r65241.
* inspector/front-end/RemoteObject.js: Added.
(WebInspector.RemoteObjectId):
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPrimitiveValue):
(WebInspector.RemoteObject.fromNode):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.type):
(WebInspector.RemoteObject.prototype.get objectId):
(WebInspector.RemoteObject.prototype.get type):
(WebInspector.RemoteObject.prototype.get description):
(WebInspector.RemoteObject.prototype.get hasChildren):
(WebInspector.RemoteObject.prototype.isError):
(WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
(WebInspector.RemoteObject.prototype.getOwnProperties):
(WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
(WebInspector.RemoteObjectProperty):
2010-08-12 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: brush up object proxies, introduce remote object model.
https://bugs.webkit.org/show_bug.cgi?id=43847
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
(WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.doEvalInWindow):
(WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
(WebInspector.ConsoleView.prototype._enterKeyPressed):
(WebInspector.ConsoleView.prototype._format):
(WebInspector.ConsoleView.prototype._formatnode):
(WebInspector.ConsoleView.prototype._formatarray):
(WebInspector.ConsoleView.prototype._formatAsArrayEntry):
(WebInspector.ConsoleMessage.prototype._format):
(WebInspector.ConsoleCommandResult):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
* inspector/front-end/EventListenersSidebarPane.js:
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
(injectedScriptConstructor.):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertiesSection.prototype.update):
(WebInspector.ObjectPropertiesSection.prototype.updateProperties):
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
(WebInspector.ObjectPropertyTreeElement.prototype.update):
(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
* inspector/front-end/ObjectProxy.js: Removed.
* inspector/front-end/PropertiesSidebarPane.js:
(WebInspector.PropertiesSidebarPane.prototype.update.callback):
* inspector/front-end/RemoteObject.js: Added.
(WebInspector.RemoteObjectId):
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPrimitiveValue):
(WebInspector.RemoteObject.fromErrorMessage):
(WebInspector.RemoteObject.fromNode):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.type):
(WebInspector.RemoteObject.prototype.get objectId):
(WebInspector.RemoteObject.prototype.get type):
(WebInspector.RemoteObject.prototype.get description):
(WebInspector.RemoteObject.prototype.get hasChildren):
(WebInspector.RemoteObject.prototype.isError):
(WebInspector.RemoteObject.prototype.getPropertyValueDescriptions):
(WebInspector.RemoteObject.prototype.getOwnProperties):
(WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
(WebInspector.RemoteObjectProperty):
* inspector/front-end/ScopeChainSidebarPane.js:
(WebInspector.ScopeChainSidebarPane.prototype.update):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
(WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
(WebInspector.SourceFrame.prototype._showPopup):
(WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSection.prototype.update):
(WebInspector.WatchExpressionTreeElement.prototype.update):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.log.logMessage):
(WebInspector.log):
* inspector/front-end/utilities.js:
2010-08-12 Ben Murdoch <benm@google.com>
Reviewed by Steve Block.
V8 code generator does not add V8BindingMacros.h include in all places it is needed
https://bugs.webkit.org/show_bug.cgi?id=43907
Adds the V8BindingMacros.h header before using the STRING_TO_V8PARAMETER_EXCEPTION_BLOCK
macro.
Build fix so no new tests.
* bindings/scripts/CodeGeneratorV8.pm: include the header at the right time.
2010-08-12 Jeremy Orlow <jorlow@chromium.org>
Revert for now
https://bugs.webkit.org/show_bug.cgi?id=43794
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/GroupSettings.cpp: Removed.
* page/GroupSettings.h: Removed.
* page/PageGroup.cpp:
(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::localStorage):
* page/PageGroup.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setLocalStorageQuota):
(WebCore::Settings::setLocalStorageDatabasePath):
* page/Settings.h:
(WebCore::Settings::localStorageQuota):
(WebCore::Settings::localStorageDatabasePath):
2010-08-12 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Follow up to Jeremys fix, just remove the context parameter, it's not needed anymore.
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
* rendering/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::createImageBuffer):
* rendering/SVGImageBufferTools.h:
2010-08-12 Jeremy Orlow <jorlow@chromium.org>
Build fix.
* rendering/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::createImageBuffer):
2010-08-12 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVG masking performance very slow
https://bugs.webkit.org/show_bug.cgi?id=43622
Create ImageBuffers only as large as the final rendered size on screen. Only gradient on text on CG handled this correctly so far.
Refactored the code into a new SVGImageBufferTools class, and use the code from RenderSVGResourceMasker -> makes the IE9 demo SVG dice usable.
Clippers, Patterns and Filters remain to be converted.
Test: svg/zoom/page/zoom-mask-with-percentages.svg
* Android.mk: Add SVGImageBufferTools.* to build.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* rendering/RenderSVGAllInOne.cpp: Ditto.
* rendering/RenderSVGResourceGradient.cpp: Refactored CG gradient specific "create image buffer in absolute coordinates" code into SVGImageBufferTools class.
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourceMasker.cpp: Use new SVGImageBufferTools class, to avoid pixelation when zooming and to create image buffers as big as the final rendered size on screen, not more.
(WebCore::RenderSVGResourceMasker::invalidateClients):
(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):
* rendering/RenderSVGResourceMasker.h:
* rendering/SVGImageBufferTools.cpp: Added.
(WebCore::SVGImageBufferTools::absoluteTransformFromContext):
(WebCore::SVGImageBufferTools::createImageBuffer):
(WebCore::SVGImageBufferTools::clipToImageBuffer):
* rendering/SVGImageBufferTools.h: Added.
(WebCore::SVGImageBufferTools::SVGImageBufferTools):
(WebCore::SVGImageBufferTools::~SVGImageBufferTools):
2010-08-10 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Adam Barth.
Some settings are linked to the PageGroup not the Page. Create a new class for those.
https://bugs.webkit.org/show_bug.cgi?id=43794
Since persistient storage is shared between pages, there's no way to modify
some settings related to it on a per page basis. As such, it's not technically
correct for these settings to be on the Page's settings. Create a new class
called GroupSettings, move the 2 group-wide local storage settings there, and
add a new setting for IndexedDB's path (which is prompting this change).
No behavior has changed, so no tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/PageGroup.cpp:
(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::localStorage):
* page/PageGroup.h:
(WebCore::PageGroup::groupSettings):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setSessionStorageQuota):
* page/Settings.h:
2010-08-12 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Decode images directly to QPixmap
https://bugs.webkit.org/show_bug.cgi?id=40797
Use the new API of Qt 4.7 to decode data from the image
reader directly to QPixmap.
This allow us to use JDCT_IFAST when decoding jpeg images
to pixmap, and to decode animated GIF images, while still
using in-place conversion of color space.
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::internalHandleCurrentImage):
2010-07-14 Marcus Bulach <bulach@chromium.org>
Reviewed by darin@apple.com.
Removes DontCheckEnums from some IDLs and fixes the corresponding enums.
https://bugs.webkit.org/show_bug.cgi?id=42278
This is a follow-up to https://bugs.webkit.org/show_bug.cgi?id=42250: it fixes some IDL/.h and enables generating compile-time checks for enums.
Tests: idls should generate valid code.
* dom/Node.h:
(WebCore::Node::):
* dom/Node.idl:
* dom/OverflowEvent.h:
(WebCore::OverflowEvent::):
* dom/OverflowEvent.idl:
* html/FileReader.cpp:
(WebCore::FileReader::readyState):
* html/FileReader.h:
(WebCore::FileReader::):
* html/FileReader.idl:
2010-08-12 Alejandro G. Castro <alex@igalia.com>
Reviewed by David Levin.
The #if clause enabling a feature should avoid the all includes of
the feature
https://bugs.webkit.org/show_bug.cgi?id=43866
Modified the position of the guard to avoid including all the
headers if the feature controlling the guard is not enabled.
* dom/make_names.pl:
2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65221.
http://trac.webkit.org/changeset/65221
https://bugs.webkit.org/show_bug.cgi?id=43896
Broke snow leopard build. (Requested by dave_levin on
#webkit).
* platform/graphics/GraphicsContext3D.cpp:
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::):
2010-08-11 Stephen White <senorblanco@chromium.org>
Reviewed by David Levin.
Add support for BGRA pixel format to GraphicsContext3D.
https://bugs.webkit.org/show_bug.cgi?id=43858
Although this has been standard in desktop GL since 1.2, it's an
extension in GL ES 2.0, so a query function is provided to check
for support. Since they differ on semantics (GL ES 2.0 requires
TexImage2D()'s format and internalFormat to match, while desktop GL
will not accept BGRA as an internalFormat), the stub implementation
returns false until these quirks have been implemented and tested on
each port.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::supportsBGRA):
Add implementation for non-chromium platforms which returns false.
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::):
Add query function (supportsBGRA()) and the BGRA_EXT token.
2010-08-11 Satish Sampath <satish@chromium.org>
Reviewed by Kent Tamura.
Handle clicks and recognition events for the speech input button
https://bugs.webkit.org/show_bug.cgi?id=43857
* rendering/RenderInputSpeech.cpp:
(WebCore::RenderInputSpeech::paintInputFieldSpeechButton): Selects the image based on current state.
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::set_state): Switch to a new state and update the UI.
(WebCore::InputFieldSpeechButtonElement::didCompleteRecording):
(WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
* rendering/TextControlInnerElements.h:
(WebCore::InputFieldSpeechButtonElement::):
(WebCore::InputFieldSpeechButtonElement::state):
2010-08-11 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by Alexey Proskuryakov.
REGRESSION(65135): format specifier warnings
https://bugs.webkit.org/show_bug.cgi?id=43876
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::appendToBuffer): cast size_t to unsigned long for %lu.
(WebCore::WebSocketChannel::processBuffer): cast size_t to unsigned long for %lu.
2010-08-11 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix, don't generate WebDOMEventTarget.h/.cpp as we use the ones in bindings/cpp.
* DerivedSources.make:
2010-08-11 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Make PendingScript copyable so that it can be stored in containers
https://bugs.webkit.org/show_bug.cgi?id=43875
This will be useful for storing PendingScripts in a Vector or Deque for
async and defer scripts.
No new tests because no functional changes.
* dom/PendingScript.h:
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::operator=):
2010-08-11 Victoria Kirst <vrk@google.com>
Reviewed by David Levin.
Fixing a regression in the UI for Mac default audio/video controls.
https://bugs.webkit.org/show_bug.cgi?id=43750
* rendering/RenderThemeChromiumMac.h:
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderContainer):
(WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
(WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
2010-08-11 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML TreeBuilder hits ASSERT in fragment case with insertAdjacentHTML and colgroup
https://bugs.webkit.org/show_bug.cgi?id=43758
This patch conditionalizes some LegacyHTMLTreeBuilder-specific code in
HTMLElement::createContextualFragment that interferes with the new
HTMLTreeBuilder. Doing that exposes the above ASSERT, which I've fixed
in this patch too. Fixing that ASSERT involved a small refactoring in
ExternalCharacterTokenBuffer.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::createContextualFragment):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
2010-08-11 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Conditionalize wrong fragment parsing code to pass more HTML5lib tests
https://bugs.webkit.org/show_bug.cgi?id=43877
This code exists to support the LegacyHTMLTreeBuilder. Unfortunately,
it causes problems for the new HTMLTreeBuilder (which is more
self-contained).
* dom/Element.cpp:
(WebCore::Element::createContextualFragment):
2010-08-11 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
Can't unbold text in div in font-weight span
https://bugs.webkit.org/show_bug.cgi?id=26871
The bug was caused by removeInlineStyle not being able to include styled inline nodes around the start.
Solved this problem by pushing down all inline styles instead of just text-decorations.
This approach allows removeInlineStyle to remove styled ancestors properly and generates compact markups.
Test: editing/style/push-down-inline-styles.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeCSSStyle): No longer removes attributes or node when mode == RemoveNone.
(WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement
to determine the highest ancestor whose style needs to be pushed down.
(WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Renamed from extractTextDecorationStyle.
Extracts all inline CSS properties specified instead of just text decorations.
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Renamed from applyTextDecorationStyle.
Applies inline styles using addInlineStyleIfNeeded or adds inline CSS values.
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Renamed from pushDownTextDecorationStyleAroundNode.
(WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode.
* editing/ApplyStyleCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::mergeParagraphs): Prevents moveParagraph from preserving
the style of an empty paragraph when merged with the previous paragraph because we don't use that style anyways.
2010-08-11 Julien Chaffraix <jchaffraix@codeaurora.org>
Reviewed by Ariya Hidayat.
Remove dead code in CSSStyleSelector.
https://bugs.webkit.org/show_bug.cgi?id=43805
* css/CSSStyleSelector.cpp: Remove some debugging code that
was compiled out.
2010-08-11 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: isNativeCheckbox does not work as advertised
https://bugs.webkit.org/show_bug.cgi?id=43872
Test: platform/mac/accessibility/native-vs-nonnative-checkboxes.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isInputImage):
Only say it's an input image if its role has not been overriden
(WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
* dom/InputElement.h:
Add methods to query if it's a checkbox or radio button type element.
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isCheckbox):
2010-08-11 Kenneth Russell <kbr@google.com>
Reviewed by David Levin.
Remove obsolete WebGLArray type names
https://bugs.webkit.org/show_bug.cgi?id=43885
Deleted aliases to obsolete WebGLArray type names. Updated
affected layout tests, synchronizing them with the versions in the
Khronos repository where appropriate. Ran all layout tests.
* bindings/js/JSDOMWindowCustom.cpp:
* page/DOMWindow.idl:
2010-08-11 Steve Block <steveblock@google.com>
Reviewed by David Levin.
[chromium] Geolocation breaks the compile if ENABLE_GEOLOCATION is set to 0
https://bugs.webkit.org/show_bug.cgi?id=43753
This change guards the entire contents of the V8 custom bindings files
with ENABLE(GEOLOCATION) to match JSC.
No new tests, build fix only.
* bindings/v8/custom/V8CustomPositionCallback.cpp:
* bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
* bindings/v8/custom/V8GeolocationCustom.cpp:
2010-08-11 Kwang Yul Seo <skyul@company100.net>
Reviewed by David Levin.
Include <wtf/UnusedParam.h> in GraphicsContextSkia.cpp
https://bugs.webkit.org/show_bug.cgi?id=43843
wtf/UnusedParam.h must be included because UNUSED_PARAM macro is used.
* platform/graphics/skia/GraphicsContextSkia.cpp:
2010-08-11 Nico Weber <thakis@chromium.org>
Reviewed by David Levin.
[chromium/mac]: Fix colors in compositing mode
https://bugs.webkit.org/show_bug.cgi?id=43823
The textures are drawn by opengl, which doesn't do any color space
correction -- it assumes everything is in the device color space
already. Hence, when drawing into the memory that will be uploaded
as opengl texture, use the device color space.
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateTextureContents):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::updateTextureContents):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
2010-08-11 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Remove obsolete texImage2D and texSubImage2D entry points
https://bugs.webkit.org/show_bug.cgi?id=40320
No new tests; covered by existing WebGL tests.
* html/canvas/WebGLRenderingContext.cpp:
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
2010-08-11 Gavin Barraclough <barraclough@apple.com>
Windows build fix.
* platform/win/BString.cpp:
(WebCore::BString::BString):
2010-08-11 Gavin Barraclough <barraclough@apple.com>
Qt build fix II.
* WebCore.xcodeproj/project.pbxproj:
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
2010-08-11 Gavin Barraclough <barraclough@apple.com>
Qt build fix.
* WebCore.xcodeproj/project.pbxproj:
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
2010-08-11 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Need EmptyDeviceOrientationClient and EmptyDeviceMotionClient for use with SVGImage
https://bugs.webkit.org/show_bug.cgi?id=43848
Tested by existing DeviceOrientation tests.
* loader/EmptyClients.h:
(WebCore::EmptyDeviceMotionClient::setController):
(WebCore::EmptyDeviceMotionClient::startUpdating):
(WebCore::EmptyDeviceMotionClient::stopUpdating):
(WebCore::EmptyDeviceMotionClient::currentDeviceMotion):
(WebCore::EmptyDeviceOrientationClient::setController):
(WebCore::EmptyDeviceOrientationClient::startUpdating):
(WebCore::EmptyDeviceOrientationClient::stopUpdating):
(WebCore::EmptyDeviceOrientationClient::lastOrientation):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2010-08-11 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=42042
An empty value for xml:lang isn't considered
Revert last line change of my patch ; it happens to
behave correctly and same as before, but makes the
use case of empty values unneededly slower.
No new tests. (No change in behavior)
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2010-08-11 Kevin Ollivier <kevino@theolliviers.com>
[wx, WebDOM] Build fix. Fix callback params and WebCore::String -> WTF::String fixes.
* bindings/cpp/WebDOMCustomVoidCallback.cpp: Added.
(WebDOMCustomVoidCallback::WebDOMCustomVoidCallback):
(WebDOMCustomVoidCallback::~WebDOMCustomVoidCallback):
(WebDOMCustomVoidCallback::handleEvent):
(toWebCore):
* bindings/cpp/WebDOMCustomVoidCallback.h: Added.
(WebDOMCustomVoidCallback::create):
* bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
(documentWrite):
* bindings/cpp/WebDOMString.cpp:
(WebDOMString::equals):
* bindings/scripts/CodeGeneratorCPP.pm:
* bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
(WebDOMTestCallback::callbackWithClass1Param):
(WebDOMTestCallback::callbackWithClass2Param):
(WebDOMTestCallback::callbackWithNonBoolReturnType):
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
* bindings/scripts/test/V8/V8TestInterface.h:
* bindings/scripts/test/V8/V8TestObj.h:
* wscript:
2010-08-11 Gavin Barraclough <barraclough@apple.com>
Rubber stamps by Darin Adler & Sam Weinig.
Bug 43867 - Some UString cleanup
Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
Move string concatenation methods to a new header to simplify down UString.h. Remove is8Bit().
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::hasCSSPropertyNamePrefix):
(WebCore::cssPropertyName):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::setPort):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
* bindings/js/ScriptString.h:
(WebCore::ScriptString::size):
* bindings/js/ScriptValue.cpp:
(WebCore::jsToInspectorValue):
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::convertValueToJObject):
* bridge/jni/jsc/JNIUtilityPrivate.cpp:
(JSC::Bindings::convertArrayInstanceToJavaArray):
(JSC::Bindings::convertValueToJValue):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::callObjCFallbackObject):
2010-08-10 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
Add a new boolean to Document to indicate that content should be paginated. This is checked when doing page breaks
and in a couple of other cases.
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Document::paginatedForScreen):
(WebCore::Document::setPaginatedForScreen):
(WebCore::Document::paginated):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::calcColumnWidth):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcHeight):
* rendering/RenderView.cpp:
(WebCore::RenderView::paint):
2010-08-11 Adam Barth <abarth@webkit.org>
Windows build fix. Turns out we need to unconditionally include
HTMLEntityNames.cpp now that LegacyHTMLDocumentParser doesn't exist.
* html/HTMLEntityParser.cpp:
2010-08-11 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
Inserting a <source> element should immediately set networkState to NETWORK_NO_SOURCE.
https://bugs.webkit.org/show_bug.cgi?id=42897
A <source> element inserted as a child of a media element with a networkState of NETWORK_EMPTY
should cause the networkState to immediately change to NETWORK_NO_SOURCE.
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Remove unused variable m_processingLoad.
(WebCore::HTMLMediaElement::prepareForLoad): Set m_networkState to NETWORK_NO_SOURCE.
(WebCore::HTMLMediaElement::loadInternal): Remove unused variable m_processingLoad.
(WebCore::HTMLMediaElement::selectMediaResource): No need to change m_networkState, it was done in prepareForLoad.
* html/HTMLMediaElement.h:
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedIntoTree): Renamed from insertedIntoDocument because we want
to do this setup whether or not the parent media element is in the document.
* html/HTMLSourceElement.h:
2010-08-11 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Delete LegacyHTMLDocumentParser and LegacyPreloadScanner
https://bugs.webkit.org/show_bug.cgi?id=43836
These classes are bit-rotting disturbingly quickly. We removed the
last dependencies on these classes and so we can remove them.
We might need to preserve some of their particular quirks to handle
some legacy applications, but our current thinking is to do that with
individual settings that affect the new parser.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::parseHTML):
* dom/DocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
* dom/XMLDocumentParserQt.cpp:
* html/HTMLConstructionSite.cpp:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createParser):
* html/HTMLEntityParser.cpp:
(WebCore::decodeNamedEntity):
* html/HTMLEntityParser.h:
* html/HTMLFormControlElement.cpp:
* html/HTMLTreeBuilder.cpp:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createParser):
* html/LegacyHTMLDocumentParser.cpp: Removed.
* html/LegacyHTMLDocumentParser.h: Removed.
* html/LegacyHTMLTreeBuilder.cpp:
* html/LegacyPreloadScanner.cpp: Removed.
* html/LegacyPreloadScanner.h: Removed.
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
(WebCore::FTPDirectoryDocumentParser::appendEntry):
(WebCore::FTPDirectoryDocumentParser::createTDForFilename):
(WebCore::processFilesizeString):
(WebCore::wasLastDayOfMonth):
(WebCore::processFileDateString):
(WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):
(WebCore::FTPDirectoryDocumentParser::append):
(WebCore::FTPDirectoryDocumentParser::finish):
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::decodeHTMLEntities):
* page/XSSAuditor.h:
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::prepend):
2010-08-11 Chris Jerdonek <cjerdonek@webkit.org>
Reviewed by Adam Barth.
Refactored FrameLoader::createWindow() out of the FrameLoader class
since FrameLoader should not be responsible for creating windows.
https://bugs.webkit.org/show_bug.cgi?id=39156
No new functionality, so no new tests.
* bindings/generic/BindingDOMWindow.h:
(WebCore::::createWindow):
- Updated the call to FrameLoader's createWindow().
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::createWindow):
- Updated the call to FrameLoader's createWindow().
* loader/FrameLoader.cpp:
(WebCore::createWindowFromFrameLoader):
- Made FrameLoader::createWindow() non-member, non-friend and changed it
to accept Frame* parameters instead of FrameLoader*.
* loader/FrameLoader.h:
- Updated the header file to reflect the above change to FrameLoader.cpp.
2010-08-11 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: small refactoring for CodeGeneratorInspector.
all "notify" methods are generating in InspectorFrontend
the other methods are generating in InspectorBackend.
https://bugs.webkit.org/show_bug.cgi?id=43849
* inspector/CodeGeneratorInspector.pm:
2010-08-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] Misc improvements to the scrolling code
https://bugs.webkit.org/show_bug.cgi?id=41926
Refactor code that uses deprecated ways of dealing with the
adjustments to use the GtkVersioning infrastructure.
* GNUmakefile.am:
* platform/gtk/GtkVersioning.cpp: Added.
* platform/gtk/GtkVersioning.h:
* platform/gtk/ScrollViewGtk.cpp:
* platform/gtk/ScrollbarGtk.cpp:
(ScrollbarGtk::detachAdjustment):
(ScrollbarGtk::updateThumbPosition):
(ScrollbarGtk::updateThumbProportion):
2010-08-11 Nate Chapin <japhet@chromium.org>
Chromium mac build fix (variables weren't being initialized).
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::apply): Initalize dxLeft, dxRight, dyLeft, dyRight.
2010-08-11 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: apply correct fix to storage panel status bar buttons.
https://bugs.webkit.org/show_bug.cgi?id=43846
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype.get statusBarItems):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype._genericViewSetup):
2010-08-11 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Adam Barth.
Override operator= for C++ DOM binding classes with private structs
and update C++ DOM bindings test results.
https://bugs.webkit.org/show_bug.cgi?id=43735
* bindings/cpp/WebDOMEventTarget.cpp:
(WebDOMEventTarget::operator=):
* bindings/cpp/WebDOMEventTarget.h:
* bindings/scripts/CodeGeneratorCPP.pm:
* bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
(WebDOMTestCallback::operator=):
* bindings/scripts/test/CPP/WebDOMTestCallback.h:
* bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
(WebDOMTestInterface::operator=):
* bindings/scripts/test/CPP/WebDOMTestInterface.h:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::operator=):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
2010-08-11 Julie Parent <jparent@chromium.org>
Reviewed by Justin Garcia.
Crash in replaceSelectionCommand with RTL text.
https://bugs.webkit.org/show_bug.cgi?id=41485
For text with mixed directionality, sort the text boxes before
computing gaps, since that code assumes the boxes are in order.
Test: editing/execCommand/insert-image-on-top-of-directional-text.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::deleteInsignificantText): Sort boxes
like we do in TextIterator before computing gaps.
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode): Use new compareByStart
rather than compareBoxStart. No functional change.
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::compareByStart): Moved compareBoxStart
from TextIterator here so it can be used in multiple places.
2010-08-11 Fumitoshi Ukai <ukai@chromium.org>
Unreviewed build fix of Leopard Intel Debug (Build)
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::processBuffer): use %lu, instead of %ul
2010-08-11 Alejandro G. Castro <alex@igalia.com>
Reviewed by Dirk Schulze.
Fixes to the gaussian blur algorithm
https://bugs.webkit.org/show_bug.cgi?id=41605
Added the recomendations of SVG regarding the kernel size
calculation for the approximation of the gaussian
blur. http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement.
Modified also some variable names to clarify algorithm, reviewed
the situation where both standard deviations are 0.
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::FEGaussianBlur):
(WebCore::FEGaussianBlur::stdDeviationX):
(WebCore::FEGaussianBlur::setStdDeviationX):
(WebCore::FEGaussianBlur::stdDeviationY):
(WebCore::FEGaussianBlur::setStdDeviationY):
(WebCore::boxBlur):
(WebCore::FEGaussianBlur::kernelPosition): Added the SVG kernel
position recomendation.
(WebCore::FEGaussianBlur::apply):
(WebCore::FEGaussianBlur::externalRepresentation):
* platform/graphics/filters/FEGaussianBlur.h:
2010-08-11 Kristian Monsen <kristianm@google.com>
Reviewed by Steve Block.
Compile fix for Android, added include for <wtf/text/Cstring.h, this
did not get included in Android.
https://bugs.webkit.org/show_bug.cgi?id=41517
Build fix only, no new tests.
* page/PrintContext.cpp:
2010-08-11 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by Alexey Proskuryakov.
Fix length calculation to be more robust.
https://bugs.webkit.org/show_bug.cgi?id=43777
Test: websocket/tests/frame-length-overflow.html
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::appendToBuffer): len is size_t.
- add sanity check for integer wraps.
(WebCore::WebSocketChannel::skipBuffer): len is size_t.
(WebCore::WebSocketChannel::processBuffer): length is size_t.
- add sanity check for integer wraps.
* websockets/WebSocketChannel.h: change m_bufferSize and len to size_t.
2010-08-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
https://bugs.webkit.org/show_bug.cgi?id=43762
In fixing the insertAdjacentHTML I had to make small changes to
the error logic, which ended up bringing us closer to HTML5.
Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
- This ASSERT was just wrong, the child should not be attached
in the case the parent is not attached.
* html/HTMLElement.cpp:
(WebCore::contextElementForInsertion):
- This is part of HTML5, needed to know what to call the
HTML or XML parsers with. The previous code always passed
"this" which is wrong in the case of beforeBegin or afterEnd insertion.
(WebCore::HTMLElement::insertAdjacentHTML):
- Use the right contextElement now that we know how to compute it.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
- This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.
2010-08-11 Adam Barth <abarth@webkit.org>
Attempt to fix Windows build.
* platform/win/COMPtr.h:
(WTF::):
2010-08-11 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Port view-source to new parser
https://bugs.webkit.org/show_bug.cgi?id=43746
This patch switches the view-source mode for frames over to using the
new HTML parsing infrastructure. This patch is an architectural change
to how we parser view source documents.
Previously, the LegacyHTMLDocumentParser would output a "guide string"
that consided of the inter-attribute whitespace and various "control"
characters. The HTMLViewSourceDocument would then interpret this guide
string to approximately reconstruct the source of the original document
and colorize various syntatic constructs.
Unfortunately, that approach is inherently low-fidelity. It's not
really feasible to reconstruct the input document from the token
stream. The old view source mode also had a number of hacks in the old
parser (e.g., to turn of decoding of HTML entities).
Instead of trying to reconstruct the original document from the token
stream, we use the segmentation information given by the tokens to
colorize the input document itself. Each token now caries information
about where in the input stream it came from and where various
subcomponents (e.g., attribute names and values) are located. This
approach is higher fidelity because we use this segmentation
information to colorize the original input instead of attempting to
reconstruct the original input.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLDocumentParser.cpp:
* html/HTMLToken.h:
(WebCore::HTMLToken::clear):
(WebCore::HTMLToken::startIndex):
(WebCore::HTMLToken::length):
(WebCore::HTMLToken::end):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createParser):
(WebCore::HTMLViewSourceDocument::addSource):
(WebCore::HTMLViewSourceDocument::processDoctypeToken):
(WebCore::HTMLViewSourceDocument::processTagToken):
(WebCore::HTMLViewSourceDocument::processCommentToken):
(WebCore::HTMLViewSourceDocument::processCharacterToken):
(WebCore::HTMLViewSourceDocument::addRange):
* html/HTMLViewSourceDocument.h:
* html/HTMLViewSourceParser.cpp: Added.
(WebCore::HTMLViewSourceParser::~HTMLViewSourceParser):
(WebCore::HTMLViewSourceParser::insert):
(WebCore::HTMLViewSourceParser::pumpTokenizer):
(WebCore::HTMLViewSourceParser::append):
(WebCore::HTMLViewSourceParser::sourceForToken):
(WebCore::HTMLViewSourceParser::updateTokenizerState):
(WebCore::HTMLViewSourceParser::finish):
(WebCore::HTMLViewSourceParser::finishWasCalled):
* html/HTMLViewSourceParser.h: Added.
(WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
(WebCore::HTMLViewSourceParser::document):
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::processToken):
(WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
2010-08-11 Yoshiki Hayashi <yhayashi@google.com>
Reviewed by Shinichiro Hamaji.
Make form controls, textarea, legend and datagrid treat width:
auto as specified in stretching vertical flexbox. Otherwise it's
treated as intrinsic as before.
https://bugs.webkit.org/show_bug.cgi?id=17918
Test: fast/flexbox/vertical-box-form-controls.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::sizesToIntrinsicWidth):
2010-08-10 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Add leakRef and clear to all RefPtr variants
https://bugs.webkit.org/show_bug.cgi?id=42389
* platform/win/COMPtr.h: Changed all uses of "template <...>" to instead do
"template<...>". Defined many of the inlined functions outside the class
definition, to avoid style checker warnings about multiple statements on
a single line and for slightly better clarity of the class definition itself.
Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
don't have to rename all callers at once. Added a clear function. Changed
the hash table code so it doesn't need to call releaseRef, and so it uses
the hash table deleted value hooks already present within the class.
2010-08-10 Ariya Hidayat <ariya@sencha.com>
[Qt] Fix build warning: remove reference to html/BlobRegistryImp.h
* WebCore.pro:
2010-08-10 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=43803
<rdar://problem/6988023> Only the last Korean character can be shown if font style is enabled while typing (43803)
Test: platform/mac/editing/input/bold-node.html
* editing/Editor.cpp: (WebCore::Editor::setComposition): It is not clear to me what the
"baseNode == extentNode" check is about in this function , but let's try to make it more
likely that it passes.
2010-08-10 Hayato Ito <hayato@chromium.org>
Reviewed by Kent Tamura.
Make CSSSelector::specificity() non-recursive.
https://bugs.webkit.org/show_bug.cgi?id=43784
This change is one of the required changes to fix the following master bug:
https://bugs.webkit.org/show_bug.cgi?id=42806
No functional change, thus no tests.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::specificity):
(WebCore::CSSSelector::specificityForOneSelector):
(WebCore::CSSSelector::specificityForPage):
* css/CSSSelector.h:
2010-08-10 Matthew Delaney <mdelaney@apple.com>
Reviewed by Darin Adler.
2d.path.clip.empty.html test is failing
https://bugs.webkit.org/show_bug.cgi?id=43161
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clip):
Catching the empty path case from being sent directly to
CGContextClip - which would ignore it. Instead, using
CGContextClip with a CGRectZero to achieve the desired
behavior of reducing the clipping region to nothing.
2010-08-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Antonio Gomes.
[EFL] Add video files to enable video in WebKit EFL
https://bugs.webkit.org/show_bug.cgi?id=43790
Add files regarding html5 video to CMakeList.txt for WebKit Efl.
But, this patch is not run html5 video on WebKit EFL yet.
* CMakeLists.txt: Add files related to html5video.
* platform/efl/LocalizedStringsEfl.cpp: Add functions for html5 video.
(WebCore::localizedMediaControlElementString):
(WebCore::localizedMediaControlElementHelpText):
(WebCore::localizedMediaTimeDescription):
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines): Disable MediaPlayerPrivate::r
egisterMediaEngine for WebKit EFL.
2010-08-10 Patrick Gansterer <paroga@paroga.com>
Reviewed by Nikolas Zimmermann.
Add a toRenderSVGImage function
https://bugs.webkit.org/show_bug.cgi?id=43789
Add a function for casting to RenderSVGImage and use it.
* rendering/RenderSVGImage.h:
(WebCore::toRenderSVGImage):
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGImage):
* rendering/SVGRenderTreeAsText.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::attach):
2010-08-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Clients of HTMLTokenizer should be able to see where characters went in the token
https://bugs.webkit.org/show_bug.cgi?id=43766
When viewing the source of a document, we want to colorize different
parts of the input depending on how they were tokenized. In this
patch, we expose the internal segmentation of a token by recording the
start and end offsets for each attribute name and each attribute value.
* html/HTMLToken.h:
(WebCore::HTMLToken::addNewAttribute):
(WebCore::HTMLToken::beginAttributeName):
(WebCore::HTMLToken::endAttributeName):
(WebCore::HTMLToken::beginAttributeValue):
(WebCore::HTMLToken::endAttributeValue):
(WebCore::HTMLToken::appendToAttributeName):
(WebCore::HTMLToken::appendToAttributeValue):
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
2010-08-10 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by David Levin.
Do not post a sync task to the DB thread if it's terminating.
https://bugs.webkit.org/show_bug.cgi?id=43676
* bindings/generic/ActiveDOMCallback.cpp: The context can
sometimes be NULL. Check if it's NULL instead of asserting that
it's not.
(WebCore::ActiveDOMCallback::ActiveDOMCallback):
* dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::ActiveDOMObject):
* storage/Database.cpp: Do not post a sync task to the DB thread
if the DB thread is terminating. Also, when a task is destroyed,
ASSERT that it was completed, or that it had no synchronizer.
(WebCore::Database::openAndVerifyVersion):
(WebCore::Database::markAsDeletedAndClose):
(WebCore::Database::tableNames):
* storage/DatabaseTask.cpp:
(WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
(WebCore::DatabaseTask::~DatabaseTask):
(WebCore::DatabaseTask::performTask):
* storage/DatabaseTask.h:
(WebCore::DatabaseTaskSynchronizer::hasCheckedForTermination):
(WebCore::DatabaseTaskSynchronizer::setHasCheckedForTermination):
(WebCore::DatabaseTask::hasSynchronizer):
(WebCore::DatabaseTask::hasCheckedForTermination):
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::terminationRequested):
(WebCore::DatabaseThread::scheduleTask):
(WebCore::DatabaseThread::scheduleImmediateTask):
* storage/DatabaseThread.h:
2010-08-10 Gavin Barraclough <barraclough@apple.com>
Qt build fix.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
2010-08-10 Jian Li <jianli@chromium.org>
Fix more build break.
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::ZigZag::Reader::readBlob):
(WebCore::ZigZag::Reader::readFile):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::revokeBlobURL):
* dom/ScriptExecutionContext.h:
* html/Blob.cpp:
(WebCore::Blob::slice):
2010-08-10 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig
Bug 43817 - Remove UString::Rep
UString::Rep has for a long time been replaced by UStringImpl (Rep
remaining as a typedef). UStringImpl has since been removed too
(unified with StringImpl). Remove Rep, rename rep() to impl() and
m_rep to m_impl. Also add impl() method to Identifier, and rename
its UString member from _ustring to m_string.
* bindings/js/JSDOMBinding.cpp:
(WebCore::findAtomicString):
* bindings/js/JSDOMBinding.h:
(WebCore::ustringToString):
(WebCore::identifierToString):
(WebCore::ustringToAtomicString):
(WebCore::identifierToAtomicString):
* bindings/js/SerializedScriptValue.h:
(WebCore::SerializedScriptValueData::SerializedScriptValueData):
* bridge/IdentifierRep.cpp:
(WebCore::IdentifierRep::get):
* bridge/c/c_class.cpp:
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):
* bridge/jni/jsc/JavaClassJSC.cpp:
(JavaClass::JavaClass):
(JavaClass::methodsNamed):
(JavaClass::fieldNamed):
* bridge/jni/jsc/JavaStringJSC.h:
(JSC::Bindings::JavaStringImpl::~JavaStringImpl):
(JSC::Bindings::JavaStringImpl::init):
(JSC::Bindings::JavaStringImpl::UTF8String):
(JSC::Bindings::JavaStringImpl::uchars):
(JSC::Bindings::JavaStringImpl::length):
(JSC::Bindings::JavaStringImpl::uString):
* bridge/jsc/BridgeJSC.h:
2010-08-10 Jian Li <jianli@chromium.org>
Fix qt build break.
* html/BlobRegistryImpl.cpp:
* html/BlobRegistryImpl.h:
* html/BlobURL.cpp:
* html/BlobURL.h:
* platform/BlobRegistry.h:
2010-08-10 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Add the support to register the blob data.
https://bugs.webkit.org/show_bug.cgi?id=43600
This is the first step towards adding Blob URL support. The blob has
an internal URL (used by FileReader) and public URLs (used by Blob.url).
The URL and its associated data are managed by BlobRegistry interface.
This patch does not remove the usage of BlobItem. It will be removed
when all the blob data support is hooked up and the new tests will be
added then.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedBlob::create):
(WebCore::SerializedBlob::url):
(WebCore::SerializedBlob::type):
(WebCore::SerializedBlob::size):
(WebCore::SerializedBlob::SerializedBlob):
(WebCore::SerializedFile::create):
(WebCore::SerializedFile::path):
(WebCore::SerializedFile::url):
(WebCore::SerializedFile::type):
(WebCore::SerializedFile::SerializedFile):
(WebCore::SerializedFileList::item):
(WebCore::SerializedFileList::SerializedFileList):
(WebCore::SerializedScriptValueData::SerializedScriptValueData):
(WebCore::SharedSerializedData::asBlob):
(WebCore::SharedSerializedData::asFile):
(WebCore::SerializingTreeWalker::convertIfTerminal):
(WebCore::DeserializingTreeWalker::convertIfTerminal):
(WebCore::TeardownTreeWalker::convertIfTerminal):
* bindings/js/SerializedScriptValue.h:
(WebCore::SerializedScriptValueData::):
(WebCore::SerializedScriptValueData::asString):
(WebCore::SerializedScriptValueData::asBlob):
(WebCore::SerializedScriptValueData::asFile):
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::ZigZag::Writer::writeBlob):
(WebCore::ZigZag::Writer::writeFile):
(WebCore::ZigZag::Writer::writeFileList):
(WebCore::ZigZag::Writer::doWriteUintHelper):
(WebCore::ZigZag::Writer::doWriteUint32):
(WebCore::ZigZag::Writer::doWriteUint64):
(WebCore::ZigZag::Serializer::writeBlob):
(WebCore::ZigZag::Serializer::writeFile):
(WebCore::ZigZag::Reader::readBlob):
(WebCore::ZigZag::Reader::readFile):
(WebCore::ZigZag::Reader::readFileList):
(WebCore::ZigZag::Reader::doReadUintHelper):
(WebCore::ZigZag::Reader::doReadUint32):
(WebCore::ZigZag::Reader::doReadUint64):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::trackBlobURL):
(WebCore::ScriptExecutionContext::revokeBlobURL):
* dom/ScriptExecutionContext.h:
* html/Blob.cpp:
(WebCore::Blob::Blob):
(WebCore::Blob::~Blob):
(WebCore::Blob::createPublicURL):
* html/Blob.h:
(WebCore::Blob::create):
(WebCore::Blob::url):
* html/BlobRegistryImpl.cpp: Added.
* html/BlobRegistryImpl.h: Added.
* html/BlobStorageData.h: Added.
* html/BlobURL.cpp: Added.
* html/BlobURL.h: Added.
* html/File.cpp:
(WebCore::File::File):
* html/File.h:
(WebCore::File::create):
* platform/BlobData.cpp: Added.
* platform/BlobData.h: Added.
* platform/BlobRegistry.h: Added.
2010-08-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
SegmentedString should keep track of how many characters it consumes
https://bugs.webkit.org/show_bug.cgi?id=43765
The easiest way to keep track of how many characters we've consumed
would be to increment a counter every time we advance, but that's too
slow. Instead, we keep track lazily and update our summary durning the
slow case of advance (which is sufficiently rare).
There's some subtly to how this works w.r.t. "unconsuming" characters
by pushing them back on the front of the segmented string. This isn't
really a "right answer" here because the notion of unconsuming input
isn't present in the API. This patch makes some assumptions about how
clients of this class use its API. In a future patch, we might want to
rename some of the method names to make this more explicit.
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::operator=):
(WebCore::SegmentedString::append):
(WebCore::SegmentedString::prepend):
(WebCore::SegmentedString::advanceSubstring):
* platform/text/SegmentedString.h:
(WebCore::SegmentedSubstring::numberOfCharactersConsumed):
(WebCore::SegmentedString::SegmentedString):
(WebCore::SegmentedString::numberOfCharactersConsumed):
2010-08-10 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig.
Bug 43816 - Remove UStringImpl
The class was actually removed a long time ago, replaced by StringImpl.
UStringImpl is just a typedef onto StringImpl. Remove this.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.cpp:
(WebCore::findAtomicString):
2010-08-09 Stephen White <senorblanco@chromium.org>
Reviewed by David Levin.
Prefer the medium-quality (bilinear) image resampling for 2D canvas on
Chromium.
https://bugs.webkit.org/show_bug.cgi?id=43646
This is what the accelerated path is going to do,
so do it in the software path as well.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
* platform/graphics/GraphicsContext.h:
2010-08-10 Chris Fleizach <cfleizach@apple.com>
Reviewed by Dave Hyatt.
Removing an element from an anonymous block causes crash
https://bugs.webkit.org/show_bug.cgi?id=42309
There was a case where a continuation was added as a child, but if you asked
that child who is your parent, it would return the wrong answer.
The specific scenario was when a sibling of an element who was the start of a
continuation was present. Retrieving the parent object had then follow the sibling
chain and then follow the originating continuation chain.
Test: accessibility/removed-anonymous-block-child-causes-crash.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::nextSibling):
Fix erroneous comment
(WebCore::nextContinuation):
(WebCore::AccessibilityRenderObject::renderParentObject):
Handle unhandled continuation case.
(WebCore::AccessibilityRenderObject::addChildren):
ASSERT that the parentObject() is the same when adding a new child.
2010-08-10 Abhishek Arya <inferno@chromium.org>
Reviewed by David Hyatt.
Take checks for ruby base existence out of the ASSERTs.
https://bugs.webkit.org/show_bug.cgi?id=43795
Test: fast/ruby/ruby-remove-no-base.html
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::removeChild):
2010-08-06 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
texture functions should gen INVALID_OPERATION if no texture is bound
https://bugs.webkit.org/show_bug.cgi?id=42907
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::copyTexImage2D): Check if a texture is bound to target.
(WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::generateMipmap): Ditto.
(WebCore::WebGLRenderingContext::getTexParameter): Ditto.
(WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::texParameter): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::validateTextureBinding): Check if target is valid and if a texture is bound to it.
* html/canvas/WebGLRenderingContext.h: Declare validateTextureBinding().
2010-08-10 Patrick Gansterer <paroga@paroga.com>
Reviewed by Sam Weinig.
[WINCE] Implement Path::currentPoint()
https://bugs.webkit.org/show_bug.cgi?id=42927
* platform/graphics/wince/PathWince.cpp:
(WebCore::Path::currentPoint):
2010-08-10 Ariya Hidayat <ariya@sencha.com>
[Qt] Warning fix, remove reference to platform/text/StringImpl.h
* WebCore.pro:
2010-08-10 Alice Liu <alice.liu@apple.com>
Chromium build fix attempt. not reviewed
* platform/text/TextBoundaries.cpp: use correct stringimplh include
2010-08-10 Jian Li <jianli@chromium.org>
Chromium build fix.
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
2010-08-10 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
Change the ScriptController::processingUserGesture to static method
and use dynamic(JSC binding)/entered(V8 binding) frame to check the user gesture.
https://bugs.webkit.org/show_bug.cgi?id=42827.
Test: fast/events/popup-blocked-from-iframe-script.html
* WebCore.order:
* bindings/js/JSDOMBinding.cpp:
(WebCore::processingUserGesture):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation):
(WebCore::createWindow):
(WebCore::domWindowAllowPopUp):
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::setLocation):
* bindings/js/JSLocationCustom.cpp:
(WebCore::navigateIfAllowed):
(WebCore::JSLocation::reload):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::processingUserGesture):
* bindings/js/ScriptController.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::processingUserGesture):
(WebCore::ScriptController::anyPageIsProcessingUserGesture):
* bindings/v8/ScriptController.h:
* bindings/v8/specialization/V8BindingState.cpp:
(WebCore::::processingUserGesture):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::isProcessingUserGesture):
2010-08-10 Gavin Barraclough <barraclough@apple.com>
Chromium build fix
* platform/graphics/chromium/FontPlatformDataLinux.h:
2010-08-10 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig.
Bug 43786 - Move AtomicStringHash from WebCore to WTF
Also remove deprecated string headers from WebCore/platform/text.
* ForwardingHeaders/wtf/text/AtomicStringHash.h: Added.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
* bindings/cpp/WebDOMHTMLCollectionCustom.cpp:
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
* bindings/js/JSClipboardCustom.cpp:
* bindings/js/JSDOMApplicationCacheCustom.cpp:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
* bindings/js/JSDOMPluginArrayCustom.cpp:
* bindings/js/JSDOMPluginCustom.cpp:
* bindings/js/JSDOMStringMapCustom.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSDataGridColumnListCustom.cpp:
* bindings/js/JSHTMLAllCollectionCustom.cpp:
* bindings/js/JSHTMLCollectionCustom.cpp:
* bindings/js/JSMessagePortCustom.cpp:
* bindings/js/JSNodeListCustom.cpp:
* bindings/scripts/CodeGeneratorCPP.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
* bindings/scripts/test/V8/V8TestInterface.h:
* bindings/scripts/test/V8/V8TestObj.h:
* bindings/v8/ScriptDebugServer.h:
* bindings/v8/V8Binding.cpp:
* bindings/v8/V8Binding.h:
* bridge/jni/v8/JavaClassV8.h:
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
* css/CSSFontSelector.h:
* css/CSSNamespace.h:
* css/CSSParser.cpp:
* css/CSSParser.h:
* css/CSSParserValues.h:
* css/CSSStyleSelector.h:
* css/CSSVariablesDeclaration.h:
* css/MediaFeatureNames.h:
* css/MediaQueryExp.h:
* css/WebKitCSSKeyframesRule.h:
* dom/CustomEvent.h:
* dom/Document.cpp:
* dom/Event.cpp:
* dom/Event.h:
* dom/EventNames.h:
* dom/EventTarget.h:
* dom/InputElement.h:
* dom/MessagePort.cpp:
* dom/MessagePort.h:
* dom/NameNodeList.h:
* dom/NodeRareData.h:
* dom/QualifiedName.h:
* dom/ScriptElement.cpp:
* dom/SpaceSplitString.h:
* dom/TagNodeList.h:
* dom/XMLDocumentParser.h:
* editing/EditorCommand.cpp:
* history/mac/HistoryItemMac.mm:
* html/BlobBuilder.cpp:
* html/DataGridColumn.h:
* html/DataGridColumnList.cpp:
* html/HTMLDocument.h:
* html/HTMLInputElement.cpp:
* html/HTMLTokenizer.cpp:
* html/HTMLTokenizer.h:
* html/LegacyPreloadScanner.cpp:
* html/LegacyPreloadScanner.h:
* inspector/InspectorCSSStore.h:
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorValues.h:
* loader/Cache.h:
* loader/CrossOriginAccessControl.cpp:
* loader/CrossOriginPreflightResultCache.h:
* loader/DocLoader.h:
* loader/ImageLoader.h:
* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCacheStorage.h:
* loader/appcache/DOMApplicationCache.h:
* loader/icon/IconDatabase.h:
* loader/icon/IconRecord.h:
* loader/loader.h:
* notifications/Notification.h:
* page/FrameTree.h:
* page/Page.cpp:
* page/PageGroup.h:
* page/SecurityOrigin.h:
* page/Settings.h:
* page/WindowFeatures.cpp:
* page/animation/AnimationBase.h:
* page/animation/AnimationControllerPrivate.h:
* page/animation/CompositeAnimation.h:
* platform/Cookie.h:
* platform/KURL.cpp:
* platform/KURLGoogle.cpp:
* platform/KURLHash.h:
* platform/Length.cpp:
* platform/LinkHash.cpp:
* platform/LinkHash.h:
* platform/MIMETypeRegistry.cpp:
* platform/MIMETypeRegistry.h:
* platform/SchemeRegistry.h:
* platform/ThreadGlobalData.cpp:
* platform/ThreadGlobalData.h:
* platform/cf/BinaryPropertyList.cpp:
* platform/chromium/SearchPopupMenuChromium.cpp:
* platform/efl/ClipboardEfl.cpp:
* platform/efl/CookieJarEfl.cpp:
* platform/efl/PlatformKeyboardEventEfl.cpp:
* platform/graphics/FontCache.cpp:
* platform/graphics/FontFamily.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/cg/ImageSourceCGWin.cpp:
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
* platform/graphics/chromium/FontCacheLinux.cpp:
* platform/graphics/chromium/FontUtilsChromiumWin.cpp:
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/filters/Filter.h:
* platform/graphics/mac/FontPlatformData.h:
* platform/graphics/mac/GraphicsLayerCA.h:
* platform/graphics/qt/FontCacheQt.cpp:
* platform/graphics/win/FontCacheWin.cpp:
* platform/graphics/win/FontPlatformDataCGWin.cpp:
* platform/graphics/win/FontPlatformDataCairoWin.cpp:
* platform/graphics/win/FontPlatformDataWin.cpp:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
* platform/graphics/win/WKCACFLayer.h:
* platform/graphics/wince/FontPlatformData.cpp:
* platform/graphics/wx/FontPlatformData.h:
* platform/gtk/ClipboardGtk.cpp:
* platform/gtk/DataObjectGtk.h:
* platform/haiku/ClipboardHaiku.cpp:
* platform/haiku/CookieJarHaiku.cpp:
* platform/haiku/SearchPopupMenuHaiku.cpp:
* platform/mac/SearchPopupMenuMac.mm:
* platform/mac/ThreadCheck.mm:
* platform/network/CredentialStorage.cpp:
* platform/network/HTTPHeaderMap.h:
* platform/network/cf/DNSCFNet.cpp:
* platform/network/curl/CookieJarCurl.cpp:
* platform/qt/ClipboardQt.cpp:
* platform/text/AtomicString.h: Removed.
* platform/text/AtomicStringHash.h: Removed.
* platform/text/AtomicStringImpl.h: Removed.
* platform/text/AtomicStringKeyedMRUCache.h:
* platform/text/StringBuilder.cpp:
* platform/text/StringHash.h: Removed.
* platform/text/StringImpl.h: Removed.
* platform/text/TextCodecLatin1.cpp:
* platform/text/TextCodecUTF16.cpp:
* platform/text/TextCodecUserDefined.cpp:
* platform/text/cf/HyphenationCF.cpp:
* platform/text/cf/StringImplCF.cpp:
* platform/text/mac/HyphenationMac.mm:
* platform/text/mac/StringImplMac.mm:
* platform/text/transcoder/FontTranscoder.h:
* platform/text/wince/TextCodecWinCE.cpp:
* platform/win/BString.cpp:
* platform/win/ClipboardWin.cpp:
* platform/win/SearchPopupMenuWin.cpp:
* platform/wince/SearchPopupMenuWince.cpp:
* platform/wx/ClipboardWx.cpp:
* plugins/DOMMimeTypeArray.cpp:
* plugins/DOMPlugin.cpp:
* plugins/DOMPluginArray.cpp:
* plugins/PluginDatabase.h:
* plugins/PluginPackage.h:
* plugins/PluginStream.h:
* rendering/RenderApplet.h:
* rendering/RenderText.cpp:
* rendering/style/BindingURI.h:
* rendering/style/ContentData.cpp:
* rendering/style/CounterContent.h:
* rendering/style/CounterDirectives.h:
* rendering/style/KeyframeList.h:
* rendering/style/StyleRareInheritedData.h:
* storage/AbstractDatabase.cpp:
* storage/DatabaseAuthorizer.h:
* storage/DatabaseTracker.h:
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBFactoryBackendImpl.h:
* storage/IDBObjectStoreBackendImpl.h:
* storage/OriginQuotaManager.h:
* storage/OriginUsageRecord.h:
* storage/SQLTransactionCoordinator.h:
* storage/StorageAreaSync.h:
* storage/StorageMap.h:
* storage/StorageNamespaceImpl.cpp:
* storage/chromium/QuotaTracker.h:
* svg/SVGAltGlyphElement.h:
* svg/SVGDocumentExtensions.cpp:
* svg/SVGDocumentExtensions.h:
* svg/SVGFitToViewBox.cpp:
* svg/SVGLangSpace.h:
* svg/animation/SMILTimeContainer.h:
* svg/graphics/filters/SVGFilterBuilder.h:
* websockets/WebSocket.h:
* websockets/WebSocketChannel.cpp:
* websockets/WebSocketHandshake.cpp:
* websockets/WebSocketHandshakeResponse.cpp:
* wml/WMLPageState.h:
* workers/AbstractWorker.h:
* workers/DefaultSharedWorkerRepository.h:
* workers/Worker.h:
* workers/WorkerContext.h:
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestUpload.cpp:
* xml/XMLHttpRequestUpload.h:
* xml/XPathExpressionNode.h:
* xml/XPathNamespace.h:
* xml/XPathParser.cpp:
* xml/XSLTProcessor.h:
2010-08-10 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Adding changes that escaped from r65072.
Web Inspector: move database processing to native layer.
https://bugs.webkit.org/show_bug.cgi?id=43788
* inspector/front-end/InspectorBackendStub.js:
(WebInspector.InspectorBackendStub):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype._genericViewSetup):
2010-08-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] Inputs of type 'search' have weird looking checkboxes instead of search/clear icons
https://bugs.webkit.org/show_bug.cgi?id=43760
Draw appropriate GTK+ stock images for search/clear icons in search entries.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2010-08-10 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Qt build fix, follow up for r65072.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
2010-08-10 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: move database processing to native layer.
https://bugs.webkit.org/show_bug.cgi?id=43788
* English.lproj/localizedStrings.js:
* WebCore.gypi:
* bindings/js/JSInjectedScriptHostCustom.cpp:
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
* inspector/CodeGeneratorInspector.pm:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::dispatch):
* inspector/InjectedScript.h:
* inspector/InjectedScriptHost.cpp:
* inspector/InjectedScriptHost.h:
* inspector/InjectedScriptHost.idl:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::dispatchOnInjectedScript):
(WebCore::InspectorBackend::executeSQL):
* inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
* inspector/InspectorController.h:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorStorageAgent.cpp: Added.
(WebCore::):
(WebCore::InspectorStorageAgent::InspectorStorageAgent):
(WebCore::InspectorStorageAgent::~InspectorStorageAgent):
(WebCore::InspectorStorageAgent::executeSQL):
(WebCore::InspectorStorageAgent::clearFrontend):
* inspector/InspectorStorageAgent.h: Added.
(WebCore::InspectorStorageAgent::create):
(WebCore::InspectorStorageAgent::frontend):
* inspector/front-end/Database.js:
(WebInspector.Database.prototype.executeSql):
(WebInspector.sqlTransactionSucceeded):
(WebInspector.sqlTransactionFailed):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView.prototype._queryFinished):
(WebInspector.DatabaseQueryView.prototype._queryError):
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype._queryFinished):
* inspector/front-end/InjectedScript.js:
* inspector/front-end/InjectedScriptAccess.js:
(InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
(InjectedScriptAccess._installHandler):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.dataGridForResult):
2010-08-10 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
[V8] DeviceMotionEvent can not be used from JavaScript
https://bugs.webkit.org/show_bug.cgi?id=43785
This is tested by the existing tests fast/dom/DeviceMotion/create-event.html
and fast/dom/DeviceMotion/optional-event-properties.html.
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
2010-08-10 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Antonio Gomes.
[Qt] Build WebKit2 into a static lib
https://bugs.webkit.org/show_bug.cgi?id=43621
Just build changes so no new tests.
* WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
* WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
* features.pri: Added.
2010-08-10 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector, Chromium: reloading of inspected page hits assert in InspectorController::enableDebuggerFromFrontend()
https://bugs.webkit.org/show_bug.cgi?id=43780
* inspector/CodeGeneratorInspector.pm:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::enableDebuggerFromFrontend):
* inspector/InspectorController.h:
(WebCore::InspectorController::hasFrontend):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::create):
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::failedToParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::didContinue):
* inspector/InspectorDebuggerAgent.h:
2010-08-10 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Make sure NPAPI plugins get an initial setNPWindow on Mac
https://bugs.webkit.org/show_bug.cgi?id=43782
* plugins/mac/PluginViewMac.mm:
2010-08-10 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Use SVGPathParser to create SVG paths and to perform path animations
https://bugs.webkit.org/show_bug.cgi?id=43696
Removed toString() functions in all SVGPathSeg* objects as well as toPath() in SVGPathSegList.
These hacks were used to create a SVG path data string or a platform path from a SVGPathSegList.
Use the new SVGPathParser instead.
Doesn't affect any tests.
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::applyResultsToTarget):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::toPathData):
* svg/SVGPathParserFactory.cpp:
(WebCore::SVGPathParserFactory::buildPathFromSVGPathSegList):
(WebCore::SVGPathParserFactory::buildStringFromByteStream):
(WebCore::SVGPathParserFactory::buildStringFromSVGPathSegList):
* svg/SVGPathParserFactory.h:
* svg/SVGPathSeg.cpp:
* svg/SVGPathSeg.h:
* svg/SVGPathSegArc.cpp:
* svg/SVGPathSegArc.h:
* svg/SVGPathSegClosePath.h:
(WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
* svg/SVGPathSegCurvetoCubic.h:
* svg/SVGPathSegCurvetoCubicSmooth.h:
* svg/SVGPathSegCurvetoQuadratic.h:
* svg/SVGPathSegLinetoHorizontal.h:
* svg/SVGPathSegLinetoVertical.h:
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::getPathSegAtLength):
* svg/SVGPathSegList.h:
2010-08-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65056.
http://trac.webkit.org/changeset/65056
https://bugs.webkit.org/show_bug.cgi?id=43773
"Clearly I missed something. I'm too tired to try and fix
now. Will re-land in the morning." (Requested by eseidel on
#webkit).
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::insertAdjacentHTML):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
2010-08-10 Yoshiki Hayashi <yhayashi@google.com>
Reviewed by Kent Tamura.
Iterate over :first-letter so that it will be included in innerText.
https://bugs.webkit.org/show_bug.cgi?id=39863
Test: fast/dom/inner-text-first-letter.html
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::advance):
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
(WebCore::TextIterator::emitText):
* editing/TextIterator.h:
2010-08-10 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Fix crashes by SelectionController::modify().
https://bugs.webkit.org/show_bug.cgi?id=43032
Test: editing/selection/selection-modify-crash.html
* editing/visible_units.cpp:
(WebCore::endOfDocument): Add NULL-check for document()->documentElement().
2010-08-10 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Add missing SVGPathSegList source for SVGPathParser
https://bugs.webkit.org/show_bug.cgi?id=43691
Added SVGPathSegListSource to parse normalized or unaltered SVGPathSegLists and transform
them to either a SVG path string, or a SVGPathByteStream. This will be needed to synchronize
all SVGPathSegLists and the SVG path string of the 'd' attribute.
Refactored SVGPathSource code, to read concrete path segments instead of type/flag/coordinates
from the data sources. This is a further abstraction and seperates the reading of content from
the parsing and interpreting.
Doesn't affect any tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* svg/SVGAllInOne.cpp:
* svg/SVGPathByteStreamSource.cpp:
(WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
(WebCore::SVGPathByteStreamSource::nextCommand):
(WebCore::SVGPathByteStreamSource::parseMoveToSegment):
(WebCore::SVGPathByteStreamSource::parseLineToSegment):
(WebCore::SVGPathByteStreamSource::parseLineToHorizontalSegment):
(WebCore::SVGPathByteStreamSource::parseLineToVerticalSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToCubicSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathByteStreamSource::parseArcToSegment):
* svg/SVGPathByteStreamSource.h:
(WebCore::SVGPathByteStreamSource::moveToNextToken):
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::parseMoveToSegment):
(WebCore::SVGPathParser::parseLineToSegment):
(WebCore::SVGPathParser::parseLineToHorizontalSegment):
(WebCore::SVGPathParser::parseLineToVerticalSegment):
(WebCore::SVGPathParser::parseCurveToCubicSegment):
(WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathParser::parseArcToSegment):
* svg/SVGPathSegListSource.cpp: Added.
(WebCore::SVGPathSegListSource::SVGPathSegListSource):
(WebCore::SVGPathSegListSource::~SVGPathSegListSource):
(WebCore::SVGPathSegListSource::hasMoreData):
(WebCore::SVGPathSegListSource::parseSVGSegmentType):
(WebCore::SVGPathSegListSource::nextCommand):
(WebCore::SVGPathSegListSource::parseMoveToSegment):
(WebCore::SVGPathSegListSource::parseLineToSegment):
(WebCore::SVGPathSegListSource::parseLineToHorizontalSegment):
(WebCore::SVGPathSegListSource::parseLineToVerticalSegment):
(WebCore::SVGPathSegListSource::parseCurveToCubicSegment):
(WebCore::SVGPathSegListSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathSegListSource::parseArcToSegment):
* svg/SVGPathSegListSource.h: Added.
(WebCore::SVGPathSegListSource::create):
(WebCore::SVGPathSegListSource::moveToNextToken):
* svg/SVGPathSource.h:
* svg/SVGPathStringSource.cpp:
(WebCore::SVGPathStringSource::parseMoveToSegment):
(WebCore::SVGPathStringSource::parseLineToSegment):
(WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
(WebCore::SVGPathStringSource::parseLineToVerticalSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathStringSource::parseArcToSegment):
* svg/SVGPathStringSource.h:
2010-08-09 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: small refactoring for CodeGeneratorInspector.
A number of push calls were replaced by embedded text.
Just for improve code readability.
https://bugs.webkit.org/show_bug.cgi?id=43770
* inspector/CodeGeneratorInspector.pm:
2010-08-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix three ASSERTs hit with the HTML5 TreeBuilder in fragment mode
https://bugs.webkit.org/show_bug.cgi?id=43762
In fixing the insertAdjacentHTML I had to make small changes to
the error logic, which ended up bringing us closer to HTML5.
Test: fast/dom/HTMLElement/insertAdjacentHTML-errors.html
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
- This ASSERT was just wrong, the child should not be attached
in the case the parent is not attached.
* html/HTMLElement.cpp:
(WebCore::contextElementForInsertion):
- This is part of HTML5, needed to know what to call the
HTML or XML parsers with. The previous code always passed
"this" which is wrong in the case of beforeBegin or afterEnd insertion.
(WebCore::HTMLElement::insertAdjacentHTML):
- Use the right contextElement now that we know how to compute it.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
- This ASSERT is direct from the spec, but it's wrong, so I've filed a spec bug.
2010-08-09 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove InspectorFrontend class and use RemoteInspectorFrontend instead.
https://bugs.webkit.org/show_bug.cgi?id=43726
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::close):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp: Removed.
* inspector/InspectorFrontend.h: Removed.
2010-08-09 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Remove obsolete JS wrappers for did* methods.
https://bugs.webkit.org/show_bug.cgi?id=43738
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/front-end/BreakpointManager.js:
* inspector/front-end/Callback.js:
* inspector/front-end/ConsoleView.js:
* inspector/front-end/DOMAgent.js:
* inspector/front-end/DOMStorage.js:
* inspector/front-end/Database.js:
* inspector/front-end/InjectedScriptAccess.js:
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/ResourcesPanel.js:
* inspector/front-end/ScriptView.js:
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/inspector.js:
(WebInspector.reportProtocolError):
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Qt build fix attempt VIII.
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::toString):
* dom/XMLDocumentParserQt.cpp:
(WebCore::handleElementNamespaces):
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Qt build fix attempt VII.
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::toString):
* dom/XMLDocumentParserQt.cpp:
(WebCore::handleElementNamespaces):
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Qt build fix attempt VI.
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::toString):
* dom/XMLDocumentParserQt.cpp:
(WebCore::handleElementNamespaces):
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Qt build fix attempt V.
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::toString):
* dom/XMLDocumentParserQt.cpp:
(WebCore::handleElementNamespaces):
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Qt build fix attempt IV.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::toString):
* dom/XMLDocumentParserQt.cpp:
(WebCore::handleElementNamespaces):
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Speculative chromium build fix.
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::charactersAreAllASCII):
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Qt build fix III.
* css/CSSSelector.cpp:
2010-08-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove error-prone external SegementedSubstring contructor
https://bugs.webkit.org/show_bug.cgi?id=43752
There's a lot of code that assumes that SegmentedString takes ownership
of its substrings. For example, when the HTML parser pauses and
resumes asynchronously, it could explode if SegmentedString didn't own
its substrings.
Prior to this patch, there was a constructor that let
SegmentedSubstring use an external string buffer. It turns out it was
only used in a handful of places, but I'd rather pay the memcpy of
these small strings than risk having them used after free.
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::documentWrite):
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
(WebCore::LegacyHTMLDocumentParser::scriptHandler):
(WebCore::LegacyHTMLDocumentParser::parseComment):
* platform/text/SegmentedString.h:
(WebCore::SegmentedString::SegmentedString):
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Speculative Qt build fix.
* css/CSSSelector.cpp:
2010-08-09 Gavin Barraclough <barraclough@apple.com>
Speculative gtk build fix.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::handlePostReadFile):
2010-08-06 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig
Bug 43594 - Add string forwards to Forward.h
This allows us to remove forward declarations for these classes from
WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityARIAGrid.h:
* accessibility/AccessibilityListBoxOption.h:
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilityTable.h:
* bindings/cpp/WebDOMCString.h:
* bindings/cpp/WebDOMString.h:
* bindings/gobject/ConvertToUTF8String.h:
* bindings/js/DOMWrapperWorld.h:
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSMessagePortCustom.h:
* bindings/js/JavaScriptCallFrame.h:
* bindings/js/ScriptController.h:
* bindings/js/ScriptProfile.h:
* bindings/js/ScriptSourceProvider.h:
* bindings/js/ScriptString.h:
* bindings/js/WorkerScriptController.h:
* bindings/objc/DOMImplementationFront.h:
* bindings/v8/ScheduledAction.h:
* bindings/v8/ScriptController.h:
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8Proxy.h:
* bindings/v8/V8Utilities.h:
* bindings/v8/custom/V8CustomXPathNSResolver.h:
* bridge/c/c_utility.h:
* css/CSSFontSelector.h:
* css/CSSHelper.h:
* css/CSSOMUtils.h:
* css/CSSPrimitiveValue.h:
* css/MediaList.h:
* css/StyleBase.h:
* css/StyleSheetList.h:
* css/WebKitCSSKeyframesRule.h:
* dom/CheckedRadioButtons.h:
* dom/DOMImplementation.h:
* dom/DocumentMarker.h:
* dom/DynamicNodeList.h:
* dom/EventTarget.h:
* dom/MessagePort.h:
* dom/MessagePortChannel.h:
* dom/NameNodeList.h:
* dom/Node.h:
* dom/NodeList.h:
* dom/OptionGroupElement.h:
* dom/ScriptExecutionContext.h:
* dom/SelectElement.h:
* dom/ViewportArguments.h:
* dom/make_names.pl:
* editing/HTMLInterchange.h:
* editing/htmlediting.h:
* editing/markup.h:
* html/CollectionCache.h:
* html/DOMFormData.h:
* html/DataGridColumnList.h:
* html/DateComponents.h:
* html/FileStream.h:
* html/FileStreamProxy.h:
* html/FormDataList.h:
(WebCore::FormDataList::appendData):
* html/HTMLCollection.h:
* html/HTMLElementStack.h:
* html/HTMLFormattingElementList.h:
* html/HTMLParserQuirks.h:
* html/HTMLQuoteElement.h:
* html/HTMLScriptRunnerHost.h:
* html/StepRange.h:
* html/canvas/CanvasGradient.h:
* html/canvas/CanvasNumberArray.h:
* html/canvas/CanvasPattern.h:
* inspector/InjectedScript.h:
* inspector/InspectorCSSStore.h:
* inspector/InspectorClient.h:
* inspector/InspectorFrontendClient.h:
* inspector/InspectorValues.h:
* inspector/ScriptDebugListener.h:
* loader/CachedResourceClient.h:
* loader/CrossOriginAccessControl.h:
* loader/DocumentThreadableLoader.h:
* loader/FrameLoaderClient.h:
* loader/RedirectScheduler.h:
* loader/SubframeLoader.h:
* loader/appcache/DOMApplicationCache.h:
* loader/archive/ArchiveFactory.h:
* loader/icon/IconDatabaseClient.h:
* notifications/NotificationPresenter.h:
* page/Chrome.h:
* page/ChromeClient.h:
* page/Console.h:
* page/ContextMenuClient.h:
* page/DOMSelection.h:
* page/EditorClient.h:
* page/EventHandler.h:
* page/FrameView.h:
* page/GeolocationPositionCache.h:
* page/History.h:
* page/Location.h:
* page/Navigator.h:
* page/NavigatorBase.h:
* page/PluginHalterClient.h:
* page/PrintContext.h:
* page/SpeechInput.h:
* page/SpeechInputListener.h:
* page/animation/AnimationController.h:
* platform/CookieJar.h:
* platform/CrossThreadCopier.h:
* platform/DragImage.h:
* platform/FileSystem.h:
* platform/Language.h:
* platform/Length.h:
* platform/LinkHash.h:
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.h:
* platform/Logging.h:
* platform/Pasteboard.h:
* platform/PopupMenuClient.h:
* platform/SearchPopupMenu.h:
* platform/Widget.h:
* platform/cf/BinaryPropertyList.h:
* platform/chromium/ChromiumBridge.h:
* platform/chromium/ClipboardUtilitiesChromium.h:
* platform/cocoa/KeyEventCocoa.h:
* platform/graphics/Color.h:
* platform/graphics/FontCache.h:
* platform/graphics/FontData.h:
* platform/graphics/FontSelector.h:
* platform/graphics/GraphicsTypes.h:
* platform/graphics/Icon.h:
* platform/graphics/ImageBuffer.h:
* platform/graphics/ImageSource.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
* platform/graphics/Path.h:
* platform/graphics/StringTruncator.h:
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/cairo/FontPlatformData.h:
* platform/graphics/cg/FontPlatformData.h:
* platform/graphics/cg/ImageSourceCG.h:
* platform/graphics/chromium/FontCustomPlatformData.h:
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
* platform/graphics/chromium/FontPlatformDataLinux.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/haiku/FontCustomPlatformData.h:
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/mac/FontPlatformData.h:
* platform/graphics/qt/FontCustomPlatformData.h:
* platform/graphics/qt/FontPlatformData.h:
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformDataCairo.h:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
* platform/graphics/wince/FontPlatformData.h:
* platform/graphics/wince/MediaPlayerPrivateWince.h:
* platform/graphics/wince/MediaPlayerProxy.h:
* platform/graphics/wx/FontCustomPlatformData.h:
* platform/graphics/wx/FontPlatformData.h:
* platform/mac/PasteboardHelper.h:
* platform/network/DNS.h:
* platform/network/FormData.h:
* platform/network/FormDataBuilder.h:
* platform/network/HTTPParsers.h:
* platform/text/Hyphenation.h:
* platform/text/LineEnding.h:
* platform/text/TextCodec.h:
* platform/text/TextEncoding.h:
* platform/text/TextStream.h:
* platform/win/BString.h:
* platform/win/ClipboardUtilitiesWin.h:
* platform/win/WCDataObject.h:
* platform/win/WebCoreTextRenderer.h:
* plugins/DOMMimeType.h:
* plugins/DOMMimeTypeArray.h:
* plugins/DOMPlugin.h:
* plugins/DOMPluginArray.h:
* rendering/CounterNode.h:
* rendering/HitTestResult.h:
* rendering/RenderObjectChildList.h:
* rendering/RenderText.h:
* rendering/RenderTreeAsText.h:
* rendering/TextControlInnerElements.h:
* rendering/style/ContentData.h:
* rendering/style/RenderStyle.h:
* storage/DatabaseAuthorizer.h:
* storage/DatabaseTrackerClient.h:
* storage/SQLTransaction.h:
* storage/SQLTransactionSync.h:
* storage/Storage.h:
* storage/chromium/DatabaseObserver.h:
* svg/SVGAnimatedTemplate.h:
* svg/SVGDocumentExtensions.h:
* svg/SVGGlyphElement.h:
* svg/SVGHKernElement.h:
* svg/SVGNumberList.h:
* svg/SVGPointList.h:
* svg/SVGPreserveAspectRatio.h:
* svg/SVGStylable.h:
* svg/SVGTests.h:
* svg/SVGTransformList.h:
* svg/SVGTransformable.h:
* svg/SVGVKernElement.h:
* websockets/ThreadableWebSocketChannel.h:
* websockets/ThreadableWebSocketChannelClientWrapper.h:
* websockets/WebSocket.h:
* websockets/WebSocketChannel.h:
* websockets/WebSocketHandshakeResponse.h:
* wml/WMLErrorHandling.h:
* wml/WMLPageState.h:
* wml/WMLVariables.h:
* workers/DefaultSharedWorkerRepository.h:
* workers/SharedWorkerRepository.h:
* workers/Worker.h:
* workers/WorkerContextProxy.h:
* workers/WorkerLoaderProxy.h:
* workers/WorkerLocation.h:
* workers/WorkerMessagingProxy.h:
* workers/WorkerReportingProxy.h:
* workers/WorkerThread.h:
* xml/DOMParser.h:
* xml/XMLHttpRequestUpload.h:
* xml/XPathEvaluator.h:
* xml/XPathExpression.h:
* xml/XPathNSResolver.h:
* xml/XPathResult.h:
* xml/XPathUtil.h:
2010-08-09 Nat Duca <nduca@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] Blue line visible at the right hand side of the window with accelerated compositor
https://bugs.webkit.org/show_bug.cgi?id=43748
Correct the ortho projection matrix for the root layer, which was
too large by 0.5px in both width and height. For even view sizes,
this would cause the viewport to appear 1 pixel too small.
Fixing this requires removal of several 0.5 correction factors
that were previously added to compensate for the too-large viewport.
Finally, compute the translation for the root layer quad using
floating point rather than integer arithmetic. This avoids us losing
a key half-pixel of translation when the width of the window is odd.
To test, size window to even/odd dimensions. No blue line should be visible.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
2010-08-09 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia.
fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle should be removed
https://bugs.webkit.org/show_bug.cgi?id=43465
Removed fontColorChangesComputedStyle, fontSizeChangesComputedStyle, and fontFaceChangesComputedStyle
because StyleChange's applyFontColor, applyFontFace, and applyFontSize all return false
if there was no difference between the new font color, font size, font face and that of the computed style.
Also added a work-around for the bug 28282 in getPropertiesNotInComputedStyle with a test so that
the above change will not add a redundant font or span element.
Test: editing/style/fore-color-by-name.html
* editing/ApplyStyleCommand.cpp:
(WebCore::getRGBAFontColor): Added.
(WebCore::StyleChange::extractTextStyles): Calls getRGBAFontColor.
(WebCore::getPropertiesNotInComputedStyle): Removes color property manually by checking the RGBA values.
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): See above.
2010-08-09 Kenneth Russell <kbr@google.com>
Reviewed by David Levin.
Fix compilation of VideoLayerChromium on Mac OS X with compositor
https://bugs.webkit.org/show_bug.cgi?id=43757
No new tests; build fix only (associated functionality not implemented yet).
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::updateTextureContents):
(WebCore::VideoLayerChromium::createTextureRect):
(WebCore::VideoLayerChromium::updateTextureRect):
* platform/graphics/chromium/VideoLayerChromium.h:
2010-08-09 Ariya Hidayat <ariya@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Need to implement GraphicsContextQt::clipConvexPolygon()
https://bugs.webkit.org/show_bug.cgi?id=41310
Based on the prototype code by Simon Hausmann.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* rendering/RenderObject.h:
2010-08-09 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: Placeholder value for text fields not exposed like it should be
https://bugs.webkit.org/show_bug.cgi?id=43598
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::placeholderValue):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::title):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2010-08-09 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia.
Undo fails in RemoveCSSPropertyCommand when the corresponding style attribute is removed
https://bugs.webkit.org/show_bug.cgi?id=43639
The bug was caused when RemoveCSSPropertyCommand is called with CSSMutableStyleDeclaration of some styled element,
and the style attribute of the element is removed subsequently. When the attribute removal is undone, new instance of
CSSMutableStyleDeclaration is created and RemoveCSSPropertyCommand's m_style became detached from the element.
Modified RemoveCSSPropertyCommand to store the styled element directly instead of its CSSMutableStyleDeclaration.
Test: editing/undo/remove-css-property-and-remove-style.html
* WebCore.order:
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeCSSStyle): Calls removeCSSProperty.
(WebCore::ApplyStyleCommand::extractTextDecorationStyle): Calls removeCSSProperty.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removeCSSProperty): Takes StyledElement instead of CSSMutableStyleDeclaration.
* editing/CompositeEditCommand.h:
* editing/RemoveCSSPropertyCommand.cpp:
(WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Takes StyledElement instead of CSSMutableStyleDeclaration.
(WebCore::RemoveCSSPropertyCommand::doApply): See above.
(WebCore::RemoveCSSPropertyCommand::doUnapply): See above.
* editing/RemoveCSSPropertyCommand.h:
(WebCore::RemoveCSSPropertyCommand::create): See above.
2010-08-09 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
Use getIdentifierValue to obtain direction and unicode-bidi properties in ApplyStyleCommand
https://bugs.webkit.org/show_bug.cgi?id=43699
Deployed getIdentifierValue in various parts of ApplyStyleCommand where
direction and unicode-bidi properties were obtained manually.
No new tests since this is a cleanup.
* editing/ApplyStyleCommand.cpp:
(WebCore::getIdentifierValue): Takes CSSStyleDeclaration instead of CSSMutableStyleDeclaration.
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Calls getIdentifierValue.
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Calls getIdentifierValue.
(WebCore::ApplyStyleCommand::applyInlineStyle): Calls getIdentifierValue.
* editing/ApplyStyleCommand.h:
2010-08-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove trailing whitespace in HTMLViewSourceDocument.cpp
https://bugs.webkit.org/show_bug.cgi?id=43741
No behavior change. The whitespace was distracting me while porting
this class to the new parser.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable):
(WebCore::HTMLViewSourceDocument::addViewSourceToken):
(WebCore::HTMLViewSourceDocument::addLine):
(WebCore::HTMLViewSourceDocument::addText):
(WebCore::HTMLViewSourceDocument::addLink):
2010-08-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Use the HTML5 TreeBuilder for Fragment Parsing
https://bugs.webkit.org/show_bug.cgi?id=43586
The bulk of this change is just a transcription of the HTML5 spec:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#fragment-case
DocumentParser() now sets the right tokenizer state before handling
fragments. Since default code path uses the HTML5 tokenizer with the
legacy tree builder, this fixes 2 tokenizer-state tests for the html5lib.
This fixes 2 more tree-builder tests when the html5 treebuilder is enabled too.
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::parseHTML):
- HTML5 implementation of fragment parsing requires the context element (parent)
pointer. The legacy implementation handles all parsing branches which require
the context element outside of the parser itself, which likely produces "wrong"
results. We'll remove those branches when we turn on the HMTL5 fragment parser.
(WebCore::DocumentFragment::parseXML):
- Rename "parent" to "contextElement" to match the HTML path (and the HTML5 spec).
* dom/DocumentFragment.h:
* dom/Element.cpp:
(WebCore::Element::createContextualFragment):
- Pass the contextElement (this).
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::setForm):
- Needed by for the fragment case.
(WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
- I'm not sure this method should exist, it only has one caller.
but for now, I've moved the fragment case FIXME out to the
one caller and implemented it.
* html/HTMLConstructionSite.h:
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLNames::tokenizerStateForContextElement):
- Part of the fragment case handling for the HTML5 parser.
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
- Set the Tokenizer state based on the contextElement.
(WebCore::HTMLDocumentParser::parseDocumentFragment):
- Take a contextElement argument.
* html/HTMLDocumentParser.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setInnerHTML):
- Added a FIXME before the branches the old parser used to avoid ever needing
to pass a context element when parsing HTML fragments.
(WebCore::HTMLElement::insertAdjacentHTML):
- Pass the context element.
* html/HTMLTokenizer.h:
* html/HTMLTreeBuilder.cpp:
- I added a new helper class FragmentParsingContext to simplify the two
HTMLTreeBuilder constructors and hide the existence of m_dummyDocumentForFragmentParse.
- I also removed m_isParsingFragment and replaced it with an isParsingFragment() function.
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::~FragmentParsingContext):
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
- I had to implement two notImplemented() states in order to get most of the
layout tests to pass when using the HTML5 parser fragment case.
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
(WebCore::HTMLTreeBuilder::processEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
(WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::finished):
- The HTML5 parsing algorithm fragment case uses a dummy document to handle all the parsing
and then moves all the children from the dummy document over into a DocumentFragment
when the parse is done. We could avoid this adopt step by making the TreeBuilder a bit
more complicated, but I'm not sure that's necessary (yet).
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::isParsingFragment):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
(WebCore::HTMLTreeBuilder::FragmentParsingContext::scriptingPermission):
* xml/XSLTProcessor.cpp:
(WebCore::createFragmentFromSource):
2010-08-09 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Auto-generate most HTML5 DB bindings.
https://bugs.webkit.org/show_bug.cgi?id=43382
* Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
and the custom implementations of openDatabase{Sync}().
* Android.v8bindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSDatabaseCustom.cpp: Removed.
* bindings/js/JSDatabaseSyncCustom.cpp: Removed.
* bindings/js/JSWorkerContextCustom.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
* bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
* bindings/v8/custom/V8WorkerContextCustom.cpp:
* bindings/scripts/CodeGeneratorGObject.pm: Change the code generators
to check that each value can be converted to the respective
argument type.
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::voidMethodWithArgsCallback):
(WebCore::TestObjInternal::intMethodWithArgsCallback):
(WebCore::TestObjInternal::objMethodWithArgsCallback):
(WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
(WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjInternal::idbKeyCallback):
(WebCore::TestObjInternal::customArgsAndExceptionCallback):
(WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
(WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
(WebCore::TestObjInternal::methodWithOptionalArgCallback):
(WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
(WebCore::TestObjInternal::overloadedMethod1Callback):
(WebCore::TestObjInternal::overloadedMethod2Callback):
(WebCore::TestObjInternal::overloadedMethod3Callback):
(WebCore::TestObjInternal::overloadedMethod4Callback):
(WebCore::):
(WebCore::ConfigureV8TestObjTemplate):
* bindings/v8/custom/V8BindingMacros.h:
* bindings/v8/V8Binding.h: Minor changes required to support the
auto-generated bindings.
(WebCore::V8Parameter::V8Parameter):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::V8SQLTransaction::executeSqlCallback):
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
(WebCore::V8SQLTransactionSync::executeSqlCallback):
* page/DOMWindow.idl:
* storage/Database.cpp:
(WebCore::Database::transaction):
(WebCore::Database::readTransaction):
(WebCore::Database::runTransaction):
* storage/Database.h:
* storage/Database.idl:
* storage/DatabaseSync.cpp:
(WebCore::DatabaseSync::transaction):
(WebCore::DatabaseSync::readTransaction):
(WebCore::DatabaseSync::runTransaction):
* storage/DatabaseSync.h:
* storage/DatabaseSync.idl:
* workers/WorkerContext.idl:
2010-08-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move HTMLViewSourceDocument from legacyParserAddChild to parserAddChild
https://bugs.webkit.org/show_bug.cgi?id=43740
This removes the DTD checks, which aren't needed for view source
documents.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable):
(WebCore::HTMLViewSourceDocument::addSpanWithClassName):
(WebCore::HTMLViewSourceDocument::addLine):
(WebCore::HTMLViewSourceDocument::addText):
(WebCore::HTMLViewSourceDocument::addLink):
2010-08-09 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
Fixed an uninitialized member variable in the Color(CGColorRef) constructor.
* platform/graphics/cg/ColorCG.cpp:
(WebCore::Color::Color): Initialize m_valid to true if the color is not 0.
2010-08-09 James Robinson <jamesr@chromium.org>
Chromium compile fix, unreviewed.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::~PlatformContextSkia):
(WebCore::PlatformContextSkia::setGraphicsContext3D):
2010-08-09 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
https://bugs.webkit.org/show_bug.cgi?id=43656
When compositing an accelerated canvas that is using both hardware and software drawing,
we need a callback before compositing the layer to make sure that we upload any software
drawn results to the texture. This will go away as soon as implement all draw calls
in hardware.
To test, run any canvas demo that runs in mixed mode and verifies that the software results
always show up.
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::updateTextureContents):
* platform/graphics/chromium/CanvasLayerChromium.h:
(WebCore::CanvasLayerChromium::setPrepareTextureCallback):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PrepareTextureCallbackImpl::create):
(WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
(WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
(WebCore::PlatformContextSkia::setGraphicsContext3D):
2010-08-09 Zhenyao Mo <zmo@google.com>
Reviewed by David Levin.
sizeInBytes should be removed
https://bugs.webkit.org/show_bug.cgi?id=43693
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::sizeInBytes): Don't generate GL errors. Generate them in the callers instead.
(WebCore::WebGLRenderingContext::vertexAttribPointer): Generate GL error if sizeInBytes fails.
* html/canvas/WebGLRenderingContext.h: Make sizeInBytes private helper.
* html/canvas/WebGLRenderingContext.idl: Remove sizeInBytes.
2010-08-09 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=43702
<video> element does not resize correctly
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState): RenderVideo::videoSizeChanged is gone, just use
updateFromElement instead.
(WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseMappedAttribute): Clear the image loader and cached image when
the 'poster' attribute is changed and we aren't displaying a poster.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::RenderVideo):
(WebCore::RenderVideo::intrinsicSizeChanged): videoSizeChanged -> updateIntrinsicSize.
(WebCore::RenderVideo::updateIntrinsicSize): Renamed from videoSizeChanged, calculate initial
intrinsic size with calculateIntrinsicSize
(WebCore::RenderVideo::calculateIntrinsicSize): New, calculate size according to current spec.
(WebCore::RenderVideo::imageChanged): Reset intrinsic size to default when poster fails to load.
(WebCore::RenderVideo::updatePlayer): Call updateIntrinsicSize.
* rendering/RenderVideo.h: Renamed videoSizeChanged to updateIntrinsicSize and make private.
2010-08-09 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Fixes custom JS bindings for IDBCursor after r64828.
https://bugs.webkit.org/show_bug.cgi?id=43729
Build fix, no tests.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* storage/IDBObjectStore.h:
2010-08-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64993.
http://trac.webkit.org/changeset/64993
https://bugs.webkit.org/show_bug.cgi?id=43734
broke chromium compile (Requested by jamesr on #webkit).
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::updateTextureContents):
* platform/graphics/chromium/CanvasLayerChromium.h:
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::~PlatformContextSkia):
(WebCore::PlatformContextSkia::setGraphicsContext3D):
2010-08-09 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] Add a PrepareTextureCallback to the chromium canvas layer compositor to upload mixed-mode results before compositing
https://bugs.webkit.org/show_bug.cgi?id=43656
When compositing an accelerated canvas that is using both hardware and software drawing,
we need a callback before compositing the layer to make sure that we upload any software
drawn results to the texture. This will go away as soon as implement all draw calls
in hardware.
To test, run any canvas demo that runs in mixed mode and verifies that the software results
always show up.
* platform/graphics/chromium/CanvasLayerChromium.cpp:
(WebCore::CanvasLayerChromium::updateTextureContents):
* platform/graphics/chromium/CanvasLayerChromium.h:
(WebCore::CanvasLayerChromium::setPrepareTextureCallback):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PrepareTextureCallbackImpl::create):
(WebCore::PrepareTextureCallbackImpl::willPrepareTexture):
(WebCore::PrepareTextureCallbackImpl::PrepareTextureCallbackImpl):
(WebCore::PlatformContextSkia::setGraphicsContext3D):
2010-08-09 Dominic Cooney <dominicc@google.com>
Reviewed by Adam Barth.
Moves window.open logic into the generic bindings.
This patch moves window.open logic from V8 into the generic
bindings so it could be shared with JSC. JSC sharing is not in
this patch. This patch is of the same flavor/intent as 33201.
https://bugs.webkit.org/show_bug.cgi?id=41392
* bindings/generic/BindingDOMWindow.h:
(WebCore::::createWindow):
(WebCore::::open):
(WebCore::::completeURL):
* bindings/generic/BindingSecurity.h:
(WebCore::::allowPopUp):
(WebCore::::shouldAllowNavigation):
* bindings/v8/V8Binding.h:
(WebCore::V8Binding::emptyScriptValue):
* bindings/v8/V8Utilities.cpp:
(WebCore::transferHiddenDependency):
(WebCore::processingUserGesture):
(WebCore::shouldAllowNavigation):
(WebCore::completeURL):
* bindings/v8/custom/V8ArrayBufferCustom.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::showModalDialogCallback):
(WebCore::V8DOMWindow::openCallback):
* bindings/v8/specialization/V8BindingState.cpp:
(WebCore::::getActiveFrame):
(WebCore::::getFirstFrame):
(WebCore::::processingUserGesture):
* bindings/v8/specialization/V8BindingState.h:
(WebCore::):
2010-08-09 Marcus Bulach <bulach@chromium.org>
Reviewed by Darin Adler.
Fixes xcode project issues after r64828:
https://bugs.webkit.org/show_bug.cgi?id=43638
Build fix, no tests (sort-Xcode-project-file should not throw any warnings).
* WebCore.xcodeproj/project.pbxproj: fixed IDBCursor and related IndexedDB files, and re-ran sort-Xcode-project-file.
2010-08-09 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Remove callId argument from all backend agents' methods.
https://bugs.webkit.org/show_bug.cgi?id=43723
* inspector/CodeGeneratorInspector.pm:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::getProfilerLogLines):
(WebCore::InspectorBackend::clearConsoleMessages):
(WebCore::InspectorBackend::getDatabaseTableNames):
* inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::getCookies):
(WebCore::InspectorController::getDOMStorageEntries):
(WebCore::InspectorController::setDOMStorageItem):
(WebCore::InspectorController::removeDOMStorageItem):
(WebCore::InspectorController::getProfileHeaders):
(WebCore::InspectorController::getProfile):
(WebCore::InspectorController::getResourceContent):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getChildNodes):
(WebCore::InspectorDOMAgent::setAttribute):
(WebCore::InspectorDOMAgent::removeAttribute):
(WebCore::InspectorDOMAgent::removeNode):
(WebCore::InspectorDOMAgent::changeTagName):
(WebCore::InspectorDOMAgent::getOuterHTML):
(WebCore::InspectorDOMAgent::setOuterHTML):
(WebCore::InspectorDOMAgent::setTextNodeValue):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getStyles):
(WebCore::InspectorDOMAgent::getAllStyles):
(WebCore::InspectorDOMAgent::getStyleSheet):
(WebCore::InspectorDOMAgent::getRuleRanges):
(WebCore::InspectorDOMAgent::getInlineStyle):
(WebCore::InspectorDOMAgent::getComputedStyle):
(WebCore::InspectorDOMAgent::applyStyleText):
(WebCore::InspectorDOMAgent::setStyleText):
(WebCore::InspectorDOMAgent::setStyleProperty):
(WebCore::InspectorDOMAgent::toggleStyleEnabled):
(WebCore::InspectorDOMAgent::setRuleSelector):
(WebCore::InspectorDOMAgent::addRule):
(WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::editScriptSource):
(WebCore::InspectorDebuggerAgent::getScriptSource):
* inspector/InspectorDebuggerAgent.h:
2010-08-09 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Take into account style color to draw MathML mroot radical.
https://bugs.webkit.org/show_bug.cgi?id=43628
Test: mathml/presentation/roots.xhtml
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
2010-08-09 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Implement MathML deprecated style attributes
https://bugs.webkit.org/show_bug.cgi?id=43503
Test: mathml/presentation/attributes.xhtml
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::mapToEntry):
(WebCore::MathMLElement::parseMappedAttribute):
* mathml/mathattrs.in:
2010-08-09 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: remove unnecessary did* methods from RemoteInspectorFrontend.
https://bugs.webkit.org/show_bug.cgi?id=43721
* inspector/CodeGeneratorInspector.pm:
2010-08-09 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antonio Gomes.
Canvas: Fast-path for setting the already set color with setStrokeColor() and setFillColor()
https://bugs.webkit.org/show_bug.cgi?id=43718
Avoid creating CanvasStyle objects when setting the same fill or stroke color using
the WebKit-specific setters of CanvasRenderingContext2D.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::isEquivalentColor):
* html/canvas/CanvasStyle.h: Added CanvasStyle::isEquivalentColor() overloads
for RGBA and CMYKA channel values.
2010-08-09 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: restore original last panel restore logic.
https://bugs.webkit.org/show_bug.cgi?id=43719
* inspector/front-end/inspector.js:
(WebInspector.showPanel):
2010-08-09 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, fixing the builds after r64967.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
2010-05-27 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
<http://webkit.org/b/36359>
Double clicking page's last editable inline element causes assertion failure.
<http://webkit.org/b/36360>
Double clicking page's first editable inline element cannot select a word.
nextBoundary() and previousBoundary() assumed that editable
boundaries are on block-level elements, But it can appear on
inline-level elements. So we start boundary look-up from the given
node, instead of the containingBlock of the given node.
Also, added TextIteratorEndsAtEditingBoundary to
BackwardsCharacterIterator, otherwise, the VisiblePosition
returned by BackwardsCharacterIterator might cross an editing
boundary.
Test: editing/selection/doubleclick-inline-first-last-contenteditable.html
* dom/Position.cpp:
(WebCore::Position::parentEditingBoundary): Added.
* dom/Position.h:
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::SimplifiedBackwardsTextIterator::advance):
(WebCore::SimplifiedBackwardsTextIterator::crossesEditingBoundary): Added.
(WebCore::SimplifiedBackwardsTextIterator::setCurrentNode): Added.
(WebCore::SimplifiedBackwardsTextIterator::clearCurrentNode): Added.
(WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):
* editing/TextIterator.h:
(WebCore::):
* editing/visible_units.cpp:
(WebCore::previousBoundary):
(WebCore::nextBoundary):
2010-08-09 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: Current implementation of showPanel is a bit complicated.
It is using internal enum for all the panels and this is the problem because
we should change a lot of code for a new panel.
https://bugs.webkit.org/show_bug.cgi?id=43711
* WebCore.exp.in:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::storeLastActivePanel):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::showPanel):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
* inspector/front-end/inspector.js:
(WebInspector.documentClick.followLink):
(WebInspector.documentClick):
(WebInspector.toggleSearchingForNode):
(WebInspector.showPanel):
(WebInspector.selectDatabase):
(WebInspector.selectDOMStorage):
(WebInspector.showProfileForURL):
2010-08-09 Ariya Hidayat <ariya@sencha.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] GraphicsContext::clipOut(IntRect) ignores the transformation matrix.
https://bugs.webkit.org/show_bug.cgi?id=43705
Just like clipOut(Path), which is taken care in r60796 already,
clipOut(IntRect) must transform the window bounding box properly.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipOut):
2010-08-09 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Implement mfenced MathML element
Update stretchy operator code to take into account new brackets and to tune layout parameters
https://bugs.webkit.org/show_bug.cgi?id=42472
Test: mathml/presentation/fenced.xhtml
* WebCore.xcodeproj/project.pbxproj:
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
(WebCore::MathMLInlineContainerElement::createRenderer):
* mathml/RenderMathMLFenced.cpp: Added.
(WebCore::RenderMathMLFenced::RenderMathMLFenced):
(WebCore::RenderMathMLFenced::updateFromElement):
(WebCore::RenderMathMLFenced::makeOperatorStyle):
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):
(WebCore::RenderMathMLFenced::layout):
* mathml/RenderMathMLFenced.h: Added.
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::stretchToHeight):
(WebCore::):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createStackableStyle):
(WebCore::RenderMathMLOperator::createGlyph):
2010-08-08 ryuan choi <ryuan.choi@samsung.com>
Reviewed by Darin Adler.
REGRESSION(64898,64949) build break because of wrong filename
https://bugs.webkit.org/show_bug.cgi?id=43701
add SVGPathStringSource.cpp and modify SVGPathSourceString.cpp to
SVGPathStringSource.cpp
simple fixing build break, so No new tests.
* CMakeLists.txt:
2010-08-08 Ariya Hidayat <ariya@sencha.com>
Reviewed by Antonio Gomes.
Inconsistent Qt version checks
https://bugs.webkit.org/show_bug.cgi?id=43695
Use QT_VERSION_CHECK macro instead of encoded hex.
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::getImageData):
* platform/network/qt/NetworkStateNotifierPrivate.h:
* platform/network/qt/NetworkStateNotifierQt.cpp:
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
(WebCore::QNetworkReplyHandler::start):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::paintMediaSliderTrack):
2010-08-08 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Antonio Gomes.
Web Inspector: Fix warning in WebCore/inspector/InspectorDebuggerAgent.cpp
https://bugs.webkit.org/show_bug.cgi?id=43698
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::editScriptSource): Add suggested parentheses.
2010-08-05 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
Pasting should fire textInput event.
https://bugs.webkit.org/show_bug.cgi?id=42958
- Extended TextEvents to hold paste-specific parameters
- Did fire TextEvents at where we originally did immediate pastes.
- Factored out TextEvent handling from EventHandler::defaultTextInputEventHandler()
to Editor::handleTextEvent() because it's solely done by the editor.
- move actual pasting logic to Editor::handleTextEvent()
Test: editing/pasteboard/paste-text-events.html
* WebCore.exp.in:
* dom/TextEvent.cpp:
(WebCore::TextEvent::create):
(WebCore::TextEvent::createForPlainTextPaste):
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::TextEvent):
* dom/TextEvent.h:
(WebCore::TextEvent::isPaste):
(WebCore::TextEvent::shouldSmartReplace):
(WebCore::TextEvent::shouldMatchStyle):
(WebCore::TextEvent::pastingFragment):
* editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::pasteAsPlainText):
(WebCore::Editor::pasteAsFragment):
(WebCore::Editor::pasteAsPlainTextWithPasteboard):
(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::dispatchCPPEvent):
(WebCore::Editor::findEventTargetFromSelection):
* editing/Editor.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultTextInputEventHandler):
2010-08-08 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix, add member needed to compile Mac-specific font code.
* platform/graphics/wx/FontPlatformData.h:
(WebCore::FontPlatformData::ctFont):
2010-08-08 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Eric Seidel.
[Qt] Fix warnings in WebCore/platform/WindowsKeyboardCodes.h
https://bugs.webkit.org/show_bug.cgi?id=43360
* platform/WindowsKeyboardCodes.h: Undef macros which are also defined in MinGW/include/winuser.h to aviod gcc redefinition warning
2010-08-08 James Robinson <jamesr@chromium.org>
Reviewed by Adam Barth.
Set the shouldLazyAttach flag to true in the tree builder's adoption agency algorithm
https://bugs.webkit.org/show_bug.cgi?id=43610
Sets the shouldLazyAttach flag to true for appendChild() calls inside the HTML tree
builder's adoption agency flag. This is a speedup assuming that nodes subjected
to the adoption agency are likely to be frequently reparented, and thus it is better
to delay creating the render tree until later (when hopefully the DOM is finalized).
On my mac pro this speeds up fast/parser/residual-style-hang.html by 2.6X.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-08-08 Nikita Vasilyev <me@elv1s.ru>
Reviewed by Pavel Feldman.
Web Inspector: speed-up Element.prototype.removeChildren
https://bugs.webkit.org/show_bug.cgi?id=43687
* inspector/front-end/utilities.js:
(Element.prototype.removeChildren):
2010-08-08 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: remove hand written InspectorFrontend from almost all places.
https://bugs.webkit.org/show_bug.cgi?id=43630
* inspector/ConsoleMessage.cpp:
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::pushNodePathToFrontend):
* inspector/InjectedScriptHost.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::inspect):
(WebCore::InspectorController::focusNode):
(WebCore::InspectorController::windowVisible):
(WebCore::InspectorController::addConsoleMessage):
(WebCore::InspectorController::inspectedWindowScriptObjectCleared):
(WebCore::InspectorController::setSearchingForNode):
(WebCore::InspectorController::setMonitoringXHR):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::show):
(WebCore::InspectorController::showPanel):
(WebCore::InspectorController::close):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::enableResourceTracking):
(WebCore::InspectorController::disableResourceTracking):
(WebCore::InspectorController::startTimelineProfiler):
(WebCore::InspectorController::stopTimelineProfiler):
(WebCore::InspectorController::postWorkerNotificationToFrontend):
(WebCore::InspectorController::didCreateWorker):
(WebCore::InspectorController::didDestroyWorker):
(WebCore::InspectorController::toggleRecordButton):
(WebCore::InspectorController::enableProfiler):
(WebCore::InspectorController::disableProfiler):
(WebCore::InspectorController::enableDebuggerFromFrontend):
(WebCore::InspectorController::enableDebugger):
(WebCore::InspectorController::disableDebugger):
(WebCore::InspectorController::evaluateForTestInFrontend):
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/TimelineRecordFactory.cpp:
2010-08-08 Dan Bernstein <mitz@apple.com>
Try to fix the Chromium Mac build after r64915.
* platform/graphics/chromium/FontPlatformDataChromiumMac.mm:
(WebCore::FontPlatformData::ctFont): Copied from mac/FontPlatformDataMac.mm.
2010-08-08 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Add missing String builder for SVGPathParser
https://bugs.webkit.org/show_bug.cgi?id=43682
Introduces SVGPathStringBuilder. SVGPathParser clients, like normalized and unaltered
SVGPathSegLists or SVGPathByteStreams, can be parsed and transformed to a string.
StringBuilder can create a string of individual strings, seperated by spaces now.
Share more code in SVGPathParserFactory and use a common general concept to manage SVG path
data parsing.
Doesn't affect any tests.
* Android.mk:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/text/StringBuilder.cpp:
(WebCore::StringBuilder::toString): Added possibility to use a space between individual strings.
* platform/text/StringBuilder.h: Cleanup according to WebKit style.
(WebCore::):
(WebCore::StringBuilder::StringBuilder):
(WebCore::StringBuilder::setNonNull):
(WebCore::StringBuilder::isNull):
* svg/SVGAllInOne.cpp:
* svg/SVGPathBuilder.h:
(WebCore::SVGPathBuilder::cleanup): Clear all references.
* svg/SVGPathByteStreamBuilder.h:
(WebCore::SVGPathByteStreamBuilder::cleanup): dito.
* svg/SVGPathConsumer.h:
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::cleanup): dito.
* svg/SVGPathParser.h:
* svg/SVGPathParserFactory.cpp: Cleanup of factory. More code get shared.
(WebCore::globalSVGPathBuilder):
(WebCore::globalSVGPathSegListBuilder):
(WebCore::globalSVGPathByteStreamBuilder):
(WebCore::globalSVGPathStringBuilder):
(WebCore::globalSVGPathParser):
(WebCore::SVGPathParserFactory::buildPathFromString):
(WebCore::SVGPathParserFactory::buildPathFromByteStream):
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
(WebCore::SVGPathParserFactory::buildStringFromByteStream):
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
* svg/SVGPathParserFactory.h:
* svg/SVGPathSegListBuilder.h:
(WebCore::SVGPathSegListBuilder::cleanup):
* svg/SVGPathStringBuilder.cpp: Added. Build string from parsed SVG data.
(WebCore::SVGPathStringBuilder::SVGPathStringBuilder):
(WebCore::SVGPathStringBuilder::moveTo):
(WebCore::SVGPathStringBuilder::lineTo):
(WebCore::SVGPathStringBuilder::lineToHorizontal):
(WebCore::SVGPathStringBuilder::lineToVertical):
(WebCore::SVGPathStringBuilder::curveToCubic):
(WebCore::SVGPathStringBuilder::curveToCubicSmooth):
(WebCore::SVGPathStringBuilder::curveToQuadratic):
(WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathStringBuilder::arcTo):
(WebCore::SVGPathStringBuilder::closePath):
* svg/SVGPathStringBuilder.h: Added.
(WebCore::SVGPathStringBuilder::cleanup):
(WebCore::SVGPathStringBuilder::result):
2010-08-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
cross_fuzz WebCore::SelectionController::isFocusedAndActive ReadAV@NULL (9e865de49b1800ec790dcc35d8ebd069)
https://bugs.webkit.org/show_bug.cgi?id=43040
The pointer from Document to Frame can be null. See http://webkit.org/coding/major-objects.html.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2010-08-08 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
frame()->selection() can't be null
https://bugs.webkit.org/show_bug.cgi?id=43681
SelectionController is a component of Frame. If frame is non-null, it
can't possibly be null.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setActive):
2010-08-08 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
SVGLength uses ASSERTs to validate user input
https://bugs.webkit.org/show_bug.cgi?id=43680
ASSERTs aren't in release builds, so we can't use them to validate user
input! We've seen a bunch of examples of this in SVG code. It might
be worth auditing all the code to remove this misguided pattern.
Test: svg/dom/svg-length-units.html
* svg/SVGLength.cpp:
(WebCore::SVGLength::newValueSpecifiedUnits):
(WebCore::SVGLength::convertToSpecifiedUnits):
2010-08-07 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Empty strings can have more than one ref
https://bugs.webkit.org/show_bug.cgi?id=43666
These asserts are trying to say that we have a thread-safe copy of the
string, but they're not accurate for empty strings because we use a
special static empty string that magically has infinite refs.
* storage/OriginUsageRecord.cpp:
(WebCore::OriginUsageRecord::addDatabase):
(WebCore::OriginUsageRecord::markDatabase):
2010-08-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Eric Seidel.
[WML] Add KURL parameter to WMLDocument::create()
https://bugs.webkit.org/show_bug.cgi?id=43173
To fix build break in WML, url parameter is added. Because,
Document class has url parameter.
* wml/WMLDocument.cpp:
(WebCore::WMLDocument::WMLDocument):
* wml/WMLDocument.h:
(WebCore::WMLDocument::create): Add an url parameter to create() method
2010-08-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Eric Seidel.
[WML] Change getIDAttribute() with getIdAttribute()
https://bugs.webkit.org/show_bug.cgi?id=43175
Change getIDAttribute() with getIdAttribute() because function
name was changed.
* wml/WMLCardElement.cpp:
(WebCore::WMLCardElement::findNamedCardInDocument): Change getIDAttribute() with getIdAttribute().
2010-08-07 Mihai Parparita <mihaip@chromium.org>
Reviewed by Adam Barth.
WebTiming does not take page cache into account
https://bugs.webkit.org/show_bug.cgi?id=42772
When restoring a page from the page cache, reset its DocumentLoadTiming
struct and record navigationStart.
Test: fast/events/onunload-back-to-page-cache.html
* loader/DocumentLoadTiming.h: removed Noncopyable, since it's just a simple struct.
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::resetTiming): Added method.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading): Uncommented assert.
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage): Added resetTiming() call.
2010-08-07 Zoltan Horvath <zoltan@webkit.org>
Reviewed by Eric Seidel.
Allow custom memory allocation control for EventHandlingState struct
https://bugs.webkit.org/show_bug.cgi?id=43548
Inherits the following class from FastAllocBase because it is
instantiated by 'new':
struct name - instantiated at: WebCore/
EventHandlingState - html/HTMLInputElement.cpp:2051
* html/HTMLInputElement.cpp:
2010-08-07 Jay Civelli <jcivelli@chromium.org>
Reviewed by Eric Seidel.
[Chromium] Remove unecessary focus code.
https://bugs.webkit.org/show_bug.cgi?id=43542
* platform/chromium/ChromiumBridge.h:
* platform/chromium/WidgetChromium.cpp:
(WebCore::Widget::setFocus):
2010-08-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Eric Seidel.
[WML] Include FormDataBuilder.h in WMLGoElement.h
https://bugs.webkit.org/show_bug.cgi?id=43177
To fix build breaks in WMLGoElement.cpp, FormDataBuilder.h needs to be included.
* wml/WMLGoElement.cpp: Include FormDataBuilder.h
2010-08-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Eric Seidel.
[WML] Add dummy argument to SelectElement::defaultEventHandler() in WMLSelectElement
https://bugs.webkit.org/show_bug.cgi?id=43176
* wml/WMLSelectElement.cpp:
(WebCore::WMLSelectElement::defaultEventHandler): Sets NULL parameter to SelectElement::defaultEventHandler.
2010-08-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Eric Seidel.
[WML] Change DocumentParser with ScriptableDocumentParser in WMLDocument
https://bugs.webkit.org/show_bug.cgi?id=43174
* wml/WMLDocument.cpp:
(WebCore::WMLDocument::finishedParsing): Change DocumentParser with ScriptableDocumentParser.
2010-08-07 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
Use ctFont() to get the CTFont.
* platform/graphics/mac/FontMac.mm:
(WebCore::showGlyphsWithAdvances):
2010-08-07 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
document->documentElement can always be null
https://bugs.webkit.org/show_bug.cgi?id=43677
This ASSERT is bogus.
* css/StyleMedia.cpp:
(WebCore::StyleMedia::matchMedium):
2010-08-07 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8285090> First word on a line doesnt hyphenate properly
https://bugs.webkit.org/show_bug.cgi?id=43679
Test: fast/text/hyphenate-first-word.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::tryHyphenating): The character at lastSpace is not necessarily a whitespace character
before the current word. It can also be part of the word, such as when the word is the first
one on the line. Include the charcater at lastSpace in the string passed to lastHyphenLocation().
2010-08-07 Dan Bernstein <mitz@apple.com>
Build fix
* platform/graphics/SimpleFontData.h:
2010-08-07 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Created a separate SimpleFontData constructor exclusively for SVG fonts and moved the CTFontRef
from SimpleFontData to FontPlatformData.
https://bugs.webkit.org/show_bug.cgi?id=43674
* config.h: Moved definitions of WTF_USE_CORE_TEXT and WTF_USE_ATSUI from here to wtf/Platform.h.
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData): Use new SimpleFontData constructor for SVG fonts.
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::SimpleFontData): Separated into two constructors, one for
PlatformFontData-based fonts and one for SVG fonts.
* platform/graphics/SimpleFontData.h: Moved the m_CTFont member variable and the getCTFont()
accessor from here…
* platform/graphics/mac/FontPlatformData.h: …to here, renaming the latter ctFont().
* platform/graphics/mac/FontPlatformDataMac.mm:
(WebCore::FontPlatformData::FontPlatformData): Copy m_CTFont.
(WebCore::FontPlatformData::operator=): Copy m_CTFont.
(WebCore::FontPlatformData::setFont): Clear m_CTFont.
(WebCore::FontPlatformData::ctFont): Moved here from SimpleFontDataCoreText.cpp and renamed.
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::SimpleFontData::getCFStringAttributes): Updated to use FontPlatformData::ctFont().
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::SVGFontData): Added an assertion.
2010-08-07 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
Regression: Memory corruption in tree builder
https://bugs.webkit.org/show_bug.cgi?id=43672
Turns out this ASSERT was wrong and we need the branch. Yay for
test-driven development.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-08-07 Dirk Schulze <krit@webkit.org>
Unreviewed build-fix.
Come up with a more efficient way to represent Path segments
https://bugs.webkit.org/show_bug.cgi?id=41159
Landed wrong version of the patch.
* svg/SVGPathByteStreamSource.cpp:
(WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
(WebCore::SVGPathByteStreamSource::hasMoreData):
* svg/SVGPathByteStreamSource.h:
(WebCore::SVGPathByteStreamSource::moveToNextToken):
* svg/SVGPathParserFactory.cpp:
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
(WebCore::SVGPathParserFactory::createSVGPathByteStreamFromString):
* svg/SVGPathParserFactory.h:
2010-08-07 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Come up with a more efficient way to represent Path segments
https://bugs.webkit.org/show_bug.cgi?id=41159
Introduce SVGPathByteStream as a fast and efficient way to organize the synchronization
of Path, SVG path data string and SVGPathSegList in normalized and unaltered modes.
Extended SVGPathParserFactory to accept SVGPathByteStreams as input source and to create
a SVGPathByteStream from a SVG path data string.
Doesn't affect any tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* svg/SVGAllInOne.cpp:
* svg/SVGPathByteStream.h: Added.
(WebCore::):
(WebCore::SVGPathByteStream::create):
(WebCore::SVGPathByteStream::data):
(WebCore::SVGPathByteStream::begin):
(WebCore::SVGPathByteStream::end):
(WebCore::SVGPathByteStream::append):
(WebCore::SVGPathByteStream::clear):
(WebCore::SVGPathByteStream::isEmpty):
(WebCore::SVGPathByteStream::SVGPathByteStream):
* svg/SVGPathByteStreamBuilder.cpp: Added.
(WebCore::SVGPathByteStreamBuilder::SVGPathByteStreamBuilder):
(WebCore::SVGPathByteStreamBuilder::moveTo):
(WebCore::SVGPathByteStreamBuilder::lineTo):
(WebCore::SVGPathByteStreamBuilder::lineToHorizontal):
(WebCore::SVGPathByteStreamBuilder::lineToVertical):
(WebCore::SVGPathByteStreamBuilder::curveToCubic):
(WebCore::SVGPathByteStreamBuilder::curveToCubicSmooth):
(WebCore::SVGPathByteStreamBuilder::curveToQuadratic):
(WebCore::SVGPathByteStreamBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathByteStreamBuilder::arcTo):
(WebCore::SVGPathByteStreamBuilder::closePath):
* svg/SVGPathByteStreamBuilder.h: Added.
(WebCore::SVGPathByteStreamBuilder::setCurrentByteStream):
(WebCore::SVGPathByteStreamBuilder::writeType):
(WebCore::SVGPathByteStreamBuilder::writeFlag):
(WebCore::SVGPathByteStreamBuilder::writeFloat):
(WebCore::SVGPathByteStreamBuilder::writeFloatPoint):
(WebCore::SVGPathByteStreamBuilder::writeSegmentType):
* svg/SVGPathByteStreamSource.cpp: Added.
(WebCore::SVGPathByteStreamSource::SVGPathByteStreamSource):
(WebCore::SVGPathByteStreamSource::~SVGPathByteStreamSource):
(WebCore::SVGPathByteStreamSource::hasMoreData):
(WebCore::SVGPathByteStreamSource::parseFloat):
(WebCore::SVGPathByteStreamSource::parseFlag):
(WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
(WebCore::SVGPathByteStreamSource::nextCommand):
* svg/SVGPathByteStreamSource.h: Added.
(WebCore::SVGPathByteStreamSource::create):
(WebCore::SVGPathByteStreamSource::readType):
(WebCore::SVGPathByteStreamSource::readFlag):
(WebCore::SVGPathByteStreamSource::readFloat):
(WebCore::SVGPathByteStreamSource::readSVGSegmentType):
(WebCore::SVGPathByteStreamSource::readFloatPoint):
* svg/SVGPathParserFactory.cpp:
(WebCore::globalSVGPathByteStreamBuilder):
(WebCore::SVGPathParserFactory::buildPathFromByteStream):
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromByteStream):
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
* svg/SVGPathParserFactory.h:
2010-08-07 Dirk Schulze <krit@webkit.org>
Not reviewed. Sort Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-08-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64904.
http://trac.webkit.org/changeset/64904
https://bugs.webkit.org/show_bug.cgi?id=43671
Broke the Qt Windows builders. (Requested by bbandix on
#webkit).
* WebCore.pri:
* WebCore.pro:
* features.pri: Removed.
2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Eric Seidel.
[Qt] Build WebKit2 into a static lib
https://bugs.webkit.org/show_bug.cgi?id=43621
Just build changes so no new tests.
* WebCore.pri: Moved feature detection logic into features.pri since we need this in WebKit2.pro as well.
* WebCore.pro: Moved the specification of the WebKit2 build to WebKit2.pro. Link against the static lib.
* features.pri: Added.
2010-08-07 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Daniel Bates.
Pattern fill with image not rendered after reload
https://bugs.webkit.org/show_bug.cgi?id=41596
Fixed by a one-liner. Instead of just invalidating it's own resources, images also have to update
resources in the ancestor chain, if imageChanged() has been called (for example, a slow loading image)
Test: http/tests/misc/slow-loading-image-in-pattern.html
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageChanged):
2010-08-06 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Generalize SVGPathParser to allow more than just strings as input source
https://bugs.webkit.org/show_bug.cgi?id=43618
Generalize SVGPathParser, by allowing different parsing sources than just strings.
For now only a SVGPathStringSource is available, parsing from bytestreams follows soon.
Each client that wants to parse strings, like Path or SVGPathSegList objects, only
needs to use the new central SVGPathParserFactory, which glues consumer and sources together.
Moved the SVGPathSegType enum from SVGPathSeg class in WebCore namespace, for
easier access throughout the SVG code.
Doesn't affect any tests.
* Android.mk:
* CMakeLists.txt
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj
* svg/SVGAllInOne.cpp:
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateFromAndToValues):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::parseMappedAttribute):
* svg/SVGGlyphElement.cpp:
(WebCore::parsePathData):
* svg/SVGPathBuilder.cpp:
(WebCore::SVGPathBuilder::SVGPathBuilder):
(WebCore::SVGPathBuilder::moveTo):
(WebCore::SVGPathBuilder::lineTo):
(WebCore::SVGPathBuilder::curveToCubic):
(WebCore::SVGPathBuilder::closePath):
* svg/SVGPathBuilder.h:
(WebCore::SVGPathBuilder::setCurrentPath):
(WebCore::SVGPathBuilder::arcTo):
* svg/SVGPathConsumer.h:
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::parseMappedAttribute):
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::SVGPathParser):
(WebCore::SVGPathParser::parseClosePathSegment):
(WebCore::SVGPathParser::parseMoveToSegment):
(WebCore::SVGPathParser::parseLineToSegment):
(WebCore::SVGPathParser::parseLineToHorizontalSegment):
(WebCore::SVGPathParser::parseLineToVerticalSegment):
(WebCore::SVGPathParser::parseCurveToCubicSegment):
(WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathParser::parseArcToSegment):
(WebCore::SVGPathParser::parsePathDataFromSource):
(WebCore::SVGPathParser::decomposeArcToCubic):
* svg/SVGPathParser.h:
(WebCore::SVGPathParser::setCurrentConsumer):
* svg/SVGPathParserFactory.cpp: Added.
(WebCore::globalSVGPathBuilder):
(WebCore::globalSVGPathSegListBuilder):
(WebCore::globalSVGPathParser):
(WebCore::SVGPathParserFactory::self):
(WebCore::SVGPathParserFactory::SVGPathParserFactory):
(WebCore::SVGPathParserFactory::~SVGPathParserFactory):
(WebCore::SVGPathParserFactory::buildPathFromString):
(WebCore::SVGPathParserFactory::buildSVGPathSegListFromString):
* svg/SVGPathParserFactory.h: Added.
* svg/SVGPathSeg.h:
(WebCore::):
(WebCore::SVGPathSeg::~SVGPathSeg):
(WebCore::SVGPathSeg::):
(WebCore::SVGPathSeg::pathSegType):
(WebCore::SVGPathSeg::pathSegTypeAsLetter):
(WebCore::SVGPathSeg::toString):
(WebCore::SVGPathSeg::associatedAttributeName):
(WebCore::SVGPathSeg::SVGPathSeg):
(WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
(WebCore::SVGPathSegSingleCoord::setX):
(WebCore::SVGPathSegSingleCoord::x):
(WebCore::SVGPathSegSingleCoord::setY):
(WebCore::SVGPathSegSingleCoord::y):
(WebCore::SVGPathSegSingleCoord::toString):
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::getPathSegAtLength):
(WebCore::SVGPathSegList::toPathData):
(WebCore::SVGPathSegList::createAnimated):
* svg/SVGPathSegListBuilder.cpp:
(WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
(WebCore::SVGPathSegListBuilder::moveTo):
(WebCore::SVGPathSegListBuilder::lineTo):
(WebCore::SVGPathSegListBuilder::curveToCubic):
(WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
(WebCore::SVGPathSegListBuilder::curveToQuadratic):
(WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathSegListBuilder::arcTo):
* svg/SVGPathSegListBuilder.h:
(WebCore::SVGPathSegListBuilder::setCurrentSVGPathSegList):
* svg/SVGPathSource.h: Added.
(WebCore::SVGPathSource::~SVGPathSource):
(WebCore::SVGPathSource::SVGPathSource):
* svg/SVGPathStringSource.cpp: Added.
(WebCore::SVGPathStringSource::SVGPathStringSource):
(WebCore::SVGPathStringSource::~SVGPathStringSource):
(WebCore::SVGPathStringSource::endOfStream):
(WebCore::SVGPathStringSource::parseFloat):
(WebCore::SVGPathStringSource::parseFlag):
(WebCore::SVGPathStringSource::skipSpaces):
(WebCore::SVGPathStringSource::parseSVGSegmentType):
(WebCore::SVGPathStringSource::hasRemainingCoordinatesInCurrentCommand):
* svg/SVGPathStringSource.h: Added.
(WebCore::SVGPathStringSource::create):
2010-08-06 Robert Hogan <robert@webkit.org>
Reviewed by Adam Barth.
Define setPrivateBrowsingEnabled()
https://bugs.webkit.org/show_bug.cgi?id=42283
Define the scope of 'private browsing' in WebKit
See also https://bugs.webkit.org/show_bug.cgi?id=41801
* page/Settings.h:
2010-08-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
REGRESSION (r64712): YouTube video pages have contents of <noembed> elements overlapping the video description
https://bugs.webkit.org/show_bug.cgi?id=43605
The old parser used to drop <noembed> on the floor. We're supposed to
add it to the DOM, but we don't want to create a renderer for it.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::rendererIsNeeded):
2010-08-06 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Fix style violations in Document
https://bugs.webkit.org/show_bug.cgi?id=43657
No new tests because no new functionality.
* dom/Document.cpp:
(WebCore::acceptsEditingFocus):
(WebCore::Document::Document):
(WebCore::Document::importNode):
(WebCore::Document::adoptNode):
(WebCore::Document::getElementById):
(WebCore::Document::readyState):
(WebCore::Document::createTreeWalker):
(WebCore::Document::shouldScheduleLayout):
(WebCore::Document::nextFocusableNode):
(WebCore::Document::previousFocusableNode):
(WebCore::Document::nodeAbsIndex):
(WebCore::Document::nodeWithAbsIndex):
(WebCore::Document::childTypeAllowed):
(WebCore::Document::canReplaceChild):
(WebCore::Document::recalcStyleSelector):
(WebCore::Document::setFocusedNode):
(WebCore::Document::attachNodeIterator):
(WebCore::Document::detachNodeIterator):
(WebCore::Document::parseQualifiedName):
(WebCore::Document::getImageMap):
(WebCore::Document::setInPageCache):
(WebCore::Document::addMarker):
(WebCore::Document::copyMarkers):
(WebCore::Document::shiftMarkers):
(WebCore::Document::setMarkersActive):
(WebCore::Document::parentDocument):
(WebCore::Document::topDocument):
(WebCore::FormElementKeyHash::hash):
(WebCore::Document::initSecurityContext):
* dom/Document.h:
(WebCore::Document::incDOMTreeVersion):
(WebCore::Document::domTreeVersion):
2010-08-06 Eric Carlson <eric.carlson@apple.com>
Unreviewed, release Qt build fix.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::containsPaintedContent): Guard call to toRenderVideo()
with #if ENABLE(VIDEO).
2010-08-06 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
HTML5 "video" tag with poster frame defined "flashes" right before movie displays
https://bugs.webkit.org/show_bug.cgi?id=37591
<rdar://problem/5650561>
If a video element has a poster frame, display it until the playback is requested or the movie's
time is changed.
Test: compositing/video/video-poster.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_displayMode.
(WebCore::HTMLMediaElement::prepareForLoad): Set m_displayMode to Unknown.
(WebCore::HTMLMediaElement::loadResource): Call updateDisplayState to let it set configure
the poster, if necessary.
(WebCore::HTMLMediaElement::noneSupported): updatePosterImage -> updateDisplayState.
(WebCore::HTMLMediaElement::setNetworkState): Ditto.
(WebCore::HTMLMediaElement::setReadyState): Ditto.
(WebCore::HTMLMediaElement::finishSeek): Set display mode to Video so a video frame will be
displayed if a poster is currently visible.
(WebCore::HTMLMediaElement::mediaPlayerRepaint): updatePosterImage -> updateDisplayState.
(WebCore::HTMLMediaElement::updatePlayState): Set display mode to Video.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::displayMode): New.
(WebCore::HTMLMediaElement::setDisplayMode): Ditto.
(WebCore::HTMLMediaElement::updateDisplayState): Ditto.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::HTMLVideoElement): Remove m_shouldDisplayPosterImage.
(WebCore::HTMLVideoElement::attach): Call shouldDisplayPosterImage instead of checking
m_shouldDisplayPosterImage directly.
(WebCore::HTMLVideoElement::detach): Ditto.
(WebCore::HTMLVideoElement::parseMappedAttribute): Set m_displayMode to Unknown before calling
updateDisplayState so shouldDisplayPosterImage() will return the correct result. Remove the
PLUGIN_PROXY_FOR_VIDEO code, it is now in updateDisplayState.
(WebCore::HTMLVideoElement::setDisplayMode): Renamed from updatePosterImage and rework logic
so we tell the media engine it is OK to display video frames when there is no poster, or
once the media engine has something to display and the movie has started or seeked.
(WebCore::HTMLVideoElement::updateDisplayState): New, manage display mode based on poster
attribute.
* html/HTMLVideoElement.h:
(WebCore::HTMLVideoElement::shouldDisplayPosterImage):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::prepareForRendering): New, call media engine's prepareForRendering.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::prepareForRendering):
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_isAllowedToRender.
(WebCore::MediaPlayerPrivate::setUpVideoRendering):
(WebCore::MediaPlayerPrivate::isReadyForVideoSetup): Renamed from isReadyForRendering.
(WebCore::MediaPlayerPrivate::prepareForRendering): New, set m_isAllowedToRender and
inform the client that render tree should be updated so we correctly switch from showing
the poster, which often doens't use a layer, to showing video frames, which do.
(WebCore::MediaPlayerPrivate::updateStates): Don't call setUpVideoRendering until
isReadyForVideoSetup() returns true.
(WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): isReadyForRendering -> isReadyForVideoSetup
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::containsPaintedContent): Only consider video when displaying
video frames so a poster won't force compositing mode.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForVideo): Ditto.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::shouldDisplayVideo): New, return true when not displaying a poster.
* rendering/RenderVideo.h:
2010-08-06 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
Accelerated 2d canvases should get compositing layers
https://bugs.webkit.org/show_bug.cgi?id=43362
Allows for 2d canvas rendering contexts to use a GraphicsContext3D for
accelerated rendering. The rendering context holds the GraphicsContext3D
alive and exposes it to the compositor. The 3d context itself is passed
down through the GraphicsContext to use for actual rendering:
https://bug-43362-attachments.webkit.org/attachment.cgi?id=63557
This approach will let us simultaneously prototype accelerated techniques
for canvas 2d and revise the design of canvas elements without destabilizing
all ports.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::willDraw):
(WebCore::HTMLCanvasElement::makeRenderingResultsAvailable):
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::isAccelerated):
(WebCore::CanvasRenderingContext2D::reset):
(WebCore::CanvasRenderingContext2D::willDraw):
(WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
* html/canvas/CanvasRenderingContext2D.h:
(WebCore::CanvasRenderingContext2D::graphicsContext3D):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
* html/canvas/WebGLRenderingContext.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::syncSoftwareCanvas):
2010-08-06 Eric Seidel <eric@webkit.org>
Reviewed by Chris Fleizach.
Make AX Code use more specific RenderObject subclass types
https://bugs.webkit.org/show_bug.cgi?id=43632
No functional change, thus no tests.
* accessibility/AXObjectCache.cpp:
(WebCore::nodeHasRole):
- Make this take a String instead of AtomicString, to avoid
thrashing the atomic string hash.
It would be better to take a const char* here, except
one caller passes nullAtom.
(WebCore::createFromRenderer):
- Split this out from getOrCreate to make it simpler.
- No longer needs to deal with setting a "result"
pointer and can instead just return.
- I've also made this function use RenderBoxModelObject*
where appropriate.
(WebCore::AXObjectCache::getOrCreate):
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityImageMapLink.cpp:
(WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
- Fix style.
* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::AccessibilityMenuList):
- Use a more specific type.
(WebCore::AccessibilityMenuList::renderer):
* accessibility/AccessibilityMenuList.h:
(WebCore::AccessibilityMenuList::create):
* accessibility/AccessibilityMenuListPopup.cpp:
- Need RenderMenuList.h since renderer() is a RenderMenuList*
* accessibility/AccessibilityObject.cpp:
(WebCore::renderListItemContainerForNode):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderBoxModelObject):
- New helper function, similar to Node::renderBoxModelObject()
(WebCore::isInlineWithContinuation):
(WebCore::AccessibilityRenderObject::isNativeImage):
(WebCore::AccessibilityRenderObject::isAttachment):
(WebCore::AccessibilityRenderObject::isMultiSelectable):
(WebCore::AccessibilityRenderObject::isReadOnly):
(WebCore::AccessibilityRenderObject::isFieldset):
(WebCore::AccessibilityRenderObject::actionElement):
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::widget):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
(WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
(WebCore::AccessibilityRenderObject::renderObjectIsObservable):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::addChildren):
(WebCore::msaaRoleForRenderer):
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
* accessibility/AccessibilityTable.h:
- Remove unneeded "using namespace std".
2010-08-06 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Factor an AsyncScriptRunner out of Document
https://bugs.webkit.org/show_bug.cgi?id=43633
This copies the existing implementation exactly. In the future
this will use PendingScript which handles ref counting without
the need for those manual ref()/deref()s. This is also currently
a trivial class, but a little more logic will be added to it to
support <script async>.
No new tests because no new functionality.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/AsyncScriptRunner.cpp: Added.
(WebCore::AsyncScriptRunner::AsyncScriptRunner):
(WebCore::AsyncScriptRunner::~AsyncScriptRunner):
(WebCore::AsyncScriptRunner::executeScriptSoon):
(WebCore::AsyncScriptRunner::suspend):
(WebCore::AsyncScriptRunner::resume):
(WebCore::AsyncScriptRunner::timerFired):
* dom/AsyncScriptRunner.h: Added.
(WebCore::AsyncScriptRunner::create):
(WebCore::AsyncScriptRunner::hasPendingScripts):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
* dom/Document.h:
(WebCore::Document::asyncScriptRunner):
* dom/ScriptElement.cpp:
(WebCore::ScriptElementData::notifyFinished):
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
(WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2010-08-06 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] Implement GLES2Canvas/Texture in terms of GraphicsContext3D instead of direct OpenGL calls
https://bugs.webkit.org/show_bug.cgi?id=43608
This converts all OpenGL calls in GLES2(Canvas|Texture) to calls on the corresponding GraphicsContext3D
API, due to feedback on https://bugs.webkit.org/show_bug.cgi?id=43362. Nearly all the changes are
applying the regex s/gl([A-Z])/m_context->%1</ and removing unnecessary makeCurrent() calls.
Other changes hilighted below.
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::affineTo3x3):
(WebCore::GLES2Canvas::GLES2Canvas):
(WebCore::GLES2Canvas::~GLES2Canvas):
(WebCore::GLES2Canvas::clearRect):
(WebCore::GLES2Canvas::fillRect):
(WebCore::GLES2Canvas::drawTexturedRect):
(WebCore::GLES2Canvas::applyCompositeOperator):
(WebCore::GLES2Canvas::getQuadVertices):
(WebCore::GLES2Canvas::getQuadIndices):
- use new typed XXArray classes for buffer uploads
(WebCore::loadShader):
(WebCore::GLES2Canvas::getSimpleProgram):
(WebCore::GLES2Canvas::getTexProgram):
(WebCore::GLES2Canvas::createTexture):
(WebCore::GLES2Canvas::checkGLError):
* platform/graphics/chromium/GLES2Canvas.h:
(WebCore::GLES2Canvas::context):
* platform/graphics/chromium/GLES2Texture.cpp:
(WebCore::GLES2Texture::GLES2Texture):
(WebCore::GLES2Texture::~GLES2Texture):
(WebCore::GLES2Texture::create):
(WebCore::convertFormat):
(WebCore::GLES2Texture::load):
(WebCore::GLES2Texture::bind):
* platform/graphics/chromium/GLES2Texture.h:
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::fillRect):
- add a missing restore() call to the H/W path
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawBitmapGLES2):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::setGraphicsContext3D):
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
- avoid applying CTM to uploads
(WebCore::PlatformContextSkia::readbackHardwareToSoftware):
* platform/graphics/skia/PlatformContextSkia.h:
2010-08-06 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
Composited canvas should be treated the same by the compositor and not be WebGL specific
https://bugs.webkit.org/show_bug.cgi?id=43589
This treats all GraphicsContext3D-backed layers the same instead of special casing WebGL.
The cross-platform change is to rename GraphicsLayer::setContentsToWebGL() to
GraphicsLayer::setContentsToCanvas() and to rename all implementations.
This patch also renames the chromium class used for accelerating these layers.
Cross platform changes:
* WebCore.gypi:
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setContentsToCanvas):
Rename the function on the base class. GraphicsLayerCA and GraphicsLayerChromium implement this.
* rendering/RenderLayerBacking.cpp:
(WebCore::isAcceleratedCanvas):
Helper function to see if a renderer is associated with an accelerated compositing layer.
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::RenderLayerBacking::containsPaintedContent):
(WebCore::RenderLayerBacking::rendererContentChanged):
Chromium specific changes:
* platform/graphics/chromium/CanvasLayerChromium.cpp: Added.
(WebCore::CanvasLayerChromium::create):
(WebCore::CanvasLayerChromium::CanvasLayerChromium):
(WebCore::CanvasLayerChromium::textureId):
(WebCore::CanvasLayerChromium::updateTextureContents):
(WebCore::CanvasLayerChromium::setContext):
* platform/graphics/chromium/CanvasLayerChromium.h: Added.
(WebCore::CanvasLayerChromium::drawsContent):
(WebCore::CanvasLayerChromium::ownsTexture):
(WebCore::CanvasLayerChromium::shaderProgramId):
(WebCore::CanvasLayerChromium::setShaderProgramId):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore::GraphicsLayerChromium::):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::initializeSharedGLObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::):
* platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
* platform/graphics/chromium/WebGLLayerChromium.h: Removed.
Mac specific changes:
* platform/graphics/mac/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::):
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
(WebCore::GraphicsLayerCA::setContentsToCanvas):
2010-08-06 Patrick Gansterer <paroga@paroga.com>
Reviewed by Eric Seidel.
Add PluginView::bindingInstance() to PluginViewNone
https://bugs.webkit.org/show_bug.cgi?id=42936
* bindings/js/ScriptControllerEfl.cpp:
(WebCore::ScriptController::createScriptInstanceForWidget): Removed workaround.
* plugins/PluginViewNone.cpp: Added property svn:eol-style.
(WebCore::PluginView::bindingInstance): Added missing method and use it on WinCE.
2010-08-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
Use new "package" name also for the directory where the inspector
support files are installed.
* GNUmakefile.am:
2010-08-06 Jian Li <jianli@chromium.org>
Fix chromium build break.
* inspector/InspectorDebuggerAgent.h:
2010-08-06 Dirk Schulze <krit@webkit.org>
Not reviewed. Sort Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-08-06 Jessie Berlin <jberlin@apple.com>
Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
Unreviewed.
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityARIAGrid.h:
* accessibility/AccessibilityListBoxOption.h:
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilityTable.h:
* bindings/cpp/WebDOMCString.h:
* bindings/cpp/WebDOMString.h:
* bindings/gobject/ConvertToUTF8String.h:
* bindings/js/DOMWrapperWorld.h:
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSMessagePortCustom.h:
* bindings/js/JavaScriptCallFrame.h:
* bindings/js/ScriptController.h:
* bindings/js/ScriptProfile.h:
* bindings/js/ScriptSourceProvider.h:
* bindings/js/ScriptString.h:
* bindings/js/WorkerScriptController.h:
* bindings/objc/DOMImplementationFront.h:
* bindings/v8/ScheduledAction.h:
* bindings/v8/ScriptController.h:
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8Proxy.h:
* bindings/v8/V8Utilities.h:
* bindings/v8/custom/V8CustomXPathNSResolver.h:
* bridge/c/c_utility.h:
* css/CSSFontSelector.h:
* css/CSSHelper.h:
* css/CSSOMUtils.h:
* css/CSSPrimitiveValue.h:
* css/MediaList.h:
* css/StyleBase.h:
* css/StyleSheetList.h:
* css/WebKitCSSKeyframesRule.h:
* dom/CheckedRadioButtons.h:
* dom/DOMImplementation.h:
* dom/DocumentMarker.h:
* dom/DynamicNodeList.h:
* dom/EventTarget.h:
* dom/MessagePort.h:
* dom/MessagePortChannel.h:
* dom/NameNodeList.h:
* dom/Node.h:
* dom/NodeList.h:
* dom/OptionGroupElement.h:
* dom/ScriptExecutionContext.h:
* dom/SelectElement.h:
* dom/ViewportArguments.h:
* dom/make_names.pl:
* editing/HTMLInterchange.h:
* editing/htmlediting.h:
* editing/markup.h:
* html/CollectionCache.h:
* html/DOMFormData.h:
* html/DataGridColumnList.h:
* html/DateComponents.h:
* html/FileStream.h:
* html/FileStreamProxy.h:
* html/FormDataList.h:
(WebCore::FormDataList::appendData):
* html/HTMLCollection.h:
* html/HTMLElementStack.h:
* html/HTMLFormattingElementList.h:
* html/HTMLParserQuirks.h:
* html/HTMLQuoteElement.h:
* html/HTMLScriptRunnerHost.h:
* html/StepRange.h:
* html/canvas/CanvasGradient.h:
* html/canvas/CanvasNumberArray.h:
* html/canvas/CanvasPattern.h:
* inspector/InjectedScript.h:
* inspector/InspectorCSSStore.h:
* inspector/InspectorClient.h:
* inspector/InspectorFrontendClient.h:
* inspector/InspectorValues.h:
* inspector/ScriptDebugListener.h:
* loader/CachedResourceClient.h:
* loader/CrossOriginAccessControl.h:
* loader/DocumentThreadableLoader.h:
* loader/FrameLoaderClient.h:
* loader/RedirectScheduler.h:
* loader/SubframeLoader.h:
* loader/appcache/DOMApplicationCache.h:
* loader/archive/ArchiveFactory.h:
* loader/icon/IconDatabaseClient.h:
* notifications/NotificationPresenter.h:
* page/Chrome.h:
* page/ChromeClient.h:
* page/Console.h:
* page/ContextMenuClient.h:
* page/DOMSelection.h:
* page/EditorClient.h:
* page/EventHandler.h:
* page/FrameView.h:
* page/GeolocationPositionCache.h:
* page/History.h:
* page/Location.h:
* page/Navigator.h:
* page/NavigatorBase.h:
* page/PluginHalterClient.h:
* page/PrintContext.h:
* page/SpeechInput.h:
* page/SpeechInputListener.h:
* page/animation/AnimationController.h:
* platform/CookieJar.h:
* platform/CrossThreadCopier.h:
* platform/DragImage.h:
* platform/FileSystem.h:
* platform/Language.h:
* platform/Length.h:
* platform/LinkHash.h:
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.h:
* platform/Logging.h:
* platform/Pasteboard.h:
* platform/PopupMenuClient.h:
* platform/SearchPopupMenu.h:
* platform/Widget.h:
* platform/cf/BinaryPropertyList.h:
* platform/chromium/ChromiumBridge.h:
* platform/chromium/ClipboardUtilitiesChromium.h:
* platform/cocoa/KeyEventCocoa.h:
* platform/graphics/Color.h:
* platform/graphics/FontCache.h:
* platform/graphics/FontData.h:
* platform/graphics/FontSelector.h:
* platform/graphics/GraphicsTypes.h:
* platform/graphics/Icon.h:
* platform/graphics/ImageBuffer.h:
* platform/graphics/ImageSource.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
* platform/graphics/Path.h:
* platform/graphics/StringTruncator.h:
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/cairo/FontPlatformData.h:
* platform/graphics/cg/FontPlatformData.h:
* platform/graphics/cg/ImageSourceCG.h:
* platform/graphics/chromium/FontCustomPlatformData.h:
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
* platform/graphics/chromium/FontPlatformDataLinux.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/haiku/FontCustomPlatformData.h:
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/mac/FontPlatformData.h:
* platform/graphics/qt/FontCustomPlatformData.h:
* platform/graphics/qt/FontPlatformData.h:
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformDataCairo.h:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
* platform/graphics/wince/FontPlatformData.h:
* platform/graphics/wince/MediaPlayerPrivateWince.h:
* platform/graphics/wince/MediaPlayerProxy.h:
* platform/graphics/wx/FontCustomPlatformData.h:
* platform/graphics/wx/FontPlatformData.h:
* platform/mac/PasteboardHelper.h:
* platform/network/DNS.h:
* platform/network/FormData.h:
* platform/network/FormDataBuilder.h:
* platform/network/HTTPParsers.h:
* platform/text/Hyphenation.h:
* platform/text/LineEnding.h:
* platform/text/TextCodec.h:
* platform/text/TextEncoding.h:
* platform/text/TextStream.h:
* platform/win/BString.h:
* platform/win/ClipboardUtilitiesWin.h:
* platform/win/WCDataObject.h:
* platform/win/WebCoreTextRenderer.h:
* plugins/DOMMimeType.h:
* plugins/DOMMimeTypeArray.h:
* plugins/DOMPlugin.h:
* plugins/DOMPluginArray.h:
* rendering/CounterNode.h:
* rendering/HitTestResult.h:
* rendering/RenderObjectChildList.h:
* rendering/RenderText.h:
* rendering/RenderTreeAsText.h:
* rendering/TextControlInnerElements.h:
* rendering/style/ContentData.h:
* rendering/style/RenderStyle.h:
* storage/DatabaseAuthorizer.h:
* storage/DatabaseTrackerClient.h:
* storage/SQLTransaction.h:
* storage/SQLTransactionSync.h:
* storage/Storage.h:
* storage/chromium/DatabaseObserver.h:
* svg/SVGAnimatedTemplate.h:
* svg/SVGDocumentExtensions.h:
* svg/SVGGlyphElement.h:
* svg/SVGHKernElement.h:
* svg/SVGNumberList.h:
* svg/SVGPointList.h:
* svg/SVGPreserveAspectRatio.h:
* svg/SVGStylable.h:
* svg/SVGTests.h:
* svg/SVGTransformList.h:
* svg/SVGTransformable.h:
* svg/SVGVKernElement.h:
* websockets/ThreadableWebSocketChannel.h:
* websockets/ThreadableWebSocketChannelClientWrapper.h:
* websockets/WebSocket.h:
* websockets/WebSocketChannel.h:
* websockets/WebSocketHandshakeResponse.h:
* wml/WMLErrorHandling.h:
* wml/WMLPageState.h:
* wml/WMLVariables.h:
* workers/DefaultSharedWorkerRepository.h:
* workers/SharedWorkerRepository.h:
* workers/Worker.h:
* workers/WorkerContextProxy.h:
* workers/WorkerLoaderProxy.h:
* workers/WorkerLocation.h:
* workers/WorkerMessagingProxy.h:
* workers/WorkerReportingProxy.h:
* workers/WorkerThread.h:
* xml/DOMParser.h:
* xml/XMLHttpRequestUpload.h:
* xml/XPathEvaluator.h:
* xml/XPathExpression.h:
* xml/XPathNSResolver.h:
* xml/XPathResult.h:
* xml/XPathUtil.h:
2010-08-04 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
WebGLBuffer::associateBufferData(ArrayBufferView* array) copies incorrect data for sliced views
https://bugs.webkit.org/show_bug.cgi?id=42124
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::associateBufferDataImpl): Helper function that's called by all associateBufferData().
(WebCore::WebGLBuffer::associateBufferData): Call associateBufferDataImpl().
(WebCore::WebGLBuffer::associateBufferSubDataImpl): Helper function that's called by all associateBufferSubData().
(WebCore::WebGLBuffer::associateBufferSubData): Call associateBufferSubDataImpl().
* html/canvas/WebGLBuffer.h: Declare helper functions.
2010-08-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
noembed should respect whether plugins are enabled
https://bugs.webkit.org/show_bug.cgi?id=43611
This instruction isn't in the HTML5 spec, but it seems like the right
thing to do. I suspect this is because the spec doesn't understand
that plugins can be disabled.
I'm not sure how we can test this in DumpRenderTree, but I'm open to
suggestions.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::adjustedLexerState):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::scriptEnabled):
(WebCore::HTMLTreeBuilder::pluginsEnabled):
* html/HTMLTreeBuilder.h:
2010-08-06 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Factor out PendingScript and protect its members
https://bugs.webkit.org/show_bug.cgi?id=43391
This will be shared by AsyncScriptRunner.
No new tests because no new functionality.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/PendingScript.cpp: Added.
(WebCore::PendingScript::~PendingScript):
(WebCore::PendingScript::element):
(WebCore::PendingScript::releaseElementAndClear):
(WebCore::PendingScript::setCachedScript):
(WebCore::PendingScript::cachedScript):
* dom/PendingScript.h: Added.
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::startingLineNumber):
(WebCore::PendingScript::watchingForLoad):
(WebCore::PendingScript::setWatchingForLoad):
(WebCore::PendingScript::hasElement):
(WebCore::PendingScript::adoptElement):
(WebCore::PendingScript::notifyFinished):
* html/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::haveParsingBlockingScript):
(WebCore::HTMLScriptRunner::requestScript):
* html/HTMLScriptRunner.h:
2010-08-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Darin Adler.
Change permission to access methods in XMLDocumentParser.h
https://bugs.webkit.org/show_bug.cgi?id=43180
Change permission to access wellFormed(), lineNumber() and columnNumber()
in XMLDocumentParser.h. Because, the methods are used by WML.
* dom/XMLDocumentParser.h:
(WebCore::XMLDocumentParser::wellFormed): Change accebility permission.
2010-08-06 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Support for image drags
https://bugs.webkit.org/show_bug.cgi?id=40788
Add image drag-and-drop support for WebKit GTK+.
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::setDragImage): Filled this stub.
(WebCore::ClipboardGtk::setDragImageElement): Filled this stub.
(WebCore::ClipboardGtk::createDragImage): Filled this stub.
(WebCore::ClipboardGtk::declareAndWriteDragImage): Write the image URL, markup, and image itself to the data object member.
* platform/gtk/ClipboardGtk.h: Brought method declarations into line with the parent class.
2010-08-06 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: extract debugger implementation into InspectorDebuggerAgent
https://bugs.webkit.org/show_bug.cgi?id=42340
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::enableDebuggerFromFrontend):
(WebCore::InspectorController::disableDebugger):
(WebCore::InspectorController::resume):
(WebCore::InspectorController::loadBreakpoints):
(WebCore::InspectorController::saveBreakpoints):
* inspector/InspectorController.h:
(WebCore::InspectorController::debuggerAgent):
* inspector/InspectorDebuggerAgent.cpp: Added.
(WebCore::md5Base16):
(WebCore::formatBreakpointId):
(WebCore::InspectorDebuggerAgent::create):
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
(WebCore::InspectorDebuggerAgent::activateBreakpoints):
(WebCore::InspectorDebuggerAgent::deactivateBreakpoints):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDebuggerAgent::editScriptSource):
(WebCore::InspectorDebuggerAgent::getScriptSource):
(WebCore::InspectorDebuggerAgent::pause):
(WebCore::InspectorDebuggerAgent::resume):
(WebCore::InspectorDebuggerAgent::stepOverStatement):
(WebCore::InspectorDebuggerAgent::stepIntoStatement):
(WebCore::InspectorDebuggerAgent::stepOutOfFunction):
(WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
(WebCore::InspectorDebuggerAgent::clearForPageNavigation):
(WebCore::InspectorDebuggerAgent::currentCallFrames):
(WebCore::InspectorDebuggerAgent::loadBreakpoints):
(WebCore::InspectorDebuggerAgent::saveBreakpoints):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::failedToParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::didContinue):
(WebCore::InspectorDebuggerAgent::remoteFrontend):
* inspector/InspectorDebuggerAgent.h: Added.
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
2010-08-06 Dean Jackson <dino@apple.com>
Reviewed by Simon Fraser and Steve Block.
https://bugs.webkit.org/show_bug.cgi?id=42865
Implement DeviceMotionEvent
Implement the DeviceMotionEvent interface as defined
in http://dev.w3.org/geo/api/spec-source-orientation.html
This is currently an empty implementation, in that there is
no motion client connected - the platform implementations
will need to do that.
Tests: fast/dom/DeviceMotion/create-event.html
fast/dom/DeviceMotion/optional-event-properties.html
fast/dom/DeviceMotion/window-property.html
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.jscbindings.mk:
* Android.mk:
* Android.v8bindings.mk:
* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- Add new files for DeviceMotionEvent build support
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
- new runtime flags for device motion
* bindings/js/JSDeviceMotionEventCustom.cpp: Added.
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp: Added.
- Custom JS binding to translate property access through
to the DeviceMotionData object that the Event holds
* bindings/js/JSEventCustom.cpp:
- Include the custom code for DeviceMotionEvent
* dom/DeviceMotionClient.h: Added.
- Pure virtual client for DeviceMotion access
* dom/DeviceMotionController.cpp: Added.
* dom/DeviceMotionController.h: Added.
- Controller class that manages event dispatch
* dom/DeviceMotionData.cpp: Added.
* dom/DeviceMotionData.h: Added.
- Representation of the data that comes from a device motion
client that is then used within the event.
* dom/DeviceMotionEvent.cpp: Added.
* dom/DeviceMotionEvent.h: Added.
* dom/DeviceMotionEvent.idl: Added.
- The actual event implementation
* dom/Document.cpp:
(WebCore::Document::createEvent):
- Update createEvent to allow "devicemotion" events
* dom/Event.cpp:
* dom/Event.h:
- isDeviceMotionEvent virtual method
* dom/EventNames.h:
- new "devicemotion" event type
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
* page/DOMWindow.h:
* page/DOMWindow.idl:
- allow creation of "devicemotion" events and pass registration
through to the Page's deviceMotionController object
* page/Page.cpp:
* page/Page.h:
- new PageClient for deviceMotionController
2010-08-06 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: Remove "Online/Offline" icon for Chrome's appcache devtools UI.
https://bugs.webkit.org/show_bug.cgi?id=43450
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
(WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState):
* inspector/front-end/Settings.js:
2010-08-06 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Rolling out 64835, 64836 and 64839.
* Android.jscbindings.mk:
* Android.v8bindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::openDatabase):
* bindings/js/JSDatabaseCustom.cpp: Added.
(WebCore::JSDatabase::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabase::transaction):
(WebCore::JSDatabase::readTransaction):
* bindings/js/JSDatabaseSyncCustom.cpp: Added.
(WebCore::JSDatabaseSync::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabaseSync::transaction):
(WebCore::JSDatabaseSync::readTransaction):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::openDatabase):
(WebCore::JSWorkerContext::openDatabaseSync):
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::voidMethodWithArgsCallback):
(WebCore::TestObjInternal::intMethodWithArgsCallback):
(WebCore::TestObjInternal::objMethodWithArgsCallback):
(WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
(WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjInternal::serializedValueCallback):
(WebCore::TestObjInternal::idbKeyCallback):
(WebCore::TestObjInternal::customArgsAndExceptionCallback):
(WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
(WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
(WebCore::TestObjInternal::methodWithOptionalArgCallback):
(WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjInternal::methodWithCallbackArgCallback):
(WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
(WebCore::TestObjInternal::overloadedMethod1Callback):
(WebCore::TestObjInternal::overloadedMethod2Callback):
(WebCore::TestObjInternal::overloadedMethod3Callback):
(WebCore::TestObjInternal::overloadedMethod4Callback):
(WebCore::):
(WebCore::ConfigureV8TestObjTemplate):
* bindings/v8/V8Binding.h:
(WebCore::String):
(WebCore::AtomicString):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::openDatabaseCallback):
* bindings/v8/custom/V8DatabaseCustom.cpp: Added.
(WebCore::V8Database::changeVersionCallback):
(WebCore::createTransaction):
(WebCore::V8Database::transactionCallback):
(WebCore::V8Database::readTransactionCallback):
* bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
(WebCore::V8DatabaseSync::changeVersionCallback):
(WebCore::createTransaction):
(WebCore::V8DatabaseSync::transactionCallback):
(WebCore::V8DatabaseSync::readTransactionCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::V8WorkerContext::openDatabaseCallback):
(WebCore::V8WorkerContext::openDatabaseSyncCallback):
* page/DOMWindow.idl:
* storage/Database.cpp:
(WebCore::Database::transaction):
* storage/Database.h:
* storage/Database.idl:
* storage/DatabaseSync.cpp:
(WebCore::DatabaseSync::transaction):
* storage/DatabaseSync.h:
* storage/DatabaseSync.idl:
* workers/WorkerContext.idl:
2010-08-06 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, fix the "GTK Linux 64-bit Debug" bot.
CodeGeneratorGObject.pm doesn't know yet how to auto-generate
callbacks, so we should not auto-generate functions that take
callbacks as parameters. This shouldn't break anything, because
all these functions were marked as ["Custom"] until now, and this
code generator skipped those functions anyway.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-08-06 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, "Qt Linux Realese minimal" build fix.
* bindings/scripts/CodeGeneratorJS.pm:
2010-08-06 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Auto-generate all HTML5 DB bindings.
https://bugs.webkit.org/show_bug.cgi?id=43382
* Android.jscbindings.mk: Remove {JS|V8}Database{Sync}Custom.cpp
and the custom implementations of openDatabas{Sync}().
* Android.v8bindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSDatabaseCustom.cpp: Removed.
* bindings/js/JSDatabaseSyncCustom.cpp: Removed.
* bindings/js/JSWorkerContextCustom.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* bindings/v8/custom/V8DatabaseCustom.cpp: Removed.
* bindings/v8/custom/V8DatabaseSyncCustom.cpp: Removed.
* bindings/v8/custom/V8WorkerContextCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm: Change the code generators
to check that a value was passed for each non-optional argument,
and that the value can be converted to the argument type.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::voidMethodWithArgsCallback):
(WebCore::TestObjInternal::intMethodWithArgsCallback):
(WebCore::TestObjInternal::objMethodWithArgsCallback):
(WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
(WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjInternal::serializedValueCallback):
(WebCore::TestObjInternal::idbKeyCallback):
(WebCore::TestObjInternal::customArgsAndExceptionCallback):
(WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
(WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
(WebCore::TestObjInternal::methodWithOptionalArgCallback):
(WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjInternal::methodWithCallbackArgCallback):
(WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
(WebCore::TestObjInternal::overloadedMethod1Callback):
(WebCore::TestObjInternal::overloadedMethod2Callback):
(WebCore::TestObjInternal::overloadedMethod3Callback):
(WebCore::TestObjInternal::overloadedMethod4Callback):
(WebCore::):
(WebCore::ConfigureV8TestObjTemplate):
* bindings/v8/V8Binding.h:
(WebCore::String):
(WebCore::AtomicString):
* page/DOMWindow.idl: Minor changes required by the auto-generated
bindings.
* storage/Database.cpp:
(WebCore::Database::transaction):
(WebCore::Database::readTransaction):
(WebCore::Database::runTransaction):
* storage/Database.h:
* storage/Database.idl:
* storage/DatabaseSync.cpp:
(WebCore::DatabaseSync::transaction):
(WebCore::DatabaseSync::readTransaction):
(WebCore::DatabaseSync::runTransaction):
* storage/DatabaseSync.h:
* storage/DatabaseSync.idl:
* workers/WorkerContext.idl:
2010-08-06 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Sort Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-08-06 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix warning, breaking win build.
* svg/SVGLength.cpp:
(WebCore::SVGLength::toCSSPrimitiveValue):
2010-08-06 Alexey Proskuryakov <ap@apple.com>
Fix crashing Leopard and Gtk bots.
* platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
Don't register ISO8859-16, because older versions of ICU don't support ISO-8859-16, causing
crashes when we try to register an alias. Also, we don't need it, because Firefox doesn't
support this particular alias (it supports ISO8859-1 to ISO8859-15, but only supports the
main name for ISO-8859-16).
2010-08-06 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVG - stroke-width:0 bug with stroke other than "none"
https://bugs.webkit.org/show_bug.cgi?id=42387
Stop storing refcounted CSSValue/CSSValueList objects in SVGRenderStyle, replacing them with SVGLength types.
Allows us to directly specify default values for stroke-dashoffset/width in the SVGRenderStyle, fixing a problem
with stroke-width animations when resetting to the original stored baseVal, exposed in svg/W3C-1.1/animate-elem-40-t.svg
Originally discovered by Fady Samuel.
Test: svg/custom/path-zero-strokewidth.svg
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::strokeDashArrayToCSSValueList): New helper function converting from Vector<SVGLength> to CSSValueList.
(WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Convert SVGLength values to CSSPrimitiveValues.
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty): Convert CSSPrimitiveValues to SVGLength objects, for SVGRenderStyle storage.
* rendering/RenderPath.cpp:
(WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Just grab strokeWidth SVGLength value from SVGRenderSTyle, no need to call cssPrimitiveToLength anymore.
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::strokeBoundingBox): Ditto.
* rendering/SVGCharacterLayoutInfo.cpp:
(WebCore::calculateBaselineShift): Ditto (for baseline-shift).
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::buildLayoutInformation): Ditto (for kerning).
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto (for stroke-width/stroke-dashoffset/stroke-dasharray).
* rendering/SVGRenderSupport.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle): Ditto.
* rendering/SVGTextLayoutUtilities.cpp:
(WebCore::calculateCSSKerning): Ditto.
* rendering/SVGTextLayoutUtilities.h:
* rendering/style/SVGRenderStyle.cpp: Remove no longer needed cssPrimitiveToLength function.
* rendering/style/SVGRenderStyle.h: Stop storing RefPtr<CSSValue> / RefPtr<CSSValueList> but use SVGLength/Vector<SVGLength>.
(WebCore::SVGRenderStyle::initialStrokeDashArray): Allows us to specify correct default values, instead of null pointers.
(WebCore::SVGRenderStyle::initialBaselineShiftValue): Specify 0px default value.
(WebCore::SVGRenderStyle::initialKerning): Ditto.
(WebCore::SVGRenderStyle::initialStrokeDashOffset): Ditto.
(WebCore::SVGRenderStyle::initialStrokeWidth): Specify 1px default value.
(WebCore::SVGRenderStyle::setStrokeDashArray): Takes a Vector<SVGLength> now, not a PassRefPtr<CSSValueList>.
(WebCore::SVGRenderStyle::setStrokeWidth): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
(WebCore::SVGRenderStyle::setStrokeDashOffset): Ditto.
(WebCore::SVGRenderStyle::setKerning): Ditto.
(WebCore::SVGRenderStyle::setStopColor): Pass Color as const-reference.
(WebCore::SVGRenderStyle::setFloodColor): Ditto.
(WebCore::SVGRenderStyle::setLightingColor): Ditto.
(WebCore::SVGRenderStyle::setBaselineShiftValue): Takes a SVGLength now, not a PassRefPtr<CSSValue>.
(WebCore::SVGRenderStyle::setShadow): Reformat, had wrong style.
(WebCore::SVGRenderStyle::setClipperResource): Pass String as const-reference.
(WebCore::SVGRenderStyle::setFilterResource): Ditto.
(WebCore::SVGRenderStyle::setMaskerResource): Ditto.
(WebCore::SVGRenderStyle::setMarkerStartResource): Ditto.
(WebCore::SVGRenderStyle::setMarkerMidResource): Ditto.
(WebCore::SVGRenderStyle::setMarkerEndResource): Ditto.
(WebCore::SVGRenderStyle::strokeDashArray): Return Vector<SVGLength>.
(WebCore::SVGRenderStyle::strokeWidth): Return SVGLength.
(WebCore::SVGRenderStyle::strokeDashOffset): Ditto.
(WebCore::SVGRenderStyle::kerning): Ditto.
(WebCore::SVGRenderStyle::baselineShiftValue): Ditto.
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleStrokeData::StyleStrokeData): Changed initialization order, to group stroke properties.
* rendering/style/SVGRenderStyleDefs.h: Store SVGLength values instead of reference counted CSS objects.
* svg/SVGLength.cpp:
(WebCore::SVGLength::SVGLength): Add copy constructor.
(WebCore::SVGLength::operator==): Add comparision operator.
(WebCore::SVGLength::operator!=): Ditto.
(WebCore::SVGLength::fromCSSPrimitiveValue): New static helper function to convert from a CSSPrimitiveValue.
(WebCore::SVGLength::toCSSPrimitiveValue): New static helper function to convert to a CSSPrimitiveValue.
* svg/SVGLength.h: Reindent.
2010-08-06 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Move Qt's popup menu implementation from WebCore to WebKit layer
https://bugs.webkit.org/show_bug.cgi?id=43427
After PopupMenu changes in bug 42592 class QtAbstractWebPopup became unecessary and
there is no need to keep any Qt specific code for popup menus in WebCore/platform/qt.
PopupMenuQt has been moved from WebCore/platform/qt to WebKit/qt/WebCoreSupport and
assumed the responsibilities of QtAbstractWebPopup. SearchPopupMenuQt has been moved
to WebKit/qt/WebCoreSupport as well.
All classes that previously inherited from QtAbstractWebPopup now inherit from
QWebSelectMethod and QtPlatformPlugin's method createSelectInputMethod now returns an
instance of class QWebSelectMethod instead of QtAbstractWebPopup.
* WebCore.pro:
* platform/qt/PopupMenuQt.cpp: Removed.
* platform/qt/PopupMenuQt.h: Removed.
* platform/qt/QtAbstractWebPopup.cpp: Removed.
* platform/qt/QtAbstractWebPopup.h: Removed.
* platform/qt/SearchPopupMenuQt.cpp: Removed.
* platform/qt/SearchPopupMenuQt.h: Removed.
2010-08-05 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Initial bindings and plumbing for IDBCursor.
https://bugs.webkit.org/show_bug.cgi?id=41888
Test: storage/indexeddb/idb-opencursor.html
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbCursor):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBCursor.cpp: Added.
(WebCore::IDBCursor::IDBCursor):
(WebCore::IDBCursor::~IDBCursor):
(WebCore::IDBCursor::direction):
(WebCore::IDBCursor::key):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::remove):
* storage/IDBCursor.h: Added.
(WebCore::IDBCursor::):
(WebCore::IDBCursor::create):
* storage/IDBCursor.idl: Added.
* storage/IDBCursorBackendImpl.cpp: Added.
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::direction):
(WebCore::IDBCursorBackendImpl::key):
(WebCore::IDBCursorBackendImpl::value):
(WebCore::IDBCursorBackendImpl::update):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::remove):
* storage/IDBCursorBackendImpl.h: Added.
(WebCore::IDBCursorBackendImpl::create):
* storage/IDBCursorBackendInterface.h: Added.
(WebCore::IDBCursorBackendInterface::~IDBCursorBackendInterface):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::openCursor):
* storage/IDBObjectStore.h:
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::openCursor):
* storage/IDBObjectStoreBackendImpl.h:
* storage/IDBObjectStoreBackendInterface.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::timerFired):
* storage/IDBRequest.h:
2010-08-06 Andrei Popescu <andreip@google.com>
Unreviewed, release build fix.
Leopard relase build is broken due to absolute path to JSIDBTransaction.cpp file present in Xcode project file.
https://bugs.webkit.org/show_bug.cgi?id=43616
* WebCore.xcodeproj/project.pbxproj:
2010-08-05 Andrei Popescu <andreip@dhcp-172-16-14-12.lon.corp.google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IndexedDB is missing the Transaction interface.
https://bugs.webkit.org/show_bug.cgi?id=42970
Add IDBTransaction boilerplate.
No new tests, not functional yet.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/EventNames.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.h:
* storage/IDBDatabase.idl:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::transaction):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::canSuspend):
(WebCore::IDBRequest::timerFired):
(WebCore::IDBRequest::onEventCommon):
* storage/IDBRequest.h:
* storage/IDBTransaction.cpp: Added.
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::~IDBTransaction):
(WebCore::IDBTransaction::mode):
(WebCore::IDBTransaction::db):
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::scriptExecutionContext):
(WebCore::IDBTransaction::canSuspend):
(WebCore::IDBTransaction::eventTargetData):
(WebCore::IDBTransaction::ensureEventTargetData):
* storage/IDBTransaction.h: Added.
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::):
(WebCore::IDBTransaction::toIDBTransaction):
(WebCore::IDBTransaction::refEventTarget):
(WebCore::IDBTransaction::derefEventTarget):
* storage/IDBTransaction.idl: Added.
* storage/IDBTransactionBackendInterface.h: Added.
(WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):
2010-08-06 Rafael Antognolli <antognolli@profusion.mobi>
Unreviewed build fix.
[EFL] Regression (64735) build fix for efl.
https://bugs.webkit.org/show_bug.cgi?id=43564
Removing bindings/js/ScriptArray.cpp from the WebCore_SOURCES.
No new features, so no new tests.
* CMakeLists.txt:
2010-08-05 Alexey Proskuryakov <ap@apple.com>
Fix http/tests/webarchive/test-css-url-encoding-shift-jis.html
For some reason, I didn't see the failure locally, but bots complain.
* platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
Register "shift-jis" (with dash instead of underscore). At least Firefox supports it.
2010-08-05 Ben Murdoch <benm@google.com>
Reviewed by Simon Fraser.
Form button input elements lacking text in some cases after switching from
visibility:collapse to visibility:visible
https://bugs.webkit.org/show_bug.cgi?id=38050
A relayout is required after toggling visibility from collapse to another value.
Test: fast/css/visibility-collapse-form-buttons.html
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): If we're toggling from visibility:collapse to another
visibility value (or vice versa) then we need to trigger a relayout.
2010-08-05 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=43554
Way too many encoding aliases are treated as valid
<rdar://problem/7863399> Garbage characters displayed in some yesky.com pages.
<rdar://problem/7859068> Garbage characters displayed for most text at ceping.zhaopin.com
Test: http/tests/misc/bad-charset-alias.html
* loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForCSSCharset):
Fix encoding name length computation. Previously, a trailing quote was ignored by
TextEncodingRegistry.
* platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
Added dashes to alias names that didn't have them. Added aliases prompted by regression tests.
* platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::registerEncodingNames):
Don't register 8859-1, other browsers do not support this encoding name.
* platform/text/TextEncoding.cpp: (WebCore::Latin1Encoding):
"Latin-1" is not a real encoding name, it's not known to Firefox or IE.
* platform/text/TextEncodingRegistry.cpp:
(WebCore::TextEncodingNameHash::equal): Changed to no longer ignore non-alphanumeric characters.
There is a good chance that we'll be missing support for some necessary alias names, but other
browsers don't ignore any characters when matching names.
(WebCore::TextEncodingNameHash::hash): Ditto.
(WebCore::checkExistingName): Re-formatted a line.
(WebCore::isUndesiredAlias): Added a filter to reject "8859_1" and any names containing commas.
(WebCore::addToTextEncodingNameMap): Used it.
(WebCore::atomicCanonicalTextEncodingName): Changed to no longer ignore non-alphanumeric characters.
2010-08-05 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Temporary files should not be created in the current directory
https://bugs.webkit.org/show_bug.cgi?id=43562
Don't create temporary files in the current directory, use QDir::tempPath()
instead, as suggested by the QTemporaryFile documentation.
* platform/qt/FileSystemQt.cpp:
(WebCore::openTemporaryFile):
2010-08-05 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Make STIX font the default one to render MathML
https://bugs.webkit.org/show_bug.cgi?id=41961
* css/mathml.css:
(math):
2010-08-05 Cosmin Truta <ctruta@chromium.org>
Reviewed by Eric Seidel.
Apply a stylistic fix to the patch 62640.
https://bug-41175-attachments.webkit.org/attachment.cgi?id=62640
https://bugs.webkit.org/show_bug.cgi?id=41175
* WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
(getImageData):
2010-08-05 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
Make SearchPopupMenuWin more portable
https://bugs.webkit.org/show_bug.cgi?id=43527
Add #if PLATFORM(CF) around CoreFoundation code.
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenuWin::enabled):
(WebCore::SearchPopupMenuWin::saveRecentSearches):
(WebCore::SearchPopupMenuWin::loadRecentSearches):
2010-08-05 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63653.
http://trac.webkit.org/changeset/63653
https://bugs.webkit.org/show_bug.cgi?id=43592
regressed multiple background-images (Requested by smfr on
#webkit).
* manual-tests/css3-background-layer-count.html: Removed.
* rendering/style/FillLayer.cpp:
(WebCore::FillLayer::fillUnsetProperties):
(WebCore::FillLayer::cullEmptyLayers):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::adjustBackgroundLayers):
(WebCore::InheritedFlags::adjustMaskLayers):
2010-08-05 Mark Rowe <mrowe@apple.com>
Reviewed by Jon Honeycutt.
Fix some leaks seen on the buildbot.
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::paintToCanvas): Adopt the newly-created CoreGraphics objects rather than sharing ownership
and over-incrementing their reference count. Also cleaned up the bizarre wrapping used for function arguments while I was
touching this code.
2010-08-05 James Robinson <jamesr@chromium.org>
Rubber stamped by Eric Seidel.
[SVG] SVGPathSeg.cpp needs an #if ENABLE(SVG) guard
https://bugs.webkit.org/show_bug.cgi?id=43599
Matches the rest of the .cpp files in this directory.
* svg/SVGPathSeg.cpp:
2010-08-05 Erik Arvidsson <arv@chromium.org>
Reviewed by Kent Tamura.
Calling setCustomValidity should trigger a layout
https://bugs.webkit.org/show_bug.cgi?id=43582
Test: fast/forms/setCustomValidity.html
* html/ValidityState.cpp:
(WebCore::ValidityState::setCustomErrorMessage): Call setNeedsValidityCheck to tell the system that the validity might have changed.
* html/ValidityState.h:
2010-08-05 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Add ability to get a JSValueRef for a node handle and a world
https://bugs.webkit.org/show_bug.cgi?id=43591
* WebCore.exp.in: Add exports.
2010-08-05 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig
Bug 43594 - Add string forwards to Forward.h
This allows us to remove forward declarations for these classes from
WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityARIAGrid.h:
* accessibility/AccessibilityListBoxOption.h:
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilityTable.h:
* bindings/cpp/WebDOMCString.h:
* bindings/cpp/WebDOMString.h:
* bindings/gobject/ConvertToUTF8String.h:
* bindings/js/DOMWrapperWorld.h:
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSMessagePortCustom.h:
* bindings/js/JavaScriptCallFrame.h:
* bindings/js/ScriptController.h:
* bindings/js/ScriptProfile.h:
* bindings/js/ScriptSourceProvider.h:
* bindings/js/ScriptString.h:
* bindings/js/WorkerScriptController.h:
* bindings/objc/DOMImplementationFront.h:
* bindings/v8/ScheduledAction.h:
* bindings/v8/ScriptController.h:
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8Proxy.h:
* bindings/v8/V8Utilities.h:
* bindings/v8/custom/V8CustomXPathNSResolver.h:
* bridge/c/c_utility.h:
* css/CSSFontSelector.h:
* css/CSSHelper.h:
* css/CSSOMUtils.h:
* css/CSSPrimitiveValue.h:
* css/MediaList.h:
* css/StyleBase.h:
* css/StyleSheetList.h:
* css/WebKitCSSKeyframesRule.h:
* dom/CheckedRadioButtons.h:
* dom/DOMImplementation.h:
* dom/DocumentMarker.h:
* dom/DynamicNodeList.h:
* dom/EventTarget.h:
* dom/MessagePort.h:
* dom/MessagePortChannel.h:
* dom/NameNodeList.h:
* dom/Node.h:
* dom/NodeList.h:
* dom/OptionGroupElement.h:
* dom/ScriptExecutionContext.h:
* dom/SelectElement.h:
* dom/ViewportArguments.h:
* dom/make_names.pl:
* editing/HTMLInterchange.h:
* editing/htmlediting.h:
* editing/markup.h:
* html/CollectionCache.h:
* html/DOMFormData.h:
* html/DataGridColumnList.h:
* html/DateComponents.h:
* html/FileStream.h:
* html/FileStreamProxy.h:
* html/FormDataList.h:
(WebCore::FormDataList::appendData):
* html/HTMLCollection.h:
* html/HTMLElementStack.h:
* html/HTMLFormattingElementList.h:
* html/HTMLParserQuirks.h:
* html/HTMLQuoteElement.h:
* html/HTMLScriptRunnerHost.h:
* html/StepRange.h:
* html/canvas/CanvasGradient.h:
* html/canvas/CanvasNumberArray.h:
* html/canvas/CanvasPattern.h:
* inspector/InjectedScript.h:
* inspector/InspectorCSSStore.h:
* inspector/InspectorClient.h:
* inspector/InspectorFrontendClient.h:
* inspector/InspectorValues.h:
* inspector/ScriptDebugListener.h:
* loader/CachedResourceClient.h:
* loader/CrossOriginAccessControl.h:
* loader/DocumentThreadableLoader.h:
* loader/FrameLoaderClient.h:
* loader/RedirectScheduler.h:
* loader/SubframeLoader.h:
* loader/appcache/DOMApplicationCache.h:
* loader/archive/ArchiveFactory.h:
* loader/icon/IconDatabaseClient.h:
* notifications/NotificationPresenter.h:
* page/Chrome.h:
* page/ChromeClient.h:
* page/Console.h:
* page/ContextMenuClient.h:
* page/DOMSelection.h:
* page/EditorClient.h:
* page/EventHandler.h:
* page/FrameView.h:
* page/GeolocationPositionCache.h:
* page/History.h:
* page/Location.h:
* page/Navigator.h:
* page/NavigatorBase.h:
* page/PluginHalterClient.h:
* page/PrintContext.h:
* page/SpeechInput.h:
* page/SpeechInputListener.h:
* page/animation/AnimationController.h:
* platform/CookieJar.h:
* platform/CrossThreadCopier.h:
* platform/DragImage.h:
* platform/FileSystem.h:
* platform/Language.h:
* platform/Length.h:
* platform/LinkHash.h:
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.h:
* platform/Logging.h:
* platform/Pasteboard.h:
* platform/PopupMenuClient.h:
* platform/SearchPopupMenu.h:
* platform/Widget.h:
* platform/cf/BinaryPropertyList.h:
* platform/chromium/ChromiumBridge.h:
* platform/chromium/ClipboardUtilitiesChromium.h:
* platform/cocoa/KeyEventCocoa.h:
* platform/graphics/Color.h:
* platform/graphics/FontCache.h:
* platform/graphics/FontData.h:
* platform/graphics/FontSelector.h:
* platform/graphics/GraphicsTypes.h:
* platform/graphics/Icon.h:
* platform/graphics/ImageBuffer.h:
* platform/graphics/ImageSource.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
* platform/graphics/Path.h:
* platform/graphics/StringTruncator.h:
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/cairo/FontPlatformData.h:
* platform/graphics/cg/FontPlatformData.h:
* platform/graphics/cg/ImageSourceCG.h:
* platform/graphics/chromium/FontCustomPlatformData.h:
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
* platform/graphics/chromium/FontPlatformDataLinux.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/haiku/FontCustomPlatformData.h:
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/mac/FontPlatformData.h:
* platform/graphics/qt/FontCustomPlatformData.h:
* platform/graphics/qt/FontPlatformData.h:
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformDataCairo.h:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
* platform/graphics/wince/FontPlatformData.h:
* platform/graphics/wince/MediaPlayerPrivateWince.h:
* platform/graphics/wince/MediaPlayerProxy.h:
* platform/graphics/wx/FontCustomPlatformData.h:
* platform/graphics/wx/FontPlatformData.h:
* platform/mac/PasteboardHelper.h:
* platform/network/DNS.h:
* platform/network/FormData.h:
* platform/network/FormDataBuilder.h:
* platform/network/HTTPParsers.h:
* platform/text/Hyphenation.h:
* platform/text/LineEnding.h:
* platform/text/TextCodec.h:
* platform/text/TextEncoding.h:
* platform/text/TextStream.h:
* platform/win/BString.h:
* platform/win/ClipboardUtilitiesWin.h:
* platform/win/WCDataObject.h:
* platform/win/WebCoreTextRenderer.h:
* plugins/DOMMimeType.h:
* plugins/DOMMimeTypeArray.h:
* plugins/DOMPlugin.h:
* plugins/DOMPluginArray.h:
* rendering/CounterNode.h:
* rendering/HitTestResult.h:
* rendering/RenderObjectChildList.h:
* rendering/RenderText.h:
* rendering/RenderTreeAsText.h:
* rendering/TextControlInnerElements.h:
* rendering/style/ContentData.h:
* rendering/style/RenderStyle.h:
* storage/DatabaseAuthorizer.h:
* storage/DatabaseTrackerClient.h:
* storage/SQLTransaction.h:
* storage/SQLTransactionSync.h:
* storage/Storage.h:
* storage/chromium/DatabaseObserver.h:
* svg/SVGAnimatedTemplate.h:
* svg/SVGDocumentExtensions.h:
* svg/SVGGlyphElement.h:
* svg/SVGHKernElement.h:
* svg/SVGNumberList.h:
* svg/SVGPointList.h:
* svg/SVGPreserveAspectRatio.h:
* svg/SVGStylable.h:
* svg/SVGTests.h:
* svg/SVGTransformList.h:
* svg/SVGTransformable.h:
* svg/SVGVKernElement.h:
* websockets/ThreadableWebSocketChannel.h:
* websockets/ThreadableWebSocketChannelClientWrapper.h:
* websockets/WebSocket.h:
* websockets/WebSocketChannel.h:
* websockets/WebSocketHandshakeResponse.h:
* wml/WMLErrorHandling.h:
* wml/WMLPageState.h:
* wml/WMLVariables.h:
* workers/DefaultSharedWorkerRepository.h:
* workers/SharedWorkerRepository.h:
* workers/Worker.h:
* workers/WorkerContextProxy.h:
* workers/WorkerLoaderProxy.h:
* workers/WorkerLocation.h:
* workers/WorkerMessagingProxy.h:
* workers/WorkerReportingProxy.h:
* workers/WorkerThread.h:
* xml/DOMParser.h:
* xml/XMLHttpRequestUpload.h:
* xml/XPathEvaluator.h:
* xml/XPathExpression.h:
* xml/XPathNSResolver.h:
* xml/XPathResult.h:
* xml/XPathUtil.h:
2010-08-05 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
U+0000 is turned to U+FFFD (replacement character)
https://bugs.webkit.org/show_bug.cgi?id=42112
This patch introduces an intentional parsing difference from the HTML5
parsing specificiation. The spec requires us to convert NULL
characters to U+FFFD, but doing so causes compatibility issues with a
number of sites, including US Bank.
In this patch, we strip the null characters instead in certain cases.
Firefox has made a corresponding change. After gathering compatability
data, we hope to convince the HTML WG to adopt this change.
Tests: fast/tokenizer/null-in-text.html
fast/tokenizer/null-xss.html
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::reset):
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::setSkipLeadingNewLineForListing):
(WebCore::HTMLTokenizer::forceNullCharacterReplacement):
(WebCore::HTMLTokenizer::setForceNullCharacterReplacement):
(WebCore::HTMLTokenizer::shouldSkipNullCharacters):
(WebCore::HTMLTokenizer::InputStreamPreprocessor::InputStreamPreprocessor):
(WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
2010-08-05 Andy Estes <aestes@apple.com>
Reviewed by David Kilzer.
Rename iOS-related OS and PLATFORM macros.
https://bugs.webkit.org/show_bug.cgi?id=43493
Rename WTF_OS_IPHONE_OS to WTF_OS_IOS, WTF_PLATFORM_IPHONE to
WTF_PLATFORM_IOS, and WTF_PLATFORM_IPHONE_SIMULATOR to
WTF_PLATFORM_IOS_SIMULATOR.
* platform/cocoa/KeyEventCocoa.mm:
* platform/iphone/KeyEventIPhone.mm:
* platform/network/Credential.h:
2010-08-05 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Use the visited link provider for visited links
https://bugs.webkit.org/show_bug.cgi?id=43583
Export Page::visitedStateChanged and Page::allvisitedStateChanged.
* WebCore.exp.in:
2010-08-05 Eric Seidel <eric@webkit.org>
Reviewed by Nikolas Zimmermann.
Touching SVGNames should only rebuild hundreds of files, not thousands
https://bugs.webkit.org/show_bug.cgi?id=43308
Remove SVGNames.h include from several core SVG header files
which do not need to include it.
One of them, SVGPathSeg.h, required creation of an SVGPathSeg.cpp.
A bunch of SVGPathSeg* could remove PlatformString.h includes if
we moved their toString() methods into the .cpp files.
I re-indented on header to stop check-webkit-style from complaining.
I removed a couple mode lines I saw, since my understanding from
previous webkit-dev threads is that we plan to remove those all.
No functional change, thus no tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* svg/SVGAllInOne.cpp:
* svg/SVGAngle.h:
* svg/SVGPathSeg.cpp: Added.
(WebCore::SVGPathSeg::~SVGPathSeg):
(WebCore::SVGPathSeg::pathSegType):
(WebCore::SVGPathSeg::pathSegTypeAsLetter):
(WebCore::SVGPathSeg::toString):
(WebCore::SVGPathSeg::associatedAttributeName):
(WebCore::SVGPathSegSingleCoord::toString):
* svg/SVGPathSeg.h:
(WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
* svg/SVGPathSegArc.cpp:
(WebCore::SVGPathSegArc::toString):
* svg/SVGPathSegArc.h:
(WebCore::SVGPathSegArc::SVGPathSegArc):
* svg/SVGPathSegClosePath.h:
(WebCore::SVGPathSegClosePath::create):
(WebCore::SVGPathSegClosePath::pathSegType):
(WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
(WebCore::SVGPathSegClosePath::toString):
* svg/SVGPathSegCurvetoCubic.h:
* svg/SVGPathSegCurvetoCubicSmooth.h:
* svg/SVGPathSegCurvetoQuadratic.h:
* svg/SVGPathSegCurvetoQuadraticSmooth.h:
* svg/SVGPathSegLineto.h:
* svg/SVGPathSegLinetoHorizontal.h:
* svg/SVGPathSegLinetoVertical.h:
* svg/SVGPathSegMoveto.h:
* svg/SVGTransform.h:
2010-08-05 Dirk Schulze <krit@webkit.org>
Unreviewed sort of Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-08-05 Adam Barth <abarth@webkit.org>
Actually make HTMLEntityNames.json valid JSON.
* html/HTMLEntityNames.json:
2010-08-05 Beth Dakin <bdakin@apple.com>
Reviewed by Kenneth Rohde Christiansen.
Fix for https://bugs.webkit.org/show_bug.cgi?id=43516 REGRESSION:
Huge number of memory leaks after enabling MathML
-and corresponding-
<rdar://problem/8274123>
Destroy the old children in
RenderMathMLOperator::updateFromElement() instead of just removing
them since just removing them will cause them to leak.
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement):
2010-08-05 Tony Chang <tony@chromium.org>
Reviewed by David Hyatt.
Fix a crash when a hidden iframe with a custom scrollbar finishes loading an image.
https://bugs.webkit.org/show_bug.cgi?id=42724
Test: scrollbars/hidden-iframe-scrollbar-crash2.html
* page/FrameView.cpp:
(WebCore::FrameView::createScrollbar):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::createCustomScrollbar): Pass in Frame
(WebCore::RenderScrollbar::RenderScrollbar): Pass in Frame
(WebCore::RenderScrollbar::owningRenderer): Use the frame to get the RenderBox
(WebCore::RenderScrollbar::getScrollbarPseudoStyle):
(WebCore::RenderScrollbar::updateScrollbarParts):
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbar.h:
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::computeScrollbarWidth): null check
(WebCore::RenderScrollbarPart::computeScrollbarHeight): null check
2010-08-05 Yong Li <yoli@rim.com>
Reviewed by Adam Treat.
Fix the problem that down-sampling code doesn't work
for some GIF's. GIF reader can call setSize() multiple times.
We should clear the scaling maps before adding new entries.
Also add a fast path to check if the size has changed since last time.
https://bugs.webkit.org/show_bug.cgi?id=43501
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::prepareScaleDataIfNecessary):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setSize):
2010-08-05 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: In the current implementation of inspector agents we're calling
did methods manually. That is error prone and is bad from protocol point of view.
It would be better to call did methods automatically from the corresponding methods
of InspectorBackendDispatcher and report the results. As far as our protocol is
statefull this trick will keep it in the consistent state.
https://bugs.webkit.org/show_bug.cgi?id=43489
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::getProfilerLogLines):
(WebCore::InspectorBackend::setInjectedScriptSource):
(WebCore::InspectorBackend::dispatchOnInjectedScript):
(WebCore::InspectorBackend::clearConsoleMessages):
(WebCore::InspectorBackend::releaseWrapperObjectGroup):
(WebCore::InspectorBackend::getDatabaseTableNames):
* inspector/InspectorBackend.h:
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::inspectorStyleSheet):
* inspector/InspectorCSSStore.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::getCookies):
(WebCore::InspectorController::getDOMStorageEntries):
(WebCore::InspectorController::setDOMStorageItem):
(WebCore::InspectorController::removeDOMStorageItem):
(WebCore::InspectorController::getProfileHeaders):
(WebCore::InspectorController::getProfile):
(WebCore::InspectorController::editScriptSource):
(WebCore::InspectorController::getScriptSource):
(WebCore::InspectorController::setBreakpoint):
(WebCore::InspectorController::getResourceContent):
* inspector/InspectorController.h:
(WebCore::InspectorController::inspectorClient):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getChildNodes):
(WebCore::InspectorDOMAgent::setAttribute):
(WebCore::InspectorDOMAgent::removeAttribute):
(WebCore::InspectorDOMAgent::removeNode):
(WebCore::InspectorDOMAgent::changeTagName):
(WebCore::InspectorDOMAgent::getOuterHTML):
(WebCore::InspectorDOMAgent::setOuterHTML):
(WebCore::InspectorDOMAgent::setTextNodeValue):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getStyles):
(WebCore::InspectorDOMAgent::getAllStyles):
(WebCore::InspectorDOMAgent::getStyleSheet):
(WebCore::InspectorDOMAgent::getRuleRanges):
(WebCore::InspectorDOMAgent::getInlineStyle):
(WebCore::InspectorDOMAgent::getComputedStyle):
(WebCore::InspectorDOMAgent::applyStyleText):
(WebCore::InspectorDOMAgent::setStyleText):
(WebCore::InspectorDOMAgent::setStyleProperty):
(WebCore::InspectorDOMAgent::toggleStyleEnabled):
(WebCore::InspectorDOMAgent::setRuleSelector):
(WebCore::InspectorDOMAgent::addRule):
(WebCore::InspectorDOMAgent::buildObjectForRule):
(WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorValues.cpp:
(WebCore::InspectorValue::asNumber):
(WebCore::InspectorBasicValue::asNumber):
* inspector/InspectorValues.h:
* inspector/front-end/Callback.js:
(WebInspector.Callback.prototype.processCallback):
(WebInspector.Callback.prototype.removeCallbackEntry):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.reset):
* inspector/front-end/inspector.js:
(WebInspector.reportProtocolError):
2010-08-04 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Style cleanups in WebGL
https://bugs.webkit.org/show_bug.cgi?id=38761
Cleaned up all style violations in WebGL-related files reported by
check-webkit-style. No logic or other changes. Built WebKit and
Chromium and ran WebGL layout tests.
* html/canvas/ArrayBuffer.cpp:
(WebCore::ArrayBuffer::ArrayBuffer):
(WebCore::ArrayBuffer::data):
(WebCore::ArrayBuffer::byteLength):
(WebCore::ArrayBuffer::~ArrayBuffer):
(WebCore::ArrayBuffer::tryAllocate):
* html/canvas/ArrayBufferView.cpp:
(WebCore::ArrayBufferView::setImpl):
* html/canvas/ArrayBufferView.h:
* html/canvas/TypedArrayBase.h:
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::deleteObjectImpl):
(WebCore::WebGLBuffer::associateBufferData):
* html/canvas/WebGLBuffer.h:
(WebCore::WebGLBuffer::~WebGLBuffer):
(WebCore::WebGLBuffer::elementArrayBuffer):
(WebCore::WebGLBuffer::getTarget):
(WebCore::WebGLBuffer::isBuffer):
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::deleteObjectImpl):
* html/canvas/WebGLFramebuffer.h:
(WebCore::WebGLFramebuffer::~WebGLFramebuffer):
(WebCore::WebGLFramebuffer::isDepthAttached):
(WebCore::WebGLFramebuffer::isStencilAttached):
(WebCore::WebGLFramebuffer::isDepthStencilAttached):
(WebCore::WebGLFramebuffer::isFramebuffer):
* html/canvas/WebGLGetInfo.cpp:
* html/canvas/WebGLGetInfo.h:
* html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::deleteObject):
* html/canvas/WebGLObject.h:
(WebCore::WebGLObject::object):
(WebCore::WebGLObject::detachContext):
(WebCore::WebGLObject::context):
(WebCore::WebGLObject::isBuffer):
(WebCore::WebGLObject::isFramebuffer):
(WebCore::WebGLObject::isProgram):
(WebCore::WebGLObject::isRenderbuffer):
(WebCore::WebGLObject::isShader):
(WebCore::WebGLObject::isTexture):
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::deleteObjectImpl):
* html/canvas/WebGLProgram.h:
(WebCore::WebGLProgram::~WebGLProgram):
(WebCore::WebGLProgram::isLinkFailureFlagSet):
(WebCore::WebGLProgram::setLinkFailureFlag):
(WebCore::WebGLProgram::isProgram):
* html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::deleteObjectImpl):
* html/canvas/WebGLRenderbuffer.h:
(WebCore::WebGLRenderbuffer::~WebGLRenderbuffer):
(WebCore::WebGLRenderbuffer::setInternalFormat):
(WebCore::WebGLRenderbuffer::getInternalFormat):
(WebCore::WebGLRenderbuffer::isInitialized):
(WebCore::WebGLRenderbuffer::setInitialized):
(WebCore::WebGLRenderbuffer::isRenderbuffer):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::beginPaint):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::getActiveAttrib):
(WebCore::WebGLRenderingContext::getActiveUniform):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::is3d):
(WebCore::WebGLRenderingContext::isAccelerated):
(WebCore::WebGLRenderingContext::graphicsContext3D):
(WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
(WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
(WebCore::WebGLRenderingContext::VertexAttribState::initValue):
* html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::deleteObjectImpl):
* html/canvas/WebGLShader.h:
(WebCore::WebGLShader::~WebGLShader):
(WebCore::WebGLShader::getType):
(WebCore::WebGLShader::isShader):
* html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::deleteObjectImpl):
* html/canvas/WebGLTexture.h:
(WebCore::WebGLTexture::~WebGLTexture):
(WebCore::WebGLTexture::isCubeMapRWrapModeInitialized):
(WebCore::WebGLTexture::setCubeMapRWrapModeInitialized):
(WebCore::WebGLTexture::isTexture):
(WebCore::WebGLTexture::LevelInfo::LevelInfo):
(WebCore::WebGLTexture::LevelInfo::setInfo):
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::):
(WebCore::GraphicsContext3D::Attributes::Attributes):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::platformTexture):
(WebCore::GraphicsContext3D::platformLayer):
2010-08-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Simon Hausmann.
Make the viewport meta tag parser support the Android
target-densitydpi extension.
http://webkit.org/b/43492
http://developer.android.com/reference/android/webkit/WebView.html
Section 'Building web pages to support different screen densities'
* dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
(WebCore::viewportErrorMessageTemplate):
* dom/ViewportArguments.h:
(WebCore::):
(WebCore::ViewportArguments::ViewportArguments):
(WebCore::ViewportArguments::hasCustomArgument):
2010-08-05 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Unify blob related feature defines to ENABLE(BLOB).
https://bugs.webkit.org/show_bug.cgi?id=43081
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* WebCore.pri:
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
* dom/EventTarget.cpp:
* dom/EventTarget.h:
* dom/ExceptionCode.h:
(WebCore::):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* html/Blob.cpp:
* html/Blob.h:
* html/Blob.idl:
* html/FileError.h:
* html/FileError.idl:
* html/FileReader.cpp:
* html/FileReader.h:
* html/FileReader.idl:
* html/FileStream.cpp:
(WebCore::FileStream::openForRead):
* html/FileStream.h:
* html/FileStreamClient.h:
* html/FileStreamProxy.cpp:
* html/FileStreamProxy.h:
* html/FileThread.cpp:
* html/FileThread.h:
* page/DOMWindow.idl:
* platform/BlobItem.cpp:
(WebCore::getFileSnapshotModificationTime):
(WebCore::DataBlobItem::slice):
(WebCore::FileBlobItem::slice):
* platform/BlobItem.h:
* platform/network/FormData.cpp:
(WebCore::FormData::deepCopy):
(WebCore::FormData::appendFile):
(WebCore::FormData::appendItem):
(WebCore::FormData::appendKeyValuePairItems):
* platform/network/FormData.h:
(WebCore::operator==):
* platform/network/mac/FormDataStreamMac.mm:
(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):
(WebCore::formCreate):
(WebCore::formRead):
(WebCore::setHTTPBody):
2010-08-05 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
When trying to wrap a Node we know is an Element fallback to a
simple Element wrapper in the worst case, not to Node.
* bindings/gobject/WebKitDOMBinding.cpp:
(WebKit::createWrapper):
2010-08-05 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Implement basic values of MathML mathvariant attribute
https://bugs.webkit.org/show_bug.cgi?id=43481
Test: mathml/presentation/attributes.xhtml
* css/mathml.css:
(math[mathvariant="normal"], mstyle[mathvariant="normal"], mo[mathvariant="normal"], mn[mathvariant="normal"], mi[mathvariant="normal"], mtext[mathvariant="normal"], mspace[mathvariant="normal"], ms[mathvariant="normal"]):
(math[mathvariant="bold"], mstyle[mathvariant="bold"], mo[mathvariant="bold"], mn[mathvariant="bold"], mi[mathvariant="bold"], mtext[mathvariant="bold"], mspace[mathvariant="bold"], ms[mathvariant="bold"]):
(math[mathvariant="italic"], mstyle[mathvariant="italic"], mo[mathvariant="italic"], mn[mathvariant="italic"], mi[mathvariant="italic"], mtext[mathvariant="italic"], mspace[mathvariant="italic"], ms[mathvariant="italic"]):
(math[mathvariant="bold-italic"], mstyle[mathvariant="bold-italic"], mo[mathvariant="bold-italic"], mn[mathvariant="bold-italic"], mi[mathvariant="bold-italic"], mtext[mathvariant="bold-italic"], mspace[mathvariant="bold-italic"], ms[mathvariant="bold-italic"]):
* mathml/mathattrs.in:
2010-08-05 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: inspected page crashes when there is a cyclic reference in Object prototype
https://bugs.webkit.org/show_bug.cgi?id=43558
Test: inspector/debugger-cyclic-ref.html
* bindings/v8/ScriptValue.cpp:
(WebCore::v8ToInspectorValue):
2010-08-05 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Fix rendering of speech button and enable layout tests
https://bugs.webkit.org/show_bug.cgi?id=43425
Rewrote the speech button rendering code to match how the spin buttons (for input type=number)
are implemented as the previous implementation did not work well on many platforms.
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::nodeAtPoint):
(WebCore::RenderTextControlSingleLine::styleDidChange):
(WebCore::RenderTextControlSingleLine::hasControlClip):
(WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
(WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
(WebCore::RenderTextControlSingleLine::createInnerTextStyle):
(WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
(WebCore::RenderTextControlSingleLine::clientPaddingRight):
* rendering/RenderTextControlSingleLine.h:
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::InputFieldSpeechButtonElement::create):
* rendering/TextControlInnerElements.h:
2010-08-05 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Separated WebInspector extension API injection logic from other scripts that inspector injects.
Enabled injection of the API scripts even if inspector is disabled for inspector front-end page.
https://bugs.webkit.org/show_bug.cgi?id=43344
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedWindowScriptObjectCleared):
(WebCore::InspectorController::setInspectorExtensionAPI):
* inspector/InspectorController.h:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::setExtensionAPI):
2010-08-05 Charles Wei <charles.wei@torchmobile.com.cn>
Reviewed by George Staikos.
<noscript> is working the other way around in some cases with xhtmlmp enabled
https://bugs.webkit.org/show_bug.cgi?id=43469
Test: fast/xhtmlmp/noscript-basic.xhtml
* dom/Document.cpp:
(WebCore::Document::Document):
2010-08-05 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix Win compilation.
* bindings/js/JSBindingsAllInOne.cpp:
2010-08-05 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Clean up the input method handling
https://bugs.webkit.org/show_bug.cgi?id=43545
Changed input method hint interface to be more efficient by setting
all hints in one shot, like in QWidget.
* platform/qt/QWebPageClient.h:
2010-08-05 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove mutator methods from ScriptObject and remove ScriptArray.
We shouldn't modify JS objects from InspectorController, InspectorValues
should be used instead.
https://bugs.webkit.org/show_bug.cgi?id=43546
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptArray.cpp: Removed.
* bindings/js/ScriptArray.h: Removed.
* bindings/js/ScriptCallStack.h:
* bindings/js/ScriptObject.cpp:
* bindings/js/ScriptObject.h:
* bindings/v8/ScriptArray.cpp: Removed.
* bindings/v8/ScriptArray.h: Removed.
* bindings/v8/ScriptCallStack.h:
* bindings/v8/ScriptObject.cpp:
* bindings/v8/ScriptObject.h:
2010-08-05 Ned Holbrook <nholbrook@apple.com>
Reviewed by Darin Adler.
~5% complex layout performance improvement.
https://bugs.webkit.org/show_bug.cgi?id=43436
* platform/graphics/mac/ComplexTextController.h:
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Use Vector rather than CFMutableData.
(WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText): Ditto.
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Avoid typesetter allocation unless using typesetter options.
2010-08-05 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
targetReferenceFromResource() in SVGResources.cpp is missing an ENABLE(FILTERS) guard
https://bugs.webkit.org/show_bug.cgi?id=43550
Also updates an existing ENABLE(FILTERS) guard to avoid a compiler
warning 'case FilterResourceType not handled in switch' when FILTERS
is not enabled.
No new tests, build fix only.
* rendering/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
(WebCore::SVGResources::resourceDestroyed):
2010-08-05 Victoria Kirst <vrk@google.com>
Reviewed by David Levin.
Added logic to use glMapTexSubImage2D to write video layer to GPU
texture. Also fixes CPU usage problem from previous patch.
https://bugs.webkit.org/show_bug.cgi?id=43101
No change in user-visible functionality (since it isn't turned on),
so no new tests.
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::updateTextureContents):
(WebCore::VideoLayerChromium::createTextureRect):
(WebCore::VideoLayerChromium::updateTextureRect):
(WebCore::VideoLayerChromium::updateCompleted):
* platform/graphics/chromium/VideoLayerChromium.h:
2010-08-05 Zoltan Horvath <zoltan@webkit.org>
Reviewed by Simon Hausmann.
Allow custom memory allocation control for ClipperData struct
https://bugs.webkit.org/show_bug.cgi?id=43337
Inherits the following class from FastAllocBase because it is
instantiated by 'new':
class name - instantiated at: WebCore/'location'
RenderLayerBacking - rendering/RenderSVGResourceClipper.cpp:165
* rendering/RenderSVGResourceClipper.h:
2010-08-05 Zoltan Horvath <zoltan@webkit.org>
Reviewed by Simon Hausmann.
Allow custom memory allocation control for DoctypeData class
https://bugs.webkit.org/show_bug.cgi?id=43343
Inherits the following class from Noncopyable because it is
instantiated by 'new' and no need to be copyable:
class name - instantiated at: WebCore/'location'
DoctypeData - html/HTMLToken.h:113
* html/HTMLToken.h:
2010-08-05 François Sausset <sausset@gmail.com>
Reviewed by Darin Adler.
Small style adjustments for MathML merror element.
https://bugs.webkit.org/show_bug.cgi?id=43432
* css/mathml.css:
(merror):
2010-08-05 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: forbid InspectorController to create script objects directly in the frontend
https://bugs.webkit.org/show_bug.cgi?id=43541
Cookie and AppCache data are now serialized into InspectorValues instead of
ScriptObjects. These were last usages of InspectorFrontend::newScript{Object,Array}
so we can remove them now and use only InspectorValues to pass data to the inspector
frontend.
* inspector/Inspector.idl:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::getCookies):
(WebCore::InspectorController::buildArrayForCookies):
(WebCore::InspectorController::buildObjectForCookie):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::setRecordingProfile):
* inspector/InspectorFrontend.h:
2010-08-05 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Xan Lopez.
[GTK] Extra check needed at AccessibilityObject::visiblePositionRangeForRange
https://bugs.webkit.org/show_bug.cgi?id=43418
Ensure the renderer is a RenderText before calling toRenderText()
Also, simplified code a bit to avoid so many nested if's in that
part of the code, while keeping the same logic.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::visiblePositionRangeForRange):
2010-08-05 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Define htonl, htons, ntohl and ntohs
https://bugs.webkit.org/show_bug.cgi?id=43397
In BREWMP, AEEStdLib.h provides macros for byte order conversion: HTONL, HTONS, NTOHL and NTOHS.
Use these macros to define htonl, htons, ntohl and ntohs used by WOFFFileFormat.cpp.
* platform/graphics/WOFFFileFormat.cpp:
2010-08-04 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244
Implementing svgAttributeChanged for SVGFESpotLightElement object.
Furthermore, invalidateFilter has been moved to SVGFilterElement, and
it is a static function now.
Tests: svg/dynamic-updates/SVGFESpotLightElement-dom-limitingConeAngle-attr.html
svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtX-attr.html
svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtY-attr.html
svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtZ-attr.html
svg/dynamic-updates/SVGFESpotLightElement-dom-specularExponent-attr.html
svg/dynamic-updates/SVGFESpotLightElement-dom-x-attr.html
svg/dynamic-updates/SVGFESpotLightElement-dom-y-attr.html
svg/dynamic-updates/SVGFESpotLightElement-dom-z-attr.html
svg/dynamic-updates/SVGFESpotLightElement-svgdom-limitingConeAngle-prop.html
svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtX-prop.html
svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtY-prop.html
svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtZ-prop.html
svg/dynamic-updates/SVGFESpotLightElement-svgdom-specularExponent-prop.html
svg/dynamic-updates/SVGFESpotLightElement-svgdom-x-prop.html
svg/dynamic-updates/SVGFESpotLightElement-svgdom-y-prop.html
svg/dynamic-updates/SVGFESpotLightElement-svgdom-z-prop.html
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::svgAttributeChanged):
(WebCore::SVGFELightElement::childrenChanged):
* svg/SVGFELightElement.h:
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
* svg/SVGFESpecularLightingElement.cpp:
* svg/SVGFilterElement.h:
(WebCore::SVGFilterElement::invalidateFilter):
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
* svg/SVGFilterPrimitiveStandardAttributes.h:
2010-08-05 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: serialize DOM storage items to InspectorValues
https://bugs.webkit.org/show_bug.cgi?id=43486
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::didUseDOMStorage):
(WebCore::InspectorController::selectDOMStorage):
(WebCore::InspectorController::getDOMStorageEntries):
(WebCore::InspectorController::setDOMStorageItem):
(WebCore::InspectorController::removeDOMStorageItem):
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::bind):
* inspector/InspectorDOMStorageResource.h:
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
2010-08-04 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Enable HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=42804
Months of work into a single line code change.
Geez. Should have thought of this sooner.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2010-08-04 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Spin-button behavior improvement for out-of-range values
https://bugs.webkit.org/show_bug.cgi?id=43463
If the current value is smaller than the minimum value, the up
button should change the value to the minimum value. If the
current value is larger than the maximum value, the down button
should change the value to the maximum value.
Test: fast/forms/input-number-outofrange.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::stepUpFromRenderer):
2010-08-04 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Daniel Bates.
Remove superfluous non-negative checks in HitTestResult:padding{Width|Height}
https://bugs.webkit.org/show_bug.cgi?id=43534
As pointed out by Steve Block in https://bugs.webkit.org/show_bug.cgi?id=40197#c54 ,
the non-negative checks present in both paddingWidth and paddingHeight methods of
HitTestResults class are superflous, after we changed the rect based hit testing logic
of invalid padding from IntSize(-1, -1) to IntSize(0, 0). Patch addresses this issue.
No new tests needed.
* rendering/HitTestResult.h:
(WebCore::HitTestResult::paddingWidth):
(WebCore::HitTestResult::paddingHeight):
2010-08-04 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64674.
http://trac.webkit.org/changeset/64674
https://bugs.webkit.org/show_bug.cgi?id=43532
Doesn't work with HTML5 tree builder (Requested by tonyg-cr on
#webkit).
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
* html/HTMLDocumentParser.h:
* html/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::requestScript):
(WebCore::HTMLScriptRunner::runScript):
* html/HTMLScriptRunner.h:
2010-08-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
fast/parser/residual-style-hang.html hangs
https://bugs.webkit.org/show_bug.cgi?id=42950
We need to cap the iteration of the adoption agency algorithm to
prevent this hang. The legacy tree builder does this as well.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-08-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Pick up spec change w.r.t. figcaption and summary
https://bugs.webkit.org/show_bug.cgi?id=43075
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
2010-08-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Pick up spec change w.r.t. replacement character and <frameset>
https://bugs.webkit.org/show_bug.cgi?id=43073
Apparently this fixes parsing for some home router configuration pages.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
2010-08-04 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation.
(add forwarding headers)
* ForwardingHeaders/wtf/Bitmap.h: Added.
* ForwardingHeaders/wtf/PageReservation.h: Added.
2010-08-04 Zhenyao Mo <zmo@google.com>
Reviewed by Adam Barth.
getAttachedShaders takes wrong parameter type in WebGLRenderingContext.idl
https://bugs.webkit.org/show_bug.cgi?id=43517
* html/canvas/WebGLRenderingContext.idl: Fix the wrong parameter type in getAttachedShaders().
2010-08-04 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Rename CanvasObject to WebGLObject
https://bugs.webkit.org/show_bug.cgi?id=31564
Renamed CanvasObject to WebGLObject using do-webcore-rename script.
Because it seems the new convention is to not check in the changes
made to this script, only checking in its effects. No new tests;
built and ran WebGL in Safari and Chromium to test.
* Android.mk:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/CanvasObject.cpp: Removed.
* html/canvas/CanvasObject.h: Removed.
* html/canvas/CanvasRenderingContext.h:
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::WebGLBuffer):
* html/canvas/WebGLBuffer.h:
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::WebGLFramebuffer):
(WebCore::WebGLFramebuffer::setAttachment):
(WebCore::WebGLFramebuffer::onAttachedObjectChange):
(WebCore::WebGLFramebuffer::isUninitialized):
(WebCore::WebGLFramebuffer::setInitialized):
* html/canvas/WebGLFramebuffer.h:
* html/canvas/WebGLObject.cpp: Copied from WebCore/html/canvas/CanvasObject.cpp.
(WebCore::WebGLObject::WebGLObject):
(WebCore::WebGLObject::~WebGLObject):
(WebCore::WebGLObject::setObject):
(WebCore::WebGLObject::deleteObject):
* html/canvas/WebGLObject.h: Copied from WebCore/html/canvas/CanvasObject.h.
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::WebGLProgram):
* html/canvas/WebGLProgram.h:
* html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
* html/canvas/WebGLRenderbuffer.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::objectOrZero):
(WebCore::WebGLRenderingContext::validateWebGLObject):
(WebCore::WebGLRenderingContext::removeObject):
(WebCore::WebGLRenderingContext::addObject):
(WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
(WebCore::WebGLRenderingContext::findTexture):
(WebCore::WebGLRenderingContext::findRenderbuffer):
(WebCore::WebGLRenderingContext::findBuffer):
(WebCore::WebGLRenderingContext::findShader):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::WebGLShader):
* html/canvas/WebGLShader.h:
* html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::WebGLTexture):
* html/canvas/WebGLTexture.h:
* html/canvas/WebGLUniformLocation.h:
* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
2010-08-04 Dan Bernstein <mitz@apple.com>
Build fix.
* platform/text/mac/HyphenationMac.mm:
(WebCore::lastHyphenLocation):
2010-08-04 Dan Bernstein <mitz@apple.com>
Release build fix.
* platform/text/mac/HyphenationMac.mm:
(WebCore::lastHyphenLocation):
2010-08-04 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Don't leak FontDescription objects inside MathML.
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement): Don't unnecessarily allocate the FontDescription on the heap.
(WebCore::RenderMathMLOperator::createStackableStyle): Ditto.
2010-08-04 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Add ANGLE dependency for Chromium WebCore build
https://bugs.webkit.org/show_bug.cgi?id=43508
No new tests. Built modified version of patch from bug 42405 in
Chromium to test.
* WebCore.gyp/WebCore.gyp:
2010-08-04 Dan Bernstein <mitz@apple.com>
Allow the language for hyphenation to be specified
https://bugs.webkit.org/show_bug.cgi?id=43467
Test: fast/text/hyphenate-locale.html
Added a -webkit-hyphenate-locale property whose value can be either auto or a locale identifier
string. The initial value is auto and the property is inherited. When the value is a locale
identifier, hyphenation should follow the rules for the specified locale.
* WebCore.xcodeproj/project.pbxproj: Added AtomicStringKeyedMRUCache.h.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle -webkit-hyphenate-locale.
Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-locale.
* css/CSSPropertyNames.in: Added -webkit-hyphenate-locale.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Apply the -webkit-hyphenate-locale property to the
RenderStyle. Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
* platform/text/AtomicStringKeyedMRUCache.h: Added.
(WebCore::AtomicStringKeyedMRUCache::get):
* platform/text/Hyphenation.cpp:
(WebCore::canHyphenate): Added an implementation that returns false.
(WebCore::lastHyphenLocation): Now asserts that it is not called, because it is an error to call
this function if canHyphenate() returned false.
* platform/text/Hyphenation.h:
Added canHyphenate(). Returns true if hyphenation is possible for the given locale identifier.
* platform/text/android/HyphenationAndroid.cpp:
(WebCore::canHyphenate): Added an implementation that returns true and a FIXME.
(WebCore::lastHyphenLocation): Added unused localeIdentifier parameter.
* platform/text/cf/HyphenationCF.cpp:
(WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForNullKey): Returns
the CFLocaleRef for the current search locale.
(WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForKey): Returns a
CFLocaleRef for the locale identifier.
(WebCore::canHyphenate): Added. Returns true.
(WebCore::lastHyphenLocation): Added localeIdentifier parameter, used to pass a CFLocaleRef to
the hyphenation function.
* platform/text/mac/HyphenationMac.mm:
(WebCore::AtomicStringKeyedMRUCache<bool>::createValueForNullKey): Returns whether the current
search locale is english.
(WebCore::AtomicStringKeyedMRUCache<bool>::createValueForKey): Returns whether the locale identifier
string identifies locale with the English language.
(WebCore::canHyphenate): Added. Returns true if the locale language is English.
(WebCore::lastHyphenLocation): Added localeIdentifier parameter and an assertion that its language
is English.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::tryHyphenating): Added a locale identifier parameter, which is passed down to
lastHyphenLocation(). Added 1 to the value passed for the beforeIndex parameter to lastHyphenLocation(),
because the latter only returns values smaller than that index. The Mac implementation could
return a value equal to beforeIndex, but that is fixed in the WebKitSystemInterface part of this patch.
(WebCore::RenderBlock::findNextLineBreak): Only set canHyphenate to true if hyphenation is possible
for the specified hyphenation locale. Pass the hyphenation locale to tryHyphenating().
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Compare hyphenation locales.
(WebCore::RenderStyle::hyphenString): Updated for the renaming of hyphenateCharacter() to
hyphenationString().
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::hyphenationString): Renamed hyphenateCharacter() to this.
(WebCore::InheritedFlags::hyphenationLocale): Added this accessor.
(WebCore::InheritedFlags::setHyphenationString): Renamed setHyphenateCharacter() to this.
(WebCore::InheritedFlags::setHyphenationLocale): Added this accessor.
(WebCore::InheritedFlags::initialHyphenationString): Renamed initialHyphenateCharacter() to this.
(WebCore::InheritedFlags::initialHyphenateLocale): Added. Returns the null atom, which represents a
value of auto.
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData): Copy the hyphenation locale. Updated for
rename.
(WebCore::StyleRareInheritedData::operator==): Compare the hyphenation locales. Updated for rename.
* rendering/style/StyleRareInheritedData.h:
2010-08-04 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Support <script defer> as specified by HTML5
https://bugs.webkit.org/show_bug.cgi?id=40934
See: http://dev.w3.org/html5/spec/Overview.html#the-end
Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html
fast/dom/HTMLScriptElement/defer-double-write.html
fast/dom/HTMLScriptElement/defer-inline-script.html
fast/dom/HTMLScriptElement/defer-onbeforeload.html
fast/dom/HTMLScriptElement/defer-script-invalid-url.html
http/tests/misc/script-defer-after-slow-stylesheet.html
http/tests/misc/script-defer-write-slow-stylesheet.html
http/tests/misc/script-defer.html
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::executeScriptsWaitingForParsingAndEnd):
* html/HTMLDocumentParser.h:
* html/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::requestScript):
(WebCore::HTMLScriptRunner::requestParsingBlockingScript):
(WebCore::HTMLScriptRunner::requestDeferredScript):
(WebCore::HTMLScriptRunner::runScript):
* html/HTMLScriptRunner.h:
(WebCore::HTMLScriptRunner::PendingScript::PendingScript):
(WebCore::HTMLScriptRunner::PendingScript::operator=):
2010-08-04 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix for gcc not importing all symbols from convenience libraries.
Works on 10.6 only for Mac until the build system is reworked.
* bindings/scripts/CodeGeneratorCPP.pm: Add conditionals in impl. to header as well.
* wscript:
2010-08-04 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix. Enclose PlatformStrategy methods in USE(PLATFORM_STRATEGIES).
* platform/LocalizedStrings.cpp:
2010-08-04 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Remove unnecessary calls to setStyle() in MathML code that made RenderLayer crash.
https://bugs.webkit.org/show_bug.cgi?id=42894
Test: mathml/presentation/style.xhtml
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::createRenderer):
* mathml/MathMLMathElement.cpp:
(WebCore::MathMLMathElement::createRenderer):
* mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::createRenderer):
2010-08-03 Kenneth Russell <kbr@google.com>
Reviewed by Nate Chapin.
Move WebGL-specific code out of GraphicsContext3D so that G3D can be used as a generic accelerated drawing API
https://bugs.webkit.org/show_bug.cgi?id=43221
Added a helper function to extract the contents of WebGL objects
to reduce duplicated code and fix a couple of potential crashes
introduced in the previous refactoring.
No new tests; ran existing WebGL tests.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::bindBuffer):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::bindRenderbuffer):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::getActiveAttrib):
(WebCore::WebGLRenderingContext::getActiveUniform):
(WebCore::WebGLRenderingContext::getAttachedShaders):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getShaderSource):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::useProgram):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::handleNPOTTextures):
(WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
2010-08-04 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Jeremy Orlow.
[Gtk] Make sure DRT return the right AXTitle for controls
https://bugs.webkit.org/show_bug.cgi?id=39997
Fallback to the text under the given element as its name in case
it's a control element and has no associated label for it.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_get_name):
2010-08-02 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Port Chromium's accelerated compositing to Mac OS X
https://bugs.webkit.org/show_bug.cgi?id=43398
No new tests. Tested manually with CSS 3D and WebGL tests.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::clearBorderColor):
(WebCore::clearLayerBackgroundColor):
- Fixed compilation problems with gcc.
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::updateTextureContents):
- Added Core Graphics port.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
- Fixed compilation problems with gcc related to initialization
order of members.
(WebCore::LayerChromium::updateTextureContents):
(WebCore::LayerChromium::updateTextureRect):
- Ported to Core Graphics, adjusting for lower-left coordinate
system origin.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
- Fixed compilation problems with gcc related to initialization
order of members.
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
- Ported to Core Graphics.
(WebCore::LayerRendererChromium::drawLayers):
- Added more debug-only error calls during drawing phase.
Adjusted scrolling and incremental updating code for Core
Graphics' lower-left coordinate system origin.
(WebCore::LayerRendererChromium::initializeSharedGLObjects):
- Removed color channel swizzling in Core Graphics port. Fixed
preexisting bug in initialization check of m_rootLayerTextureId.
* platform/graphics/chromium/LayerRendererChromium.h:
- Added needed data members for Core Graphics port.
2010-08-04 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: use InspectorValue to push dispatch results from the injected script
https://bugs.webkit.org/show_bug.cgi?id=43483
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::dispatch):
* inspector/InjectedScript.h:
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
(WebCore::InjectedScriptHost::remoteFrontend):
* inspector/InjectedScriptHost.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::dispatchOnInjectedScript):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didContinue):
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
2010-08-04 Abhishek Arya <inferno@chromium.org>
Unreviewed. Put missing equivalent js bindings check.
Forgot putting js bindings check in http://trac.webkit.org/changeset/64647. This fixes the qt crash.
* bindings/js/JSDesktopNotificationsCustom.cpp:
(WebCore::JSNotificationCenter::requestPermission):
2010-08-04 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: serialize database resources to InspectorValues
https://bugs.webkit.org/show_bug.cgi?id=43482
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::getDatabaseTableNames):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::selectDatabase):
(WebCore::InspectorController::didOpenDatabase):
* inspector/InspectorController.h:
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::create):
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDatabaseResource.h:
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* storage/Database.cpp:
(WebCore::Database::openDatabase):
2010-08-03 Abhishek Arya <inferno@chromium.org>
Reviewed by Alexey Proskuryakov.
Null the script execution context when disconnecting frame in notifications.
Make sure that script execution context is valid in notification requestPermission.
https://bugs.webkit.org/show_bug.cgi?id=43295
Tests: fast/notifications/notifications-document-close-crash.html
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::requestPermissionCallback):
* notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::disconnectFrame):
2010-08-03 Adam Roben <aroben@apple.com>
Turn on PLATFORM_STRATEGIES on Windows
Fixes <http://webkit.org/b/43431>.
Reviewed by Anders Carlsson.
* WebCore.vcproj/WebCore.vcproj: Added LocalizedStrings.cpp,
PlatformStrategies.h, LocalizationStrategy.h, PluginStrategy.h, and
VisitedLinkStrategy.h. Removed PluginDataWin.cpp
* platform/LocalizedStrings.cpp: Wrapped Mac-only functions in
PLATFORM(MAC) guards.
(WebCore::uploadFileText):
(WebCore::allFilesText):
Added these Windows-only functions.
* plugins/win/PluginDataWin.cpp: Removed.
2010-08-04 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: serialize CPU profiles to InspectorValues instead of
using JS wrappers.
https://bugs.webkit.org/show_bug.cgi?id=43475
* Android.jscbindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptProfile.h:
* bindings/js/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::stop):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/v8/ScriptProfile.cpp:
(WebCore::buildInspectorObjectFor):
(WebCore::ScriptProfile::buildInspectorObjectForHead):
* bindings/v8/ScriptProfile.h:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addProfile):
(WebCore::InspectorController::addProfileFinishedMessageToConsole):
(WebCore::InspectorController::getProfileHeaders):
(WebCore::InspectorController::getProfile):
(WebCore::InspectorController::createProfileHeader):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
2010-08-04 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Use a QImage for the stroke applier scratch context
This avoids leaking a server-side resource on some graphics systems.
* platform/graphics/qt/PathQt.cpp:
(WebCore::scratchContext):
2010-08-03 Ben Murdoch <benm@google.com>
Reviewed by Darin Adler.
HTML5 parser may cause onload not to fire
https://bugs.webkit.org/show_bug.cgi?id=43423
If a complex page causes the HTML parser to yield,
then when parsing continues again and eventually
finishes, we are missing a call to endIfDelayed(). This
results in onload never being called.
Not for lack of trying, but it seems almost
impossible to write a reliable test for this bug,
due to the highly timing-dependent nature of the
bug. The link above contains further discussion and
attempts at writing a test.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::resumeParsingAfterYield):
Add a call to endIfDelayed() after pumping the tokenizer
post the parser yielding to ensure that the parsing step
is completed properly and the onload event fires.
2010-08-04 Dirk Schulze <krit@webkit.org>
Unreviewed sort of Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-08-03 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
System color changes are not applied properly
https://bugs.webkit.org/show_bug.cgi?id=43468
* manual-tests/system-color-change.html: Added.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::platformColorsDidChange): Added a call to
Page::setNeedsReapplyStyles, so all frames of all pages will recompute
in case they use system colors. It's rare for these colors to change,
so OK to do a little extra style computation.
2010-08-04 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Revert changed license in SVGFEOffsetElement.h, thanks Gabor for noticing.
* svg/SVGFEOffsetElement.h:
2010-08-03 Alexey Proskuryakov <ap@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=42939
WebEditorClient::didBeginEditing is never called in WebKit2
* page/FocusController.cpp: (WebCore::FocusController::setFocused): Focusing a page without
a focused frame makes little sense, so WebKit used to focus a frame first when its view
became first responder. For viewless frames, WebKit cannot know what to focus. The assumption
here is that in all cases with null m_focusedFrame, it's the main frame that needs to be focused.
2010-08-03 Gavin Barraclough <barraclough@apple.com>
Build fix following r64624.
* ForwardingHeaders/wtf/BitMap.h: Added.
2010-08-03 Kent Tamura <tkent@chromium.org>
Reviewed by Ojan Vafai.
<input type=number> UI: Support wheel events
https://bugs.webkit.org/show_bug.cgi?id=42441
Test: fast/forms/input-number-wheel.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
Call stepUpFromRenderer() for wheelDeltaY.
2010-08-03 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 6 - LayoutTest and Cleanup
Test: http/tests/appcache/origin-quota.html
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::scheduleReachedOriginQuotaCallback): made synchronous, as asynchronously the cache group was deleted too soon.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): all storing operations should force the database to be created if needed.
2010-08-03 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
extractAndNegateTextDecorationStyle and maxRangeOffset in ApplyStyleCommand.cpp should be deleted
https://bugs.webkit.org/show_bug.cgi?id=43437
Removed extractAndNegateTextDecorationStyle because we never push down text decorations added by CSS rules
as discussed on the bug 27809. Also removed pushDownTextDecorationStyleAtBoundaries because it only existed
to encapsulate the complexity of calling pushDownTextDecorationStyleAroundNode first with forceNegate = false
(calling pushDownTextDecorationStyleAroundNode) and again with forceNegate = true (calling extractAndNegateTextDecorationStyle)
after updating layout but neither the layout update nor the second call to pushDownTextDecorationStyleAroundNode
is needed after the removal of extractAndNegateTextDecorationStyle.
Also replaced maxRangeOffset by lastOffsetForEditing as FIXME (added by r48235) indicated.
No new tests added since this is a clean up.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): No longer takes forceNegate as an argument.
(WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownTextDecorationStyleAroundNode directly.
* editing/ApplyStyleCommand.h:
2010-08-03 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Ojan Vafai.
Extract a function that serializes nodes from the range version of createMarkup
https://bugs.webkit.org/show_bug.cgi?id=43405
Extracted serializeNodes that serializes nodes from createMarkup.
No new tests added since this is a clean up.
* editing/markup.cpp:
(WebCore::serializeNodes): Added.
(WebCore::createMarkup): Calls serializeNodes.
2010-08-03 Brian Weinstein <bweinstein@apple.com>
Fix the build by adding the needed MathML source files to WebCore's vcproj.
Also, Visual Studio did some drive-by resorting of the vcproj, the added
MathML files are the only important change.
* WebCore.vcproj/WebCore.vcproj:
2010-08-03 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Nate Chapin.
Web Inspector: Missing ApplicationCache InspectorBackend Stub
https://bugs.webkit.org/show_bug.cgi?id=43265
Registered "getApplicationCaches".
* inspector/front-end/InspectorBackendStub.js:
(WebInspector.InspectorBackendStub):
2010-08-03 Brian Weinstein <bweinstein@apple.com>
Fix the Windows build by adding WebCore/mathml to the list of paths to look for header
files.
* WebCore.vcproj/WebCoreCommon.vsprops:
2010-08-03 Mark Rowe <mrowe@apple.com>
Fix the i386 build with a static_cast hammer.
* mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::layout):
2010-08-03 Beth Dakin <bdakin@apple.com>
Speculative build fix for Leopard.
* mathml/RenderMathMLOperator.cpp:
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
(WebCore::RenderMathMLRoot::layout):
* mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::paint):
* mathml/RenderMathMLSubSup.cpp:
2010-08-03 Beth Dakin <bdakin@apple.com>
Speculative build fix.
* css/mathml.css:
(mi):
(math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
(math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
(math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
2010-08-03 Geoffrey Garen <ggaren@apple.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=43444
PLATFORM(CF) is false on Windows in JavaScriptCore
Moved some PLATFORM(WIN) #defines down into JavaScriptCore.
* config.h: Moved WTF_PLATFORM_CF 1 and WTF_USE_PTHREADS 0 to wtf/Platform.h.
Removed #undef WTF_USE_WININET because wtf/Platform.h no longer #defines it.
2010-08-03 Alex Milowski <alex@milowski.com>
Reviewed by Beth Dakin.
Changed the ENABLE_MATHML value to enable MathML by default.
* Configurations/FeatureDefines.xcconfig:
2010-07-30 Stephen White <senorblanco@chromium.org>
Reviewed by Ojan Vafai.
Move PlatformContextSkia and NativeImageSkia into the WebCore namespace.
https://bugs.webkit.org/show_bug.cgi?id=43272
One wrinkle is that PlatformContext and NativeImagePtr are
typedef'ed outside outside the WebCore namespace block, so the
PlatformContextSkia and NativeImageSkia have to be forward-declared
explicitly within that namespace. Another solution might be to move
those declarations into the WebCore namespace block below, but that
would affect platforms other than Skia, so I leave it to the reviewer
to decide.
Test: if it compiles, you're happy.
* platform/graphics/GraphicsContext.h:
* platform/graphics/Image.h:
* platform/graphics/ImageSource.h:
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::hasResizedBitmap):
(WebCore::NativeImageSkia::shouldCacheResampling):
* platform/graphics/skia/NativeImageSkia.h:
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::beginLayerClippedToImage):
(WebCore::PlatformContextSkia::drawRect):
(WebCore::PlatformContextSkia::setupPaintForStroking):
(WebCore::PlatformContextSkia::getStrokeStyle):
(WebCore::PlatformContextSkia::setStrokeStyle):
(WebCore::PlatformContextSkia::setTextDrawingMode):
(WebCore::PlatformContextSkia::interpolationQuality):
(WebCore::PlatformContextSkia::setInterpolationQuality):
(WebCore::PlatformContextSkia::getImageResamplingHint):
(WebCore::PlatformContextSkia::setImageResamplingHint):
(WebCore::PlatformContextSkia::clearImageResamplingHint):
(WebCore::PlatformContextSkia::applyClipFromImage):
(WebCore::PlatformContextSkia::setGLES2Context):
(WebCore::PlatformContextSkia::prepareForSoftwareDraw):
(WebCore::PlatformContextSkia::prepareForHardwareDraw):
(WebCore::PlatformContextSkia::syncSoftwareCanvas):
(WebCore::PlatformContextSkia::uploadSoftwareToHardware):
* platform/graphics/skia/PlatformContextSkia.h:
(WebCore::PlatformContextSkia::gpuCanvas):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::windowsCanHandleDrawTextShadow):
(WebCore::paintSkiaText):
* platform/graphics/skia/SkiaFontWin.h:
2010-08-03 Adam Roben <aroben@apple.com>
Rename LocalizedStringsMac.mm to LocalizedStrings.cpp
LocalizedStringsMac.mm should be usable by other ports
https://bugs.webkit.org/show_bug.cgi?id=43441
Reviewed by Anders Carlsson.
* WebCore.xcodeproj/project.pbxproj: Updated the file's name and path.
* platform/LocalizedStrings.cpp: Renamed from
WebCore/platform/mac/LocalizedStringsMac.mm. Changed #imports to
#includes.
2010-08-03 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
Move WebGL-specific code out of GraphicsContext3D so that G3D can be used as a generic accelerated drawing API
https://bugs.webkit.org/show_bug.cgi?id=43221
Changes the GraphicsContext3D API to use Platform3DObjects instead of WebGLFoo* types like WebGLTexture.
WebGLRenderingContext still uses WebGLFoo types and converts to Platform3DObjects internally. Other
consumers of the GraphicsContext3D can use the Platform3DObject APIs directly without any ties to WebGL.
The majority of this change is purely mechanical. The less obvious changes are:
- move all null checking on WebGLFoo types to WebGLRenderingContext, instead of mixing them
between WebGLRenderingContext and the various port-specific implementations of GraphicsContext3D
- add a GraphicsContext3D getter to CanvasRenderingContext. This is needed for the readback
path on Chromium/mac. It may be possible to remove this, but I would prefer to do that
in a follow-up patch to minimize churn.
- move some texture cube map logic that existed only in the Chromium port of GC3D to
WebGLRenderingContext behind #if PLATFORM(CHROMIUM). I think this logic should either
exist for all ports or exist for none, but again I would rather change the behavior
in a different patch from this one.
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::graphicsContext3D):
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::cacheActiveAttribLocations):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::bindBuffer):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::bindRenderbuffer):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::getActiveAttrib):
(WebCore::WebGLRenderingContext::getActiveUniform):
(WebCore::WebGLRenderingContext::getAttachedShaders):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getShaderSource):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::isBuffer):
(WebCore::WebGLRenderingContext::isFramebuffer):
(WebCore::WebGLRenderingContext::isProgram):
(WebCore::WebGLRenderingContext::isRenderbuffer):
(WebCore::WebGLRenderingContext::isShader):
(WebCore::WebGLRenderingContext::isTexture):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::useProgram):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::handleNPOTTextures):
(WebCore::WebGLRenderingContext::createFallbackBlackTextures1x1):
(WebCore::WebGLRenderingContext::initVertexAttrib0):
(WebCore::WebGLRenderingContext::simulateVertexAttrib0):
(WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::graphicsContext3D):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::beginPaint):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttachedShaders):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::beginPaint):
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::attachShader):
(WebCore::GraphicsContext3D::bindAttribLocation):
(WebCore::GraphicsContext3D::bindBuffer):
(WebCore::GraphicsContext3D::bindFramebuffer):
(WebCore::GraphicsContext3D::bindRenderbuffer):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::detachShader):
(WebCore::GraphicsContext3D::framebufferRenderbuffer):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getAttribLocation):
(WebCore::GraphicsContext3D::isBuffer):
(WebCore::GraphicsContext3D::isFramebuffer):
(WebCore::GraphicsContext3D::isProgram):
(WebCore::GraphicsContext3D::isRenderbuffer):
(WebCore::GraphicsContext3D::isShader):
(WebCore::GraphicsContext3D::isTexture):
(WebCore::GraphicsContext3D::linkProgram):
(WebCore::GraphicsContext3D::shaderSource):
(WebCore::GraphicsContext3D::useProgram):
(WebCore::GraphicsContext3D::validateProgram):
(WebCore::GraphicsContext3D::getProgramiv):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
(WebCore::GraphicsContext3D::getUniformfv):
(WebCore::GraphicsContext3D::getUniformiv):
(WebCore::GraphicsContext3D::getUniformLocation):
2010-08-03 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Fix DOM event dispatch
https://bugs.webkit.org/show_bug.cgi?id=40847
Bind UI and Mouse events and add ad-hoc kit method for WebCore
Events.
* GNUmakefile.am:
* bindings/gobject/WebKitDOMBinding.cpp:
(WebKit::kit):
* bindings/gobject/WebKitDOMBinding.h:
* bindings/gobject/WebKitDOMEventTarget.cpp:
(WebKit::core):
* bindings/gobject/WebKitDOMEventTargetPrivate.h: Added.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-08-03 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Eric Seidel.
Cleanup all of svg/ code
https://bugs.webkit.org/show_bug.cgi?id=43311
Unify the license header in all files in svg/, to use the same template as most WebCore files use.
Unified email adress style, etc. all generated with a perl script attached to bug 43311.
* svg/...: Updated header template in all files, in the svg/ subdirectory.
2010-08-03 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IDBObjectStoreRequest should be called IDBObjectStore
https://bugs.webkit.org/show_bug.cgi?id=43420
Renaming IDBObjectStoreRequest to IDBObjectStore.
No new tests needed, just refactoring.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbObjectStore):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::objectStore):
* storage/IDBDatabase.h:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::objectStore):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBObjectStore.cpp: Added.
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::name):
(WebCore::IDBObjectStore::keyPath):
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::remove):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::removeIndex):
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::create):
(WebCore::IDBObjectStore::~IDBObjectStore):
* storage/IDBObjectStore.idl: Added.
* storage/IDBObjectStoreBackendImpl.cpp: Added.
(WebCore::IDBObjectStoreBackendImpl::~IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::indexNames):
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::remove):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::index):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
* storage/IDBObjectStoreBackendImpl.h: Added.
(WebCore::IDBObjectStoreBackendImpl::create):
(WebCore::IDBObjectStoreBackendImpl::name):
(WebCore::IDBObjectStoreBackendImpl::keyPath):
* storage/IDBObjectStoreBackendInterface.h: Added.
(WebCore::IDBObjectStoreBackendInterface::~IDBObjectStoreBackendInterface):
* storage/IDBObjectStoreImpl.cpp: Removed.
* storage/IDBObjectStoreImpl.h: Removed.
* storage/IDBObjectStoreRequest.cpp: Removed.
* storage/IDBObjectStoreRequest.h: Removed.
* storage/IDBObjectStoreRequest.idl: Removed.
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
2010-08-03 Martin Robinson <mrobinson@igalia.com>
Reviewed by Ojan Vafai.
[GTK] Incorrect keyIdentifier for print screen key events
https://bugs.webkit.org/show_bug.cgi?id=43422
Produce the correct keyIdentifier for GDK_Print (print screen).
* platform/gtk/KeyEventGtk.cpp:
(WebCore::keyIdentifierForGdkKeyCode):
2010-08-03 Anton Muhin <antonm@chromium.org>
Reviewed by David Levin.
[v8] Get current memory usage and make it available on stack before crashing due to out of memory
https://bugs.webkit.org/show_bug.cgi?id=43426
That should allow us to diagnose the cases when the process just ran out of memory
and hence V8 failed to allocate more OS pages.
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::reportFatalErrorInV8):
2010-08-03 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Implement HTML5 slider theme (using the scrollbar theme as base).
https://bugs.webkit.org/show_bug.cgi?id=43430
EFL port does not yet support automated tests.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintThemePart):
(WebCore::RenderThemeEfl::edjeGroupFromFormType): Add Edje groups
for both vertical and horizontal sliders.
(WebCore::supportsFocus): Add sliders as focusable elements.
(WebCore::RenderThemeEfl::paintSliderTrack): Implement.
(WebCore::RenderThemeEfl::adjustSliderTrackStyle): Implement.
(WebCore::RenderThemeEfl::adjustSliderThumbStyle): Use
adjustSliderTrackStyle() implementation.
(WebCore::RenderThemeEfl::paintSliderThumb): Use paintSliderTrack()
implementation().
* platform/efl/RenderThemeEfl.h: Add SliderVertical and
* SliderHorizontal.
(WebCore::): Added prototypes for adjustSlider*/paintSlider*.
2010-08-03 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: incorrect absolute protocol-less URLs in tooltips of links in the ElementsTreeOutline
https://bugs.webkit.org/show_bug.cgi?id=43246
* inspector/front-end/inspector.js:
(WebInspector.completeURL):
2010-08-03 Adam Roben <aroben@apple.com>
Compile out two Mac-only localized strings on non-Mac platforms
Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
AXARIAContentGroupText should only be compiled on Mac
Reviewed by Anders Carlsson.
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.h:
Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
PLATFORM(MAC).
2010-08-03 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix, don't build some DOM bindings we don't use.
* wscript:
2010-08-03 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Remove a memory leak from CusorGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=43424
* platform/gtk/CursorGtk.cpp:
(WebCore::createNamedCursor):
(WebCore::createCustomCursor):
(WebCore::Cursor::ensurePlatformCursor):
* platform/gtk/KeyEventGtk.cpp:
(WebCore::keyIdentifierForGdkKeyCode):
2010-08-03 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: speculative chromium tests fix.
* inspector/front-end/ExtensionServer.js:
* inspector/front-end/inspector.js:
(WebInspector.loaded):
2010-08-03 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Antonio Gomes.
Fix warning in WebCore/rendering/RenderBoxModelObject.cpp
https://bugs.webkit.org/show_bug.cgi?id=43412
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::clipBorderSidePolygon): Remove useless assignment.
2010-08-03 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Make string parameters be 'const char*' instead of just 'char*'.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-08-03 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Get rid of extra spaces in the type strings.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-08-03 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Adam Roben.
Fix warning in WebCore/plugins/win/PluginMessageThrottlerWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=43413
* plugins/win/PluginMessageThrottlerWin.cpp:
(WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Modify initialization order.
2010-08-03 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: use InspectorValue to push resource data to the frontend
https://bugs.webkit.org/show_bug.cgi?id=43414
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::disconnectFrontend): destroy remote frontend object along with the old inspector frontend
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::mainResourceFiredDOMContentEvent):
(WebCore::InspectorController::mainResourceFiredLoadEvent):
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::scriptImported):
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/InspectorResource.cpp:
(WebCore::buildHeadersObject):
(WebCore::buildObjectForTiming):
(WebCore::InspectorResource::updateScriptObject):
* inspector/InspectorResource.h:
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
2010-08-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64539.
http://trac.webkit.org/changeset/64539
https://bugs.webkit.org/show_bug.cgi?id=43409
Accidently changed licenses in some files (Requested by
WildFox on #webkit).
* svg/...:
2010-08-03 Andrei Popescu <andreip@google.com>
Unreviewed, build fix.
[IndexedDB] Chromium build is broken due to typo in WebCore.gypi:3501
https://bugs.webkit.org/show_bug.cgi?id=43408
Add missing ' in WebCore.gypi:3501.
* WebCore.gypi:
2010-07-30 Andrei Popescu <andreip@dhcp-172-16-14-12.lon.corp.google.com>
Reviewed by Jeremy Orlow.
Rename IDBDatabaseRequest to IDBDatabase
https://bugs.webkit.org/show_bug.cgi?id=43250
No new tests, just refactoring.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCore.vcproj~: Added.
* WebCore.xcodeproj/project.pbxproj:
* WebCore.xcodeproj/project.pbxproj~: Added.
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbDatabase):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBDatabase.cpp: Added.
(WebCore::IDBDatabase::IDBDatabase):
(WebCore::IDBDatabase::~IDBDatabase):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::objectStore):
(WebCore::IDBDatabase::removeObjectStore):
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::create):
(WebCore::IDBDatabase::name):
(WebCore::IDBDatabase::description):
(WebCore::IDBDatabase::version):
(WebCore::IDBDatabase::objectStores):
* storage/IDBDatabase.idl: Added.
* storage/IDBDatabaseBackendImpl.cpp: Added.
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::objectStores):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::objectStore):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
* storage/IDBDatabaseBackendImpl.h: Added.
(WebCore::IDBDatabaseBackendImpl::create):
(WebCore::IDBDatabaseBackendImpl::name):
(WebCore::IDBDatabaseBackendImpl::description):
(WebCore::IDBDatabaseBackendImpl::version):
* storage/IDBDatabaseBackendInterface.h: Added.
(WebCore::IDBDatabaseBackendInterface::~IDBDatabaseBackendInterface):
* storage/IDBDatabaseImpl.cpp: Removed.
* storage/IDBDatabaseImpl.h: Removed.
* storage/IDBDatabaseRequest.cpp: Removed.
* storage/IDBDatabaseRequest.h: Removed.
* storage/IDBDatabaseRequest.idl: Removed.
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
2010-08-03 Satish Sampath <satish@chromium.org>
Reviewed by Kent Tamura.
Initiate speech input requests on click event
https://bugs.webkit.org/show_bug.cgi?id=43352
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2010-08-02 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: debugger code should serialize call frames to InspectorObjects instead of SerializedScriptValues.
https://bugs.webkit.org/show_bug.cgi?id=43339
No new tests. Refactoring.
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::callFrames):
* inspector/InjectedScript.h:
* inspector/Inspector.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::editScriptSource):
(WebCore::InspectorController::getScriptSource):
(WebCore::InspectorController::currentCallFrames):
(WebCore::InspectorController::didPause):
* inspector/InspectorController.h:
* inspector/front-end/InspectorBackendStub.js:
(WebInspector.InspectorBackendStub):
2010-08-03 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Cleanup all of svg/ code
https://bugs.webkit.org/show_bug.cgi?id=43311
Unify the license header in all files in svg/, to use the same template as most WebCore files use.
Unified email adress style, etc. all generated with a perl script attached to bug 43311.i
* svg/...: Updated header template in all files, in the svg/ subdirectory.
2010-08-03 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Turn all callbacks into ActiveDOMObjects and create callbacks in the correct context.
https://bugs.webkit.org/show_bug.cgi?id=40112
Test: http/tests/storage/callbacks-are-called-in-correct-context.html
* CMakeLists.txt: Added new files.
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/ActiveDOMCallback.cpp: Added. The base class
for all callbacks, that behaves like an ActiveDOMObject.
(WebCore::DestroyOnContextThreadTask::create):
(WebCore::DestroyOnContextThreadTask::performTask):
(WebCore::DestroyOnContextThreadTask::DestroyOnContextThreadTask):
(WebCore::ActiveDOMObjectCallbackImpl::ActiveDOMObjectCallbackImpl):
(WebCore::ActiveDOMObjectCallbackImpl::contextDestroyed):
(WebCore::ActiveDOMObjectCallbackImpl::canSuspend):
(WebCore::ActiveDOMObjectCallbackImpl::suspend):
(WebCore::ActiveDOMObjectCallbackImpl::resume):
(WebCore::ActiveDOMObjectCallbackImpl::stop):
(WebCore::ActiveDOMObjectCallbackImpl::canInvokeCallback):
(WebCore::ActiveDOMObjectCallbackImpl::scriptExecutionContext):
(WebCore::ActiveDOMObjectCallbackImpl::mutex):
(WebCore::destroyOnContextThread):
(WebCore::ActiveDOMCallback::ActiveDOMCallback):
(WebCore::ActiveDOMCallback::~ActiveDOMCallback):
(WebCore::ActiveDOMCallback::canInvokeCallback):
(WebCore::ActiveDOMCallback::scriptExecutionContext):
* bindings/generic/ActiveDOMCallback.h: Added.
* bindings/js/JSCustomSQLStatementErrorCallback.cpp: Pass the
right ScriptExecutionContext to the JSC callbacks.
(WebCore::JSSQLStatementErrorCallback::handleEvent):
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
* bindings/scripts/CodeGeneratorJS.pm: Make all callbacks inherit
from ActiveDOMCallback, and make them use the right
ScriptExecutionContext.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp: Update the
expectations for the code generated by CodeGenerator{JS|V8}.pm.
(WebCore::JSTestCallback::JSTestCallback):
(WebCore::JSTestCallback::~JSTestCallback):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
* bindings/scripts/test/JS/JSTestCallback.h:
* bindings/scripts/test/V8/V8TestCallback.cpp:
(WebCore::V8TestCallback::V8TestCallback):
(WebCore::V8TestCallback::callbackWithClass1Param):
(WebCore::V8TestCallback::callbackWithClass2Param):
* bindings/scripts/test/V8/V8TestCallback.h:
(WebCore::V8TestCallback::create):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::methodWithCallbackArgCallback):
(WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Pass
the right ScriptExecutionContext to the V8 callbacks.
(WebCore::V8SQLStatementErrorCallback::handleEvent):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::openDatabaseCallback):
* bindings/v8/custom/V8DatabaseCustom.cpp:
(WebCore::V8Database::changeVersionCallback):
(WebCore::createTransaction):
* bindings/v8/custom/V8DatabaseSyncCustom.cpp:
(WebCore::V8DatabaseSync::changeVersionCallback):
(WebCore::createTransaction):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::V8SQLTransaction::executeSqlCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::V8WorkerContext::openDatabaseCallback):
(WebCore::V8WorkerContext::openDatabaseSyncCallback):
* dom/ActiveDOMObject.cpp: Simplify the code.
(WebCore::ActiveDOMObject::ActiveDOMObject):
(WebCore::ActiveDOMObject::~ActiveDOMObject):
* storage/Database.cpp: CallbackClass::handleEvent() doesn't take
a ScriptExecutionContext anymore.
(WebCore::DatabaseCreationCallbackTask::performTask):
* storage/DatabaseCallback.h:
* storage/DatabaseSync.cpp:
(WebCore::DatabaseSync::openDatabaseSync):
* storage/EntryCallback.h:
* storage/ErrorCallback.h:
* storage/FileSystemCallback.h:
* storage/MetadataCallback.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::performCallback):
* storage/SQLStatementCallback.h:
* storage/SQLStatementErrorCallback.h:
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
* storage/SQLTransactionCallback.h:
* storage/SQLTransactionErrorCallback.h:
* storage/SQLTransactionSync.cpp:
(WebCore::SQLTransactionSync::execute):
* storage/SQLTransactionSyncCallback.h:
2010-08-02 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: Trivial InspectorBackend functions were removed.
And now it is bit simpler to change Inspector API because we have
less number of abstraction layers.
https://bugs.webkit.org/show_bug.cgi?id=43402
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::clearConsoleMessages):
(WebCore::InspectorBackend::releaseWrapperObjectGroup):
(WebCore::InspectorBackend::inspectorFrontend):
(WebCore::InspectorBackend::remoteFrontend):
* inspector/InspectorBackend.h:
(WebCore::InspectorBackend::inspectorDOMAgent):
(WebCore::InspectorBackend::inspectorApplicationCacheAgent):
* inspector/InspectorController.h:
2010-08-03 Alexey Proskuryakov <ap@apple.com>
Unreviewed (emergency test fix).
REGRESSION (r64518): Most regression tests fail on ASSERT(shouldTrackVisitedLinks)
on Snow Leopard.
Platforms that use strategies now use a different code path than others, and that code path
lacks necessary checks. We don't have a Snow Leopard debug buildbot.
* page/PageGroup.cpp: (WebCore::PageGroup::addVisitedLinkHash): The private version of
addVisitedLink() must not be called when we're not tracking visited links.
2010-08-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Chromium DevTools: Get rid of DevTools RPC.
https://bugs.webkit.org/show_bug.cgi?id=43335
* bindings/js/ScriptProfiler.h:
(WebCore::ScriptProfiler::getProfilerLogLines):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::getProfilerLogLines):
* bindings/v8/ScriptProfiler.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::takeHeapSnapshot):
(WebCore::InspectorBackend::getProfilerLogLines):
* inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::disableProfiler):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.h:
* inspector/front-end/InspectorBackendStub.js:
(WebInspector.InspectorBackendStub):
2010-08-02 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Sam Weinig.
Removed temporary build rule introduced in r62594.
* DerivedSources.make:
2010-08-02 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Rolling out r64525 for breaking chromium tests.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::retrieve):
2010-08-02 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix, add stubs for FontCustomPlatformData to compile code that uses them.
* css/CSSFontFaceSource.cpp:
* platform/graphics/wx/FontCustomPlatformData.cpp: Added.
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::createFontCustomPlatformData):
(WebCore::FontCustomPlatformData::supportsFormat):
* platform/graphics/wx/FontCustomPlatformData.h: Added.
(WebCore::FontCustomPlatformData::FontCustomPlatformData):
* wscript:
2010-08-02 Brady Eidson <beidson@apple.com>
Reviewed by NOBODY (Build fix, forgot to svn add this file)
* platform/VisitedLinkStrategy.h: Added.
(WebCore::VisitedLinkStrategy::~VisitedLinkStrategy):
2010-08-02 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] WebKit2 requires lazy cursor support
https://bugs.webkit.org/show_bug.cgi?id=43053
Add lazy cursor support for GTK+. Lazy cursor support is used on some
WebKit2 ports to support changing the cursor.
No new tests, as this should not change functionality.
* platform/Cursor.h: Changed the m_platformCursor member to be a GRefPtr.
This simplifies the logic a great deal.
* platform/gtk/CursorGtk.cpp:
(WebCore::createNamedCursor): Added, adapted from existing code.
(WebCore::createCustomCursor): Added, adapted from existing code.
(WebCore::Cursor::ensurePlatformCursor): Added.
(WebCore::Cursor::Cursor): Added.
(WebCore::Cursor::operator=): Added.
(WebCore::Cursor::~Cursor): Added.
* platform/gtk/WidgetGtk.cpp:
(WebCore::Widget::setCursor): Call platformCusor now to get the actual GdkCursor.
2010-08-02 Rajiv Makhijani <rajivmakhijani@chromium.org>
Reviewed by Adam Barth.
Committed by Dirk Pranke.
Bug 38705 - [v8] chromium fails http/tests/sandbox-inherit-to-initial-document-2
https://bugs.webkit.org/show_bug.cgi?id=38705
WebCore::V8Proxy::retrieve(Frame* frame) calls WebCore::ScriptController::canExecuteScripts
and returns 0 if canExecuteScripts is false. It should return the proxy regardless
of whether the frame can execute scripts.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::retrieve): Removed canExecuteScripts check.
2010-08-02 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
Add VisitedLinkStrategy for each platform to implement
https://bugs.webkit.org/show_bug.cgi?id=43393
No new tests. (No change in behavior)
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Use VisitedLinkStrategy if it's enabled.
* loader/HistoryController.cpp:
(WebCore::addVisitedLink): Choose VisitedLinkStrategy if it's enabled, else fallback to PageGroup.
(WebCore::HistoryController::updateForStandardLoad): Use addVisitedLink helper.
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
(WebCore::HistoryController::updateForClientRedirect): Ditto.
(WebCore::HistoryController::updateForSameDocumentNavigation): Ditto.
* platform/PlatformStrategies.h:
(WebCore::PlatformStrategies::visitedLinkStrategy):
(WebCore::PlatformStrategies::PlatformStrategies):
2010-08-02 Chris Fleizach <cfleizach@apple.com>
Unreviewed, rolling out r64471.
http://trac.webkit.org/changeset/64471
https://bugs.webkit.org/show_bug.cgi?id=43005
Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
until further discussion
* Android.derived.v8bindings.mk:
* Android.jscbindings.mk:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::):
* accessibility/Accessibility.cpp: Removed.
* accessibility/Accessibility.h: Removed.
* accessibility/Accessibility.idl: Removed.
* accessibility/AccessibilityObject.h:
* accessibility/ScreenReader.cpp: Removed.
* accessibility/ScreenReader.h: Removed.
* accessibility/ScreenReader.idl: Removed.
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/AccessibilityObjectMac.mm:
* page/Navigator.cpp:
(WebCore::Navigator::disconnectFrame):
(WebCore::Navigator::mimeTypes):
* page/Navigator.h:
* page/Navigator.idl:
2010-08-02 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
Range::create should not be calling deprecatedEditingOffset and node on start and end
https://bugs.webkit.org/show_bug.cgi?id=43385
Replaced node() and deprecatedEditingOffset() by containerNode() and computeOffsetInContainerNode().
No new tests added since this does not change the behavior.
* dom/Range.cpp:
(WebCore::Range::create):
2010-08-02 Chris Fleizach <cfleizach@apple.com>
Unreviewed, rolling out r64472.
http://trac.webkit.org/changeset/64472
https://bugs.webkit.org/show_bug.cgi?id=43005
Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
until further discussion
* WebCore.vcproj/WebCore.vcproj:
2010-08-02 Chris Fleizach <cfleizach@apple.com>
Unreviewed, rolling out r64476.
http://trac.webkit.org/changeset/64476
Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
until further discussion
* WebCore.vcproj/WebCore.vcproj:
2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Fisher.
PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592
Classes PopupMenu and SearchPopupMenu have been made pure virtual.
* platform/PopupMenu.h:
(WebCore::PopupMenu::~PopupMenu):
* platform/SearchPopupMenu.h:
(WebCore::SearchPopupMenu::~SearchPopupMenu):
Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
the new pure virtual PopupMenu and SearchPopupMenu.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
(WebCore::RenderMenuList::showPopup):
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::addSearchResult):
(WebCore::RenderTextControlSingleLine::showPopup):
(WebCore::RenderTextControlSingleLine::hidePopup):
(WebCore::RenderTextControlSingleLine::updateFromElement):
(WebCore::RenderTextControlSingleLine::valueChanged):
* rendering/RenderTextControlSingleLine.h:
Chrome and ChromeClient were made responsible for providing instances of classes
PopupMenu and SearchPopupMenu to its users.
* loader/EmptyClients.h:
(WebCore::EmptyPopupMenu::show):
(WebCore::EmptyPopupMenu::hide):
(WebCore::EmptyPopupMenu::updateFromElement):
(WebCore::EmptyPopupMenu::disconnectClient):
(WebCore::EmptySearchPopupMenu::popupMenu):
(WebCore::EmptySearchPopupMenu::saveRecentSearches):
(WebCore::EmptySearchPopupMenu::loadRecentSearches):
(WebCore::EmptySearchPopupMenu::enabled):
(WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
(WebCore::EmptyChromeClient::createPopupMenu):
(WebCore::EmptyChromeClient::createSearchPopupMenu):
* page/Chrome.cpp:
(WebCore::Chrome::selectItemWritingDirectionIsNatural):
(WebCore::Chrome::createPopupMenu):
(WebCore::Chrome::createSearchPopupMenu):
* page/Chrome.h:
* page/ChromeClient.h:
Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
Each of new the files contain the concrete classes that inherit form PopupMenu or
SearchPopupMenu and are specific for the corresponding platform.
brew:
* platform/brew/PopupMenuBrew.cpp:
(WebCore::PopupMenuBrew::PopupMenuBrew):
(WebCore::PopupMenuBrew::~PopupMenuBrew):
(WebCore::PopupMenuBrew::disconnectClient):
(WebCore::PopupMenuBrew::show):
(WebCore::PopupMenuBrew::hide):
(WebCore::PopupMenuBrew::updateFromElement):
* platform/brew/PopupMenuBrew.h: Added.
(WebCore::PopupMenuBrew::client):
* platform/brew/SearchPopupMenuBrew.cpp:
(WebCore::SearchPopupMenuBrew::saveRecentSearches):
(WebCore::SearchPopupMenuBrew::loadRecentSearches):
(WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
(WebCore::SearchPopupMenuBrew::enabled):
(WebCore::SearchPopupMenuBrew::popupMenu):
* platform/brew/SearchPopupMenuBrew.h: Added.
chromium:
* WebCore.gypi:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupMenuChromium::PopupMenuChromium):
(WebCore::PopupMenuChromium::~PopupMenuChromium):
(WebCore::PopupMenuChromium::show):
(WebCore::PopupMenuChromium::hide):
(WebCore::PopupMenuChromium::updateFromElement):
(WebCore::PopupMenuChromium::disconnectClient):
* platform/chromium/PopupMenuChromium.h:
(WebCore::PopupMenuChromium::client):
* platform/chromium/SearchPopupMenuChromium.cpp:
(WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
(WebCore::SearchPopupMenuChromium::popupMenu):
(WebCore::SearchPopupMenuChromium::enabled):
(WebCore::SearchPopupMenuChromium::saveRecentSearches):
(WebCore::SearchPopupMenuChromium::loadRecentSearches):
* platform/chromium/SearchPopupMenuChromium.h: Added.
efl:
* platform/efl/PopupMenuEfl.cpp:
(WebCore::PopupMenuEfl::PopupMenuEfl):
(WebCore::PopupMenuEfl::~PopupMenuEfl):
(WebCore::PopupMenuEfl::show):
(WebCore::PopupMenuEfl::hide):
(WebCore::PopupMenuEfl::updateFromElement):
(WebCore::PopupMenuEfl::disconnectClient):
* platform/efl/PopupMenuEfl.h: Added.
(WebCore::PopupMenuEfl::client):
* platform/efl/SearchPopupMenuEfl.cpp:
(WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
(WebCore::SearchPopupMenuEfl::popupMenu):
(WebCore::SearchPopupMenuEfl::saveRecentSearches):
(WebCore::SearchPopupMenuEfl::loadRecentSearches):
(WebCore::SearchPopupMenuEfl::enabled):
* platform/efl/SearchPopupMenuEfl.h: Added.
gtk:
* GNUmakefile.am:
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::PopupMenuGtk):
(WebCore::PopupMenuGtk::~PopupMenuGtk):
(WebCore::PopupMenuGtk::show):
(WebCore::PopupMenuGtk::hide):
(WebCore::PopupMenuGtk::updateFromElement):
(WebCore::PopupMenuGtk::disconnectClient):
(WebCore::PopupMenuGtk::menuItemActivated):
(WebCore::PopupMenuGtk::menuUnmapped):
(WebCore::PopupMenuGtk::menuPositionFunction):
(WebCore::PopupMenuGtk::menuRemoveItem):
* platform/gtk/PopupMenuGtk.h: Added.
(WebCore::PopupMenuGtk::client):
* platform/gtk/SearchPopupMenuGtk.cpp:
(WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
(WebCore::SearchPopupMenuGtk::popupMenu):
(WebCore::SearchPopupMenuGtk::saveRecentSearches):
(WebCore::SearchPopupMenuGtk::loadRecentSearches):
(WebCore::SearchPopupMenuGtk::enabled):
* platform/gtk/SearchPopupMenuGtk.h: Added.
haiku:
* platform/haiku/PopupMenuHaiku.cpp:
(WebCore::HaikuPopup::HaikuPopup):
(WebCore::HaikuPopup::~HaikuPopup):
(WebCore::PopupMenuHaiku::PopupMenuHaiku):
(WebCore::PopupMenuHaiku::~PopupMenuHaiku):
(WebCore::PopupMenuHaiku::disconnectClient):
(WebCore::PopupMenuHaiku::show):
(WebCore::PopupMenuHaiku::hide):
(WebCore::PopupMenuHaiku::updateFromElement):
* platform/haiku/PopupMenuHaiku.h: Added.
(WebCore::PopupMenuHaiku::disconnectClient):
(WebCore::PopupMenuHaiku::client):
* platform/haiku/SearchPopupMenuHaiku.cpp:
(WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
(WebCore::SearchPopupMenuHaiku::saveRecentSearches):
(WebCore::SearchPopupMenuHaiku::loadRecentSearches):
(WebCore::SearchPopupMenuHaiku::enabled):
(WebCore::SearchPopupMenuHaiku::popupMenu):
* platform/haiku/SearchPopupMenuHaiku.h: Added.
mac:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/PopupMenuMac.h: Added.
(WebCore::PopupMenuMac::disconnectClient):
(WebCore::PopupMenuMac::client):
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenuMac::PopupMenuMac):
(WebCore::PopupMenuMac::~PopupMenuMac):
(WebCore::PopupMenuMac::clear):
(WebCore::PopupMenuMac::populate):
(WebCore::PopupMenuMac::show):
(WebCore::PopupMenuMac::hide):
(WebCore::PopupMenuMac::updateFromElement):
(WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
* platform/mac/SearchPopupMenuMac.h: Added.
* platform/mac/SearchPopupMenuMac.mm:
(WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
(WebCore::SearchPopupMenuMac::popupMenu):
(WebCore::SearchPopupMenuMac::enabled):
(WebCore::SearchPopupMenuMac::saveRecentSearches):
(WebCore::SearchPopupMenuMac::loadRecentSearches):
qt:
* WebCore.pro:
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenuQt::PopupMenuQt):
(WebCore::PopupMenuQt::~PopupMenuQt):
(WebCore::PopupMenuQt::disconnectClient):
(WebCore::PopupMenuQt::show):
(WebCore::PopupMenuQt::hide):
(WebCore::PopupMenuQt::updateFromElement):
* platform/qt/PopupMenuQt.h: Added.
* platform/qt/QtAbstractWebPopup.h:
* platform/qt/SearchPopupMenuQt.cpp:
(WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
(WebCore::SearchPopupMenuQt::popupMenu):
(WebCore::SearchPopupMenuQt::saveRecentSearches):
(WebCore::SearchPopupMenuQt::loadRecentSearches):
(WebCore::SearchPopupMenuQt::enabled):
* platform/qt/SearchPopupMenuQt.h: Added.
win:
* WebCore.vcproj/WebCore.vcproj:
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::PopupMenuWin):
(WebCore::PopupMenuWin::~PopupMenuWin):
(WebCore::PopupMenuWin::disconnectClient):
(WebCore::PopupMenuWin::popupClassName):
(WebCore::PopupMenuWin::show):
(WebCore::PopupMenuWin::hide):
(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::setFocusedIndex):
(WebCore::PopupMenuWin::visibleItems):
(WebCore::PopupMenuWin::listIndexAtPoint):
(WebCore::PopupMenuWin::focusedIndex):
(WebCore::PopupMenuWin::focusFirst):
(WebCore::PopupMenuWin::focusLast):
(WebCore::PopupMenuWin::down):
(WebCore::PopupMenuWin::up):
(WebCore::PopupMenuWin::invalidateItem):
(WebCore::PopupMenuWin::clientRect):
(WebCore::PopupMenuWin::incrementWheelDelta):
(WebCore::PopupMenuWin::reduceWheelDelta):
(WebCore::PopupMenuWin::scrollToRevealSelection):
(WebCore::PopupMenuWin::updateFromElement):
(WebCore::PopupMenuWin::paint):
(WebCore::PopupMenuWin::valueChanged):
(WebCore::PopupMenuWin::invalidateScrollbarRect):
(WebCore::PopupMenuWin::registerClass):
(WebCore::PopupMenuWin::PopupMenuWndProc):
(WebCore::PopupMenuWin::wndProc):
* platform/win/PopupMenuWin.h: Added.
(WebCore::PopupMenuWin::client):
(WebCore::PopupMenuWin::scrollbar):
(WebCore::PopupMenuWin::itemHeight):
(WebCore::PopupMenuWin::windowRect):
(WebCore::PopupMenuWin::popupHandle):
(WebCore::PopupMenuWin::setWasClicked):
(WebCore::PopupMenuWin::wasClicked):
(WebCore::PopupMenuWin::setScrollOffset):
(WebCore::PopupMenuWin::scrollOffset):
(WebCore::PopupMenuWin::wheelDelta):
(WebCore::PopupMenuWin::scrollbarCapturingMouse):
(WebCore::PopupMenuWin::setScrollbarCapturingMouse):
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
(WebCore::SearchPopupMenuWin::popupMenu):
(WebCore::SearchPopupMenuWin::enabled):
(WebCore::SearchPopupMenuWin::saveRecentSearches):
(WebCore::SearchPopupMenuWin::loadRecentSearches):
* platform/win/SearchPopupMenuWin.h: Added.
wx:
* platform/wx/PopupMenuWx.cpp:
(WebCore::PopupMenuWx::PopupMenuWx):
(WebCore::PopupMenuWx::~PopupMenuWx):
(WebCore::PopupMenuWx::disconnectClient):
(WebCore::PopupMenuWx::show):
(WebCore::PopupMenuWx::OnMenuItemSelected):
(WebCore::PopupMenuWx::hide):
(WebCore::PopupMenuWx::updateFromElement):
* platform/wx/PopupMenuWx.h: Added.
(WebCore::PopupMenuWx::client):
* platform/wx/SearchPopupMenuWx.cpp:
(WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
(WebCore::SearchPopupMenuWx::saveRecentSearches):
(WebCore::SearchPopupMenuWx::loadRecentSearches):
(WebCore::SearchPopupMenuWx::enabled):
(WebCore::SearchPopupMenuWx::popupMenu):
* platform/wx/SearchPopupMenuWx.h: Added.
2010-08-02 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Use GdkPixbuf for ImageBuffer::toDataURL
https://bugs.webkit.org/show_bug.cgi?id=43088
Implement ImageBuffer::toDataURL with GdkPixbuf instead of Cairo. This
allows the method to support a larger variety of image types.
* GNUmakefile.am: Add new files to the source list.
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypesForEncoding):
Add the list of image types supported by GTK.
* platform/graphics/cairo/ImageBufferCairo.cpp:
* platform/graphics/gtk/CairoUtilities.cpp: Added.
(getCairoSurfacePixel): Move this method from ImageGtk.cpp.
(getGdkPixbufPixel): Move this method from ImageGtk.cpp.
(cairoImageSurfaceToGdkPixbuf): Move this method from ImageGtk.cpp.
* platform/graphics/gtk/CairoUtilities.h: Added.
* platform/graphics/gtk/ImageBufferGtk.cpp: Added.
(WebCore::ImageBuffer::toDataURL): Use GdkPixbuf to do the conversion to a data url.
* platform/graphics/gtk/ImageGtk.cpp:
(WebCore::BitmapImage::getGdkPixbuf): Use the new helper method in CairoUtilities.h.
2010-08-02 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Add support for the Audio element in the DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=43313
The IDL definition of some HTMLMediaElement methods does not match
the C++ implementation API, take this fact into account when
generating the bindings.
* bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
(WebKit::createAudioWrapper):
(WebKit::createHTMLElementWrapper):
* bindings/scripts/CodeGeneratorGObject.pm:
2010-08-02 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fix plug-in test failures and remove tests from the Skipped list
https://bugs.webkit.org/show_bug.cgi?id=43389
* WebCore.exp.in:
Export FrameLoader::cancelledError.
2010-08-02 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
Basic WK2 visited link coloring
https://bugs.webkit.org/show_bug.cgi?id=43377
No new tests. (No change in behavior)
* WebCore.exp.in:
* page/PageGroup.cpp:
(WebCore::PageGroup::addVisitedLinkHash):
* page/PageGroup.h:
2010-08-02 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Style cleanup for CairoPath.h
https://bugs.webkit.org/show_bug.cgi?id=43133
Turn CairoPath into a class, as it has a constructor and destructor.
Change raw member access to use the new accessor.
No new tests as functionality has not changed.
* platform/graphics/cairo/CairoPath.h: Cleanup and indentation fix.
(WebCore::CairoPath::CairoPath):
(WebCore::CairoPath::~CairoPath):
(WebCore::CairoPath::context):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::addPath): Convert raw member access to accessor access.
(WebCore::GraphicsContext::clip): Ditto.
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::Path): Ditto.
(WebCore::Path::operator=): Ditto.
(WebCore::Path::clear): Ditto.
(WebCore::Path::isEmpty): Ditto.
(WebCore::Path::currentPoint): Ditto.
(WebCore::Path::translate): Ditto.
(WebCore::Path::moveTo): Ditto.
(WebCore::Path::addLineTo): Ditto.
(WebCore::Path::addRect): Ditto.
(WebCore::Path::addQuadCurveTo): Ditto.
(WebCore::Path::addBezierCurveTo): Ditto.
(WebCore::Path::addArc): Ditto.
(WebCore::Path::addArcTo): Ditto.
(WebCore::Path::addEllipse): Ditto.
(WebCore::Path::closeSubpath): Ditto.
(WebCore::Path::boundingRect): Ditto.
(WebCore::Path::strokeBoundingRect): Ditto.
(WebCore::Path::contains): Ditto.
(WebCore::Path::strokeContains): Ditto.
(WebCore::Path::apply): Ditto.
(WebCore::Path::transform): Ditto.
(WebCore::Path::debugString): Ditto.
2010-07-20 Ojan Vafai <ojan@chromium.org>
Reviewed by Eric Seidel.
focusing the body of a contentEditable iframe resets the selection
https://bugs.webkit.org/show_bug.cgi?id=42645
The selection shouldn't be reset to the beginning of the rootEditableElement
if it is already inside the rootEditableElement.
Test: editing/selection/focus-contenteditable-iframe.html
* dom/Element.cpp:
(WebCore::Element::updateFocusAppearance):
2010-07-20 Ojan Vafai <ojan@chromium.org>
Reviewed by Eric Seidel.
focusing an unfocused contentEditable element should place the cursor at the beginning
https://bugs.webkit.org/show_bug.cgi?id=42646
r14666 made this change for the body and html elements, but not for all contentEditable
elements. Doing this for all contentEditable elements matches all other browsers.
* dom/Element.cpp:
(WebCore::Element::updateFocusAppearance):
2010-08-02 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
Group functions used in createMarkup (range version) into a class so they are easier to understand
https://bugs.webkit.org/show_bug.cgi?id=43227
Added MarkupAccumulatorWrapper to group getStartMarkup, getEndMarkup, joinMarkups, and addStyleMarkup.
MarkupAccumulatorWrapper is intended to be merged with MarkupAccumulator in the future.
No new tests added since this is a clean up.
* editing/markup.cpp:
(WebCore::MarkupAccumulatorWrapper::MarkupAccumulatorWrapper): Added.
(WebCore::MarkupAccumulatorWrapper::insertString): Added.
(WebCore::MarkupAccumulatorWrapper::insertOpenTag): Added.
(WebCore::MarkupAccumulatorWrapper::insertEndTag): Added.
(WebCore::MarkupAccumulatorWrapper::wrapWithNode): Added.
(WebCore::MarkupAccumulatorWrapper::wrapWithStyleNode): Added.
(WebCore::MarkupAccumulatorWrapper::takeResults): Added.
(WebCore::createMarkup): Uses MarkupAccumulatorWrapper.
2010-08-02 Brian Weinstein <bweinstein@apple.com>
Add a missing </File> tag to WebCore.vcproj.
* WebCore.vcproj/WebCore.vcproj:
2010-08-02 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Chris Fleizach.
[GTK] Implement support for get_character_extents and get_range_extents
https://bugs.webkit.org/show_bug.cgi?id=25677
Implement get_range_extents() and modify get_character_extents()
to properly work after "The Great Flattening" occurred in the ATK
objects hierarchy, some months ago.
In the case of the GTK port, not just the text controls should be
considered when it comes to these functions but also those
composite objects that would also allow to work with text ranges,
such as headings and links. To take care of this, a new function
AccessibilityObject::allowsTextRanges() was defined with a default
implementation in the header file and an specific one for GTK in
AccessibilityObjectAtk.cpp.
Based on a previous patch by Joanmarie Diggs.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::visiblePositionRangeForRange):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::allowsTextRanges): New
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::visiblePositionForIndex):
(WebCore::AccessibilityRenderObject::doAXBoundsForRange):
* accessibility/gtk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::allowsTextRanges): New
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(textExtents):
(webkit_accessible_text_get_character_extents):
(webkit_accessible_text_get_range_extents):
(atk_text_interface_init):
2010-08-02 Chris Fleizach <cfleizach@apple.com>
AX: Support methods for web apps to interact with the native accessibility APIs
https://bugs.webkit.org/show_bug.cgi?id=43005
Fix for windows build. No review.
* WebCore.vcproj/WebCore.vcproj:
2010-08-02 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: Support methods for web apps to interact with the native accessibility APIs
https://bugs.webkit.org/show_bug.cgi?id=43005
Adds a new "accessibility" object that hangs off of "window.navigator".
This accessibility object will allow web apps to interact with native accessibility APIs
to provide a richer experience (for screen reader users primarily).
Test: platform/mac/accessibility/js-accessibility.html
* Android.derived.v8bindings.mk:
* Android.jscbindings.mk:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::):
* accessibility/Accessibility.cpp: Added.
(WebCore::Accessibility::Accessibility):
(WebCore::Accessibility::~Accessibility):
(WebCore::Accessibility::disconnectFrame):
(WebCore::Accessibility::screenChanged):
(WebCore::Accessibility::elementsChanged):
(WebCore::Accessibility::screenReader):
* accessibility/Accessibility.h: Added.
(WebCore::Accessibility::create):
* accessibility/Accessibility.idl: Added.
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isScreenReaderRunning):
(WebCore::AccessibilityObject::screenReaderFocusedElement):
(WebCore::AccessibilityObject::screenReaderVersion):
* accessibility/ScreenReader.cpp: Added.
(WebCore::ScreenReader::ScreenReader):
(WebCore::ScreenReader::~ScreenReader):
(WebCore::ScreenReader::disconnectFrame):
(WebCore::ScreenReader::active):
(WebCore::ScreenReader::activeElement):
(WebCore::ScreenReader::version):
* accessibility/ScreenReader.h: Added.
(WebCore::ScreenReader::create):
* accessibility/ScreenReader.idl: Added.
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::isScreenReaderRunning):
(WebCore::AccessibilityObject::screenReaderFocusedElement):
(WebCore::AccessibilityObject::screenReaderVersion):
* page/Navigator.cpp:
(WebCore::Navigator::disconnectFrame):
(WebCore::Navigator::accessibility):
* page/Navigator.h:
* page/Navigator.idl:
2010-08-02 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[Gtk] DOM listeners get wrong keycodes for some keys
https://bugs.webkit.org/show_bug.cgi?id=35170
Emit the proper DOM keyCode for the print screen, keypad insert,
and keypad delete keys.
* platform/gtk/KeyEventGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent): Fix mapping between GDK key codes
and Windows key codes.
2010-08-02 Dirk Schulze <krit@webkit.org>
Unreviewed sort of Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-08-02 Kristian Monsen <kristianm@google.com>
Reviewed by Steve Block.
Compile fix for Android, adding guards around filter specific code.
https://bugs.webkit.org/show_bug.cgi?id=43338
This CL introduced the code:
http://trac.webkit.org/changeset/64196
Compile fix only, no new tests.
* rendering/SVGResourcesCycleSolver.cpp:
(WebCore::SVGResourcesCycleSolver::breakCycle):
2010-08-02 Kristian Monsen <kristianm@google.com>
Reviewed by Steve Block.
Compile fix for Android, guard inspector code with ENABLE(INSPECTOR).
https://bugs.webkit.org/show_bug.cgi?id=43345
Code introduced in this CL:
http://trac.webkit.org/changeset/63891
No new tests, just a compile fix.
* bindings/v8/ScriptValue.cpp:
2010-08-02 Jeremy Orlow <jorlow@chromium.org>
Speculative revert of 64425 due to Chromium instability
https://bugs.webkit.org/show_bug.cgi?id=43347
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/EmptyClients.h:
* page/Chrome.cpp:
* page/Chrome.h:
* page/ChromeClient.h:
* platform/PopupMenu.h:
(WebCore::PopupMenu::create):
(WebCore::PopupMenu::disconnectClient):
(WebCore::PopupMenu::client):
(WebCore::PopupMenu::scrollbar):
(WebCore::PopupMenu::itemHeight):
(WebCore::PopupMenu::windowRect):
(WebCore::PopupMenu::popupHandle):
(WebCore::PopupMenu::setWasClicked):
(WebCore::PopupMenu::wasClicked):
(WebCore::PopupMenu::setScrollOffset):
(WebCore::PopupMenu::scrollOffset):
(WebCore::PopupMenu::wheelDelta):
(WebCore::PopupMenu::scrollbarCapturingMouse):
(WebCore::PopupMenu::setScrollbarCapturingMouse):
(WebCore::PopupMenu::isActive):
(WebCore::PopupMenu::scrollbarCornerPresent):
* platform/SearchPopupMenu.h:
(WebCore::SearchPopupMenu::create):
* platform/brew/PopupMenuBrew.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/brew/PopupMenuBrew.h: Removed.
* platform/brew/SearchPopupMenuBrew.cpp:
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
* platform/brew/SearchPopupMenuBrew.h: Removed.
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/chromium/PopupMenuChromium.h:
* platform/chromium/SearchPopupMenuChromium.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
* platform/chromium/SearchPopupMenuChromium.h: Removed.
* platform/efl/PopupMenuEfl.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/efl/PopupMenuEfl.h: Removed.
* platform/efl/SearchPopupMenuEfl.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/efl/SearchPopupMenuEfl.h: Removed.
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
(WebCore::PopupMenu::menuItemActivated):
(WebCore::PopupMenu::menuUnmapped):
(WebCore::PopupMenu::menuPositionFunction):
(WebCore::PopupMenu::menuRemoveItem):
* platform/gtk/PopupMenuGtk.h: Removed.
* platform/gtk/SearchPopupMenuGtk.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/gtk/SearchPopupMenuGtk.h: Removed.
* platform/haiku/PopupMenuHaiku.cpp:
(WebCore::PopupMenuHaiku::PopupMenuHaiku):
(WebCore::PopupMenuHaiku::~PopupMenuHaiku):
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/haiku/PopupMenuHaiku.h: Removed.
* platform/haiku/SearchPopupMenuHaiku.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/haiku/SearchPopupMenuHaiku.h: Removed.
* platform/mac/PopupMenuMac.h: Removed.
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::clear):
(WebCore::PopupMenu::populate):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/mac/SearchPopupMenuMac.h: Removed.
* platform/mac/SearchPopupMenuMac.mm:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/qt/PopupMenuQt.h: Removed.
* platform/qt/QtAbstractWebPopup.h:
* platform/qt/SearchPopupMenuQt.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/qt/SearchPopupMenuQt.h: Removed.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::popupClassName):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::calculatePositionAndSize):
(WebCore::PopupMenu::setFocusedIndex):
(WebCore::PopupMenu::visibleItems):
(WebCore::PopupMenu::listIndexAtPoint):
(WebCore::PopupMenu::focusedIndex):
(WebCore::PopupMenu::focusFirst):
(WebCore::PopupMenu::focusLast):
(WebCore::PopupMenu::down):
(WebCore::PopupMenu::up):
(WebCore::PopupMenu::invalidateItem):
(WebCore::PopupMenu::clientRect):
(WebCore::PopupMenu::incrementWheelDelta):
(WebCore::PopupMenu::reduceWheelDelta):
(WebCore::PopupMenu::scrollToRevealSelection):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
(WebCore::PopupMenu::paint):
(WebCore::PopupMenu::valueChanged):
(WebCore::PopupMenu::invalidateScrollbarRect):
(WebCore::PopupMenu::registerClass):
(WebCore::PopupMenu::PopupMenuWndProc):
(WebCore::PopupMenu::wndProc):
* platform/win/PopupMenuWin.h: Removed.
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
* platform/win/SearchPopupMenuWin.h: Removed.
* platform/wx/PopupMenuWx.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::OnMenuItemSelected):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/wx/PopupMenuWx.h: Removed.
* platform/wx/SearchPopupMenuWx.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/wx/SearchPopupMenuWx.h: Removed.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
(WebCore::RenderMenuList::showPopup):
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::addSearchResult):
(WebCore::RenderTextControlSingleLine::showPopup):
(WebCore::RenderTextControlSingleLine::hidePopup):
(WebCore::RenderTextControlSingleLine::updateFromElement):
(WebCore::RenderTextControlSingleLine::valueChanged):
* rendering/RenderTextControlSingleLine.h:
2010-08-02 Markus Goetz <Markus.Goetz@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Do not link to SharedBufferCF.cpp
The Qt port does not need this file.
We plan to implement the platformData()
for SharedBuffer at some point soon.
https://bugs.webkit.org/show_bug.cgi?id=43242
* WebCore.pro:
* platform/SharedBuffer.cpp:
2010-08-02 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Simon Hausmann.
[Qt] Generate forwarding headers for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=43336
* WebCore.pri: Removed header copying logic.
* WebCore.pro: Add include paths for WebKit2.
2010-08-02 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: adding experimental support for WebInspector extensions API.
https://bugs.webkit.org/show_bug.cgi?id=40425
Tests: inspector/extensions-api.html
inspector/extensions.html
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedWindowScriptObjectCleared):
(WebCore::InspectorController::didCommitLoad):
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::setExtensionAPI):
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
(WebInspector.ElementsPanel):
* inspector/front-end/ExtensionAPI.js: Added. An API implementation that gets injected into the extension context.
(injectedExtensionAPI):
(injectedExtensionAPI.EventSinkImpl.prototype.addListener):
(injectedExtensionAPI.EventSinkImpl.prototype.removeListener):
(injectedExtensionAPI.EventSinkImpl.prototype._fire):
(injectedExtensionAPI.EventSink):
(injectedExtensionAPI.InspectorExtensionAPI):
(injectedExtensionAPI.InspectorExtensionAPI.prototype.log):
(injectedExtensionAPI.Resources.prototype.getAll):
(injectedExtensionAPI.Resources.prototype.get return):
(injectedExtensionAPI.Resources.prototype):
(injectedExtensionAPI.Panels):
(injectedExtensionAPI.Panels.prototype.create.callbackWrapper):
(injectedExtensionAPI.Panels.prototype.create):
(injectedExtensionAPI.PanelImpl):
(injectedExtensionAPI.PanelImpl.prototype.createSidebarPane.callbackWrapper):
(injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
(injectedExtensionAPI.ExtensionPanel):
(injectedExtensionAPI.ExtensionSidebarPaneImpl):
(injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
(injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpanded):
(injectedExtensionAPI.InspectedWindow):
(injectedExtensionAPI.InspectedWindow.prototype.reload):
(injectedExtensionAPI.InspectedWindow.prototype.evaluate):
(injectedExtensionAPI.ExtensionServerClient.prototype.sendRequest):
(injectedExtensionAPI.ExtensionServerClient.prototype.registerHandler):
(injectedExtensionAPI.ExtensionServerClient.prototype.nextObjectId):
(injectedExtensionAPI.ExtensionServerClient.prototype._registerCallback):
(injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
(injectedExtensionAPI.ExtensionServerClient.prototype._onMessage):
(injectedExtensionAPI.expandURL):
(injectedExtensionAPI.):
* inspector/front-end/ExtensionPanel.js: Added. A class that provides WebInspector's Panel interface to the inspector, hosts extension panel within an IFrame and proxies Panel callbacks to the extension.
(WebInspector.ExtensionPanel):
(WebInspector.ExtensionPanel.prototype.get defaultFocusedElement):
(WebInspector.ExtensionPanel.prototype.updateMainViewWidth):
(WebInspector.ExtensionPanel.prototype.searchCanceled):
(WebInspector.ExtensionPanel.prototype.performSearch):
(WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
(WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
(WebInspector.ExtensionPanel.prototype._addStyleRule):
* inspector/front-end/ExtensionRegistryStub.js: Added. A stub for ExtensionRegistry class that is meant to provide a list of extensions. Actual implementations may be browser-specfic.
(.WebInspector.InspectorExtensionRegistryStub):
(.WebInspector.InspectorExtensionRegistryStub.prototype.getExtensionsAsync):
* inspector/front-end/ExtensionServer.js: Added. Communicates with ExtensionAPI via DOM messaging and proxies requests to WebInspector classes.
(WebInspector.ExtensionServer):
(WebInspector.ExtensionServer.prototype.notifyPanelShown):
(WebInspector.ExtensionServer.prototype.notifyObjectSelected):
(WebInspector.ExtensionServer.prototype.notifyResourceFinished):
(WebInspector.ExtensionServer.prototype.notifySearchAction):
(WebInspector.ExtensionServer.prototype.notifyInspectedPageLoaded):
(WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
(WebInspector.ExtensionServer.prototype.notifyInspectorReset):
(WebInspector.ExtensionServer.prototype._convertResource):
(WebInspector.ExtensionServer.prototype._postNotification):
(WebInspector.ExtensionServer.prototype._onSubscribe):
(WebInspector.ExtensionServer.prototype._onUnsubscribe):
(WebInspector.ExtensionServer.prototype._onCreatePanel):
(WebInspector.ExtensionServer.prototype._onCreateSidebar):
(WebInspector.ExtensionServer.prototype._createClientIframe):
(WebInspector.ExtensionServer.prototype._onSetSidebarHeight):
(WebInspector.ExtensionServer.prototype._onSetSidebarExpansion):
(WebInspector.ExtensionServer.prototype._onLog):
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
(WebInspector.ExtensionServer.prototype._onRevealAndSelect):
(WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
(WebInspector.ExtensionServer.prototype._dispatchCallback):
(WebInspector.ExtensionServer.prototype._onGetResources):
(WebInspector.ExtensionServer.prototype.initExtensions):
(WebInspector.ExtensionServer.prototype._addExtensions):
(WebInspector.ExtensionServer.prototype._onWindowMessage):
(WebInspector.ExtensionServer.prototype._onmessage):
(WebInspector.ExtensionServer.prototype._registerHandler):
(WebInspector.ExtensionStatus):
(WebInspector.addExtensions):
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
* inspector/front-end/InjectedScriptAccess.js:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.setExtensionAPI):
(.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.loaded):
(WebInspector.updateResource):
(WebInspector.reset):
(WebInspector.inspectedURLChanged):
(WebInspector.didCommitLoad):
2010-08-02 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: Inspector is not working when it is loaded as html page.
https://bugs.webkit.org/show_bug.cgi?id=43334
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
(.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
2010-08-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVG gradients do not update when scripted via xlink
https://bugs.webkit.org/show_bug.cgi?id=42953
Unify cycle detection logic for chainable (through xlink:href) and ordinary resources.
All operate on the render tree now, instead of falling back to the DOM tree for xlink:href queries.
When linking resources, register as regular client, so the regular update mechanisms work as expected.
<linearGradient id="foo"><stop../> </linearGradient>
<linearGradient id="bar" xlink:href="#foo"/>
<rect fill="url(#bar)"/>
Without that the rect won't receive invalidation notifications, as foo <-> bar had no connection.
Fixes the last outstanding class of invalidations. Also speeds up the cycle detetion, when using chained resources,
as no SVG DOM queries have to be executed anymore.
Test: svg/custom/js-update-stop-linked-gradient.svg
* rendering/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
(WebCore::linkedResourceForContainer):
* rendering/SVGResources.cpp:
(WebCore::SVGResources::SVGResources):
(WebCore::chainableResourceTags):
(WebCore::targetReferenceFromResource):
(WebCore::registerPendingResource):
(WebCore::SVGResources::buildCachedResources):
(WebCore::SVGResources::invalidateClient):
(WebCore::SVGResources::resourceDestroyed):
(WebCore::SVGResources::buildSetOfResources):
(WebCore::SVGResources::setLinkedResource):
(WebCore::SVGResources::resetLinkedResource):
(WebCore::SVGResources::dump):
* rendering/SVGResources.h:
(WebCore::SVGResources::linkedResource):
* rendering/SVGResourcesCycleSolver.cpp:
(WebCore::SVGResourcesCycleSolver::resolveCycles):
(WebCore::SVGResourcesCycleSolver::breakCycle):
* rendering/SVGResourcesCycleSolver.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement):
* svg/SVGFilterElement.h:
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::SVGGradientElement):
* svg/SVGGradientElement.h:
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientProperties):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::collectPatternProperties):
* svg/SVGPatternElement.h:
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientProperties):
2010-07-31 Dan Bernstein <mitz@apple.com>
Try to fix the Windows build when zlib is not available.
* platform/graphics/WOFFFileFormat.cpp:
2010-07-31 Dan Bernstein <mitz@apple.com>
Try to fix the Windows build when zlib is not available.
* platform/graphics/WOFFFileFormat.cpp:
2010-07-31 Dan Bernstein <mitz@apple.com>
Try to fix the Windows build when zlib is not available.
* platform/graphics/WOFFFileFormat.cpp:
2010-07-31 Dan Bernstein <mitz@apple.com>
Fix typo in attempted build fix.
* platform/graphics/WOFFFileFormat.cpp:
2010-07-31 Dan Bernstein <mitz@apple.com>
Try to fix the Windows build when zlib is not available.
* platform/graphics/WOFFFileFormat.cpp:
2010-07-31 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8234766> Add WOFF support for @font-face
https://bugs.webkit.org/show_bug.cgi?id=31302
* WebCore.vcproj/WebCore.vcproj: Added WOFFFileFormat.{cpp,h}.
* WebCore.vcproj/WebCoreCommon.vsprops: Added $(WebKitLibraries)\include\zlib to the header search path.
* WebCore.xcodeproj/project.pbxproj: Added WOFFFileFormat.{cpp,h} and linking against libz.
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::isSupportedFormat): Replaced hard-coded list of supported formats with
call to FontCustomPlatformData::supportsFormat().
* platform/graphics/WOFFFileFormat.cpp: Added.
(WebCore::isWOFF): Checks if the buffer has the WOFF signature.
(WebCore::convertWOFFToSfnt): Extracts the sfnt payload of a WOFF package.
* platform/graphics/WOFFFileFormat.h: Added.
* platform/graphics/cairo/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/chromium/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype,
and also for woff if the OpenType sanitizer is enabled.
* platform/graphics/chromium/FontCustomPlatformData.h:
* platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
(WebCore::FontCustomPlatformData::supportsFormat): Added. Returns false.
* platform/graphics/haiku/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::supportsFormat): Ditto.
* platform/graphics/haiku/FontCustomPlatformData.h:
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::freeSfntData):
(WebCore::createFontCustomPlatformData): If the OpenType font sanitizer is not enabled, use convertWOFFToSfnt().
(WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype, opentype and woff.
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/qt/FontCustomPlatformData.h:
* platform/graphics/qt/FontCustomPlatformDataQt.cpp:
(WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
* platform/graphics/win/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData): If the OpenType font sanitizer is not enabled, use convertWOFFToSfnt().
(WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype, opentype and woff.
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::supportsFormat): Added. Returns true for truetype and opentype.
* platform/graphics/win/FontCustomPlatformDataCairo.h:
* platform/graphics/wince/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::supportsFormat): Ditto.
* platform/graphics/wince/FontCustomPlatformData.h:
2010-07-31 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Ojan Vafai.
SplitElementCommand shouldn't be duplicating id attribute
https://bugs.webkit.org/show_bug.cgi?id=27156
Modified SplitElementCommand to delete the id attribute from the second element when splitting an element.
Since this causes WebKit not to merge split elements, added shouldSplitElement to ApplyStyleCommand which
determines the necessity of splitting the element.
To share code between shouldSplitElement and removeInlineStyleFromElement (extracted from applyInlineStyle)
dontRemove was added as the 3rd argument to removeHTMLFontStyle, removeHTMLBidiEmbeddingStyle, and removeCSSStyle.
Test: editing/style/split-element-id-duplication.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyBlockStyle): Added 3rd argument for removeCSSStyle.
(WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitElement.
(WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Extracted from removeInlineStyle.
(WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Inline helper for removeInlineStyleFromElement.
(WebCore::ApplyStyleCommand::removeHTMLFontStyle): Added dontRemove.
(WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added dontRemove.
(WebCore::ApplyStyleCommand::removeCSSStyle): Added dontRemove.
(WebCore::ApplyStyleCommand::removeInlineStyle): Calls removeInlineStyleFromElement.
(WebCore::ApplyStyleCommand::splitTextElementAtStart): Removed the call to splitTextAtStart.
Branching is now done in applyInlineStyle.
(WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto for splitTextAtEnd.
(WebCore::ApplyStyleCommand::shouldSplitElement): Added.
* editing/ApplyStyleCommand.h:
* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::executeApply): Deletes the id attribute from the second element.
(WebCore::SplitElementCommand::doUnapply): Recovers the id attribute of the second element.
2010-07-31 Luiz Agostini <luiz.agostini@openbossa.org>
Build fix: Windows.
* platform/win/PopupMenuWin.h:
2010-07-31 Luiz Agostini <luiz.agostini@openbossa.org>
Windows build fix.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::PopupMenuWndProc):
2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Fisher.
PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592
Classes PopupMenu and SearchPopupMenu have been made pure virtual.
* platform/PopupMenu.h:
(WebCore::PopupMenu::~PopupMenu):
* platform/SearchPopupMenu.h:
(WebCore::SearchPopupMenu::~SearchPopupMenu):
Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
the new pure virtual PopupMenu and SearchPopupMenu.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
(WebCore::RenderMenuList::showPopup):
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::addSearchResult):
(WebCore::RenderTextControlSingleLine::showPopup):
(WebCore::RenderTextControlSingleLine::hidePopup):
(WebCore::RenderTextControlSingleLine::updateFromElement):
(WebCore::RenderTextControlSingleLine::valueChanged):
* rendering/RenderTextControlSingleLine.h:
Chrome and ChromeClient were made responsible for providing instances of classes
PopupMenu and SearchPopupMenu to its users.
* loader/EmptyClients.h:
(WebCore::EmptyPopupMenu::show):
(WebCore::EmptyPopupMenu::hide):
(WebCore::EmptyPopupMenu::updateFromElement):
(WebCore::EmptyPopupMenu::disconnectClient):
(WebCore::EmptySearchPopupMenu::popupMenu):
(WebCore::EmptySearchPopupMenu::saveRecentSearches):
(WebCore::EmptySearchPopupMenu::loadRecentSearches):
(WebCore::EmptySearchPopupMenu::enabled):
(WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
(WebCore::EmptyChromeClient::createPopupMenu):
(WebCore::EmptyChromeClient::createSearchPopupMenu):
* page/Chrome.cpp:
(WebCore::Chrome::selectItemWritingDirectionIsNatural):
(WebCore::Chrome::createPopupMenu):
(WebCore::Chrome::createSearchPopupMenu):
* page/Chrome.h:
* page/ChromeClient.h:
Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
Each of new the files contain the concrete classes that inherit form PopupMenu or
SearchPopupMenu and are specific for the corresponding platform.
brew:
* platform/brew/PopupMenuBrew.cpp:
(WebCore::PopupMenuBrew::PopupMenuBrew):
(WebCore::PopupMenuBrew::~PopupMenuBrew):
(WebCore::PopupMenuBrew::disconnectClient):
(WebCore::PopupMenuBrew::show):
(WebCore::PopupMenuBrew::hide):
(WebCore::PopupMenuBrew::updateFromElement):
* platform/brew/PopupMenuBrew.h: Added.
(WebCore::PopupMenuBrew::client):
* platform/brew/SearchPopupMenuBrew.cpp:
(WebCore::SearchPopupMenuBrew::saveRecentSearches):
(WebCore::SearchPopupMenuBrew::loadRecentSearches):
(WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
(WebCore::SearchPopupMenuBrew::enabled):
(WebCore::SearchPopupMenuBrew::popupMenu):
* platform/brew/SearchPopupMenuBrew.h: Added.
chromium:
* WebCore.gypi:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupMenuChromium::PopupMenuChromium):
(WebCore::PopupMenuChromium::~PopupMenuChromium):
(WebCore::PopupMenuChromium::show):
(WebCore::PopupMenuChromium::hide):
(WebCore::PopupMenuChromium::updateFromElement):
(WebCore::PopupMenuChromium::disconnectClient):
* platform/chromium/PopupMenuChromium.h:
(WebCore::PopupMenuChromium::client):
* platform/chromium/SearchPopupMenuChromium.cpp:
(WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
(WebCore::SearchPopupMenuChromium::popupMenu):
(WebCore::SearchPopupMenuChromium::enabled):
(WebCore::SearchPopupMenuChromium::saveRecentSearches):
(WebCore::SearchPopupMenuChromium::loadRecentSearches):
* platform/chromium/SearchPopupMenuChromium.h: Added.
efl:
* platform/efl/PopupMenuEfl.cpp:
(WebCore::PopupMenuEfl::PopupMenuEfl):
(WebCore::PopupMenuEfl::~PopupMenuEfl):
(WebCore::PopupMenuEfl::show):
(WebCore::PopupMenuEfl::hide):
(WebCore::PopupMenuEfl::updateFromElement):
(WebCore::PopupMenuEfl::disconnectClient):
* platform/efl/PopupMenuEfl.h: Added.
(WebCore::PopupMenuEfl::client):
* platform/efl/SearchPopupMenuEfl.cpp:
(WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
(WebCore::SearchPopupMenuEfl::popupMenu):
(WebCore::SearchPopupMenuEfl::saveRecentSearches):
(WebCore::SearchPopupMenuEfl::loadRecentSearches):
(WebCore::SearchPopupMenuEfl::enabled):
* platform/efl/SearchPopupMenuEfl.h: Added.
gtk:
* GNUmakefile.am:
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::PopupMenuGtk):
(WebCore::PopupMenuGtk::~PopupMenuGtk):
(WebCore::PopupMenuGtk::show):
(WebCore::PopupMenuGtk::hide):
(WebCore::PopupMenuGtk::updateFromElement):
(WebCore::PopupMenuGtk::disconnectClient):
(WebCore::PopupMenuGtk::menuItemActivated):
(WebCore::PopupMenuGtk::menuUnmapped):
(WebCore::PopupMenuGtk::menuPositionFunction):
(WebCore::PopupMenuGtk::menuRemoveItem):
* platform/gtk/PopupMenuGtk.h: Added.
(WebCore::PopupMenuGtk::client):
* platform/gtk/SearchPopupMenuGtk.cpp:
(WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
(WebCore::SearchPopupMenuGtk::popupMenu):
(WebCore::SearchPopupMenuGtk::saveRecentSearches):
(WebCore::SearchPopupMenuGtk::loadRecentSearches):
(WebCore::SearchPopupMenuGtk::enabled):
* platform/gtk/SearchPopupMenuGtk.h: Added.
haiku:
* platform/haiku/PopupMenuHaiku.cpp:
(WebCore::HaikuPopup::HaikuPopup):
(WebCore::HaikuPopup::~HaikuPopup):
(WebCore::PopupMenuHaiku::PopupMenuHaiku):
(WebCore::PopupMenuHaiku::~PopupMenuHaiku):
(WebCore::PopupMenuHaiku::disconnectClient):
(WebCore::PopupMenuHaiku::show):
(WebCore::PopupMenuHaiku::hide):
(WebCore::PopupMenuHaiku::updateFromElement):
* platform/haiku/PopupMenuHaiku.h: Added.
(WebCore::PopupMenuHaiku::disconnectClient):
(WebCore::PopupMenuHaiku::client):
* platform/haiku/SearchPopupMenuHaiku.cpp:
(WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
(WebCore::SearchPopupMenuHaiku::saveRecentSearches):
(WebCore::SearchPopupMenuHaiku::loadRecentSearches):
(WebCore::SearchPopupMenuHaiku::enabled):
(WebCore::SearchPopupMenuHaiku::popupMenu):
* platform/haiku/SearchPopupMenuHaiku.h: Added.
mac:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/PopupMenuMac.h: Added.
(WebCore::PopupMenuMac::disconnectClient):
(WebCore::PopupMenuMac::client):
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenuMac::PopupMenuMac):
(WebCore::PopupMenuMac::~PopupMenuMac):
(WebCore::PopupMenuMac::clear):
(WebCore::PopupMenuMac::populate):
(WebCore::PopupMenuMac::show):
(WebCore::PopupMenuMac::hide):
(WebCore::PopupMenuMac::updateFromElement):
(WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
* platform/mac/SearchPopupMenuMac.h: Added.
* platform/mac/SearchPopupMenuMac.mm:
(WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
(WebCore::SearchPopupMenuMac::popupMenu):
(WebCore::SearchPopupMenuMac::enabled):
(WebCore::SearchPopupMenuMac::saveRecentSearches):
(WebCore::SearchPopupMenuMac::loadRecentSearches):
qt:
* WebCore.pro:
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenuQt::PopupMenuQt):
(WebCore::PopupMenuQt::~PopupMenuQt):
(WebCore::PopupMenuQt::disconnectClient):
(WebCore::PopupMenuQt::show):
(WebCore::PopupMenuQt::hide):
(WebCore::PopupMenuQt::updateFromElement):
* platform/qt/PopupMenuQt.h: Added.
* platform/qt/QtAbstractWebPopup.h:
* platform/qt/SearchPopupMenuQt.cpp:
(WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
(WebCore::SearchPopupMenuQt::popupMenu):
(WebCore::SearchPopupMenuQt::saveRecentSearches):
(WebCore::SearchPopupMenuQt::loadRecentSearches):
(WebCore::SearchPopupMenuQt::enabled):
* platform/qt/SearchPopupMenuQt.h: Added.
win:
* WebCore.vcproj/WebCore.vcproj:
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::PopupMenuWin):
(WebCore::PopupMenuWin::~PopupMenuWin):
(WebCore::PopupMenuWin::disconnectClient):
(WebCore::PopupMenuWin::popupClassName):
(WebCore::PopupMenuWin::show):
(WebCore::PopupMenuWin::hide):
(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::setFocusedIndex):
(WebCore::PopupMenuWin::visibleItems):
(WebCore::PopupMenuWin::listIndexAtPoint):
(WebCore::PopupMenuWin::focusedIndex):
(WebCore::PopupMenuWin::focusFirst):
(WebCore::PopupMenuWin::focusLast):
(WebCore::PopupMenuWin::down):
(WebCore::PopupMenuWin::up):
(WebCore::PopupMenuWin::invalidateItem):
(WebCore::PopupMenuWin::clientRect):
(WebCore::PopupMenuWin::incrementWheelDelta):
(WebCore::PopupMenuWin::reduceWheelDelta):
(WebCore::PopupMenuWin::scrollToRevealSelection):
(WebCore::PopupMenuWin::updateFromElement):
(WebCore::PopupMenuWin::paint):
(WebCore::PopupMenuWin::valueChanged):
(WebCore::PopupMenuWin::invalidateScrollbarRect):
(WebCore::PopupMenuWin::registerClass):
(WebCore::PopupMenuWin::PopupMenuWndProc):
(WebCore::PopupMenuWin::wndProc):
* platform/win/PopupMenuWin.h: Added.
(WebCore::PopupMenuWin::client):
(WebCore::PopupMenuWin::scrollbar):
(WebCore::PopupMenuWin::itemHeight):
(WebCore::PopupMenuWin::windowRect):
(WebCore::PopupMenuWin::popupHandle):
(WebCore::PopupMenuWin::setWasClicked):
(WebCore::PopupMenuWin::wasClicked):
(WebCore::PopupMenuWin::setScrollOffset):
(WebCore::PopupMenuWin::scrollOffset):
(WebCore::PopupMenuWin::wheelDelta):
(WebCore::PopupMenuWin::scrollbarCapturingMouse):
(WebCore::PopupMenuWin::setScrollbarCapturingMouse):
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
(WebCore::SearchPopupMenuWin::popupMenu):
(WebCore::SearchPopupMenuWin::enabled):
(WebCore::SearchPopupMenuWin::saveRecentSearches):
(WebCore::SearchPopupMenuWin::loadRecentSearches):
* platform/win/SearchPopupMenuWin.h: Added.
wx:
* platform/wx/PopupMenuWx.cpp:
(WebCore::PopupMenuWx::PopupMenuWx):
(WebCore::PopupMenuWx::~PopupMenuWx):
(WebCore::PopupMenuWx::disconnectClient):
(WebCore::PopupMenuWx::show):
(WebCore::PopupMenuWx::OnMenuItemSelected):
(WebCore::PopupMenuWx::hide):
(WebCore::PopupMenuWx::updateFromElement):
* platform/wx/PopupMenuWx.h: Added.
(WebCore::PopupMenuWx::client):
* platform/wx/SearchPopupMenuWx.cpp:
(WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
(WebCore::SearchPopupMenuWx::saveRecentSearches):
(WebCore::SearchPopupMenuWx::loadRecentSearches):
(WebCore::SearchPopupMenuWx::enabled):
(WebCore::SearchPopupMenuWx::popupMenu):
* platform/wx/SearchPopupMenuWx.h: Added.
2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64422.
http://trac.webkit.org/changeset/64422
https://bugs.webkit.org/show_bug.cgi?id=43304
Build fixes are needed for Snow Leopard and Windows.
(Requested by lca on #webkit).
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/EmptyClients.h:
* page/Chrome.cpp:
* page/Chrome.h:
* page/ChromeClient.h:
* platform/PopupMenu.h:
(WebCore::PopupMenu::create):
(WebCore::PopupMenu::disconnectClient):
(WebCore::PopupMenu::client):
(WebCore::PopupMenu::scrollbar):
(WebCore::PopupMenu::itemHeight):
(WebCore::PopupMenu::windowRect):
(WebCore::PopupMenu::popupHandle):
(WebCore::PopupMenu::setWasClicked):
(WebCore::PopupMenu::wasClicked):
(WebCore::PopupMenu::setScrollOffset):
(WebCore::PopupMenu::scrollOffset):
(WebCore::PopupMenu::wheelDelta):
(WebCore::PopupMenu::scrollbarCapturingMouse):
(WebCore::PopupMenu::setScrollbarCapturingMouse):
(WebCore::PopupMenu::isActive):
(WebCore::PopupMenu::scrollbarCornerPresent):
* platform/SearchPopupMenu.h:
(WebCore::SearchPopupMenu::create):
* platform/brew/PopupMenuBrew.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/brew/PopupMenuBrew.h: Removed.
* platform/brew/SearchPopupMenuBrew.cpp:
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
* platform/brew/SearchPopupMenuBrew.h: Removed.
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/chromium/PopupMenuChromium.h:
* platform/chromium/SearchPopupMenuChromium.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
* platform/chromium/SearchPopupMenuChromium.h: Removed.
* platform/efl/PopupMenuEfl.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/efl/PopupMenuEfl.h: Removed.
* platform/efl/SearchPopupMenuEfl.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/efl/SearchPopupMenuEfl.h: Removed.
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
(WebCore::PopupMenu::menuItemActivated):
(WebCore::PopupMenu::menuUnmapped):
(WebCore::PopupMenu::menuPositionFunction):
(WebCore::PopupMenu::menuRemoveItem):
* platform/gtk/PopupMenuGtk.h: Removed.
* platform/gtk/SearchPopupMenuGtk.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/gtk/SearchPopupMenuGtk.h: Removed.
* platform/haiku/PopupMenuHaiku.cpp:
(WebCore::PopupMenuHaiku::PopupMenuHaiku):
(WebCore::PopupMenuHaiku::~PopupMenuHaiku):
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/haiku/PopupMenuHaiku.h: Removed.
* platform/haiku/SearchPopupMenuHaiku.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/haiku/SearchPopupMenuHaiku.h: Removed.
* platform/mac/PopupMenuMac.h: Removed.
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::clear):
(WebCore::PopupMenu::populate):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/mac/SearchPopupMenuMac.h: Removed.
* platform/mac/SearchPopupMenuMac.mm:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/qt/PopupMenuQt.h: Removed.
* platform/qt/QtAbstractWebPopup.h:
* platform/qt/SearchPopupMenuQt.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/qt/SearchPopupMenuQt.h: Removed.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::popupClassName):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::calculatePositionAndSize):
(WebCore::PopupMenu::setFocusedIndex):
(WebCore::PopupMenu::visibleItems):
(WebCore::PopupMenu::listIndexAtPoint):
(WebCore::PopupMenu::focusedIndex):
(WebCore::PopupMenu::focusFirst):
(WebCore::PopupMenu::focusLast):
(WebCore::PopupMenu::down):
(WebCore::PopupMenu::up):
(WebCore::PopupMenu::invalidateItem):
(WebCore::PopupMenu::clientRect):
(WebCore::PopupMenu::incrementWheelDelta):
(WebCore::PopupMenu::reduceWheelDelta):
(WebCore::PopupMenu::scrollToRevealSelection):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
(WebCore::PopupMenu::paint):
(WebCore::PopupMenu::valueChanged):
(WebCore::PopupMenu::invalidateScrollbarRect):
(WebCore::PopupMenu::registerClass):
(WebCore::PopupMenu::PopupMenuWndProc):
(WebCore::PopupMenu::wndProc):
* platform/win/PopupMenuWin.h: Removed.
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
* platform/win/SearchPopupMenuWin.h: Removed.
* platform/wx/PopupMenuWx.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::OnMenuItemSelected):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/wx/PopupMenuWx.h: Removed.
* platform/wx/SearchPopupMenuWx.cpp:
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/wx/SearchPopupMenuWx.h: Removed.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
(WebCore::RenderMenuList::showPopup):
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::addSearchResult):
(WebCore::RenderTextControlSingleLine::showPopup):
(WebCore::RenderTextControlSingleLine::hidePopup):
(WebCore::RenderTextControlSingleLine::updateFromElement):
(WebCore::RenderTextControlSingleLine::valueChanged):
* rendering/RenderTextControlSingleLine.h:
2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Fisher.
PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592
Classes PopupMenu and SearchPopupMenu have been made pure virtual.
* platform/PopupMenu.h:
(WebCore::PopupMenu::~PopupMenu):
* platform/SearchPopupMenu.h:
(WebCore::SearchPopupMenu::~SearchPopupMenu):
Classes RenderMenuList and RenderTexyControlSingleLine have been changed to use
the new pure virtual PopupMenu and SearchPopupMenu.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
(WebCore::RenderMenuList::showPopup):
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::addSearchResult):
(WebCore::RenderTextControlSingleLine::showPopup):
(WebCore::RenderTextControlSingleLine::hidePopup):
(WebCore::RenderTextControlSingleLine::updateFromElement):
(WebCore::RenderTextControlSingleLine::valueChanged):
* rendering/RenderTextControlSingleLine.h:
Chrome and ChromeClient were made responsible for providing instances of classes
PopupMenu and SearchPopupMenu to its users.
* loader/EmptyClients.h:
(WebCore::EmptyPopupMenu::show):
(WebCore::EmptyPopupMenu::hide):
(WebCore::EmptyPopupMenu::updateFromElement):
(WebCore::EmptyPopupMenu::disconnectClient):
(WebCore::EmptySearchPopupMenu::popupMenu):
(WebCore::EmptySearchPopupMenu::saveRecentSearches):
(WebCore::EmptySearchPopupMenu::loadRecentSearches):
(WebCore::EmptySearchPopupMenu::enabled):
(WebCore::EmptyChromeClient::selectItemWritingDirectionIsNatural):
(WebCore::EmptyChromeClient::createPopupMenu):
(WebCore::EmptyChromeClient::createSearchPopupMenu):
* page/Chrome.cpp:
(WebCore::Chrome::selectItemWritingDirectionIsNatural):
(WebCore::Chrome::createPopupMenu):
(WebCore::Chrome::createSearchPopupMenu):
* page/Chrome.h:
* page/ChromeClient.h:
Original contents of files PopupMenu.h and SearchPopupMenu.h have been splited
in several files, two for each platform (PopupMenuXXX.h and SearchPopupMenuXXX.h).
Each of new the files contain the concrete classes that inherit form PopupMenu or
SearchPopupMenu and are specific for the corresponding platform.
brew:
* platform/brew/PopupMenuBrew.cpp:
(WebCore::PopupMenuBrew::PopupMenuBrew):
(WebCore::PopupMenuBrew::~PopupMenuBrew):
(WebCore::PopupMenuBrew::disconnectClient):
(WebCore::PopupMenuBrew::show):
(WebCore::PopupMenuBrew::hide):
(WebCore::PopupMenuBrew::updateFromElement):
* platform/brew/PopupMenuBrew.h: Added.
(WebCore::PopupMenuBrew::client):
* platform/brew/SearchPopupMenuBrew.cpp:
(WebCore::SearchPopupMenuBrew::saveRecentSearches):
(WebCore::SearchPopupMenuBrew::loadRecentSearches):
(WebCore::SearchPopupMenuBrew::SearchPopupMenuBrew):
(WebCore::SearchPopupMenuBrew::enabled):
(WebCore::SearchPopupMenuBrew::popupMenu):
* platform/brew/SearchPopupMenuBrew.h: Added.
chromium:
* WebCore.gypi:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupMenuChromium::PopupMenuChromium):
(WebCore::PopupMenuChromium::~PopupMenuChromium):
(WebCore::PopupMenuChromium::show):
(WebCore::PopupMenuChromium::hide):
(WebCore::PopupMenuChromium::updateFromElement):
(WebCore::PopupMenuChromium::disconnectClient):
* platform/chromium/PopupMenuChromium.h:
(WebCore::PopupMenuChromium::client):
* platform/chromium/SearchPopupMenuChromium.cpp:
(WebCore::SearchPopupMenuChromium::SearchPopupMenuChromium):
(WebCore::SearchPopupMenuChromium::popupMenu):
(WebCore::SearchPopupMenuChromium::enabled):
(WebCore::SearchPopupMenuChromium::saveRecentSearches):
(WebCore::SearchPopupMenuChromium::loadRecentSearches):
* platform/chromium/SearchPopupMenuChromium.h: Added.
efl:
* platform/efl/PopupMenuEfl.cpp:
(WebCore::PopupMenuEfl::PopupMenuEfl):
(WebCore::PopupMenuEfl::~PopupMenuEfl):
(WebCore::PopupMenuEfl::show):
(WebCore::PopupMenuEfl::hide):
(WebCore::PopupMenuEfl::updateFromElement):
(WebCore::PopupMenuEfl::disconnectClient):
* platform/efl/PopupMenuEfl.h: Added.
(WebCore::PopupMenuEfl::client):
* platform/efl/SearchPopupMenuEfl.cpp:
(WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
(WebCore::SearchPopupMenuEfl::popupMenu):
(WebCore::SearchPopupMenuEfl::saveRecentSearches):
(WebCore::SearchPopupMenuEfl::loadRecentSearches):
(WebCore::SearchPopupMenuEfl::enabled):
* platform/efl/SearchPopupMenuEfl.h: Added.
gtk:
* GNUmakefile.am:
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::PopupMenuGtk):
(WebCore::PopupMenuGtk::~PopupMenuGtk):
(WebCore::PopupMenuGtk::show):
(WebCore::PopupMenuGtk::hide):
(WebCore::PopupMenuGtk::updateFromElement):
(WebCore::PopupMenuGtk::disconnectClient):
(WebCore::PopupMenuGtk::menuItemActivated):
(WebCore::PopupMenuGtk::menuUnmapped):
(WebCore::PopupMenuGtk::menuPositionFunction):
(WebCore::PopupMenuGtk::menuRemoveItem):
* platform/gtk/PopupMenuGtk.h: Added.
(WebCore::PopupMenuGtk::client):
* platform/gtk/SearchPopupMenuGtk.cpp:
(WebCore::SearchPopupMenuGtk::SearchPopupMenuGtk):
(WebCore::SearchPopupMenuGtk::popupMenu):
(WebCore::SearchPopupMenuGtk::saveRecentSearches):
(WebCore::SearchPopupMenuGtk::loadRecentSearches):
(WebCore::SearchPopupMenuGtk::enabled):
* platform/gtk/SearchPopupMenuGtk.h: Added.
haiku:
* platform/haiku/PopupMenuHaiku.cpp:
(WebCore::HaikuPopup::HaikuPopup):
(WebCore::HaikuPopup::~HaikuPopup):
(WebCore::PopupMenuHaiku::PopupMenuHaiku):
(WebCore::PopupMenuHaiku::~PopupMenuHaiku):
(WebCore::PopupMenuHaiku::disconnectClient):
(WebCore::PopupMenuHaiku::show):
(WebCore::PopupMenuHaiku::hide):
(WebCore::PopupMenuHaiku::updateFromElement):
* platform/haiku/PopupMenuHaiku.h: Added.
(WebCore::PopupMenuHaiku::disconnectClient):
(WebCore::PopupMenuHaiku::client):
* platform/haiku/SearchPopupMenuHaiku.cpp:
(WebCore::SearchPopupMenuHaiku::SearchPopupMenuHaiku):
(WebCore::SearchPopupMenuHaiku::saveRecentSearches):
(WebCore::SearchPopupMenuHaiku::loadRecentSearches):
(WebCore::SearchPopupMenuHaiku::enabled):
(WebCore::SearchPopupMenuHaiku::popupMenu):
* platform/haiku/SearchPopupMenuHaiku.h: Added.
mac:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/PopupMenuMac.h: Added.
(WebCore::PopupMenuMac::disconnectClient):
(WebCore::PopupMenuMac::client):
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenuMac::PopupMenuMac):
(WebCore::PopupMenuMac::~PopupMenuMac):
(WebCore::PopupMenuMac::clear):
(WebCore::PopupMenuMac::populate):
(WebCore::PopupMenuMac::show):
(WebCore::PopupMenuMac::hide):
(WebCore::PopupMenuMac::updateFromElement):
(WebCore::PopupMenuMac::itemWritingDirectionIsNatural):
* platform/mac/SearchPopupMenuMac.h: Added.
* platform/mac/SearchPopupMenuMac.mm:
(WebCore::SearchPopupMenuMac::SearchPopupMenuMac):
(WebCore::SearchPopupMenuMac::popupMenu):
(WebCore::SearchPopupMenuMac::enabled):
(WebCore::SearchPopupMenuMac::saveRecentSearches):
(WebCore::SearchPopupMenuMac::loadRecentSearches):
qt:
* WebCore.pro:
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenuQt::PopupMenuQt):
(WebCore::PopupMenuQt::~PopupMenuQt):
(WebCore::PopupMenuQt::disconnectClient):
(WebCore::PopupMenuQt::show):
(WebCore::PopupMenuQt::hide):
(WebCore::PopupMenuQt::updateFromElement):
* platform/qt/PopupMenuQt.h: Added.
* platform/qt/QtAbstractWebPopup.h:
* platform/qt/SearchPopupMenuQt.cpp:
(WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
(WebCore::SearchPopupMenuQt::popupMenu):
(WebCore::SearchPopupMenuQt::saveRecentSearches):
(WebCore::SearchPopupMenuQt::loadRecentSearches):
(WebCore::SearchPopupMenuQt::enabled):
* platform/qt/SearchPopupMenuQt.h: Added.
win:
* WebCore.vcproj/WebCore.vcproj:
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::PopupMenuWin):
(WebCore::PopupMenuWin::~PopupMenuWin):
(WebCore::PopupMenuWin::disconnectClient):
(WebCore::PopupMenuWin::popupClassName):
(WebCore::PopupMenuWin::show):
(WebCore::PopupMenuWin::hide):
(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::setFocusedIndex):
(WebCore::PopupMenuWin::visibleItems):
(WebCore::PopupMenuWin::listIndexAtPoint):
(WebCore::PopupMenuWin::focusedIndex):
(WebCore::PopupMenuWin::focusFirst):
(WebCore::PopupMenuWin::focusLast):
(WebCore::PopupMenuWin::down):
(WebCore::PopupMenuWin::up):
(WebCore::PopupMenuWin::invalidateItem):
(WebCore::PopupMenuWin::clientRect):
(WebCore::PopupMenuWin::incrementWheelDelta):
(WebCore::PopupMenuWin::reduceWheelDelta):
(WebCore::PopupMenuWin::scrollToRevealSelection):
(WebCore::PopupMenuWin::updateFromElement):
(WebCore::PopupMenuWin::paint):
(WebCore::PopupMenuWin::valueChanged):
(WebCore::PopupMenuWin::invalidateScrollbarRect):
(WebCore::PopupMenuWin::registerClass):
(WebCore::PopupMenuWin::PopupMenuWndProc):
(WebCore::PopupMenuWin::wndProc):
* platform/win/PopupMenuWin.h: Added.
(WebCore::PopupMenuWin::client):
(WebCore::PopupMenuWin::scrollbar):
(WebCore::PopupMenuWin::itemHeight):
(WebCore::PopupMenuWin::windowRect):
(WebCore::PopupMenuWin::popupHandle):
(WebCore::PopupMenuWin::setWasClicked):
(WebCore::PopupMenuWin::wasClicked):
(WebCore::PopupMenuWin::setScrollOffset):
(WebCore::PopupMenuWin::scrollOffset):
(WebCore::PopupMenuWin::wheelDelta):
(WebCore::PopupMenuWin::scrollbarCapturingMouse):
(WebCore::PopupMenuWin::setScrollbarCapturingMouse):
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenuWin::SearchPopupMenuWin):
(WebCore::SearchPopupMenuWin::popupMenu):
(WebCore::SearchPopupMenuWin::enabled):
(WebCore::SearchPopupMenuWin::saveRecentSearches):
(WebCore::SearchPopupMenuWin::loadRecentSearches):
* platform/win/SearchPopupMenuWin.h: Added.
wx:
* platform/wx/PopupMenuWx.cpp:
(WebCore::PopupMenuWx::PopupMenuWx):
(WebCore::PopupMenuWx::~PopupMenuWx):
(WebCore::PopupMenuWx::disconnectClient):
(WebCore::PopupMenuWx::show):
(WebCore::PopupMenuWx::OnMenuItemSelected):
(WebCore::PopupMenuWx::hide):
(WebCore::PopupMenuWx::updateFromElement):
* platform/wx/PopupMenuWx.h: Added.
(WebCore::PopupMenuWx::client):
* platform/wx/SearchPopupMenuWx.cpp:
(WebCore::SearchPopupMenuWx::SearchPopupMenuWx):
(WebCore::SearchPopupMenuWx::saveRecentSearches):
(WebCore::SearchPopupMenuWx::loadRecentSearches):
(WebCore::SearchPopupMenuWx::enabled):
(WebCore::SearchPopupMenuWx::popupMenu):
* platform/wx/SearchPopupMenuWx.h: Added.
2010-07-31 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support
Reviewed by Darin Adler.
* Configurations/WebCore.xcconfig: Extracted
PRODUCTION_FRAMEWORKS_DIR variable.
2010-07-31 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
HTMLStyleElement/SVGStyleElement need to share more code
https://bugs.webkit.org/show_bug.cgi?id=43293
Simplify HTMLStyleElement/SVGStyleElement. They look identically now, as all code is shared in StyleElement.
Doesn't affect any tests.
* dom/StyleElement.cpp:
(WebCore::StyleElement::StyleElement): Take createdByParser & Document arguments, to share the line number extraction logic. Store it in m_lineNumber.
(WebCore::StyleElement::insertedIntoDocument): Moved addStyleSheetCandidateNode here, to share code between HTML/SVGStyleElement.
(WebCore::StyleElement::removedFromDocument): Same for removeStyleSheetCandidateNode.
(WebCore::StyleElement::childrenChanged): Introduced new helper function.
(WebCore::StyleElement::finishParsingChildren): Ditto.
(WebCore::StyleElement::process): Use stored m_lineNumber, avoids a parameter.
(WebCore::StyleElement::createSheet): No need to call the virtual setLoading() function, just store m_loading in StyleElement, and set it from here.
(WebCore::StyleElement::isLoading): Introduced new helper function.
(WebCore::StyleElement::sheetLoaded): Ditto.
* dom/StyleElement.h:
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement): Pass Document & createdByParser arguments to StyleElement.
(WebCore::HTMLStyleElement::finishParsingChildren): Delegate work to StyleElement.
(WebCore::HTMLStyleElement::insertedIntoDocument): Ditto.
(WebCore::HTMLStyleElement::removedFromDocument): Ditto.
(WebCore::HTMLStyleElement::childrenChanged): Ditto.
* html/HTMLStyleElement.h:
(WebCore::HTMLStyleElement::isLoading): Ditto.
(WebCore::HTMLStyleElement::sheetLoaded): Ditto.
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::SVGStyleElement): Pass Document & createdByParser arguments to StyleElement.
(WebCore::SVGStyleElement::finishParsingChildren): Delegate work to StyleElement.
(WebCore::SVGStyleElement::insertedIntoDocument): Ditto.
(WebCore::SVGStyleElement::removedFromDocument): Ditto.
(WebCore::SVGStyleElement::childrenChanged): Ditto.
* svg/SVGStyleElement.h:
(WebCore::SVGStyleElement::isLoading): Ditto.
(WebCore::SVGStyleElement::sheetLoaded): Ditto.
2010-07-31 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed. Attempt to fix release build failure.
Having 'fail:' label without goto statement generates a compiler
warning that causes a build failure in release build.
* bindings/scripts/CodeGeneratorV8.pm:
2010-07-31 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Nikolas Zimmermann.
Fix 'bool' in bindings/scripts/test/TestObj.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::CREATE):
(WebDOMTestObj::setCREATE):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_get_create):
(webkit_dom_test_obj_set_create):
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjCreate):
(WebCore::setJSTestObjCreate):
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj CREATE]):
(-[DOMTestObj setCREATE:]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::CREATEAttrGetter):
(WebCore::TestObjInternal::CREATEAttrSetter):
2010-07-30 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
Add idl and mock implementation for HTML5 FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=43134
Add idl for: FileSystem (as DOMFileSystem), Entry, Flags, Metadata,
FileSystemCallback, EntryCallback and ErrorCallback.
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html
They are added only for Mac and chromium.
Tests will be added when we expose the entry point and add implementation.
* DerivedSources.make:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* storage/DOMFileSystem.cpp: Added.
* storage/DOMFileSystem.h: Added.
* storage/DOMFileSystem.idl: Added.
* storage/Entry.cpp: Added.
* storage/Entry.h: Added.
* storage/Entry.idl: Added.
* storage/EntryCallback.h: Added.
* storage/EntryCallback.idl: Added.
* storage/ErrorCallback.h: Added.
* storage/ErrorCallback.idl: Added.
* storage/FileSystemCallback.h: Added.
* storage/FileSystemCallback.idl: Added.
* storage/Flags.h: Added.
* storage/Flags.idl: Added.
* storage/Metadata.h: Added.
* storage/Metadata.idl: Added.
* storage/MetadataCallback.h: Added.
* storage/MetadataCallback.idl: Added.
* bindings/scripts/CodeGenerator.pm: Added special case handlings for generating setter/getter names for CREATE/EXCLUSIVE attributes in Flags.idl.
* bindings/scripts/test/TestObj.idl: Updated.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Updated.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h: Updated.
* bindings/scripts/test/JS/JSTestObj.cpp: Updated.
* bindings/scripts/test/JS/JSTestObj.h: Updated.
* bindings/scripts/test/ObjC/DOMTestObj.h: Updated.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Updated.
2010-07-30 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64408.
http://trac.webkit.org/changeset/64408
https://bugs.webkit.org/show_bug.cgi?id=43292
Causing failed tests on Chromium canaries due to wrong history
item counts (Requested by atwilson on #webkit).
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::scheduleRedirect):
(WebCore::RedirectScheduler::mustLockBackForwardList):
(WebCore::RedirectScheduler::scheduleLocationChange):
(WebCore::RedirectScheduler::scheduleFormSubmission):
* loader/RedirectScheduler.h:
2010-07-30 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8257783> Short documents may print a second blank page
https://bugs.webkit.org/show_bug.cgi?id=43271
Test: printing/stretch-to-view-height.html
* WebCore.exp.in: Export Frame::forceLayoutForPagination(), replacing forceLayoutWithPageWidthRange().
* page/Frame.cpp:
(WebCore::Frame::setPrinting): Now takes a page width and height and a maximum shrink factor and passes
them down to forceLayoutForPagination().
* page/Frame.h:
(WebCore::Frame::):
* page/FrameView.cpp:
(WebCore::FrameView::reset): Initialize m_pageHeight.
(WebCore::FrameView::forceLayoutForPagination): Renamed forceLayoutWithPageWidthRange() to this and
changed it to take a page width and height and a maximum shrink factor. Sets m_pageHeight, which is
queried by RenderBox::calcHeight() during layout. If the given pageHeight is 0, m_pageHeight is set
to the visible height, retaining the behavior before this change.
* page/FrameView.h:
(WebCore::FrameView::pageHeight): Added this accessor.
* page/PrintContext.cpp:
(WebCore::PrintContext::begin): Added a height parameter, used when calling setPrinting().
(WebCore::PrintContext::end): Updated for setPrinting() changes.
(WebCore::PrintContext::pageNumberForElement): Account for shrink-to-fit.
(WebCore::PrintContext::pageProperty): Pass 0 for the height, retaining current behavior.
(WebCore::PrintContext::numberOfPages): Account for shrink-to-fit.
(WebCore::PrintContext::spoolAllPagesWithBoundaries): Pass the page width to begin().
* page/PrintContext.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcHeight): When printing, use FrameView::pageHeight() as the basis for
viewport-relative heights.
2010-07-30 Mihai Parparita <mihaip@chromium.org>
Reviewed by Darin Fisher.
Session history should skip over JS redirects
https://bugs.webkit.org/show_bug.cgi?id=42861
Lock the back/forward list for location changes that happen before the
onload event fires that are not the result of user gestures.
Test: fast/history/gesture-before-onload.html and updated expectations
for http/tests/history tests that used to fail.
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::scheduleRedirect):
(WebCore::RedirectScheduler::mustLockBackForwardList):
(WebCore::RedirectScheduler::scheduleLocationChange):
(WebCore::RedirectScheduler::scheduleFormSubmission):
* loader/RedirectScheduler.h:
2010-07-30 Matthew Delaney <mdelaney@apple.com>
Reviewed by Darin Adler.
ctx.clearRect improperly clears shadow
https://bugs.webkit.org/show_bug.cgi?id=43213
Tests: canvas/philip/tests/2d.clearRect+fillRect.alpha0.5.html
canvas/philip/tests/2d.clearRect+fillRect.alpha0.html
canvas/philip/tests/2d.clearRect+fillRect.basic.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
Added a new method to wipe out all context attributes to their defaults.
(WebCore::CanvasRenderingContext2D::clearRect):
Updated clearRect to ignore shadow, alpha, and global composite attributes
when clearing the input rect to match the canvas spec.
* html/canvas/CanvasRenderingContext2D.h:
2010-07-30 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Decouple FileThread from FileStream to support generic file-related async tasks
https://bugs.webkit.org/show_bug.cgi?id=43135
No new tests as this doesn't change any functionality.
* html/FileThread.cpp:
(WebCore::FileThread::stop):
(WebCore::SameInstancePredicate::SameFilePredicate):
(WebCore::SameInstancePredicate::operator()):
(WebCore::FileThread::unscheduleTasksInternal):
* html/FileThread.h:
(WebCore::FileThread::create):
(WebCore::FileThread::Task::instance):
(WebCore::FileThread::Task::Task):
* html/FileThreadTask.h: Changed all templates to take any type as a callee instance.
(WebCore::createFileThreadTask):
2010-07-30 Darin Fisher <darin@chromium.org>
Reviewed by Darin Adler.
Eliminate BackForwardList::pushStateItem
https://bugs.webkit.org/show_bug.cgi?id=43282
The layout test was previously disabled because of the assertion being
hit in BackForwardList::pushStateItem. That assertion revealed the need
for this patch.
Test: fast/loader/stateobjects/pushstate-in-iframe.html
* history/BackForwardList.h:
* history/BackForwardListChromium.cpp:
* history/BackForwardListImpl.cpp:
* history/BackForwardListImpl.h:
* loader/HistoryController.cpp: Move the logic, of adding a null state
object to the HistoryItem that was previously the current HistoryItem, to
HistoryController::pushState from BackForwardList::pushStateItem. The
BackForwardList was the wrong place for that logic since it lacked convenient
access to the target HistoryItem. It is just given the top-most HistoryItem
corresponding to the new navigation.
(WebCore::HistoryController::updateBackForwardListClippedAtTarget):
(WebCore::HistoryController::pushState):
2010-07-30 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Simon Fraser.
Enabling view modes to all platforms
https://bugs.webkit.org/show_bug.cgi?id=37505
View mode media feature implementation as specified in http://www.w3.org/TR/view-mode.
The view mode media feature layout tests are stil skipped for all platforms except Qt
because of the lack of support of LayoutTestController in those platforms.
Test: fast/media/view-mode-media-feature.html
* css/MediaFeatureNames.h:
* css/MediaQueryEvaluator.cpp:
(WebCore::view_modeMediaFeatureEval):
* page/ChromeClient.h:
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::createViewModesSet):
(WebCore::Page::setViewMode):
* page/Page.h:
(WebCore::Page::viewMode):
2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 4 - Client Notification when the Quota is Reached
Notify the WebKit client when the per-origin quota is reached
via a delegate method reachedApplicationCacheOriginQuota.
Call the delegate method when the quota is reached.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didReachOriginQuota):
(WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
(WebCore::ApplicationCacheGroup::scheduleReachedOriginQuotaCallback):
* loader/appcache/ApplicationCacheGroup.h:
Some minor refactoring to access more quota information
without repeating code. Such as origin usage, and creating
an origin record.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::usageForOrigin):
(WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin):
(WebCore::ApplicationCacheStorage::store):
(WebCore::ApplicationCacheStorage::ensureOriginRecord):
* loader/appcache/ApplicationCacheStorage.h:
Boilerplate. Exports and definition of the delegate method.
* WebCore.OfflineWebApplications.exp:
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
* page/ChromeClient.h:
2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 3 - Refactor storeNewestCache to allow Failure Reason Output
Storing can result in an error in a number of reasons. Previously
the reasons were global and binary and could be determined by
checking ApplicationCacheStorage state. Now, with per-origin quotas
a per-origin quota can cause a failure that is not in global state.
Current failure reasons are:
OriginQuotaReached = per-origin quota reached, no storage is allowed.
TotalQuotaReached = database quota reached, no storage is allowed.
DiskOrOperationFailure = SQL error such as failed prepare or query. Not expected to happen.
This part provides an implementation of storeNewestCache for those
that care about the failure reason, and not just if it succeeded
or not. This moves the final origin quota check into the transaction.
* loader/appcache/ApplicationCache.h: style fix for forwarding headers.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): move origin quota check into storeNewestCache's SQL transaction.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::storeNewestCache): old implementation calls the new implementation ignoring failure reason.
(WebCore::ApplicationCacheStorage::storeNewestCache): new implementation provides a failure reason in case of failure.
* loader/appcache/ApplicationCacheStorage.h:
(WebCore::ApplicationCacheStorage::): added FailureReason enum and storeNewestCache allowing it.
2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 2 - Update Schema and enforce Per-Origin Quotas
Added an "Origins" table to the application cache databases.
This, like the Database's Origins table, is a list of origin
and quota pairs. Origins records are added as soon as they are
needed, and deleted only when the ApplicationCacheStorage is
emptied. This means Origins records persist even after all
caches for that origin may be deleted. The "CacheGroups" table
now has a foreign key column "origin" which relates to the
"Origins" table.
To enforce the quotas, remaining quota space is checked at
the start of update as an estimate and at the end before
inserting. Currently, reaching the quota limit will simply
cause an update error. A later part will provide a
notification to the client to allow an action, and refactor
the final quota limit check into a transaction.
Respect the quota during the update process. And cause
the update process to fail when the quota is reached.
* loader/appcache/ApplicationCacheGroup.cpp: added loading counter, counts bytes as they load
(WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
(WebCore::ApplicationCacheGroup::didReceiveData):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
* loader/appcache/ApplicationCacheGroup.h: added security origin, based on the manifest URL
(WebCore::ApplicationCacheGroup::origin): accessor
Updates the schema of the database tables as described
above. Handle other SQL operations such as checking the
remaining space and inserting and deleting Origins records.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::quotaForOrigin): query for the quota of an origin, may return the default origin quota if it didn't exist.
(WebCore::ApplicationCacheStorage::remainingSizeForOriginExcludingCache): calculate the remaining size in a quota for an origin, possibly excluding a cache.
(WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): persistent update.
(WebCore::ApplicationCacheStorage::openDatabase): updated schema for CachesGroups, added new table Origins.
(WebCore::ApplicationCacheStorage::empty): wipe Origins table as well.
(WebCore::ApplicationCacheStorage::unknownQuota): constant to mean unknown quota
2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 1 - Add Total and Per-Origin Quota Preferences.
Allow the application cache total size to be a preference, and
add a new preference for the default per-origin quota.
Handle the per-origin quota in the global cacheStorage() object.
The per-origin quota will be used in a later part, this just
handles interaction with it from a client.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::setDefaultOriginQuota): setter
(WebCore::ApplicationCacheStorage::ApplicationCacheStorage): default to "noQuota" on construction
* loader/appcache/ApplicationCacheStorage.h:
(WebCore::ApplicationCacheStorage::noQuota): constant to mean unlimited storage
(WebCore::ApplicationCacheStorage::defaultOriginQuota): accessor
Move around some exports around for Offline Web Applications.
* WebCore.exp.in: Added OFFLINE_WEB_APPLICATIONS exports.
2010-07-30 Andy Estes <aestes@apple.com>
Reviewed by David Kilzer.
Add Xcode support for compiling WebKit against iOS SDKs.
https://bugs.webkit.org/show_bug.cgi?id=42796
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebCore.xcconfig:
2010-07-30 James Robinson <jamesr@chromium.org>
Compile fix: fix a typo in forward declaration, add EmptyClients impl.
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::getOnscreenGLES2Context):
(WebCore::EmptyChromeClient::getOffscreenGLES2Context):
* page/ChromeClient.h:
2010-07-30 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
Move GLES2 context manipulation to ChromeClient.h and put it behind the right #if guard
https://bugs.webkit.org/show_bug.cgi?id=43281
These calls were initially put in ChromeClientChromium, but they aren't chromium specific.
In theory any port that could create the proper OpenGL ES 2 contexts could implement
these functions. Also moves the calls to be behind the correct #if guard.
* page/ChromeClient.h:
* page/chromium/ChromeClientChromium.h:
2010-07-30 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by David Levin.
Interrupt all DB operations when the worker is terminating.
https://bugs.webkit.org/show_bug.cgi?id=42843
Tests: fast/workers/storage/interrupt-database-sync.html
fast/workers/storage/interrupt-database.html
* bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
destructor is called on the context thread, delete m_data directly
instead of posting a task to do that. We need to do that to make
sure that all JS objects are destroyed before
WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
WorkerContext::clearScript().
* bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
all auto-generated callbacks.
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback): Updated the
expectations for run-bindings-tests.
* platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
all DB operations in progress, unless the database was closed or
is being closed. Unlike sqlite3_interrupt(),
SQLiteDatabase::interrupt() is sticky: once it's called, trying to
run any statement on that database will fail with a
SQLITE_INTERRUPT error code.
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::interrupt):
(WebCore::SQLiteDatabase::isInterrupted):
* platform/sql/SQLiteDatabase.h: Added a mutex that can used by
SQLiteStatement to check if the database was interrupted.
(WebCore::SQLiteDatabase::databaseMutex):
* platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
to check if the database was interrupted, before trying to prepare
or run the statement. The other methods don't need to hold on to
the DB lock while running, because they're fast, so we don't need
to interrupt them.
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):
* storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
and isInterrupted() visible to WebSQLDatabases classes.
(WebCore::AbstractDatabase::interrupt):
(WebCore::AbstractDatabase::isInterrupted):
* storage/AbstractDatabase.h:
* storage/DatabaseTracker.cpp: Added a method to interrupt all
databases in a given context.
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
* storage/DatabaseTracker.h:
* storage/SQLStatement.cpp: Changed the exception/error reported
when a statement is interrupted.
(WebCore::SQLStatement::execute):
* storage/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::execute):
* storage/SQLTransaction.cpp: Changed the code to release the
callback objects as soon as they're not needed.
(WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
Changed this method to not schedule the next transaction step when
the database is interrupted.
(WebCore::SQLTransaction::performNextStep):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* storage/SQLTransaction.h:
* storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
interrupt all databases in a given context.
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop): Added a call to
DatabaseTracker::interruptAllDatabasesForContext().
2010-07-30 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
connect-compositing-iframe2.html test sometimes shows blank iframe content
https://bugs.webkit.org/show_bug.cgi?id=42046
Hooking up compositing iframes requires setNeedsStyleRecalc(SyntheticStyleChange) to
always result in a call to RenderLayer::styleChanged(). However, the semantics of
setNeedsStyleRecalc() was that each call would overwrite the existing styleChangeType,
allowing a "lesser" style change to override a "greater" one. In the test content,
SyntheticStyleChange was being replaced by FullStyleChange when the classname changed.
This resulted in RenderLayer::styleChanged() not being called.
Fix by changing the behavior of setNeedsStyleRecalc() to only touch the style change
type if a "lesser" change is being replaced with a "greater" one. This required adding
a new clearNeedsStyleRecalc() method to reset the style change type to NoStyleChange.
In addition, in Node::setNeedsStyleRecalc(), only propagate the childNeedsStyleRecalc
up the parent change if the node was not already needing recalc. In order to fix issues
with attaching, this required new call to clearNeedsStyleRecalc() at the end of attach().
* manual-tests/compositing/missing-iframe-contents.html: Added.
* manual-tests/compositing/resources/composited-subframe.html: Copied from LayoutTests/compositing/iframes/resources/composited-subframe.html.
* dom/Document.cpp:
(WebCore::Document::recalcStyle): Call clearNeedsStyleRecalc().
* dom/Element.cpp:
(WebCore::Element::recalcStyle): Call clearNeedsStyleRecalc().
* dom/Node.h:
(WebCore::Node::clearNeedsStyleRecalc): New method.
* dom/Node.cpp:
(WebCore::Node::setNeedsStyleRecalc): Only call setStyleChange() if the change type
is greater than the current change type.
(WebCore::Node::attach): After attaching, we can call clearNeedsStyleRecalc().
* dom/Text.cpp:
(WebCore::Text::recalcStyle): Call clearNeedsStyleRecalc().
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::recalcStyle): Call clearNeedsStyleRecalc().
2010-07-30 W. James MacLean <wjmaclean@google.com>
Reviewed by Nikolas Zimmermann.
SVG - numeric overflow for very large elements
https://bugs.webkit.org/show_bug.cgi?id=25645
Two of the expected test outputs were incorrect now that parsing of large values
is handled correctly.
- Revised FloatRect to remove bad float-to-int conversions in enclosingIntRect()
- Revised _parseNumber to do right-to-left float-based parsing of input value
Test: svg/custom/massive-coordinates.svg
* platform/graphics/FloatRect.cpp:
(WebCore::safeFloatToInt):
(WebCore::enclosingIntRect):
* svg/SVGParserUtilities.cpp:
(WebCore::_parseNumber):
2010-07-30 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
[chromium] Make the GLES2 texture map generic and teach ImageSkia and ImageBufferSkia about GLES2
https://bugs.webkit.org/show_bug.cgi?id=43218
This makes the GLES2Canvas' TextureHashMap key on void* instead of NativeImagePtr
to make it easier to use with other backends. It also teaches ImageSkia how
to draw to a GLES2Canvas instead of a skia buffer.
No change in functionality (yet), no new tests.
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::GLES2Canvas):
(WebCore::GLES2Canvas::createTexture):
(WebCore::GLES2Canvas::getTexture):
* platform/graphics/chromium/GLES2Canvas.h:
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawBitmapGLES2):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImageSingleFrameSkia::draw):
2010-07-30 Yong Li <yoli@rim.com>
Reviewed by Darin Adler.
Implement SVGScriptElement::shouldExecuteAsJavaScript() otherwise
SVGScriptElement cannot run when XHTMLMP is enabled.
https://bugs.webkit.org/show_bug.cgi?id=43267
No test needed, because it fails all SVG <script> tests when XHTMLMP is on.
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::shouldExecuteAsJavaScript):
* svg/SVGScriptElement.h:
2010-07-30 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Style errors in Navigator.h
https://bugs.webkit.org/show_bug.cgi?id=43262
Fixing style changes. No new tests.
* page/Navigator.h:
(WebCore::Navigator::create):
(WebCore::Navigator::frame):
(WebCore::Navigator::optionalGeolocation):
2010-07-27 Darin Fisher <darin@chromium.org>
Reviewed by Brady Eidson.
History.pushState() + navigation operates on top frame when called from
nested context
https://bugs.webkit.org/show_bug.cgi?id=43080
Test: fast/loader/stateobjects/pushstate-in-iframe.html
* loader/HistoryController.cpp:
(WebCore::HistoryController::pushState): createTreeItem should be
called on the top-most HistoryController so that we properly clone
the HistoryItem tree starting at the root node.
2010-07-30 fsamuel@chromium.org <fsamuel@chromium.org>
Reviewed by Dimitri Glazkov.
Expand SVG Attribute Macros
https://bugs.webkit.org/show_bug.cgi?id=43254
Expanded SVG Attribute Macros to reduce debugging headache.
No change in behavior, so no new tests.
* rendering/style/SVGRenderStyle.h: Expanded and removed references to SVG_RS_DEFINE_ATTRIBUTE* macros.
* rendering/style/SVGRenderStyleDefs.h: Removed definitons for expanded macros.
2010-07-30 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dumitru Daniliuc.
Add callback arguments support to binding code generator scripts
https://bugs.webkit.org/show_bug.cgi?id=43130
Tests: bindings/scripts/test/TestObj.idl
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::methodWithCallbackArgCallback):
(WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
(WebCore::ConfigureV8TestObjTemplate):
2010-07-30 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Implement NPN_InvokeDefault
https://bugs.webkit.org/show_bug.cgi?id=43266
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::isPluginElement):
Add convenience function.
(WebCore::pluginInstance):
Call isPluginElement.
(WebCore::pluginScriptObjectFromPluginViewBase):
Given an JSHTMLElement, ask the PluginViewBase for the scriptable object.
(WebCore::pluginScriptObject):
Call isPluginElement. Call pluginScriptObjectFromPluginViewBase.
(WebCore::callPlugin):
Get the script object, assemble the arguments and call "call" directly.
(WebCore::runtimeObjectGetCallData):
Try to get the script object from the PluginViewBase first.
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::scriptObject):
Remove ExecState parameter.
2010-07-30 Adam Roben <aroben@apple.com>
Roll our r64361 and r64363
We can't make these changes until QuartzCore.lib is included in
WebKitSupportLibrary.
2010-07-30 Adam Roben <aroben@apple.com>
Remove uses of CACFContextRef and CARender* from WebCore
These types are now wrapped in a WKCACFContext type exported by
WebKitSystemInterface.
Fixes <http://webkit.org/b/43244>.
Reviewed by Sam Weinig.
* platform/graphics/win/WKCACFContextFlusher.cpp:
(WebCore::WKCACFContextFlusher::addContext):
(WebCore::WKCACFContextFlusher::removeContext):
(WebCore::WKCACFContextFlusher::flushAllContexts):
* platform/graphics/win/WKCACFContextFlusher.h:
Changed to use WKCACFContext. We don't retain/release the context when
putting it into/taking it out of the set. WKCACFContext is not a
ref-counted type, so we can't retain/release it, but the
retain/release was also unnecessary as WKCACFLayerRenderer calls
removeContext before the context is destroyed.
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::becomeRootLayerForContext):
* platform/graphics/win/WKCACFLayer.h:
Changed to use WKCACFContext.
* platform/graphics/win/WKCACFLayerRenderer.cpp:
(WebCore::WKCACFLayerRenderer::didFlushContext):
(WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
(WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
(WebCore::WKCACFLayerRenderer::layerTreeDidChange):
(WebCore::WKCACFLayerRenderer::createRenderer):
(WebCore::WKCACFLayerRenderer::destroyRenderer):
(WebCore::WKCACFLayerRenderer::render): Also replaced uses of
CGSRegion with WebKitSystemInterface functions/types.
(WebCore::WKCACFLayerRenderer::resetDevice):
* platform/graphics/win/WKCACFLayerRenderer.h:
Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
with a single WKCACFContext, which wraps all three. We hold a bare
pointer to it and destroy it in our destructor.
2010-07-30 Adam Roben <aroben@apple.com>
Remove knowledge of WKCACFContextFlusher from WKCACFLayer
Fixes <http://webkit.org/b/43248> WKCACFLayer shouldn't know about
WKCACFContextFlusher
Reviewed by Sam Weinig.
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::setNeedsCommit): Don't bother calling to
WKCACFContextFlusher. Our root layer will do this for us.
* platform/graphics/win/WKCACFLayerRenderer.cpp:
(WebCore::WKCACFRootLayer::setNeedsRender): Changed to call the new
layerTreeDidChange function.
(WebCore::WKCACFLayerRenderer::layerTreeDidChange): Added. Tells
WKCACFContextFlusher that the context has changed, and schedules a
render.
* platform/graphics/win/WKCACFLayerRenderer.h: Added
layerTreeDidChange.
2010-07-29 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Rename all the IDBIndex classses to match the latest conventions
https://bugs.webkit.org/show_bug.cgi?id=43190
No functionality has changed.
IDBIndexRequest -> IDBIndex in the spec. So that's the first change.
IDBIndex was the name of our interface class though, so we need to rename
it to get it out of the way. While we're at it, we might as well clean
up the naming in general to make things more clear. In the future, we're
going to need another layer (yes, yuck) which will be shared by the async
and sync classes which will do caching and other optimizations. That will
then connect to the backend. We also added "Interface" to make it more
clear that's what the file/class is.
Existing layout tests are enough since nothing should change as far as JavaScript can see.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbIndex):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBIndex.cpp: Added.
(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::~IDBIndex):
* storage/IDBIndex.h:
(WebCore::IDBIndex::create):
(WebCore::IDBIndex::name):
(WebCore::IDBIndex::keyPath):
(WebCore::IDBIndex::unique):
* storage/IDBIndex.idl: Added.
* storage/IDBIndexBackendImpl.cpp: Added.
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::~IDBIndexBackendImpl):
* storage/IDBIndexBackendImpl.h: Added.
(WebCore::IDBIndexBackendImpl::create):
(WebCore::IDBIndexBackendImpl::name):
(WebCore::IDBIndexBackendImpl::keyPath):
(WebCore::IDBIndexBackendImpl::unique):
* storage/IDBIndexBackendInterface.h: Added.
(WebCore::IDBIndexBackendInterface::~IDBIndexBackendInterface):
* storage/IDBIndexImpl.cpp: Removed.
* storage/IDBIndexImpl.h: Removed.
* storage/IDBIndexRequest.cpp: Removed.
* storage/IDBIndexRequest.h: Removed.
* storage/IDBIndexRequest.idl: Removed.
* storage/IDBObjectStore.h:
* storage/IDBObjectStoreImpl.cpp:
(WebCore::IDBObjectStoreImpl::createIndex):
(WebCore::IDBObjectStoreImpl::index):
* storage/IDBObjectStoreImpl.h:
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::index):
* storage/IDBObjectStoreRequest.h:
* storage/IDBObjectStoreRequest.idl:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
2010-07-30 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Add library version and soname to EFL generated libraries and binary.
https://bugs.webkit.org/show_bug.cgi?id=43212
Add version and soname to libwebcore.so in case of linking as shared
library.
No new feature, so no new tests.
* CMakeLists.txt:
2010-07-30 Steve Block <steveblock@google.com>
Reviewed by Steve Block.
Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589
This patch does not hook up the new LayoutTestController method to WebKit
for any platform. This will be done in later patches.
https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
Test: fast/dom/DeviceOrientation/basic-operation.html
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DeviceOrientationClient.h:
(WebCore::DeviceOrientationClient::~DeviceOrientationClient):
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
* dom/DeviceOrientationEvent.cpp:
* platform/mock/DeviceOrientationClientMock.cpp: Added.
(WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
(WebCore::DeviceOrientationClientMock::setController):
(WebCore::DeviceOrientationClientMock::startUpdating):
(WebCore::DeviceOrientationClientMock::stopUpdating):
(WebCore::DeviceOrientationClientMock::setOrientation):
(WebCore::DeviceOrientationClientMock::timerFired):
* platform/mock/DeviceOrientationClientMock.h: Added.
(WebCore::DeviceOrientationClientMock::lastOrientation):
2010-07-30 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Add a mock in WebCore for testing speech input
https://bugs.webkit.org/show_bug.cgi?id=42603
Layout tests will be added in a subsequent patch using this mock.
* Android.mk:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/mock/SpeechInputClientMock.cpp: Added.
(WebCore::SpeechInputClientMock::SpeechInputClientMock):
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::stopRecording):
(WebCore::SpeechInputClientMock::cancelRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h: Added.
2010-07-30 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Optimize SVGResources memory usage
https://bugs.webkit.org/show_bug.cgi?id=43236
Instead of storing pointers to all possible resources that could be applied to an element, group them in three categories:
clipper/filter/masker, marker-start/marker-mid/marker-end, and fill/stroke.
Only build the cached resources data for elements where the properties can be applied to. Maintain a static list of tagnames
for each of the three categories, to avoid doing unncessary work.
Doesn't affect any tests.
* rendering/SVGResources.cpp:
(WebCore::SVGResources::SVGResources):
(WebCore::clipperFilterMaskerTags):
(WebCore::markerTags):
(WebCore::fillAndStrokeTags):
(WebCore::SVGResources::buildCachedResources):
(WebCore::SVGResources::invalidateClient):
(WebCore::SVGResources::resourceDestroyed):
(WebCore::SVGResources::buildSetOfResources):
(WebCore::SVGResources::setClipper):
(WebCore::SVGResources::resetClipper):
(WebCore::SVGResources::setFilter):
(WebCore::SVGResources::resetFilter):
(WebCore::SVGResources::setMarkerStart):
(WebCore::SVGResources::resetMarkerStart):
(WebCore::SVGResources::setMarkerMid):
(WebCore::SVGResources::resetMarkerMid):
(WebCore::SVGResources::setMarkerEnd):
(WebCore::SVGResources::resetMarkerEnd):
(WebCore::SVGResources::setMasker):
(WebCore::SVGResources::resetMasker):
(WebCore::SVGResources::setFill):
(WebCore::SVGResources::resetFill):
(WebCore::SVGResources::setStroke):
(WebCore::SVGResources::resetStroke):
(WebCore::SVGResources::dump):
* rendering/SVGResources.h:
(WebCore::SVGResources::clipper):
(WebCore::SVGResources::filter):
(WebCore::SVGResources::markerStart):
(WebCore::SVGResources::markerMid):
(WebCore::SVGResources::markerEnd):
(WebCore::SVGResources::masker):
(WebCore::SVGResources::fill):
(WebCore::SVGResources::stroke):
(WebCore::SVGResources::ClipperFilterMaskerData::ClipperFilterMaskerData):
(WebCore::SVGResources::ClipperFilterMaskerData::create):
(WebCore::SVGResources::MarkerData::MarkerData):
(WebCore::SVGResources::MarkerData::create):
(WebCore::SVGResources::FillStrokeData::FillStrokeData):
(WebCore::SVGResources::FillStrokeData::create):
2010-07-26 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IndexedDatabase should be called IDBFactory.
https://bugs.webkit.org/show_bug.cgi?id=42967
Rename IndexedDatabase to IDBFactory to match the specification.
Also implement the following new naming convention:
IDBFoo IDL interfaces are implemented using IDBFoo C++ classes.
IDBFoo objects have pointers to IDBFooBackendInterface objects.
IDBFooBackendInterface is implemented by IDBFooBackendImpl and
IDBFooBackendProxy (for Chromium).
No new tests needed, just renaming.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::indexedDB):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* page/PageGroup.cpp:
(WebCore::PageGroup::idbFactory):
* page/PageGroup.h:
* platform/chromium/ChromiumBridge.h:
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbFactory):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBDatabaseRequest.cpp:
* storage/IDBFactory.cpp: Added.
(WebCore::IDBFactory::IDBFactory):
(WebCore::IDBFactory::~IDBFactory):
(WebCore::IDBFactory::open):
* storage/IDBFactory.h: Added.
(WebCore::IDBFactory::create):
* storage/IDBFactory.idl: Added.
* storage/IDBFactoryBackendInterface.cpp: Added.
(WebCore::IDBFactoryBackendInterface::create):
* storage/IDBFactoryBackendInterface.h: Added.
(WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
* storage/IDBFactoryBackendImpl.cpp: Added.
(WebCore::IDBFactoryBackendImpl::create):
(WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
(WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h: Added.
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::leftBound):
(WebCore::IDBKeyRange::rightBound):
(WebCore::IDBKeyRange::bound):
* storage/IDBKeyRange.h:
* storage/IDBKeyRange.idl:
* storage/IndexedDatabase.cpp: Removed.
* storage/IndexedDatabase.h: Removed.
* storage/IndexedDatabaseImpl.cpp: Removed.
* storage/IndexedDatabaseImpl.h: Removed.
* storage/IndexedDatabaseRequest.cpp: Removed.
* storage/IndexedDatabaseRequest.h: Removed.
* storage/IndexedDatabaseRequest.idl: Removed.
* storage/chromium/IDBFactoryBackendInterface.cpp: Added.
(WebCore::IDBFactoryBackendInterface::create):
* storage/chromium/IndexedDatabase.cpp: Removed.
2010-07-29 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Crash on refresh with a comment selected in the Elements panel
https://bugs.webkit.org/show_bug.cgi?id=43183
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::nodeForPath):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.reset):
2010-07-30 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Nikolas Zimmermann.
feTurbulence is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=5864
This code is based on the previous implementation of
Dirk Schulze, extended with some modification and optimization.
LayoutTests: Updating expected values for turbulence filter.
svg/W3C-SVG-1.1/filters-turb-01-f.svg
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::build):
* svg/graphics/filters/SVGFETurbulence.cpp:
(WebCore::FETurbulence::FETurbulence):
(WebCore::FETurbulence::create):
(WebCore::FETurbulence::PaintingData::PaintingData):
(WebCore::FETurbulence::PaintingData::random):
(WebCore::smoothCurve):
(WebCore::linearInterpolation):
(WebCore::FETurbulence::initPaint):
(WebCore::checkNoise):
(WebCore::FETurbulence::noise2D):
(WebCore::Noise::if):
(WebCore::FETurbulence::calculateTurbulenceValueForPoint):
(WebCore::FETurbulence::apply):
* svg/graphics/filters/SVGFETurbulence.h:
(WebCore::):
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
Cairo: Need to implement GraphicsContext::clipConvexPolygon()
https://bugs.webkit.org/show_bug.cgi?id=41308
Implement clipConvexPolygon for Cairo ports and enable new path based
borders for that port as well.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::addConvexPolygonToContext): Add this helper method.
(WebCore::GraphicsContext::drawConvexPolygon): Use the new addConvexPolygonToContext helper.
(WebCore::GraphicsContext::clipConvexPolygon): Implement this method.
* rendering/RenderObject.h: Enable path based borders for Cairo.
2010-07-29 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
InsertOrderedList does not switch the list type properly when it has an inner list.
https://bugs.webkit.org/show_bug.cgi?id=43166
The bug was caused by forcedCreateList was not set to true when the start and the end
of the selection lies in the same list. Added selectionHasListOfType to fix this problem.
WebKit used not to convert the outer lists even when the list is fully selected.
Corrected this behavior by converting the entire list at once when the list is fully selected.
To decide whether or not a list is fully selected, added currentSelection argument to doApplyForSingleParagraph.
Tests: editing/execCommand/switch-list-type-with-inner-list.html
editing/execCommand/switch-list-type-with-orphaned-li.html
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::mergeWithNeighboringLists): Extracted the code to merge lists.
(WebCore::InsertListCommand::selectionHasListOfType): attachment.cgi
(WebCore::InsertListCommand::doApply): Calls selectionHasListOfType.
(WebCore::InsertListCommand::doApplyForSingleParagraph): See above.
(WebCore::InsertListCommand::listifyParagraph): Calls mergeWithNeighboringLists.
* editing/InsertListCommand.h:
* editing/htmlediting.cpp:
(WebCore::canMergeLists): Ensures lists being merged are instances of HTMLElement.
(WebCore::isNodeVisiblyContainedWithin): Works properly when one end is inside the range.
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
[Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
https://bugs.webkit.org/show_bug.cgi?id=41732
Do not apply paths added to the Cairo GraphicsContext, until they are used.
This prevents drawing routines such as fillRect from interacting with any
path which callers are constructing on the GraphicsContext.
This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
so tests for that issue will test this fix.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::appendPathToCairoContext): Added. A helper method which adds a path
to a native Cairo context.
(WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
existing path first.
(WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
operates on a WebCore path.
(WebCore::fillCurrentCairoPath): Added. Helper which fills the current cairo context path.
(WebCore::strokeCurrentCairoPath): Added. Helper which strokes the current cairo context path.
(WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
was not called, because cairo_stroke implicitly clears the path.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
(WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
and clear m_pendingPath, instead of relying on the pre-existing context path. Do the
actual fill via the new helper.
(WebCore::GraphicsContext::strokePath): Ditto.
(WebCore::GraphicsContext::drawPath): Ditto.
(WebCore::GraphicsContext::fillRect): Use the new fillCurrentCairoPath helper.
(WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
of addPath (which will blow away any path callers are building).
(WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
of addPath (which will blow away any path callers are building).
(WebCore::GraphicsContext::strokeRect): Use the new strokeCurrentCairoPath helper.
(WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
(WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
cairo context.
(WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
(WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.
2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233
Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).
* bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback):
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::lock):
(WebCore::SQLiteDatabase::unlock):
* platform/sql/SQLiteDatabase.h:
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):
* storage/AbstractDatabase.cpp:
* storage/AbstractDatabase.h:
* storage/DatabaseTracker.cpp:
* storage/DatabaseTracker.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
* storage/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::execute):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::performNextStep):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* storage/SQLTransaction.h:
* storage/chromium/DatabaseTrackerChromium.cpp:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop):
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Unreviewed, rolling out r64318.
http://trac.webkit.org/changeset/64318
https://bugs.webkit.org/show_bug.cgi?id=41732
This change broke many tests.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::drawFocusRing):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::beginPath):
(WebCore::GraphicsContext::addPath):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
[Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
https://bugs.webkit.org/show_bug.cgi?id=41732
Do not apply paths added to the Cairo GraphicsContext, until they are used.
This prevents drawing routines such as fillRect from interacting with any
path which callers are constructing on the GraphicsContext.
This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
so tests for that issue will test this fix.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::appendPathToCairoContext): Added. A helper method which adds a path
to a native Cairo context.
(WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
existing path first.
(WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
operates on a WebCore path.
(WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
was not called, because cairo_stroke implicitly clears the path.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
(WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
and clear m_pendingPath, instead of relying on the pre-existing context path.
(WebCore::GraphicsContext::strokePath): Ditto.
(WebCore::GraphicsContext::drawPath): Ditto.
(WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
of addPath (which will blow away any path callers are building).
(WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
of addPath (which will blow away any path callers are building).
(WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
(WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
cairo context.
(WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
(WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
[Cairo] Remove setStrokeStyle workaround for InlineTextBoxes
https://bugs.webkit.org/show_bug.cgi?id=43136
Remove workaround added in https://bugs.webkit.org/show_bug.cgi?id=15659
to fix stroke style for InlineTextBox underlines.
No new tests as this should not change functionality.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForText): Remove old workaround.
2010-07-28 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by David Levin.
Interrupt all DB operations when the worker is terminating.
https://bugs.webkit.org/show_bug.cgi?id=42843
Tests: fast/workers/storage/interrupt-database-sync.html
fast/workers/storage/interrupt-database.html
* bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
destructor is called on the context thread, delete m_data directly
instead of posting a task to do that. We need to do that to make
sure that all JS objects are destroyed before
WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
WorkerContext::clearScript().
* bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
all auto-generated callbacks.
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback): Updated the
expectations for run-bindings-tests.
* platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
all DB operations in progress, unless the database was closed or
is being closed. Unlike sqlite3_interrupt(),
SQLiteDatabase::interrupt() is sticky: once it's called, trying to
run any statement on that database will fail with a
SQLITE_INTERRUPT error code.
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::interrupt):
(WebCore::SQLiteDatabase::isInterrupted):
* platform/sql/SQLiteDatabase.h: Added a mutex that can used by
SQLiteStatement to check if the database was interrupted.
(WebCore::SQLiteDatabase::databaseMutex):
* platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
to check if the database was interrupted, before trying to prepare
or run the statement. The other methods don't need to hold on to
the DB lock while running, because they're fast, so we don't need
to interrupt them.
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):
* storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
and isInterrupted() visible to WebSQLDatabases classes.
(WebCore::AbstractDatabase::interrupt):
(WebCore::AbstractDatabase::isInterrupted):
* storage/AbstractDatabase.h:
* storage/DatabaseTracker.cpp: Added a method to interrupt all
databases in a given context.
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
* storage/DatabaseTracker.h:
* storage/SQLStatement.cpp: Changed the exception/error reported
when a statement is interrupted.
(WebCore::SQLStatement::execute):
* storage/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::execute):
* storage/SQLTransaction.cpp: Changed the code to release the
callback objects as soon as they're not needed.
(WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
Changed this method to not schedule the next transaction step when
the database is interrupted.
(WebCore::SQLTransaction::performNextStep):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* storage/SQLTransaction.h:
* storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
interrupt all databases in a given context.
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop): Added a call to
DatabaseTracker::interruptAllDatabasesForContext().
2010-07-29 Bernhard Bauer <bauerb@chromium.org>
Reviewed by Darin Fisher.
Check if plugins are allowed before creating a Java applet.
https://bugs.webkit.org/show_bug.cgi?id=43196
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::createJavaAppletWidget):
2010-07-29 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
Ask a canvas' rendering context if it is accelerated instead tying it directly to webgl
https://bugs.webkit.org/show_bug.cgi?id=43206
This unifies the logic for whether a canvas is accelerated or not into one place
and makes it easier to expand the logic in the future to, for example, cover some
2d canvases.
Just a refactoring, no change in behavior so no new tests.
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::isAccelerated):
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::isAccelerated):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::requiresLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
2010-07-29 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Implement NPN_Status
https://bugs.webkit.org/show_bug.cgi?id=43205
* WebCore.exp.in:
Export Chrome::setStatusText.
2010-07-29 Victor Wang <victorw@chromium.org>
Unreviewed, rolling out r64270.
http://trac.webkit.org/changeset/64270
https://bugs.webkit.org/show_bug.cgi?id=39589
The patch breaks chromium webkit unittest
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* dom/DeviceOrientationClient.h:
(WebCore::DeviceOrientationClient::~DeviceOrientationClient):
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
* dom/DeviceOrientationEvent.cpp:
* platform/mock/DeviceOrientationClientMock.cpp: Removed.
* platform/mock/DeviceOrientationClientMock.h: Removed.
2010-07-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Resizer control does not paint in otherwise empty compositing layer
https://bugs.webkit.org/show_bug.cgi?id=42306
Ensure that we create backing store for an empty element with resize: both,
in order to render the resizer control.
Test: compositing/overflow/resize-painting.html
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Check for hasOverflowControls()
earlier, before any child checks.
(WebCore::RenderLayerBacking::hasNonCompositingDescendants): Renamed from hasNonCompositingContent()
to clarify its purpose.
2010-07-29 Adam Roben <aroben@apple.com>
Remove WKCACFLayer::Lanczos
This member is also unused.
Rubber-stamped in advance by John Sullivan.
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::toCACFFilterType):
(WebCore::fromCACFFilterType):
* platform/graphics/win/WKCACFLayer.h:
(WebCore::WKCACFLayer::):
2010-07-29 Adam Roben <aroben@apple.com>
Remove some unused WKCACFLayer members
Fixes <http://webkit.org/b/43200> WKCACFLayer has some unused members
Reviewed by John Sullivan.
* platform/graphics/win/WKCACFLayer.h: Removed [set]ClearsContext,
[set]Filters, and [set]SortsSublayers.
2010-07-28 Justin Schuh <jschuh@chromium.org>
Reviewed by Nate Chapin.
Clear PluginData's page pointer on Page destruction
https://bugs.webkit.org/show_bug.cgi?id=43147
Test: plugins/access-after-page-destroyed.html
* page/Page.cpp:
(WebCore::Page::~Page):
2010-07-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
SHOULD NEVER BE REACHED assertion when switching tabs with composited content
https://bugs.webkit.org/show_bug.cgi?id=43167
When the root layer becomes unattached (e.g. when switching tabs), don't return
'false' from paintingGoesToWindow() because that will cause a -setNeedsDispay, which
both allocates wasteful backing store, and causes an assertion when we try to
paint the layer.
Test: manual-tests/compositing/assert-on-tab-switch.html: Added.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintingGoesToWindow):
2010-07-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Pavel Feldman.
Crash when computing pseudo-style of a vanished scrollbar in inspector
https://bugs.webkit.org/show_bug.cgi?id=42561
When a styled overflow:scroll scrollbar gets destroyed, we need to clear out the m_owner pointer,
otherwise the event handling code (which keeps the Scrollbar alive) later causes the scrollbar
to try to use m_owner to get pseudo style.
Test: scrollbars/overflow-custom-scrollbar-crash.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::destroyScrollbar): If this is a custom scrollbar, clear the owning renderer.
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::getScrollbarPseudoStyle): Bail if m_owner is 0.
* rendering/RenderScrollbar.h:
(WebCore::RenderScrollbar::clearOwningRenderer): New method.
2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix release builds, by removing unused variables, that only served for ASSERTs that are no longer needed.
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::prepareToRenderSVGContent):
(WebCore::SVGRenderSupport::pointInClippingArea):
2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix build warning about unreachable code, seen on the windows slave.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::selfWillPaint):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::selfWillPaint):
2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
WebKit shouldn't ignore resource cycles, but break them as Opera does
https://bugs.webkit.org/show_bug.cgi?id=43031
mask images are not updated when render objects' bounds change
https://bugs.webkit.org/show_bug.cgi?id=15124
SVG Gradients do not resize correctly
https://bugs.webkit.org/show_bug.cgi?id=41902
svg/dynamic-updates: SVGMarkerElement markerHeight/Width tests are broken
https://bugs.webkit.org/show_bug.cgi?id=42616
svg/dynamic-updates: SVGMaskElement tests are all broken
https://bugs.webkit.org/show_bug.cgi?id=42617
Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.
We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).
Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
phase begins.
Add destroy/styleDidChange/updateFromElement methods to all SVG renderers, in order to keep track of resource/client changes in the SVGResourcesCache.
As side-effect the SVGResourcesCache now knows which RenderObject references which resource, and thus can handle client registration for a RenderSVGResourceContainer.
The RenderSVGResourceContainer now holds a HashSet of RenderObjects, that's always up2date, and not related to the fact wheter a resources has already been used
for painting. The old logic missed to register clients for a resource, when the resource was in an invalid state. Fixing that fixes the svg/dynamic-updates/SVGMaskElement* tests.
Rewrite all svg/custom/recursive-(filter|gradient|mask|pattern).svg tests to contain a reference image how it should be renderered. All 1:1 compatible with Opera now.
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout): Grab selfNeedsLayout() before calling RenderBlock::layout(), otherwhise it's always false.
* rendering/RenderPath.cpp: Don't look up resources manually, use SVGResourcesCache.
(WebCore::RenderPath::fillContains): Remove constness, to avoid the need to pass around const RenderObjects* to the SVGResourcesCache.
(WebCore::RenderPath::strokeContains): Ditto.
(WebCore::RenderPath::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
(WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Remove special client handling for markers, it's all unified now.
(WebCore::RenderPath::styleWillChange): Only call setNeedsBoundariesUpdate when handling StyleDifferenceRepaint/Layout.
* rendering/RenderPath.h:
* rendering/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGBlock::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGBlock::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
* rendering/RenderSVGBlock.h:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
(WebCore::RenderSVGContainer::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::styleDidChange): Rewrite, as invalidateResourceClients() is gone.
* rendering/RenderSVGHiddenContainer.h: Make layout() protected, as RenderSVGResourceContainer overrides it.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
(WebCore::RenderSVGImage::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGImage::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGImage::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
(WebCore::RenderSVGImage::imageChanged): Don't look up resources manually, use SVGResourcesCache.
* rendering/RenderSVGImage.h:
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGInline::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGInline::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
* rendering/RenderSVGInline.h:
* rendering/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGModelObject::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGModelObject::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
* rendering/RenderSVGModelObject.h:
* rendering/RenderSVGResource.cpp:
(WebCore::RenderSVGResource::fillPaintingResource): Remove const from RenderObject parameter.
(WebCore::RenderSVGResource::strokePaintingResource): Ditto.
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): Early exit if we found the first parent resource.
* rendering/RenderSVGResource.h:
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): Early exit if m_clipper is empty.
(WebCore::RenderSVGResourceClipper::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
(WebCore::RenderSVGResourceClipper::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
(WebCore::RenderSVGResourceClipper::createClipData): Don't look up resources manually, use SVGResourcesCache.
(WebCore::RenderSVGResourceClipper::hitTestClipContent): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGResourceContainer.cpp:
(WebCore::svgExtensionsFromNode):
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop registering resource from the constructor, delegate to styleDidChange.
(WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): Only deregister resource if it was ever registered.
(WebCore::RenderSVGResourceContainer::layout): invalidateClients() here, to avoid the need for invalidateResourceClients() in the SVG DOM. Just call setNeedsLayout() from the SVG DOM.
(WebCore::RenderSVGResourceContainer::destroy): Forward to SVGResourcesCache::resourceDestroyed.
(WebCore::RenderSVGResourceContainer::styleDidChange): Register resource not in the constructor but when it first receives style.
(WebCore::RenderSVGResourceContainer::idChanged): Don't duplicate code, use existing methods from SVGResourcesCache.
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): Add new helper function, to share code between all resources.
(WebCore::RenderSVGResourceContainer::markClientForInvalidation): Ditto.
(WebCore::RenderSVGResourceContainer::addClient): SVGResourcesCache now manages the list of clients. It calls addClient() for each RenderObject that uses this resource.
(WebCore::RenderSVGResourceContainer::removeClient): SVGResourcesCache now manages the list of clients.
(WebCore::RenderSVGResourceContainer::registerResource): New helper function sharing code between idChanged / styleDidChange.
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): Add FIXME that the function is misplaced.
* rendering/RenderSVGResourceContainer.h: Move most functions to the new RenderSVGResourceContainer.cpp file.
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): Early exit if m_filter is empty.
(WebCore::RenderSVGResourceFilter::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceFilter::invalidateClient): Ditto.
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient): Early exit if m_gradient is empty.
(WebCore::RenderSVGResourceGradient::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceGradient::invalidateClient): Ditto.
* rendering/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker): Now a no-op, markers are unified within the new client handling concept, no more special code needed.
(WebCore::RenderSVGResourceMarker::layout): As RenderSVGResourceMarker skips the RenderSVGResourceContainer::layout() method, we also need to call invalidateClients() here.
(WebCore::RenderSVGResourceMarker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceMarker::invalidateClient): Ditto.
(WebCore::RenderSVGResourceMarker::draw): Remove marker specific logic to catch circular references.
* rendering/RenderSVGResourceMarker.h:
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): Early exit if m_masker is empty.
(WebCore::RenderSVGResourceMasker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceMasker::invalidateClient): Ditto.
(WebCore::RenderSVGResourceMasker::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
* rendering/RenderSVGResourceMasker.h:
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern): Early exit if m_pattern is empty.
(WebCore::RenderSVGResourcePattern::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourcePattern::invalidateClient): Ditto.
(WebCore::RenderSVGResourcePattern::createTileImage): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
* rendering/RenderSVGResourcePattern.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
(WebCore::RenderSVGRoot::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGRoot::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGRoot::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
* rendering/RenderSVGRoot.h:
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
* rendering/RenderSVGText.h:
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::acquirePaintingResource): Add RenderObject* parameter, don't assume the style comes from the InlineTextBox parent renderer.
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Pass the parent()->renderer() to acquirePaintingResource.
(WebCore::SVGInlineTextBox::paintDecoration): Pass the decoration renderer to acquirePaintingResource.
(WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
(WebCore::SVGInlineTextBox::paintText): When a selection pseudo style is used to paint the selection, swap styles in the SVGResourcesCache, to take the right resources when painting.
* rendering/SVGInlineTextBox.h:
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::prepareToRenderSVGContent): Don't look up resources manually, use SVGResourcesCache.
(WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
(WebCore::SVGRenderSupport::pointInClippingArea): Remove const from RenderObject parameter.
* rendering/SVGRenderSupport.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle): Add two const_cast now that fill/strokePaintingResource take RenderObject* parameters. This was the less intrusive approach, otherwhise more const_casts would be needed.
(WebCore::writeResources): Add FIXME that we should dump the resources present in the SVGResourcesCache instead of manually looking them up from the SVGRenderStyle, to avoid dumping cycles.
* rendering/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientStyleChanged): Use markForLayoutAndParentResourceInvalidation() instead of duplicating code.
* rendering/SVGResourcesCycleSolver.cpp:
(WebCore::setFollowLinkForChainableResource): Implemented stub method.
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff): Return StyleDifferenceLayout, not Repaint for stroke paint changes, otherwhise the cached boundaries are not correctly updated.
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGClipPathElement::childrenChanged): Ditto.
* svg/SVGClipPathElement.h:
(WebCore::SVGClipPathElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
* svg/SVGElement.cpp:
(WebCore::SVGElement::insertedIntoDocument): Only execute buildPendingResource() logic, if needsPendingResourceHandling() returns true. Cleaned up code a bit, to deploy early returns.
* svg/SVGElement.h:
(WebCore::SVGElement::needsPendingResourceHandling): Return true (default). Only needed by SVGTextPathElement/SVGUseElement, and should be removed in future.
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement): Initialize m_followLink=true.
(WebCore::SVGFilterElement::setFilterRes): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGFilterElement::svgAttributeChanged): Ditto.
(WebCore::SVGFilterElement::childrenChanged): Ditto.
* svg/SVGFilterElement.h:
(WebCore::SVGFilterElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
(WebCore::SVGFilterElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): Don't use invalidateResourceClients(), it's a no-op as effects don't have a renderer -> use invalidateFilter().
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::SVGGradientElement): Initialize m_followLink=true.
(WebCore::SVGGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGGradientElement::childrenChanged): Ditto.
* svg/SVGGradientElement.h:
(WebCore::SVGGradientElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
(WebCore::SVGGradientElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGLinearGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGMarkerElement::childrenChanged): Ditto.
(WebCore::SVGMarkerElement::setOrientToAuto): Ditto.
(WebCore::SVGMarkerElement::setOrientToAngle): Ditto.
* svg/SVGMarkerElement.h:
(WebCore::SVGMarkerElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGMaskElement::childrenChanged): Ditto.
* svg/SVGMaskElement.h:
(WebCore::SVGMaskElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement): Initialize m_followLink=true.
(WebCore::SVGPatternElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGPatternElement::childrenChanged): Ditto.
(WebCore::SVGPatternElement::collectPatternProperties): Only follow xlink:href links if m_followLinks == true.
* svg/SVGPatternElement.h:
(WebCore::SVGPatternElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
(WebCore::SVGPatternElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGRadialGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::attach): Call updateFromElement upon attach(), needed by all resource renderers. Defaults to a no-op in RenderObject.h
* svg/SVGStyledElement.h: Remove invalidateResourceClients(), it's not needed anymore.
2010-07-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Support to enable WML in WebKit EFL
https://bugs.webkit.org/show_bug.cgi?id=43178
WebKit EFL cannot enable WML. WML files are added to CMakeLists.txt
to enable WML in WebKit EFL.
* CMakeLists.txt: Support to enable WML.
2010-07-21 Grace Kloba <klobag@gmail.com> , Antonio Gomes <tonikitoo@webkit.org>
Reviewed by David Hyatt.
Enhance the hit testing to take a rectangle instead of a point
https://bugs.webkit.org/show_bug.cgi?id=40197
The primary goal of this change is to provide mechanisms for more precise tap
actions by the users on mobile devices.
Patch extends the hit testing system to work considering a rectangular area
as input instead of a point, when applicable. For that, the HitTestResult class
was modified to take a padding (IntSize). The padding specifies a fuzzy range for
accepting input events in pixels coordinates for both vertical and horizontal
orientations. In other words, it tells how much to expand the search rect
around a supposed touch point.
If it is non-positive padding (e.g. (-1, -1), (5, -1), (0, 0)), hit testing will behavior
as the current point based hit testing: methods are no-op'ed to not regress it performance-wise
since it is the common behavior. When positive padding is provided, the HitTestResult class will
keep record of all nodes that intersect the built up test area. The logic will continue searching
when it finds a candidate until the hit test area is fully enclosed by the boundaries of a candidate.
The result will be a list of nodes in the z-order they are hit-tested. Caller will decide how
to process them.
In order to expose the functionality, the patch:
- Adds a nodesFromRect method to the Document class, exposing the funcionality
to the DOM. Method returns a NodeList with all nodes that intersect the given
hit-tested area.
- Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding'
parameter, defaulting to IntSize(-1, -1). The rect-based hit test is performed when a
non-negative padding is passed in.
Test: fast/dom/nodesFromRect-basic.html
* WebCore.base.exp:
* dom/Document.cpp:
(WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to
the DOM. It works similarly to elementFromPoint, however receiving a rectangular area
as input instead of a point, and returning a z-index ordered list of nodes (not elements)
whose area intersect the hit test rect.
* dom/Document.h: Ditto.
* dom/Document.idl: Ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this
method. Patch adds a additional IntSize parameter to work as the padding area, building up
the hit test rect.
* page/EventHandler.h: Ditto.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a
padding IntSize as parameter. It can be (0,0).
(WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well.
(WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the
list node's of both objects get amended.
(WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of
hit nodes.
* rendering/HitTestResult.h:
(WebCore::HitTestResult::padding): Returns the padding as an IntSize.
(WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not.
(WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit.
(WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point
and padding.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::hitTestChildLayerColumns):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension.
Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but
instead it checks if the boundary of the node intersects a hit test rect. It is implemented so
that the common case (point based hit test) works as previously.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint): Ditto.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint): Ditto.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint): Ditto.
(WebCore::RenderBlock::hitTestColumns): Ditto.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint): Ditto.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint): Ditto.
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::hitTest):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint): Ditto.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint): Ditto.
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::nodeAtPoint): Ditto.
2010-07-29 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589
This patch does not hook up the new LayoutTestController method to WebKit
for any platform. This will be done in later patches.
https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
Test: fast/dom/DeviceOrientation/basic-operation.html
* WebCore/WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* dom/DeviceOrientationClient.h:
(WebCore::DeviceOrientationClient::~DeviceOrientationClient):
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
* dom/DeviceOrientationEvent.cpp:
* platform/mock/DeviceOrientationClientMock.cpp: Added.
(WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
(WebCore::DeviceOrientationClientMock::setController):
(WebCore::DeviceOrientationClientMock::startUpdating):
(WebCore::DeviceOrientationClientMock::stopUpdating):
(WebCore::DeviceOrientationClientMock::setOrientation):
(WebCore::DeviceOrientationClientMock::timerFired):
* platform/mock/DeviceOrientationClientMock.h: Added.
(WebCore::DeviceOrientationClientMock::lastOrientation):
2010-07-29 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Runtime feature switch for speech input.
https://bugs.webkit.org/show_bug.cgi?id=43146
Add a runtime feature switch that decides whether speech input attributes are available or not.
Defaults to true.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled):
(WebCore::RuntimeEnabledFeatures::speechInputEnabled):
(WebCore::RuntimeEnabledFeatures::speechEnabled):
* html/HTMLInputElement.idl:
2010-07-27 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Inspector should display CDATA section data
https://bugs.webkit.org/show_bug.cgi?id=16259
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/front-end/ElementsTreeOutline.js:
():
2010-07-28 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Enable UI for chromium's appcache inspection.
https://bugs.webkit.org/show_bug.cgi?id=43098
* inspector/front-end/Settings.js: Removed appCacheEnabled.
* inspector/front-end/StoragePanel.js: Removed appCacheEnabled condition.
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addApplicationCache):
2010-07-28 Bryan Gislason <bgislason@rim.com>
Reviewed by Nate Chapin.
Minor compile errors in loadMediaPlayerProxyPlugin
https://bugs.webkit.org/show_bug.cgi?id=43141
* WebCore/loader/SubframeLoader.cpp:
2010-07-28 Dominic Mazzoni <dmazzoni@google.com>
Reviewed by Dimitri Glazkov.
Add a missing dependency.
https://bugs.webkit.org/show_bug.cgi?id=43044
* css/CSSPrimitiveValueMappings.h:
2010-07-28 Alex Nicolaou <anicolao@chromium.org>
Reviewed by Ojan Vafai.
Set incorrect but close expectations for mask-colorspace.svg on mac
https://bugs.webkit.org/show_bug.cgi?id=43102
Blocks:
[chromium] r63450 caused some svg mask tests to fail pixel tests
https://bugs.webkit.org/show_bug.cgi?id=42403
ImageBufferCG.cpp uses CoreGraphics to do the transform of SVG masks
into LinearRGB, but only for MAC which means not for CHROMIUM, so I
have changed the #if to account for both platforms. I am assuming this
isn't in for windows because it's missing in CG itself, but I didn't
verify that.
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
2010-07-28 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Improve read-only arrow button appearance
https://bugs.webkit.org/show_bug.cgi?id=43108
No new tests. This is a fix for fast/forms/
input-appearance-spinbutton-disabled-readonly.html
* platform/chromium/PlatformThemeChromiumGtk.cpp:
(WebCore::PlatformThemeChromiumGtk::paintArrowButton):
If the button has ReadOnlyState, paint the button as same as it is disabled.
2010-07-28 Tony Chang <tony@chromium.org>
Reviewed by Ojan Vafai.
implement getData('text/html') for webkit win
https://bugs.webkit.org/show_bug.cgi?id=37981
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::extractMarkupFromCFHTML):
(WebCore::getCFHTML):
(WebCore::fragmentFromCFHTML):
(WebCore::fragmentFromHTML):
* platform/win/ClipboardUtilitiesWin.h:
* platform/win/ClipboardWin.cpp:
(WebCore::):
(WebCore::clipboardTypeFromMIMEType):
(WebCore::ClipboardWin::getData):
2010-07-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Update numbered header element closing to match recent spec change
https://bugs.webkit.org/show_bug.cgi?id=43072
Pretty straightforward transcription of the spec change.
* html/HTMLElementStack.cpp:
(WebCore::HTMLNames::isNumberedHeaderElement):
(WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
(WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
(WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
2010-07-28 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add support for calling NPObject methods
https://bugs.webkit.org/show_bug.cgi?id=43145
* WebCore.exp.in:
Export JSHTMLElement::s_info and pluginScriptObject.
* WebCore.xcodeproj/project.pbxproj:
Make JSHTMLElement.h and JSPluginElementFunctions.h private headers.
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginScriptObject):
* bindings/js/JSPluginElementFunctions.h:
Make pluginScriptObject a public function.
2010-07-28 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
[chromium] Add a bool to Settings to control accelerated 2d canvas
https://bugs.webkit.org/show_bug.cgi?id=43094
Currently this doesn't control anything, but it will soon.
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setAccelerated2dCanvasEnabled):
* page/Settings.h:
(WebCore::Settings::accelerated2dCanvasEnabled):
2010-07-28 Robin Dunn <robin@alldunn.com>
Reviewed by Kevin Ollivier.
Add DOM bindings support for wx port.
* DerivedSources.make:
* bindings/scripts/CodeGeneratorCPP.pm:
* platform/graphics/wx/FontPlatformDataWx.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/wx/MouseEventWx.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* wscript:
2010-07-28 Stephen White <senorblanco@chromium.org>
Reviewed by Darin Fisher.
Hook the GLES2 rendering path up to GraphicsContextSkia.
https://bugs.webkit.org/show_bug.cgi?id=43119
This connects the state-setting and drawing calls implemented in
so far in GLES2Canvas, and calls PlatformContextSkia's
prepareForSoftwareDraw() for all the non-accelerated paths.
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::addPath):
(WebCore::GraphicsContext::beginPath):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawFocusRing):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::strokeRect):
These calls are software-only; call preSoftwareDraw() for these.
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::setCompositeOperation):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::concatCTM):
These ones set state on both Skia and GLES2Canvas.
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::fillRect):
These ones have a GLES2 implementation; call through to it if PlatformContextSkia's useGPU() flag is set and the state permits.
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::prepareForSoftwareDraw):
(PlatformContextSkia::prepareForHardwareDraw):
Rename preXXXDraw() -> prepareForXXXDraw().
* platform/graphics/skia/PlatformContextSkia.h:
(PlatformContextSkia::prepareForSoftwareDraw):
(PlatformContextSkia::prepareForHardwareDraw):
Rename preXXXDraw() -> prepareForXXXDraw().
2010-07-28 fsamuel@chromium.org <fsamuel@chromium.org>
Reviewed by David Hyatt.
REGRESSION (r63994): Bank of America's home page is horribly mis-rendered
https://bugs.webkit.org/show_bug.cgi?id=42993
Fixed bug introduced by patch for bug 40775.
The new table rendering code did not take into account table layouts starting
during a partial construction of the table render tree. As such,
multiple layouts on the same table resulted in more columns being generated.
This patch solves this issue.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::cellAbove):
(WebCore::RenderTable::cellBelow):
(WebCore::RenderTable::cellBefore):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::setCellWidths):
(WebCore::RenderTableSection::calcRowHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::appendColumn):
(WebCore::RenderTableSection::splitColumn):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::CellStruct::CellStruct):
2010-07-28 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Pavel Feldman.
Exclude DNS and SSL time from connect time
https://bugs.webkit.org/show_bug.cgi?id=43083
The ResourceLoadTiming API's definition of the connect phase includes
DNS and SSL time. However, the Web Timing spec wants just the TCP time.
So this patch subtracts those phases out.
No new tests because ResourceLoadTiming fields are not populated by
TestShell yet.
* page/Timing.cpp:
(WebCore::Timing::connectStart):
(WebCore::Timing::connectEnd):
2010-07-26 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834
No new tests, refactoring only.
* WebCore.exp.in:
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::PageClients::PageClients):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2010-07-28 Xianzhu Wang <phnixwxz@gmail.com>
Reviewed by Dan Bernstein.
Line not wrapped at certain punctuations
https://bugs.webkit.org/show_bug.cgi?id=37698
Added a line breaking table for all printable ASCII chars to replace
the original line breaking table for only '?'.
Test: fast/text/line-breaks-after-closing-punctuations.html
* rendering/break_lines.cpp:
(WebCore::isBreakableSpace):
(WebCore::):
(WebCore::shouldBreakAfter):
(WebCore::needsLineBreakIterator):
2010-07-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed build fix.
Fix EFL build with SHARED_CORE=ON after r64124.
* CMakeLists.txt:
2010-07-28 Jay Civelli <jcivelli@chromium.org>
Reviewed by Kent Tamura.
[Chromium] The popup now layouts properly its rows by
taking into account the label width.
https://bugs.webkit.org/show_bug.cgi?id=42910
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::layout):
2010-07-28 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: chromium tests fix.
Chromium Dev Tools: [REGRESSION] Pause is not working.
https://bugs.webkit.org/show_bug.cgi?id=43118
* inspector/front-end/InspectorBackendStub.js:
2010-07-28 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Navigating to anchor prior to opening WebInspector
makes resource have 'other' type.
https://bugs.webkit.org/show_bug.cgi?id=43110
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::type):
(WebCore::InspectorResource::resourceData):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._innerSelectContentTab):
2010-07-28 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] putImageData(): Combine premultiplication and BGR->RGB
https://bugs.webkit.org/show_bug.cgi?id=43114
Further optimized putImageData() by doing BGR->RGB inside the
premultiplication routine.
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::premultiplyABGRtoARGB): Renamed from premultiply.
(WebCore::putImageData):
2010-07-28 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IDBKeyRange should be a runtime-enabled feature.
https://bugs.webkit.org/show_bug.cgi?id=43116
IDBKeyRange should be enabled at runtime only when IndexedDB is also
enabled.
No new tests needed, functionality not changed.
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
* page/DOMWindow.idl:
2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Forgot to land GNUmakefile.am changes, broke build in r64196.
* GNUmakefile.am: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVGMaskElement/SVGForeignObjectElement should not inherit from SVGURIReference
https://bugs.webkit.org/show_bug.cgi?id=43113
Remove wrong SVGURIReference inheritance for SVGMaskElement/SVGForeignObjectElement. Old copy/paste bug.
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::synchronizeProperty):
* svg/SVGForeignObjectElement.h:
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::parseMappedAttribute):
(WebCore::SVGMaskElement::svgAttributeChanged):
(WebCore::SVGMaskElement::synchronizeProperty):
* svg/SVGMaskElement.h:
2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
WebKit shouldn't ignore resource cycles, but break them as Opera does
https://bugs.webkit.org/show_bug.cgi?id=43031
Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.
We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).
Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
phase begins.
This is the first chunk, which just adds the new SVGResources/SVGResourcesCache/SVGResourcesCycleSolver files, and does minor cleanups.
It's not yet glued in and doesn't affect any tests.
* Android.mk: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
* CMakeLists.txt: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* rendering/RenderInline.h: Make styleDidChange protected, RenderSVGInline wants to override it.
* rendering/RenderSVGAllInOne.cpp: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
* rendering/RenderSVGHiddenContainer.h:
(WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): Make isSVGHiddenContainer() private and renderName() public.
* rendering/RenderSVGResourceContainer.cpp: Added. Moved most methods from the header in the implementation file.
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::idChanged):
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
(WebCore::RenderSVGResourceContainer::containsCyclicReference):
* rendering/RenderSVGResourceContainer.h: Add stubs, that SVGResourcesCache uses - a follow-up patch will add the logic.
(WebCore::RenderSVGResourceContainer::addClient):
(WebCore::RenderSVGResourceContainer::removeClient):
* rendering/SVGResources.cpp: Added. Holds a list of resources applyable to a RenderObject (fill/stroke, mask/markers/clipper/filter)
(WebCore::paintingResourceFromSVGPaint): Helper function looking up a RenderSVGResource for a SVGPaint object.
(WebCore::registerPendingResource): Helper function that register a RenderSVGResource as pending in the SVGDocumentExtensions.
(WebCore::SVGResources::buildCachedResources): Build a list of resources for a RenderObject/RenderStyle pair, handles pending resources, if needed.
(WebCore::SVGResources::invalidateClient): Helper function that calls invalidateClient() on all resources.
(WebCore::SVGResources::resourceDestroyed): Helper function that calls invalidateClients() on a certain resource, and nulls it.
(WebCore::SVGResources::buildSetOfResources): Helper function that stashes all resources present in the SVGResources members in a HashSet, used in SVGResourcesCycleSolver.
(WebCore::SVGResources::resetClipper): Helper methods nulling a resource.
(WebCore::SVGResources::resetFilter): Ditto.
(WebCore::SVGResources::resetMarkerStart): Ditto.
(WebCore::SVGResources::resetMarkerMid): Ditto.
(WebCore::SVGResources::resetMarkerEnd): Ditto.
(WebCore::SVGResources::resetMasker): Ditto.
(WebCore::SVGResources::resetFill): Ditto.
(WebCore::SVGResources::resetStroke): Ditto.
(WebCore::SVGResources::dump):
* rendering/SVGResources.h: Added.
(WebCore::SVGResources::clipper): Accesor of the cached m_foo variable.
(WebCore::SVGResources::filter): Ditto.
(WebCore::SVGResources::markerStart): Ditto.
(WebCore::SVGResources::markerMid): Ditto.
(WebCore::SVGResources::markerEnd): Ditto.
(WebCore::SVGResources::masker): Ditto.
(WebCore::SVGResources::fill): Ditto.
(WebCore::SVGResources::stroke): Ditto.
* rendering/SVGResourcesCache.cpp: Added. Holds a HashMap<RenderObject*, SVGResources*> and utility functions that update/invalidate the cache.
(WebCore::SVGResourcesCache::SVGResourcesCache):
(WebCore::SVGResourcesCache::~SVGResourcesCache):
(WebCore::SVGResourcesCache::addResourcesFromRenderObject): Build a SVGResources object for a RenderObject and adds it to the cache, then detects & breaks cycles using SVGResourcesCycleSolver.
(WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Remove a SVGResources object from the cache.
(WebCore::resourcesCacheFromRenderObject): Helper function, retrieving a SVGResourcesCache method from a RenderObject.
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Returns a SVGResources object from the cache.
(WebCore::SVGResourcesCache::clientLayoutChanged): (static) Calls invalidateClient() on all resources that are used by the passed RenderObject.
(WebCore::SVGResourcesCache::clientStyleChanged): (static) Updates the cache (calling removeResourceFromRenderObject/addResourcesFrom...) and invalidates resources in the ancestor chain.
(WebCore::SVGResourcesCache::clientUpdatedFromElement): (static) Does the same, without invalidating the ancestor chain.
(WebCore::SVGResourcesCache::clientDestroyed): (static) Calls removeResourcesFromRenderObject() on the SVGResourcesCache, for the given renderer.
(WebCore::SVGResourcesCache::resourceDestroyed): (static) Updates all SVGResources objects in the cache, that refer to the given resource.
* rendering/SVGResourcesCache.h: Added.
* rendering/SVGResourcesCycleSolver.cpp: Added. Detects and breaks cyclic references, just the way Opera handles it. Break cycles as they are detected.
(WebCore::SVGResourcesCycleSolver::SVGResourcesCycleSolver):
(WebCore::SVGResourcesCycleSolver::~SVGResourcesCycleSolver):
(WebCore::SVGResourcesCycleSolver::resourceContainsCycles): Operates only on the render tree
(WebCore::targetReferenceFromResource): Helper method for chainableResourceContainsCycles().
(WebCore::setFollowLinkForChainableResource): Ditto.
(WebCore::SVGResourcesCycleSolver::chainableResourceContainsCycles): Handles cycles for resources that are chainable through xlink:href (filter/gradient/pattern).
(WebCore::SVGResourcesCycleSolver::resolveCycles): Main method executing the cycle breaking logic, utilizing (chainableResource)resourceContainsCycles.
(WebCore::SVGResourcesCycleSolver::breakCycle): Nulls a resource in the given SVGResources* object, to avoid using an invalid resource while rendering/layouting.
* rendering/SVGResourcesCycleSolver.h: Added.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Create SVGResourcesCache object once per SVGDocumentExtensions.
* svg/SVGDocumentExtensions.h:
(WebCore::SVGDocumentExtensions::resourcesCache): Expose accesor method for the SVGResourcesCache.
2010-07-28 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244
Implementing svgAttributeChanged for SVGFEOffsetElement object.
Tests: svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html
svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html
svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html
svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html
svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html
svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::svgAttributeChanged):
* svg/SVGFEOffsetElement.h:
2010-07-28 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244
Implementing svgAttributeChanged for SVGFEDiffuseLightingElement object.
Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
* svg/SVGFEDiffuseLightingElement.h:
2010-07-27 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Ojan Vafai.
Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* WebCore.pri:
2010-07-26 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
@page rules in media queries should be tested.
https://bugs.webkit.org/show_bug.cgi?id=42971
* page/PrintContext.cpp:
(WebCore::PrintContext::pageProperty): Fixed to properly begin
printing. Added support for size property.
2010-07-27 James Hawkins <jhawkins@chromium.org>
Reviewed by Darin Fisher.
Add itemIcon() method to the PopupMenuClient, used by Chrome AutoFill
to display right-aligned credit card icons in the suggestions popup.
https://bugs.webkit.org/show_bug.cgi?id=43076
No new tests as this is only used by the Chromium WebKit API.
* platform/PopupMenuClient.h:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::paintRow):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemIcon):
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::itemIcon):
* rendering/RenderTextControlSingleLine.h:
2010-07-27 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] putImageData(): Fast premultiply() if alpha == 255
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::premultiply): Do nothing for opaque pixels.
2010-07-27 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Enhance FileThreadTask to support return type.
https://bugs.webkit.org/show_bug.cgi?id=43078
This is needed to support synchronous calls of FileStream methods in
addition to asynchronous calls via FileThreadTask.
* html/FileThreadTask.h:
(WebCore::createFileThreadTask):
2010-07-27 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
[chromium] Let PlatformContextSkia draw to a GLES2Canvas in addition to an SkCanvas
https://bugs.webkit.org/show_bug.cgi?id=43070
This adds a GLES2Canvas as drawing surface to PlatformContextSkia and lets callers
issue draw commands to either. The PlatformContextSkia keeps track of where
rendering results are being accumulated and can blend the hardware and software
backing stores into each other when necessary.
Still just plumbing, no functionality change.
* platform/graphics/chromium/GLES2Canvas.cpp:
(WebCore::GLES2Canvas::GLES2Canvas):
* platform/graphics/chromium/GLES2Canvas.h:
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::PlatformContextSkia):
(PlatformContextSkia::setGLES2Context):
(PlatformContextSkia::preSoftwareDraw):
(PlatformContextSkia::preHardwareDraw):
(PlatformContextSkia::forceToSoftware):
(PlatformContextSkia::uploadSoftwareToHardware):
(PlatformContextSkia::readbackHardwareToSoftware):
* platform/graphics/skia/PlatformContextSkia.h:
(PlatformContextSkia::useGPU):
(PlatformContextSkia::gpuCanvas):
(PlatformContextSkia::preSoftwareDraw):
(PlatformContextSkia::preHardwareDraw):
(PlatformContextSkia::forceToSoftware):
(PlatformContextSkia::):
2010-07-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Incomplete repaint of some Safari extension content which falls into a composited iframe
<rdar://problem/8235044>
syncCompositingStateRecursive() bails if it thinks that a layout is pending, because
the layout may update layers and make this sync obsolete. However, it only checked for an
active layout timer. This ignores other sources of pending style changes and layouts, like
the document's style recalc timer. So use needsLayout(), which does check this.
Unable to create a test because it depends on Safari extension behavior.
* page/FrameView.cpp:
(WebCore::FrameView::syncCompositingStateRecursive):
2010-07-27 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] putImageData() optimizations
https://bugs.webkit.org/show_bug.cgi?id=43059
- Single-pass premultiplication and BGR->RGB conversion
- Use ARGB32PM for the temporary image so Qt calls the
fast Source composition function
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::premultiply): Added (static inline)
(WebCore::putImageData):
2010-07-27 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Expose interface for returning the plug-in script JSObject
https://bugs.webkit.org/show_bug.cgi?id=43074
PluginViewBase::scriptObject should be a virtual function.
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::scriptObject):
2010-07-27 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Add ScriptExecutionContext argument to File/Blob constructors.
https://bugs.webkit.org/show_bug.cgi?id=40587
Remove DragData::createClipboard and add Clipboard::create for it to be
called directly in DragController. This is because we need to pass
Frame pointer to Clipboard class and use it to get ScriptExecutionContext
in order to construct File objects in Clipboard::files().
* bindings/js/SerializedScriptValue.cpp:
(WebCore::DeserializingTreeWalker::convertIfTerminal):
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::ZigZag::Reader::readBlob):
(WebCore::ZigZag::Reader::readFile):
(WebCore::ZigZag::Reader::readFileList):
* dom/Clipboard.h:
* editing/Editor.cpp:
(WebCore::Editor::dispatchCPPEvent):
* editing/Editor.h:
* editing/android/EditorAndroid.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/brew/EditorBrew.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/chromium/EditorChromium.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/haiku/EditorHaiku.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/mac/EditorMac.mm:
(WebCore::Editor::newGeneralClipboard):
* editing/qt/EditorQt.cpp:
(WebCore::Editor::newGeneralClipboard):
* editing/wx/EditorWx.cpp:
(WebCore::Editor::newGeneralClipboard):
* html/Blob.cpp:
(WebCore::Blob::Blob):
(WebCore::Blob::slice):
* html/Blob.h:
(WebCore::Blob::create):
* html/Blob.idl:
* html/BlobBuilder.cpp:
(WebCore::BlobBuilder::getBlob):
* html/BlobBuilder.h:
* html/BlobBuilder.idl:
* html/File.cpp:
(WebCore::File::File):
* html/File.h:
(WebCore::File::create):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::appendFormData):
(WebCore::HTMLInputElement::setFileListFromRenderer):
* page/DragController.cpp:
(WebCore::DragController::dragExited):
(WebCore::DragController::performDrag):
(WebCore::DragController::tryDHTMLDrag):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* platform/DragData.h:
* platform/android/ClipboardAndroid.cpp:
(WebCore::Clipboard::create):
* platform/android/DragDataAndroid.cpp:
* platform/brew/ClipboardBrew.cpp:
(WebCore::Clipboard::create):
* platform/brew/DragDataBrew.cpp:
* platform/chromium/ClipboardChromium.cpp:
(WebCore::Clipboard::create):
(WebCore::ClipboardChromium::ClipboardChromium):
(WebCore::ClipboardChromium::create):
(WebCore::ClipboardChromium::files):
* platform/chromium/ClipboardChromium.h:
* platform/chromium/DragDataChromium.cpp:
* platform/efl/ClipboardEfl.cpp:
(WebCore::Editor::newGeneralClipboard):
(WebCore::Clipboard::create):
* platform/efl/DragDataEfl.cpp:
* platform/gtk/ClipboardGtk.cpp:
(WebCore::Editor::newGeneralClipboard):
(WebCore::Clipboard::create):
(WebCore::ClipboardGtk::ClipboardGtk):
(WebCore::ClipboardGtk::files):
* platform/gtk/ClipboardGtk.h:
(WebCore::ClipboardGtk::create):
* platform/gtk/DragDataGtk.cpp:
* platform/haiku/ClipboardHaiku.cpp:
(WebCore::Clipboard::create):
* platform/haiku/DragDataHaiku.cpp:
* platform/mac/ClipboardMac.mm:
(WebCore::Clipboard::create):
(WebCore::ClipboardMac::files):
* platform/mac/DragDataMac.mm:
* platform/qt/ClipboardQt.cpp:
(WebCore::Clipboard::create):
* platform/qt/DragDataQt.cpp:
* platform/win/ClipboardWin.cpp:
(WebCore::Clipboard::create):
(WebCore::ClipboardWin::ClipboardWin):
(WebCore::ClipboardWin::files):
* platform/win/ClipboardWin.h:
(WebCore::ClipboardWin::create):
* platform/win/DragDataWin.cpp:
* platform/win/EditorWin.cpp:
(WebCore::Editor::newGeneralClipboard):
* platform/wince/DragDataWince.cpp:
* platform/wince/EditorWince.cpp:
(WebCore::Editor::newGeneralClipboard):
* platform/wx/ClipboardWx.cpp:
(WebCore::Clipboard::create):
* platform/wx/DragDataWx.cpp:
2010-07-27 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by David Levin.
Move all WebSQLDatabases-specific code behind #if ENABLE(DATABASE).
https://bugs.webkit.org/show_bug.cgi?id=43035
Make Chromium compile with ENABLE_DATABASE=0. The #ifdefs in
DatabaseAuthorizer and ChromiumBridge are removed, because they're
used by non-HTML5 DBs too (the classes in WebCore/platform/sql/),
which are used by other features too. So they need to be compiled
in even if HTML5 DBs are disabled.
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* page/DOMWindow.idl:
* platform/chromium/ChromiumBridge.h:
* storage/DatabaseAuthorizer.cpp:
* storage/chromium/DatabaseObserver.h:
* storage/chromium/DatabaseTrackerChromium.cpp:
* storage/chromium/QuotaTracker.cpp:
* storage/chromium/QuotaTracker.h:
* storage/chromium/SQLTransactionClientChromium.cpp:
2010-07-27 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: Misspellings not shown in AXAttributedStringForTextMarkerRange when selection is on word
https://bugs.webkit.org/show_bug.cgi?id=41817
Change how misspelled words are identified for accessibility. No longer rely on the
cached markers in Document. Calculate on the fly, which is more accurate in a variety of
circumstances (like when selection has not moved across words, of if the cursor is in the middle
of a misspelled word).
Test: platform/mac/accessibility/attributed-string-includes-misspelled-with-selection.html
* accessibility/mac/AccessibilityObjectWrapper.mm:
(AXAttributeStringSetSpelling):
(AXAttributedStringAppendText):
(-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
2010-07-27 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 42621 - Add a bump allocator for the YARR interpreter
The regex engine requires lifo allocation, however currently uses the general purpose
malloc/free memory allocation. A simple bump pointer allocator should provide a lower
overhead allocation solution.
* ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.
2010-07-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: render network timing as gant chart in popover.
https://bugs.webkit.org/show_bug.cgi?id=43051
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::buildObjectForTiming):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._showPopover):
* inspector/front-end/inspector.css:
(.resource-timing-row):
(.resource-timing-bar):
(.resource-timing-bar-title):
* inspector/front-end/utilities.js:
2010-07-27 Victor Wang <victorw@chromium.org>
Unreviewed, rolling out r64104.
http://trac.webkit.org/changeset/64104
https://bugs.webkit.org/show_bug.cgi?id=40768
The patch causes chromium webkit socket laytest crashes on
windows randomly
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addResource):
(WebCore::InspectorController::removeResource):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::cachedResource):
(WebCore::InspectorResource::type):
(WebCore::InspectorResource::resourceData):
* inspector/InspectorResource.h:
(WebCore::InspectorResource::):
(WebCore::InspectorResource::create):
* inspector/front-end/Resource.js:
(WebInspector.Resource.Type.toString):
(WebInspector.Resource.prototype.set type):
(WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshRequestHeaders):
(WebInspector.ResourceView.prototype._refreshResponseHeaders):
(WebInspector.ResourceView.prototype._refreshHeaders):
* inspector/front-end/inspector.css:
(.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
(WebInspector.updateResource):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::disconnect):
(WebCore::WebSocketChannel::didOpen):
(WebCore::WebSocketChannel::didClose):
(WebCore::WebSocketChannel::processBuffer):
* websockets/WebSocketChannel.h:
2010-07-27 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] Key range methods belong to the IDBKeyRange interface
https://bugs.webkit.org/show_bug.cgi?id=43052
Move the key range methods from the IndexedDatabaseRequest interface
to the IDBKeyRange interface. Also add a global IDBKeyRange object
that can be used to access the IDBKeyRange constants and factory methods.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::iDBKeyRange):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::leftBound):
(WebCore::IDBKeyRange::rightBound):
(WebCore::IDBKeyRange::bound):
* storage/IDBKeyRange.h:
* storage/IDBKeyRange.idl:
* storage/IndexedDatabaseRequest.cpp:
* storage/IndexedDatabaseRequest.h:
* storage/IndexedDatabaseRequest.idl:
2010-07-27 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: consolidate parentObjectIfExists() and parentObject() code
https://bugs.webkit.org/show_bug.cgi?id=42981
Consolidate duplicate code in parentObject and parentObjectIfExists
No tests. No functionality changed.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderParentObject):
(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::parentObject):
* accessibility/AccessibilityRenderObject.h:
2010-07-27 Chris Fleizach <cfleizach@apple.com>
Reviewed by Adam Barth.
AX: replace m_renderer->document->axObjectCache() with just axObjectCache()
https://bugs.webkit.org/show_bug.cgi?id=42979
No new tests. Code cleanup only.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::firstChild):
(WebCore::AccessibilityRenderObject::lastChild):
(WebCore::AccessibilityRenderObject::previousSibling):
(WebCore::AccessibilityRenderObject::nextSibling):
(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::parentObject):
(WebCore::AccessibilityRenderObject::menuForMenuButton):
(WebCore::AccessibilityRenderObject::menuButtonForMenu):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::axObjectCache):
(WebCore::AccessibilityRenderObject::contentChanged):
(WebCore::AccessibilityRenderObject::addChildren):
2010-07-27 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: do not activate all breakpoints on page reload
https://bugs.webkit.org/show_bug.cgi?id=41461
Test: inspector/debugger-breakpoints-not-activated-on-reload.html
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._addBreakpoint):
2010-07-27 Pranav Kedia <pranavk@chromium.org>
Reviewed by Adam Barth.
Chrome browser Bug: Pause button stays when <audio> hits end
https://bugs.webkit.org/show_bug.cgi?id=42677
The change is just in chromium media. Tested using media part of
WebKit layout tests. The following test that was failing is passing.
media/video-duration-known-after-eos.html -> unexpected pass
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaPlayButton):
Using mediaElement->canPlay() instead of mediaElement->paused() to
paint the play/pause button.
2010-07-27 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Client-based Geolocation does not pass enableHighAccuracy option to controller and client
https://bugs.webkit.org/show_bug.cgi?id=40374
This change passes the enableHighAccuracy request option to the GeolocationController.
The GeolocationController tracks whether this should be used by the client.
No new tests possible as the mock provider doesn't support this feature.
* page/Geolocation.cpp:
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::startUpdating):
* page/GeolocationController.cpp:
(WebCore::GeolocationController::addObserver):
(WebCore::GeolocationController::removeObserver):
* page/GeolocationController.h:
* page/GeolocationControllerClient.h:
2010-07-27 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Current implementation of message based inspector
transport generated by CodeGeneratorInspector should be upstreamed
from WebKit/chromium to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=42983
* Android.derived.v8bindings.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptObject.cpp:
* bindings/js/ScriptObject.h:
* bindings/v8/ScriptObject.cpp:
* bindings/v8/ScriptObject.h:
* inspector/CodeGeneratorInspector.pm:
* inspector/InspectorBackend.idl: Removed.
* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::windowObjectCleared):
(WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
* inspector/InspectorFrontendClientLocal.h:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::sendMessageToBackend):
* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorBackendStub.js:
(.WebInspector.InspectorBackendStub):
(.WebInspector.InspectorBackendStub.prototype._registerDelegate):
(.WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):
2010-07-27 Satish Sampath <satish@chromium.org>
Reviewed by Kent Tamura.
Simplify speech input plumbing in webcore and webkit
https://bugs.webkit.org/show_bug.cgi?id=43008
No new tests as functionality is not changed.
* GNUmakefile.am: Removed a header file.
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Page.cpp:
(WebCore::Page::speechInput): Creates and returns SpeechInput when needed.
* page/Page.h:
* page/SpeechInput.cpp: Added methods to proxy and callbacks between input elements and WebKit
(WebCore::SpeechInput::SpeechInput):
(WebCore::SpeechInput::didCompleteRecording):
(WebCore::SpeechInput::didCompleteRecognition):
(WebCore::SpeechInput::setRecognitionResult):
(WebCore::SpeechInput::startRecognition):
(WebCore::SpeechInput::stopRecording):
* page/SpeechInput.h:
* page/SpeechInputClient.h:
* page/SpeechInputClientListener.h: Removed.
* page/SpeechInputListener.h:
* rendering/TextControlInnerElements.cpp: Added one more callback.
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::speechInput):
(WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
* rendering/TextControlInnerElements.h:
2010-07-27 Kent Tamura <tkent@chromium.org>
Reviewed by Ojan Vafai.
Add a runtime setting for interactive form validation.
https://bugs.webkit.org/show_bug.cgi?id=40520
The interactive validation feature was disabled for non-strict
modes by r61059 to avoid a compatibility issue. This removes the
mode checking and introduce a runtime setting to enable/disable
the feature instead.
The default value is 'disable' and we'll remove the setting when
the compatibility issue is resolved and interactive validation
implementation is completed.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::validateInteractively):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setInteractiveFormValidationEnabled):
(WebCore::Settings::interactiveFormValidationEnabled):
2010-07-26 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 43009 - Abstract out page allocation from executable allocators
* ForwardingHeaders/wtf/PageAllocation.h: Added.
2010-07-26 Yuta Kitamura <yutak@chromium.org>
Reviewed by Pavel Feldman.
Add WebSocket resource type to Web Inspector.
When a new WebSocket connection is established, a line for that connection
will appear in Web Inspector's Resources tab. If the resource name is
clicked, the details of handshake request and response will be shown.
Web Inspector: WebSocket in Resources tab
https://bugs.webkit.org/show_bug.cgi?id=40768
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addResource): WebSocket resource does not
have an associated loader, thus frame might be null. Need to check it.
(WebCore::InspectorController::removeResource): Ditto.
(WebCore::InspectorController::didCreateWebSocket):
(WebCore::InspectorController::willSendWebSocketHandshakeRequest):
(WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorController::didCloseWebSocket):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
because WebSocket does not have a loader and we need to allow null for
these variables.
(WebCore::createReadableStringFromBinary):
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::create): Factory function of
regular (non-WebSocket) resources.
(WebCore::InspectorResource::createWebSocket): Factory function of
WebSocket resources.
(WebCore::InspectorResource::updateWebSocketRequest):
(WebCore::InspectorResource::updateWebSocketResponse):
(WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes
available when Frame::setDocument() is called. We cannot obtain documentURL
during the constructor or updateRequest() function, because m_frame->document()
is not available yet at that point and documentURL will contain a wrong URL.
As far as I know, updateScriptObject() is the only place where we can safely
obtain documentURL.
(WebCore::InspectorResource::cachedResource):
(WebCore::InspectorResource::type):
(WebCore::InspectorResource::resourceData):
* inspector/InspectorResource.h:
(WebCore::InspectorResource::):
(WebCore::InspectorResource::markWebSocket):
* inspector/front-end/Resource.js:
(WebInspector.Resource.Type.toString):
(WebInspector.Resource.prototype.set type):
(WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshRequestHeaders):
(WebInspector.ResourceView.prototype._refreshResponseHeaders):
(WebInspector.ResourceView.prototype._refreshHeaders):
* inspector/front-end/inspector.css:
(.resources-category-websockets, .resources-category-other):
(.resources-category-websockets .resources-graph-bar):
(.resources-category-websockets.resource-cached .resources-graph-bar):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
(WebInspector.updateResource):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::disconnect):
(WebCore::WebSocketChannel::didOpen):
(WebCore::WebSocketChannel::didClose):
(WebCore::WebSocketChannel::processBuffer):
(WebCore::WebSocketChannel::identifier):
* websockets/WebSocketChannel.h:
2010-07-26 Cosmin Truta <ctruta@chromium.org>
Reviewed by Eric Seidel.
Some SVGs with empty <g> elements crash Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=41175
Redo the old fix using a different approach, to avoid regressing
svg/batik/filters/filterRegions.svg with Chromium on Linux.
Specifically, handle empty SkBitmap objects by exiting early upon
encountering unconfigured (i.e. empty) bitmaps.
No new tests. This bug's old test (svg/filters/filter-empty-g.svg)
and the above-mentioned regressed test are expected to pass.
* WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
(ImageBuffer::ImageBuffer): Undo the old fix.
(getImageData): The new fix.
2010-07-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Google image search results broken on pages with Flash
https://bugs.webkit.org/show_bug.cgi?id=43014
The test for overflow added in r63452 is wrong in that it ignores the effects
of positioning on overflow.
The correct approach is to start by using RenderView's layoutOverflowRect as the largest bounds,
then getting the oveflow rect via backgroundClipRect() relative to the root layer.
Test: compositing/geometry/limit-layer-bounds-overflow-root.html
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformed):
(WebCore::RenderLayerBacking::updateCompositedBounds):
2010-07-26 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Plug-in views should be able to return JSObjects directly
https://bugs.webkit.org/show_bug.cgi?id=43019
* bindings/js/JSHTMLAppletElementCustom.cpp:
(WebCore::JSHTMLAppletElement::putDelegate):
(WebCore::JSHTMLAppletElement::getCallData):
* bindings/js/JSHTMLEmbedElementCustom.cpp:
(WebCore::JSHTMLEmbedElement::putDelegate):
(WebCore::JSHTMLEmbedElement::getCallData):
* bindings/js/JSHTMLObjectElementCustom.cpp:
(WebCore::JSHTMLObjectElement::putDelegate):
(WebCore::JSHTMLObjectElement::getCallData):
runtimeObjectCustomPut and runtimeObjectGetCallData now take a JSHTMLElement instead of a HTMLElement.
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginScriptObject):
First, ask the PluginViewBase for a JSObject and fall back to getting the JSObject from the instance.
(WebCore::runtimeObjectPropertyGetter):
(WebCore::runtimeObjectCustomGetOwnPropertySlot):
(WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
Call pluginScriptObject.
(WebCore::runtimeObjectCustomPut):
Change to take a JSHTMLElement. Call pluginScriptObject.
(WebCore::runtimeObjectGetCallData):
Change to take a JSHTMLElement.
* bridge/jsc/BridgeJSC.cpp:
* bridge/jsc/BridgeJSC.h:
(JSC::Bindings::Instance::createRuntimeObject):
Change this to return a JSObject.
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::getInstance):
Call pluginWidget.
(WebCore::HTMLPlugInElement::pluginWidget):
Return the plug-in widget for this element.
* html/HTMLPlugInElement.h:
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::scriptObject):
Add default implementation of scriptObject.
2010-07-26 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: Safari does not support ARIA mixed checkboxes
https://bugs.webkit.org/show_bug.cgi?id=43016
Test: platform/mac/accessibility/mixed-checkbox.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::checkboxOrRadioValue):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
(WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2010-07-26 Shimeng (Simon) Wang <swang@google.com>
Reviewed by Darin Adler.
Add auto hyphenation support for Android.
https://bugs.webkit.org/show_bug.cgi?id=42800
* platform/text/android/HyphenationAndroid.cpp: Added.
(WebCore::loadHyphenationDictionary):
(WebCore::lastHyphenLocation):
2010-07-26 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
Part of <rdar://problem/8152434>
Add support for scrolling using the keyboard in WebKit2
Add a new export and make WindowsKeyboardCodes private.
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
2010-07-26 Darin Adler <darin@apple.com>
Reviewed by Eric Carlson.
Don't handle empty URL attributes specially in reflection, even in cases such as <img src="">
https://bugs.webkit.org/show_bug.cgi?id=42087
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::insertedIntoDocument): Check if the src attribute is empty
by calling getAttribute instead of calling the src function. This keeps the behavior
correct with the reflection change, and has a side benefit of being more efficient as
well since there is no reason to resolve the URL.
(WebCore::HTMLMediaElement::loadResource): Call getNonEmptyURLAttribute directly here
instead of using the poster function.
(WebCore::HTMLMediaElement::getPluginProxyParams): Ditto.
* html/HTMLMediaElement.h: Removed the poster virtual function. The code that gets the
poster attribute is already video-specific and uses generic attribute fetching code, so
we no longer need a virtual function. Removed the src function. Since this would give
a different result from the JavaScript reflected src attribute, it's safer not to have
it, and it was easy to convert all the callers.
* html/HTMLMediaElement.idl: Removed the NonEmpty extended attribute from the src
attribute.
* html/HTMLSourceElement.cpp: Removed the src function for the same reason as above.
* html/HTMLSourceElement.h: Ditto.
* html/HTMLSourceElement.idl: Removed the NonEmpty extended attribute from the src
attribute.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseMappedAttribute): Removed code to update m_posterURL,
which is no longer needed. Changed call site that used the poster() function to instead
use getNonEmptyURLAttribute.
(WebCore::HTMLVideoElement::updatePosterImage): Check if the poster attribute is empty
by calling getAttribute instead of calling the poster function. This keeps the behavior
correct with the reflection change, and has a side benefit of being more efficient as
well since there is no reason to resolve the URL.
* html/HTMLVideoElement.h: Removed the poster function for the same reason we removed
the src function above. Also removed now-unneeded m_posterURL data member.
* html/HTMLVideoElement.idl: Removed the NonEmpty extended attribute from the poster
attribute.
2010-07-26 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: remove intValue() hasIntValue() from AccessibilityObject
https://bugs.webkit.org/show_bug.cgi?id=43006
These methods are very Mac centric. The mac centric code should be moved into the Mac wrapper.
No new tests, existing tests cover changes to logic.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::checkboxOrRadioValue):
* accessibility/AccessibilityObject.h:
(WebCore::):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::selectedRadioButton):
(WebCore::AccessibilityRenderObject::selectedTabItem):
(WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2010-07-26 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Applying inline style to a text node whose parent is an inline editable root causes crash
https://bugs.webkit.org/show_bug.cgi?id=39989
The crash was caused by splitTextElementAtStart and splitTextElementAtEnd assuming that the parent
and the grandparent of the specified text node is editable.
Modified splitTextElementAtStart and splitTextElementAtEnd so that they call splitTextAtStart
and splitTextAtEnd respectively when the grandparent is not editable.
Also modified SplitTextNodeContainingElement to exit early if the grandparent of m_text is not editable.
Test: editing/style/style-text-node-without-editable-parent.html
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::splitTextElementAtStart):
(WebCore::ApplyStyleCommand::splitTextElementAtEnd):
* editing/SplitTextNodeContainingElementCommand.cpp:
(WebCore::SplitTextNodeContainingElementCommand::doApply):
2010-07-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
Gmail compose is upside-down after r64054
https://bugs.webkit.org/show_bug.cgi?id=43000
We need to call setGeometryOrientation() whenever the iframe compositing layer attachment changes,
not just when requiresScrollLayer() returns false. This ensures that the orientation is updated
correctly.
Test: compositing/iframes/iframe-content-flipping.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2010-07-26 Justin Schuh <jschuh@chromium.org>
Reviewed by Darin Fisher.
Check history state against origin before setting
https://bugs.webkit.org/show_bug.cgi?id=42858
Tests: fast/loader/stateobjects/replacestate-base-illegal.html
fast/loader/stateobjects/replacestate-base-legal.html
* page/History.cpp:
(WebCore::History::urlForState):
(WebCore::History::stateObjectAdded):
2010-07-26 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Get rid of libgdom
https://bugs.webkit.org/show_bug.cgi?id=42378
Remove all build steps for building GObject DOM bindings.
* GNUmakefile.am: Remove GObject DOM bindings build.
2010-07-26 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
<http://webkit.org/b/42990> REGRESSION (r63854): Safari RSS layout is broken due to changes in vendor prefix handling
In r63854 support for properties with the -khtml vendor prefix was removed. This breaks the layout of
Safari's RSS interface, several Dashboard widgets that are included with Mac OS X, and at least one
popular third-party Mac OS X application. This change will need to be revisited in a manner that has
a clearer backwards-compatibility strategy. <http://webkit.org/b/42093> will be reopened to track that.
* css/CSSParser.cpp:
(WebCore::cssPropertyID): Revert the WebCore change from r63854.
2010-07-26 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Add ability for WK2 to register a scheme to always be displayed as an empty document
https://bugs.webkit.org/show_bug.cgi?id=42995
No new tests. (Currently not possible to test in WebKit1 DRT, can be testing in future WK2 tester)
* WebCore.exp.in:
* loader/MainResourceLoader.cpp:
(WebCore::shouldLoadAsEmptyDocument):
* platform/SchemeRegistry.cpp:
(WebCore::emptyDocumentSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsEmptyDocument):
(WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
* platform/SchemeRegistry.h:
2010-07-26 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kent Tamura.
[WINCE] Port ClipboardUtilities to WinCE
https://bugs.webkit.org/show_bug.cgi?id=42929
Make ClipboardUtilitiesWin more portable and remove the global namespace prefix
from GlobalLock/GlobalUnlock, since they are only macros on WinCE.
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::urlFromPath):
(WebCore::getWebLocData):
(WebCore::createGlobalData):
(WebCore::getURL):
(WebCore::getPlainText):
(WebCore::fragmentFromHTML):
2010-07-26 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Buildfix for BitmapImage.h
https://bugs.webkit.org/show_bug.cgi?id=42931
Use AffineTransform insted of TransformationMatrix.
* platform/graphics/BitmapImage.h:
2010-07-26 Dirk Schulze <krit@webkit.org>
Unreviewed sort of Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-07-26 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/42982> Streamline Inspector Source build phase script should use CONFIGURATION not BUILD_STYLE
<rdar://problem/6341764>
Reviewed by Mark Rowe.
* WebCore.xcodeproj/project.pbxproj: Switched Streamline
Inspector Source build phase script to use CONFIGURATION instead
of BUILD_STYLE.
2010-07-23 Ojan Vafai <ojan@chromium.org>
Reviewed by Darin Adler.
crash in insertParagraph in a contentEditable list
https://bugs.webkit.org/show_bug.cgi?id=42919
Don't try to break out of a list item if the list it's in
is the rootEditableElement.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2010-07-26 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Moves IDBKeyRange to use IDBKey rather than SerializedScriptValue / IDBAny.
https://bugs.webkit.org/show_bug.cgi?id=42583
Tests: existing storage/indexeddb/idb-keyrange.html must pass.
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::IDBKeyRange):
* storage/IDBKeyRange.h:
(WebCore::IDBKeyRange::create):
(WebCore::IDBKeyRange::left):
(WebCore::IDBKeyRange::right):
* storage/IDBKeyRange.idl:
* storage/IndexedDatabaseRequest.cpp:
(WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
(WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
(WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
(WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
* storage/IndexedDatabaseRequest.h:
* storage/IndexedDatabaseRequest.idl:
2010-07-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
Composited layers don't scroll in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42771
Rename two methods on RenderLayerCompositor to make their use more clear, and call them
when the FrameView gets resized and scrolled.
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::setFrameRect): override so we know when the size of the FrameView changes, so that the
RenderLayerCompositor can update its clipping layer.
(WebCore::FrameView::scrollPositionChanged): Call compositor()->frameViewDidScroll().
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterWidgetResize): updateContentLayerOffset() was renamed.
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize): Renamed from updateContentLayerOffset().
(WebCore::RenderLayerCompositor::frameViewDidScroll): Renamed from updateContentLayerScrollPosition().
(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Propagate compositing on Mac
for any FrameView that doesn't have a native widget, which is the case with WebKit2.
(WebCore::RenderLayerCompositor::requiresScrollLayer): New method to tell us whether we need to handle
scrolling (and clipping) ourselves.
(WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Do geometry flipping on the root platform
layer only if we're not doing our own scrolling, and use the new requiresScrollLayer() method.
(WebCore::RenderLayerCompositor::attachRootPlatformLayer): Send out the rootPlatformLayer(),
so that it returns the clipping layer if we have one.
2010-07-26 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Fisher.
Move DocumentLoadTiming struct to a new file
https://bugs.webkit.org/show_bug.cgi?id=42917
Also makes DocumentLoadTiming Noncopyable.
No new tests because no new functionality.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/DocumentLoadTiming.h: Added.
(WebCore::DocumentLoadTiming::DocumentLoadTiming):
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
* loader/FrameLoaderTypes.h:
* loader/MainResourceLoader.cpp:
* page/Timing.cpp:
2010-07-26 Mark Rowe <mrowe@apple.com>
Fix an #if in WebCore.exp.in to correctly detect whether SVG filters are enabled.
* WebCore.exp.in:
2010-07-26 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
DeviceOrientation event listeners should never be called synchronously from addEventListener()
https://bugs.webkit.org/show_bug.cgi?id=42304
No new tests as there are currently no implementations to test. Tests will be
added once LayoutTestController methods for providing a mock implementation are
in place, see Bug 39589.
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::timerFired):
(WebCore::DeviceOrientationController::addListener):
(WebCore::DeviceOrientationController::removeListener):
(WebCore::DeviceOrientationController::removeAllListeners):
* dom/DeviceOrientationController.h:
2010-07-26 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Canvas: Optimize GraphicsContext::addPath()
Avoid "deep concatenating" the canvas path onto the GC path
if the GC path has no elements.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::addPath):
2010-07-23 Stephen White <senorblanco@chromium.org>
Reviewed by Darin Fisher.
Implement OpenGLES2 helper classes.
https://bugs.webkit.org/show_bug.cgi?id=42905
GLES2Canvas and GLES2Texture are some simple OpenGLES2 helper classes
for managing state, samplers and textures.
When this is hooked up, it will be covered by many layout tests.
* WebCore.gypi:
Add new files to chromium build (contents are protected by #if's for now).
* platform/graphics/chromium/GLES2Canvas.cpp: Added.
(WebCore::affineTo3x3):
(WebCore::GLES2Canvas::State::State):
(WebCore::GLES2Canvas::GLES2Canvas):
(WebCore::GLES2Canvas::~GLES2Canvas):
(WebCore::GLES2Canvas::clearRect):
(WebCore::GLES2Canvas::fillRect):
(WebCore::GLES2Canvas::setFillColor):
(WebCore::GLES2Canvas::setAlpha):
(WebCore::GLES2Canvas::translate):
(WebCore::GLES2Canvas::rotate):
(WebCore::GLES2Canvas::scale):
(WebCore::GLES2Canvas::concatCTM):
(WebCore::GLES2Canvas::save):
(WebCore::GLES2Canvas::restore):
(WebCore::GLES2Canvas::drawTexturedRect):
(WebCore::GLES2Canvas::setCompositeOperation):
(WebCore::GLES2Canvas::applyCompositeOperator):
(WebCore::GLES2Canvas::getQuadVertices):
(WebCore::GLES2Canvas::getQuadIndices):
(WebCore::loadShader):
(WebCore::GLES2Canvas::getSimpleProgram):
(WebCore::GLES2Canvas::getTexProgram):
(WebCore::GLES2Canvas::createTexture):
(WebCore::GLES2Canvas::getTexture):
(WebCore::GLES2Canvas::checkGLError):
* platform/graphics/chromium/GLES2Canvas.h: Added.
(WebCore::GLES2Canvas::gles2Context):
* platform/graphics/chromium/GLES2Texture.cpp: Added.
(WebCore::GLES2Texture::GLES2Texture):
(WebCore::GLES2Texture::~GLES2Texture):
(WebCore::GLES2Texture::create):
(WebCore::convertFormat):
(WebCore::GLES2Texture::load):
(WebCore::GLES2Texture::bind):
* platform/graphics/chromium/GLES2Texture.h: Added.
(WebCore::GLES2Texture::):
(WebCore::GLES2Texture::format):
(WebCore::GLES2Texture::width):
(WebCore::GLES2Texture::height):
2010-07-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Fix IndexedDB release build on mac
https://bugs.webkit.org/show_bug.cgi?id=42377
* storage/IDBDatabaseImpl.cpp:
(WebCore::IDBDatabaseImpl::objectStore):
2010-07-26 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Add WebKit plumbing to connect speech requests and callbacks between WebCore and the embedder.
https://bugs.webkit.org/show_bug.cgi?id=42367
No new tests, the relevant LayoutTestController bindings will be added in the next patch.
* page/SpeechInput.cpp: renamed a method.
* page/SpeechInput.h: renamed a method.
* page/SpeechInputClient.h: added an extra method to optionally let users stop recording once they have spoken.
* page/SpeechInputClientListener.h: renamed a method.
* page/SpeechInputListener.h: renamed a method.
2010-07-26 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] getImageData(): Single-pass RGB->BGR and un-premultiplication
https://bugs.webkit.org/show_bug.cgi?id=42945
Combine the two operations into a single loop over the pixel data.
Yields a considerable FPS gain on http://www.semantix.gr/statue.html
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::getImageData):
2010-07-26 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Shinichiro Hamaji.
Web Inspector: make sure proxy objects are JSON-stringifiable.
https://bugs.webkit.org/show_bug.cgi?id=42961
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-07-26 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Joseph Pecoraro.
Inspector should remember resources sorting set by the user
https://bugs.webkit.org/show_bug.cgi?id=19208
Sorting options both for time and size graphs are memorized in a single property,
which makes them possible to retrieve in a single message (e.g. useful for remote debugging).
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.populateSidebar):
(WebInspector.ResourcesPanel.prototype._settingsLoaded):
(WebInspector.ResourcesPanel.prototype._loadSortOptions):
(WebInspector.ResourcesPanel.prototype._loadSortOptionForGraph):
(WebInspector.ResourcesPanel.prototype._graphSelected):
(WebInspector.ResourcesPanel.prototype._changeSortingFunction):
(WebInspector.ResourcesPanel.prototype._selectedOptionNameForGraph):
(WebInspector.ResourcesPanel.prototype._doChangeSortingFunction):
* inspector/front-end/Settings.js:
(WebInspector.populateApplicationSettings):
2010-07-25 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
Redo fails after text node is split by SplitTextNodeCommand
https://bugs.webkit.org/show_bug.cgi?id=42941
The bug was caused by SplitTextNodeCommand not implementing doReapply.
Implemented doReapply and added insertText1AndTrimText2 to share the code between doApply and doReapply.
Test: editing/undo/redo-split-text-node.html
editing/undo/redo-split-text-node-with-removal.html
* editing/SplitTextNodeCommand.cpp:
(WebCore::SplitTextNodeCommand::doApply): Calls executeApply.
(WebCore::SplitTextNodeCommand::doUnapply): Don't delete m_text1, which is later used in doReapply.
(WebCore::SplitTextNodeCommand::doReapply): Added.
(WebCore::SplitTextNodeCommand::insertText1AndTrimText2): Added.
* editing/SplitTextNodeCommand.h:
2010-07-23 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GTK] media/media-can-play-mpeg-audio.html fails
https://bugs.webkit.org/show_bug.cgi?id=42895
Fixed advertizing of mp3, mpeg and mp4 mime-types in the player.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache):
2010-07-23 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
LayoutTests/media/media-document-audio-size.html failure
https://bugs.webkit.org/show_bug.cgi?id=38376
Advertize audio/x-wav along with audio/wav when appropriate,
otherwise WebKit attempts to use a plugin to play the media.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache):
2010-07-25 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
splitTextAt*IfNeed and splitTextElementAt*IfNeed need to be cleaned up
https://bugs.webkit.org/show_bug.cgi?id=42937
Isolated the code to decide whether or not text node should be split into isValidCaretPositionInTextNode.
Moved the condition check out of *IfNeeded methods to applyRelativeFontStyleChange and applyInlineStyle.
No new tests added since this is a clean up.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Uses isValidCaretPositionInTextNode.
(WebCore::ApplyStyleCommand::applyInlineStyle): Uses isValidCaretPositionInTextNode.
(WebCore::ApplyStyleCommand::splitTextAtStart): Renamed from splitTextAtStartIfNeeded.
(WebCore::ApplyStyleCommand::splitTextAtEnd): Renamed from splitTextAtEndIfNeeded.
(WebCore::ApplyStyleCommand::splitTextElementAtStart): Renamed from splitTextElementAtStartIfNeeded.
(WebCore::ApplyStyleCommand::splitTextElementAtEnd): Renamed from splitTextElementAtEndIfNeeded.
(WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): Returns true if the position lies within a text node.
* editing/ApplyStyleCommand.h:
2010-07-25 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kent Tamura.
[WINCE] Buildfix for ImageBufferWince
https://bugs.webkit.org/show_bug.cgi?id=42928
* platform/graphics/wince/ImageBufferWince.cpp:
(WebCore::):
(WebCore::BufferedImage::draw): Pass through ColorSpace parameter.
(WebCore::BufferedImage::drawPattern): Ditto.
(WebCore::ImageBuffer::platformTransformColorSpace): Added.
2010-07-25 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kent Tamura.
[WINCE] Buildfix for PopupMenuWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=42932
Add #if !OS(WINCE) around unsupported window messages.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::wndProc):
2010-07-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement adjustMathMLAttributes
https://bugs.webkit.org/show_bug.cgi?id=42952
This is kind of mechanical overkill for adjusting one attribute name,
but it's nice to use the same machinery as SVG.
* html/HTMLTreeBuilder.cpp:
* mathml/mathattrs.in:
2010-07-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Functions supporting the legacy tree builder are confusing
https://bugs.webkit.org/show_bug.cgi?id=42951
This patch just inlines these functions into their one call site and
removes the notImplemented() calls. We thought we were going to grow
these to support the new tree builder, but we took a different path.
Previous to this patch, these functions were confusing because they
looked like part of the new tree builder.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
* html/HTMLTreeBuilder.h:
2010-07-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Recent HTML5 TreeBuilder Regression? All canvas tests ASSERT
https://bugs.webkit.org/show_bug.cgi?id=42948
Remove ASSERT and replace with correct branch. I put this ASSERT in
to make sure we had test coverage for this branch. I guess we do. :)
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
2010-07-25 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: check of jQuery object type prior to treating it as an array.
https://bugs.webkit.org/show_bug.cgi?id=42946
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-07-24 Daniel Bates <dbates@rim.com>
Unreviewed, build fix when building with WML support.
PageCache.cpp compile error when WML is enabled
https://bugs.webkit.org/show_bug.cgi?id=40765
Remove extraneous semicolon.
Note, building with WML support enabled is broken
even with this fix. See Bug #42943 for more details.
* history/PageCache.cpp:
(WebCore::PageCache::canCachePageContainingThisFrame):
2010-07-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Atomize strings used by the HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=42875
This is about a 1% improvement to the parsing benchmark.
* html/HTMLTagNames.in:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
2010-07-24 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Buildfix for !ENABLE(INSPECTOR) after r63891.
https://bugs.webkit.org/show_bug.cgi?id=42925
* bindings/js/ScriptValue.cpp: Added property svn:eol-style.
* bindings/js/ScriptValue.h: Added property svn:eol-style.
* inspector/ConsoleMessage.cpp: Added property svn:eol-style.
* inspector/ConsoleMessage.h: Added property svn:eol-style.
2010-07-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Re-order whitespace checks in the tokenizer
https://bugs.webkit.org/show_bug.cgi?id=42923
This saves about 0.5% on the parsing benchmark.
* html/HTMLTokenizer.cpp:
2010-07-24 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Hausmann.
[Qt] tst_QWebFrame::callQtInvokable() fails
https://bugs.webkit.org/show_bug.cgi?id=41065
Converting JS objects to QVariantMaps was broken.
This is a partial revert of <http://trac.webkit.org/changeset/61478>
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant): Remove erroneous crash guard
around JSObject::getPropertyNames()
2010-07-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Save a per-character branch in the HTML parser
https://bugs.webkit.org/show_bug.cgi?id=42921
The parsing benchmark claims this is a wash, but it makes me feel
better.
* html/HTMLToken.h:
(WebCore::HTMLToken::clear):
(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginEndTag):
(WebCore::HTMLToken::ensureIsCharacterToken):
(WebCore::HTMLToken::beginComment):
(WebCore::HTMLToken::beginDOCTYPE):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::bufferCharacter):
2010-07-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Buildfix for !ENABLE(FILTERS) after r63531.
https://bugs.webkit.org/show_bug.cgi?id=42914
* rendering/RenderSVGContainer.cpp: Add missing header.
2010-07-23 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Joseph Pecoraro.
Implement remaining Inspector support for chrome's appcache
https://bugs.webkit.org/show_bug.cgi?id=42426
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h:
(WebCore::InspectorController::connectFrontend):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::fillResourceList):
(WebCore::ApplicationCacheHost::applicationCacheInfo):
* loader/appcache/ApplicationCacheHost.h: Changed creation + update times to double and moved appcache info here from InspectorApplicationCacheAgent.h
(WebCore::ApplicationCacheHost::CacheInfo::CacheInfo):
(WebCore::ApplicationCacheHost::ResourceInfo::ResourceInfo):
2010-07-23 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Cleanup glib support (make it optional)
https://bugs.webkit.org/show_bug.cgi?id=42480
No new tests, no new features added.
Just add flags and directories for glib if necessary.
Put some ifdefs on glib calls.
* CMakeListsEfl.txt:
* platform/graphics/cairo/FontPlatformDataCairo.cpp:
(WebCore::FontPlatformData::FontPlatformData):
2010-07-23 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
CanvasRenderingContext2D has lots of style errors
https://bugs.webkit.org/show_bug.cgi?id=42918
CanvasRenderingContext2D.h and .cpp have lots of style errors. I'm planning to post patches
to both of these files soon, so to minimize merge conflicts and additional style violations
it seems best to fix all of these errors in bulk before posting any functional changes. In
particular the header file is incorrectly indented so any correctly formatted addition will
be out of place.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::transform):
(WebCore::CanvasRenderingContext2D::setTransform):
(WebCore::CanvasRenderingContext2D::arcTo):
(WebCore::CanvasRenderingContext2D::arc):
(WebCore::validateRectForCanvas):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::createRadialGradient):
(WebCore::CanvasRenderingContext2D::createPattern):
(WebCore::CanvasRenderingContext2D::willDraw):
(WebCore::CanvasRenderingContext2D::createImageData):
(WebCore::CanvasRenderingContext2D::putImageData):
(WebCore::CanvasRenderingContext2D::setFont):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* html/canvas/CanvasRenderingContext2D.h:
(WebCore::CanvasRenderingContext2D::is2d):
(WebCore::CanvasRenderingContext2D::getLineCap):
(WebCore::CanvasRenderingContext2D::getLineJoin):
(WebCore::CanvasRenderingContext2D::state):
(WebCore::CanvasRenderingContext2D::):
2010-07-23 Adam Barth <abarth@webkit.org>
Remove FIXME that we already fixed.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacter):
2010-06-24 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Kent Tamura.
Move more form submission logic into FormSubmission.
https://bugs.webkit.org/show_bug.cgi?id=41110
Two major moves:
* Fold HTMLFormElement::prepareFormSubmission into FormSubmission::create
* Move non-static (non-FormData-building) methods of FormDataBuilder
to FormSubmission::Attributes.
Mechanical moving, no change in behavior, so no new tests.
* WebCore.xcodeproj/project.pbxproj: Gave FormDataBuilder.h "project" and
FormSubmission.h "private" visibility.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submit): Changed to use FormSubmission::create.
(WebCore::HTMLFormElement::parseMappedAttribute): Changed to use m_attributes.
* html/HTMLFormElement.h:
(WebCore::HTMLFormElement::enctype): Ditto.
(WebCore::HTMLFormElement::encoding): Ditto.
(WebCore::HTMLFormElement::acceptCharset): Ditto.
* loader/FormSubmission.cpp:
(WebCore::generateFormDataIdentifier): Moved from HTMLFormElement.
(WebCore::appendMailtoPostFormDataToURL): Ditto.
(WebCore::FormSubmission::Attributes::parseAction): Moved from FormDataBuilder.
(WebCore::FormSubmission::Attributes::parseEncodingType): Ditto.
(WebCore::FormSubmission::Attributes::parseMethodType): Ditto.
(WebCore::FormSubmission::FormSubmission): Made inline.
(WebCore::FormSubmission::create): Added logic that used to be in
HTMLFormElement::prepareFormSubmission.
* loader/FormSubmission.h:
(WebCore::FormSubmission::):
(WebCore::FormSubmission::Attributes::Attributes): Added new class.
(WebCore::FormSubmission::Attributes::method): Moved from FormDataBuilder.
(WebCore::FormSubmission::Attributes::isMultiPartForm): Ditto.
(WebCore::FormSubmission::Attributes::action): Ditto.
(WebCore::FormSubmission::Attributes::target): Ditto.
(WebCore::FormSubmission::Attributes::setTarget): Ditto.
(WebCore::FormSubmission::Attributes::encodingType): Ditto.
(WebCore::FormSubmission::Attributes::acceptCharset): Ditto.
(WebCore::FormSubmission::Attributes::setAcceptCharset): Ditto.
(WebCore::FormSubmission::target): Ditto.
(WebCore::FormSubmission::contentType): Const-ified return type.
(WebCore::FormSubmission::boundary): Ditto.
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::encodingFromAcceptCharset): Renamed method for clarity,
made it use param instead of a class member.
* platform/network/FormDataBuilder.h:
(WebCore::FormDataBuilder::FormDataBuilder): Made constructor private.
* wml/WMLGoElement.cpp: Changed to use FormSubmision::Attributes.
* wml/WMLGoElement.h: Ditto.
2010-07-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 Parser: document.write in a asynchronous script which is specified to load before page finish blows away document
https://bugs.webkit.org/show_bug.cgi?id=42365
This patch implements the changes Ian made to HTML5 to address these
issues. Let's try it and see how well it works.
Test: http/tests/misc/write-from-dom-script.html
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::write):
* dom/Document.h:
(WebCore::Document::writeDisabled):
(WebCore::Document::setWriteDisabled):
* dom/DocumentParser.h:
(WebCore::DocumentParser::hasInsertionPoint):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::insertedIntoDocument):
(WebCore::ScriptElementData::ScriptElementData):
(WebCore::ScriptElementData::evaluateScript):
* dom/ScriptElement.h:
(WebCore::ScriptElementData::writeDisabled):
(WebCore::ScriptElementData::setWriteDisabled):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::hasInsertionPoint):
(WebCore::HTMLDocumentParser::insert):
* html/HTMLDocumentParser.h:
2010-07-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Buildfix for PopupMenuWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=42906
Use correct API for BitmapInfo landed in r63944.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint):
2010-07-23 fsamuel@chromium.org <fsamuel@chromium.org>
Reviewed by David Hyatt.
Updated table painting to draw cell layers in the correct order.
Table Cell Layering
https://bugs.webkit.org/show_bug.cgi?id=40775
Tests: tables/layering/paint-test-layering-1.html
tables/layering/paint-test-layering-2.html
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::cellForColumnAndRow):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::titleUIElement):
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::headerObjectForSection):
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::splitColumn):
(WebCore::RenderTable::calcBorderLeft):
(WebCore::RenderTable::calcBorderRight):
(WebCore::RenderTable::cellAbove):
(WebCore::RenderTable::cellBelow):
(WebCore::RenderTable::cellBefore):
(WebCore::RenderTable::cellAfter):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::addCell):
(WebCore::RenderTableSection::setCellWidths):
(WebCore::RenderTableSection::calcRowHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderTop):
(WebCore::RenderTableSection::calcOuterBorderBottom):
(WebCore::RenderTableSection::calcOuterBorderLeft):
(WebCore::RenderTableSection::calcOuterBorderRight):
(WebCore::RenderTableSection::firstLineBoxBaseline):
(WebCore::compareCellPositions):
(WebCore::RenderTableSection::paintCell):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::numColumns):
(WebCore::RenderTableSection::appendColumn):
(WebCore::RenderTableSection::splitColumn):
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::CellStruct::CellStruct):
(WebCore::RenderTableSection::CellStruct::primaryCell):
(WebCore::RenderTableSection::CellStruct::hasCells):
(WebCore::RenderTableSection::primaryCellAt):
2010-07-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Buildfix for Path.h
https://bugs.webkit.org/show_bug.cgi?id=42904
* platform/graphics/Path.h: Add missing typedef PlatformPath.
2010-07-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Reserve capacity for attributes
https://bugs.webkit.org/show_bug.cgi?id=42877
This is about a 1.7% improvement to the parsing benchmark.
* html/HTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
2010-07-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Inline HTMLElementStack::top
https://bugs.webkit.org/show_bug.cgi?id=42879
According to sampling, HTMLElementStack::top is the hotest function in
the treebuilder. Inlining it is about a 0.3% improvement to the
parsing benchmark. This squares with how often it occurs in samples.
* html/HTMLElementStack.cpp:
* html/HTMLElementStack.h:
(WebCore::HTMLElementStack::top):
2010-07-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Buildfix for GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=42888
Use AffineTransform insted of TransformationMatrix and
add ColorSpace parameter to the drawBitmap methods.
* platform/graphics/GraphicsContext.h:
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::affineTransform):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::drawBitmap):
(WebCore::GraphicsContext::drawBitmapPattern):
2010-07-23 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Add support for using libcurl network backend.
https://bugs.webkit.org/show_bug.cgi?id=42286
Add files and flags for soup/curl specific backend being
used.
Put some ifdefs around soup/glib calls.
No new tests, no new features implemented.
* CMakeListsEfl.txt:
* platform/efl/FileSystemEfl.cpp:
(WebCore::fileSystemRepresentation):
2010-07-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add fast-reject path for InputStreamPreprocessor::peek
https://bugs.webkit.org/show_bug.cgi?id=42881
This is about a 2.5% speedup on the parsing benchmark.
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
2010-07-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Merge PasteboardWince.cpp into PasteboardWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=42885
Make PasteboardWin more portable and remove the global namespace prefix
from GlobalLock/GlobalUnlock, since they are only macros on WinCE.
* platform/win/PasteboardWin.cpp:
(WebCore::PasteboardOwnerWndProc):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):
2010-07-23 Justin Schuh <jschuh@chromium.org>
Unreviewed, rolling out r63925.
http://trac.webkit.org/changeset/63925
https://bugs.webkit.org/show_bug.cgi?id=42858
Introduced a regression in history state.
* page/History.cpp:
(WebCore::History::urlForState):
2010-07-23 Martin Robinson <mrobinson@igalia.com>
Unreviewed build fix.
Fix make dist by aligning the source list with currently used headers.
* GNUmakefile.am:
2010-07-23 Alex Milowski <alex@milowski.com>
Reviewed by Darin Adler.
Moved the 'mathml' group back to where it belongs as
siblings of the other major folders.
* WebCore.xcodeproj/project.pbxproj:
2010-07-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
Buildfix for WinCE graphics after r56015.
https://bugs.webkit.org/show_bug.cgi?id=41354
Use fabs() insetead of abs().
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::fillRect):
* platform/graphics/wince/PlatformPathWince.cpp:
(WebCore::PlatformPath::addArcTo):
2010-07-23 ryuan choi <ryuan.choi@samsung.com>
Reviewed by Antonio Gomes.
[EFL]build break because of r63927
https://bugs.webkit.org/show_bug.cgi?id=42864
* CMakeLists.txt:
2010-07-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Inline HTMLTokenizer::InputStreamPreprocessor::peek
https://bugs.webkit.org/show_bug.cgi?id=42880
According to sampling HTMLTokenizer::InputStreamPreprocessor::peek is
the hotest function in the tokenizer. Inlining this function is about
a 2.2% speedup on the parser benchmark. Turns out the tokenizer is
much hotter than the tree builder. :)
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
2010-07-23 Andras Becsi <abecsi@webkit.org>
Unreviewed build fix.
[Qt] Fix WebKit2 linkage.
No new tests needed.
* WebCore.pro: add InjectedBundlePageEditorClient.cpp to WK2 sources
2010-07-23 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Setup the QtWebProcess
https://bugs.webkit.org/show_bug.cgi?id=42623
* WebCore.pro: Added WebProcessMainQt.cpp to SOURCES.
2010-07-23 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: Chromium tests fix.
* inspector/CodeGeneratorInspector.pm:
2010-07-23 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Buildfix for PluginDatabaseWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=41887
Define KEY_ENUMERATE_SUB_KEYS only if not defined.
* plugins/win/PluginDatabaseWin.cpp:
2010-07-23 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Chromium DevTools: migrate from utility context-based injected
script dispatch to upstream schema.
https://bugs.webkit.org/show_bug.cgi?id=42883
* bindings/v8/ScriptProfile.cpp:
(WebCore::ScriptProfile::title):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::getProfile):
* inspector/front-end/InjectedScriptAccess.js:
2010-07-23 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: rolling out r63963.
* bindings/v8/ScriptProfile.cpp:
(WebCore::ScriptProfile::title):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::getProfile):
* inspector/front-end/InjectedScriptAccess.js:
2010-07-23 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Chromium DevTools: migrate from utility context-based injected
script dispatch to upstream schema.
https://bugs.webkit.org/show_bug.cgi?id=42883
* bindings/v8/ScriptProfile.cpp:
(WebCore::ScriptProfile::title):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::getProfile):
* inspector/front-end/InjectedScriptAccess.js:
(InjectedScriptAccess.get if):
(InjectedScriptAccess):
2010-07-23 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: error info propagation in InspectorBackendDispatch should be improved
https://bugs.webkit.org/show_bug.cgi?id=42873
* inspector/CodeGeneratorInspector.pm: report wrong parameter count and wrong
parametere type errror to the dispatch method caller
2010-07-23 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: injectedScriptId is missing in the stack frame wrappers.
https://bugs.webkit.org/show_bug.cgi?id=42889
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-07-23 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Kent Tamura.
Backslash isn't transcoded in <input>
https://bugs.webkit.org/show_bug.cgi?id=42878
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2010-07-22 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: CodeGeneratorInspector was extended and now it can
generate InspectorBackedDispatcher's code. This dispatcher will
validate and dispatch incoming inspector commands only by native
code without using javaScript. That is necessary step for
RemoteDebugging support.
https://bugs.webkit.org/show_bug.cgi?id=42588
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/CodeGeneratorInspector.pm:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorController.h:
(WebCore::InspectorController::inspectorBackendDispatcher):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.setDocument):
2010-07-22 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Kent Tamura.
Backslash is transcoded into yen sign even when non japanese font is specified
https://bugs.webkit.org/show_bug.cgi?id=39654
Test: fast/text/backslash-to-yen-sign-euc.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Call FontDescriptor::setIsSpecifiedFont.
* platform/graphics/Font.cpp:
(WebCore::Font::Font):
* platform/graphics/FontDescription.h: Added m_isSpecifiedFont and its accessors.
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::isSpecifiedFont):
(WebCore::FontDescription::setIsSpecifiedFont):
(WebCore::FontDescription::operator==):
* platform/text/transcoder/FontTranscoder.cpp:
(WebCore::FontTranscoder::converterType): Don't transcode backslashes if a font family is explicitly specified.
(WebCore::FontTranscoder::convert):
(WebCore::FontTranscoder::needsTranscoding):
* platform/text/transcoder/FontTranscoder.h: Change the arguments from AtomicString fontFamily to Font.
* rendering/RenderText.cpp:
(WebCore::RenderText::updateNeedsTranscoding):
(WebCore::RenderText::setTextInternal):
2010-07-22 Jon Honeycutt <jhoneycutt@apple.com>
Windows build fix.
Commit some changes missed by the commit-queue in r63944.
* platform/win/BitmapInfo.h:
(WebCore::BitmapInfo::is16bit):
(WebCore::BitmapInfo::is32bit):
(WebCore::BitmapInfo::width):
(WebCore::BitmapInfo::height):
(WebCore::BitmapInfo::size):
(WebCore::BitmapInfo::paddedWidth):
(WebCore::BitmapInfo::numPixels):
(WebCore::BitmapInfo::paddedBytesPerLine):
(WebCore::BitmapInfo::bytesPerLine):
2010-07-22 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WINCE] Add additonal methods to BitmapInfo.
https://bugs.webkit.org/show_bug.cgi?id=42071
Added a parameter to create 16bit BitmapInfo and
some additional accessors for the WinCE port.
Set bmiHeader.biSize only at constructor.
* platform/win/BitmapInfo.cpp:
(WebCore::bitmapInfoForSize):
(WebCore::BitmapInfo::create):
(WebCore::BitmapInfo::createBottomUp):
* platform/win/BitmapInfo.h:
(WebCore::BitmapInfo::is16bit):
(WebCore::BitmapInfo::is32bit):
(WebCore::BitmapInfo::width):
(WebCore::BitmapInfo::height):
(WebCore::BitmapInfo::size):
(WebCore::BitmapInfo::paddedWidth):
(WebCore::BitmapInfo::numPixels):
(WebCore::BitmapInfo::paddedBytesPerLine):
(WebCore::BitmapInfo::bytesPerLine):
2010-07-22 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
Autoscroll on selection should take scrollbars into account as outside of the content.
https://bugs.webkit.org/show_bug.cgi?id=40403
ScrollView's scroll-bar was considered as a part of content rect,
that prevents autoscroll to happen when the pointer is over the
scroll-bar. This change excluded scroll-bar region from scrolling
delta calculation.
Test: WebCore/manual-tests/autoscroll-over-scrollbar.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
2010-07-22 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
maxLength should not be applied to non-text types
https://bugs.webkit.org/show_bug.cgi?id=42814
According to the HTML5 specification, maxLength attribute should
be applied to text, search, url, tel, email, and password types.
Test: fast/forms/input-maxlength-unsupported.html
* dom/InputElement.cpp:
(WebCore::InputElement::handleBeforeTextInsertedEvent):
Apply maxLength() only if supportsMaxLength() is true.
* dom/InputElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::patternMismatch):
Code cleanup by isTextType().
(WebCore::HTMLInputElement::tooLong):
ditto.
(WebCore::HTMLInputElement::isTextType):
Added. This returns true for types with maxLength/pattern/placeholder.
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::supportsMaxLength):
Added. Just calls isTextType().
(WebCore::HTMLInputElement::supportsPlaceholder):
Code cleanup by isTextType().
* wml/WMLInputElement.h:
(WebCore::WMLInputElement::supportsMaxLength):
Added. Always returns true.
2010-07-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
[cleanup] logic to extract adjacent lists and list children in listifyParagraph and unlistifyParagraph should be isolated
https://bugs.webkit.org/show_bug.cgi?id=42841
Added enclosingListChild that takes the list node containing the node for the second argument
to ensure that it only returns the enclosing list child of the specified list node.
Added adjacentEnclosingList that finds adjacent lists of the specified position.
It takes the current position, the adjacent position that may or may not have a list, and the list type,
and avoids a list that belongs to a different table cell or an outer list that contains the current position.
No new tests needed.
* editing/InsertListCommand.cpp:
(WebCore::enclosingListChild): Added. See above.
(WebCore::InsertListCommand::unlistifyParagraph): Uses enclosingListChild.
(WebCore::adjacentEnclosingList): Added. See above.
(WebCore::InsertListCommand::listifyParagraph): Uses adjacentEnclosingList.
2010-07-22 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
[WIN] Correct DeleteObject usage in PasteboardWin
https://bugs.webkit.org/show_bug.cgi?id=41956
Call DeleteObject() if OpenClipboard() fails and don't
call DeleteObject() on objects returned from SelectObject().
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeImage):
2010-07-22 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Log function is incorrectly used.
r63804 used LOG function, but it should receive one more parameter.
Used LOG_ERROR instead, since this is an error message.
https://bugs.webkit.org/show_bug.cgi?id=42842
* platform/efl/WidgetEfl.cpp:
(WebCore::Widget::applyFallbackCursor): use LOG_ERROR in place of LOG
2010-07-22 Kent Tamura <tkent@chromium.org>
Reviewed by Ojan Vafai.
Cancel button of search input field should fire input/change events
https://bugs.webkit.org/show_bug.cgi?id=34393
Test: fast/forms/search-cancel-button-events.html
* rendering/TextControlInnerElements.cpp:
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2010-07-22 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak.
Fix for <rdar://problem/8222626>
Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Update project files.
* dom/UserTypingGestureIndicator.cpp: Copied from dom/UserGestureIndicator.cpp.
(WebCore::UserTypingGestureIndicator::processingUserTypingGesture):
(WebCore::focusedNode):
(WebCore::UserTypingGestureIndicator::focusedElementAtGestureStart):
(WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
(WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
* dom/UserTypingGestureIndicator.h: Copied from dom/UserGestureIndicator.h.
Version of UserGestureIndicator that just tracks keyboard gestures and the focused
node they were targeting.
* editing/Editor.cpp:
(WebCore::Editor::confirmComposition):
(WebCore::Editor::setComposition):
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
Put UserTypingGestureIndicator on the stack for user generated keyboard events.
2010-07-22 Kent Tamura <tkent@chromium.org>
Reviewed by Ojan Vafai.
<input type=number> stepper buttons should dispatch input/change events
https://bugs.webkit.org/show_bug.cgi?id=42440
Test: fast/forms/input-number-events.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::stepUpFromRenderer):
Sets a flag to dispatch 'change' event and dispatches 'input' event
if the value is changed.
2010-07-22 Justin Schuh <jschuh@chromium.org>
Reviewed by Adam Barth.
Make history state methods validate against document URL
https://bugs.webkit.org/show_bug.cgi?id=42858
Test: fast/history/history-replace-illegal.html
* page/History.cpp:
(WebCore::History::urlForState):
2010-07-22 Andy Estes <aestes@apple.com>
Reviewed by Maciej Stachowiak.
When there are no beforeload listeners on a document,
HTMLLinkElement::process() should be called immediately when the node is
inserted into the document, rather than waiting until after attach is
performed.
<https://bugs.webkit.org/show_bug.cgi?id=42859>
<rdar://problem/8194528>
No new tests.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::insertedIntoDocument): If there are no
beforeload listeners, call process() immediately. Otherwise, add it as
a post-attach callback.
2010-07-22 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
REGRESSION: box shadows on WebGL canvas elements repainted every frame
https://bugs.webkit.org/show_bug.cgi?id=42852
Avoid calling HTMLCanvasElement::willDraw() every time a WebGL canvas'
contents update. This call is only needed in the non-compositing
rendering path.
Covered by fast/canvas/webgl/canvas-test.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::markContextChanged):
(WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2010-07-22 Patrick Gansterer <paroga@paroga.com>
Reviewed by Ojan Vafai.
Remove useless PlatformScrollBar
https://bugs.webkit.org/show_bug.cgi?id=41911
* WebCore.gypi:
* platform/win/PlatformScrollBar.h: Removed.
* platform/win/PlatformScrollBarWin.cpp: Removed.
2010-07-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Ojan Vafai.
[Windows] Home hey doesn't work in first DIV inside a TABLE
https://bugs.webkit.org/show_bug.cgi?id=42767
The bug was caused by positionAvoidingFirstPositionInTable moving outside of the editing region.
Added a check so that it avoids the first position in the table only if the table is editable.
Test: editing/selection/home-inside-noneditable-table.html
* editing/visible_units.cpp:
(WebCore::positionAvoidingFirstPositionInTable):
2010-07-22 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Laszlo Gombos.
Fix build warning for missing parentheses.
WebCore/html/HTMLInputElement.cpp:113: warning: suggest parentheses around '&&' within '||'
* html/HTMLInputElement.cpp:
(WebCore::isNumberCharacter):
2010-07-22 John Gregg <johnnyg@google.com>
Reviewed by Kent Tamura.
[chromium] fast/forms/input-file-directory-upload.html fails on win after r63454
https://bugs.webkit.org/show_bug.cgi?id=42768
Normalize path separators for the script API by converting \'s to /'s.
Covered by input-file-directory-upload.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setFileListFromRenderer):
2010-07-22 Dmitry Titov <dimich@chromium.org>
Rubberstamped by Simon Fraser.
* platform/PlatformStrategies.h:
(WebCore::PlatformStrategies::PlatformStrategies): Add initialization of m_localizationStrategy.
2010-07-22 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Ojan Vafai.
Make db.changeVersion()'s third parameter optional, as required by the spec.
https://bugs.webkit.org/show_bug.cgi?id=42787
* bindings/js/JSDatabaseCustom.cpp:
(WebCore::JSDatabase::changeVersion):
* bindings/js/JSDatabaseSyncCustom.cpp:
(WebCore::JSDatabaseSync::changeVersion):
* bindings/v8/custom/V8DatabaseCustom.cpp:
(WebCore::V8Database::changeVersionCallback):
* bindings/v8/custom/V8DatabaseSyncCustom.cpp:
(WebCore::V8DatabaseSync::changeVersionCallback):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::deliverTransactionCallback):
* storage/SQLTransactionSync.cpp:
(WebCore::SQLTransactionSync::execute):
2010-07-20 Jessie Berlin <jberlin@apple.com>
Reviewed by Darin Adler.
Code Generator: Allow negative and string constants.
Also add tests for hexadecimal numbers.
* bindings/scripts/CodeGeneratorJS.pm:
If it is a string, do not try to cast it to an int.
* bindings/scripts/IDLStructure.pm:
Add a regex just for constant values that allows strings, hexadecimal numbers, and integral numbers.
* bindings/scripts/test/CPP/WebDOMTestObj.h:
Update the tests.
* bindings/scripts/test/JS/JSTestObj.cpp:
Ditto.
* bindings/scripts/test/JS/JSTestObj.h:
Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.h:
Ditto.
* bindings/scripts/test/TestObj.idl:
Add tests for negative numbers, strings, and hexadecimal numbers.
* bindings/scripts/test/V8/V8TestObj.cpp:
Update the tests.
2010-07-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Composited layers don't scroll in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42771
More prep work: make a single scrollPositionChanged() bottleneck method, and use it to
send the scroll event, repaint fixed elements, and update compositing layers.
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::repaintFixedElementsAfterScrolling):
(WebCore::FrameView::valueChanged):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::valueChanged):
2010-07-22 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
Add localized strings stubs for WebKit2.
- Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
for localized strings.
Gets us below 200 tests failing in WebKitTestRunner.
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* page/mac/WebCoreViewFactory.h:
* platform/LocalizationStrategy.h: Added.
(WebCore::LocalizationStrategy::~LocalizationStrategy):
* platform/PlatformStrategies.h:
(WebCore::PlatformStrategies::pluginStrategy):
(WebCore::PlatformStrategies::localizationStrategy):
(WebCore::PlatformStrategies::PlatformStrategies):
(WebCore::PlatformStrategies::~PlatformStrategies):
* platform/mac/LocalizedStringsMac.mm:
2010-07-22 Andras Becsi <abecsi@webkit.org>
Reviewed by Antonio Gomes.
[Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=42830
No new tests needed.
* WebCore.pri: add ApplicationCacheStorage.h to wk2 headers
* WebCore.pro: add WebContextQt.cpp to sources
2010-07-22 Joone Hur <joone.hur@samsung.com>
Reviewed by Antonio Gomes.
[EFL] add support for logging
https://bugs.webkit.org/show_bug.cgi?id=40807
Enable to turn log channels on for EFL port
* platform/efl/LoggingEfl.cpp:
(WebCore::InitializeLoggingChannelsIfNecessary):
2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
Ureviewed build fix.
[Qt] Fix WebKit2 build
https://bugs.webkit.org/show_bug.cgi?id=42638
* WebCore.pri:
* WebCore.pro:
2010-07-22 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Stop granting universal access to inspector front-end page.
https://bugs.webkit.org/show_bug.cgi?id=42817
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::windowObjectCleared):
2010-07-22 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix inspector console tests crashes.
* bindings/v8/ScriptValue.cpp:
(WebCore::v8ToInspectorValue):
(WebCore::ScriptValue::toInspectorValue): enter v8 context before calling GetPropertyNames
2010-07-22 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed build fix.
[EFL] Build break for SVN r63881
https://bugs.webkit.org/show_bug.cgi?id=42813
* CMakeLists.txt: Add platform/SchemeRegistry.cpp
2010-07-22 Hayato Ito <hayato@chromium.org>
Reviewed by Darin Adler.
Refactor CSSSelector's destructor and make it inline.
https://bugs.webkit.org/show_bug.cgi?id=42726
Refactor with no behavior change, thus no new tests.
* css/CSSSelector.cpp:
(WebCore::CSSSelectorBag::~CSSSelectorBag): Make sure the bag is empty.
(WebCore::CSSSelectorBag::add): Renamed from append().
(WebCore::CSSSelector::releaseOwnedSelectorsToBag):
(WebCore::CSSSelector::deleteReachableSelectors):
* css/CSSSelector.h:
(WebCore::CSSSelector::~CSSSelector):
2010-07-22 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: should be possible to convert console message arguments to InspectorValues
https://bugs.webkit.org/show_bug.cgi?id=42457
Now it is possible to convert simple JavaScript objects to
InspectorValues.
* bindings/js/ScriptValue.cpp:
(WebCore::jsToInspectorValue):
(WebCore::ScriptValue::toInspectorValue):
* bindings/js/ScriptValue.h:
* bindings/v8/ScriptValue.cpp:
(WebCore::v8ToInspectorValue):
(WebCore::ScriptValue::toInspectorValue):
* bindings/v8/ScriptValue.h:
* inspector/ConsoleMessage.cpp: console notifications are pushed to RemoteInspectorFrontend instead of InspectorFrontend.
(WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::updateRepeatCountInConsole):
* inspector/ConsoleMessage.h:
* inspector/InjectedScript.cpp:
(WebCore::InjectedScript::wrapForConsole): return InspectorValue instead of SerializedScriptValue
* inspector/InjectedScript.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::clearConsoleMessages): send response directly from the backend
(WebCore::InspectorBackend::remoteFrontend):
* inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addConsoleMessage):
(WebCore::InspectorController::clearConsoleMessages): don't send notification to the front end,
it will be send either from InspectorBackend.cpp if it was a user request or reset message will
be send to the front end if the messages are cleared due to page navigation.
(WebCore::InspectorController::populateScriptObjects):
* inspector/front-end/ConsoleView.js:
* inspector/front-end/inspector.js:
2010-07-22 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Modifying settings actually modifies defaultValues
https://bugs.webkit.org/show_bug.cgi?id=42816
Avoid using live modifiable objects as property default values.
* inspector/front-end/Settings.js:
(WebInspector.Settings):
(WebInspector.Settings.prototype.reset):
(WebInspector.Settings.prototype._load):
(WebInspector.Settings.prototype.installSetting):
(WebInspector.Settings.prototype._get):
2010-07-22 Ben Murdoch <benm@google.com>
Reviewed by Simon Fraser.
Touch events do not affect the :active CSS state
https://bugs.webkit.org/show_bug.cgi?id=39493
Clean the code up by using a typedef based on comments
post landing of the original patch.
No change in functionality so no new tests.
* rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned.
* WebCore.exp.in: Update export signature.
* WebCore.order: Ditto.
* page/EventHandler.cpp: use the new typedef.
* page/EventHandler.h: ditto.
2010-07-22 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename method for CSS rule source range retrieval and fix return object format
https://bugs.webkit.org/show_bug.cgi?id=42379
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::getRuleRanges):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::getRuleRanges):
* inspector/InspectorCSSStore.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getRuleRanges):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
2010-07-21 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Chromium Dev Tools: Separators are missing in the context menu.
https://bugs.webkit.org/show_bug.cgi?id=42761
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::showContextMenu):
* bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
(WebCore::V8InspectorFrontendHost::showContextMenuCallback):
* platform/ContextMenuItem.h:
(WebCore::):
2010-07-22 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244
Implementing svgAttributeChanged and childrenChanged for the base class of all filters,
called SVGFilterPrimitiveStandardAttributes.
Tests: svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter):
2010-07-22 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Small refactoring for input value sanitization
https://bugs.webkit.org/show_bug.cgi?id=42807
Rename some functions to clarify their roles.
* dom/InputElement.cpp:
(WebCore::replaceEOLAndLimitLength):
Renamed from sanitizeUserInputValue().
(WebCore::InputElement::sanitizeValueForTextField):
Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
instead of sanitizeUserInputValue().
(WebCore::InputElement::sanitizeUserInputValue):
Just call replaceEOLAndLimitLength().
(WebCore::InputElement::updateValueIfNeeded):
Use non-static sanitizeValue() for consistency.
* dom/InputElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setInputType):
Revert the change of r63876. It is not needed because of the
updateValueIfNeeded() change.
(WebCore::HTMLInputElement::sanitizeValue):
Apply the sanitizeValue() renaming.
2010-07-22 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Fisher.
webkitPerformance.timing.responseEnd should not include document parse time
https://bugs.webkit.org/show_bug.cgi?id=42797
No new tests because timing based test would be flaky.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called.
(WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately.
* loader/MainResourceLoader.h:
* page/Timing.cpp:
(WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range.
2010-07-21 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Assertion failure by changing the type of an input element with a
non-number value to 'range'.
https://bugs.webkit.org/show_bug.cgi?id=42643
Test: fast/forms/input-value-sanitization.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setInputType):
Update the value by HTMLInputElement::sanitizeValue() in a case that
storesValueSeparateFromAttribute() state is not changed.
2010-07-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement spec changes for basefont and bgsound
https://bugs.webkit.org/show_bug.cgi?id=42792
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
2010-07-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Update a list of tags to match changes in the HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=42791
We need to atomize these strings at some point.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
2010-07-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLTreeBuilder needs to update to match new spec behavior for <button>
https://bugs.webkit.org/show_bug.cgi?id=42233
The spec has some typos in this area, but this is my best guess for
what Ian means. I've filed bugs against the spec for each typo.
* html/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isButtonScopeMarker):
(WebCore::HTMLElementStack::inButtonScope):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
* html/HTMLTreeBuilder.h:
2010-07-21 Justin Schuh <jschuh@chromium.org>
Reviewed by Oliver Hunt.
Prevent DeleteButtonController enable state from changing when not editing
https://bugs.webkit.org/show_bug.cgi?id=42659
Test: svg/custom/use-invalid-html.xhtml
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::cloneChildNodes):
2010-07-21 Beth Dakin <bdakin@apple.com>
Reviewed by Dan Bernstein.
Fix for https://bugs.webkit.org/show_bug.cgi?id=42605 New border-
radius path-based drawing code has some issues with corner-joins
GraphicsContext::clipConvexPolygon() now takes a boolean parameter
indicating whether or not the clip should be antialiased.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
Compute 4 booleans determining if each edge is a "matching" edge of
not. Send the two appropriate values to clipBorderSidePolygon() so
we can decide there whether or not to antialias the clip based on
matchy-ness.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):
If both edges are matching, don't antialias. If neither edge
matches, never antialias. If one edge matches and one does not,
apply two clips to get the appropriate antialiasing in each corner.
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
* rendering/RenderBoxModelObject.h:
2010-07-21 Brady Eidson <beidson@apple.com>
Reviewed by Geoffrey Garen.
Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
https://bugs.webkit.org/show_bug.cgi?id=42783
No new tests. (No change in behavior)
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::isMixedContent):
(WebCore::FrameLoader::loadFrameRequest):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::canLoad):
(WebCore::SecurityOrigin::isLocal):
* page/SecurityOrigin.h:
* platform/SchemeRegistry.cpp: Added.
(WebCore::localSchemes):
(WebCore::secureSchemes):
(WebCore::schemesWithUniqueOrigins):
(WebCore::SchemeRegistry::registerURLSchemeAsLocal):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::SchemeRegistry::localURLSchemes):
(WebCore::SchemeRegistry::shouldTreatURLAsLocal):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
(WebCore::SchemeRegistry::registerURLSchemeAsSecure):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
* platform/SchemeRegistry.h: Added.
2010-07-21 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Assertion failure in AnimationBase::updateStateMachine() coming out of paused state
https://bugs.webkit.org/show_bug.cgi?id=37993
Added logic to properly handle pausing and resuming when in the
AnimationStateStartWaitStyleAvailable state. This was causing an
assert when going out of the pause state because the paused flag
was not set.
The fix is a straightforward implementation, going into a new
AnimationStatePausedWaitStyleAvailable state and setting the paused
flag (actually setting the m_pauseTime variable to something other
than -1). Also added handling of the new state, both when the
"style available" callback comes in while in this state and when
unpausing while in this state.
For now a LayoutTest is not possible since there's no way to go in
and out of the pause state. I've opened https://bugs.webkit.org/show_bug.cgi?id=42790
to track this.
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine):
* page/animation/AnimationBase.h:
(WebCore::AnimationBase::):
2010-07-21 Bo Liu <boliu@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Add chromium WebMediaPlayer to PlatformMedia
https://bugs.webkit.org/show_bug.cgi?id=41295
* platform/graphics/MediaPlayer.h:
(WebCore::PlatformMedia::):
2010-07-21 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
Composited layers don't scroll in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42771
Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
* page/FrameView.h:
2010-07-21 Peter Beverloo <peter@lvp-media.com>
Reviewed by Eric Carlson.
Removed support for the -khtml CSS vendor prefix and limit the
-apple prefix to two properties (dashboard-region and line-clamp).
Test: fast/css/limited-vendor-prefix-behavior.html
* css/CSSParser.cpp:
(WebCore::cssPropertyID):
2010-07-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix the last tree HTML5 tree builder crashes
https://bugs.webkit.org/show_bug.cgi?id=42773
This patch changes the internal representation of a bookmark to handle
the case where one of the adjecent entries in the list of active
formatting elements is actually a marker.
After this patch, the bookmarking mechanism isn't as general, but it
works for the cases we need in the adoption agency.
Also, after this patch, there aren't any more known crashers in the
HTML5 tree builder. :)
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::bookmarkFor):
(WebCore::HTMLFormattingElementList::swapTo):
* html/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
(WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
(WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved):
(WebCore::HTMLFormattingElementList::Bookmark::mark):
(WebCore::HTMLFormattingElementList::first):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-21 Tony Gentilcore <tonyg@chromium.org>
Unreviewed build fix.
Disable overzealous ASSERT
https://bugs.webkit.org/show_bug.cgi?id=42775
No new tests because no changed functionality.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
2010-07-21 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Darin Adler.
Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()
https://bugs.webkit.org/show_bug.cgi?id=42534
Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page.
Calling it from the destructor of Frame is too late and sometimes causes access violation.
I was not able to reproduce this crash, so did not add new tests.
This patch is based on the error reported in
http://code.google.com/p/chromium/issues/detail?id=49323.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::pageDestroyed):
* page/DOMWindow.h:
* page/Frame.cpp:
(WebCore::Frame::pageDestroyed):
2010-07-21 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Don't assert when clicking on a plug-in in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42762
Remove a now invalid assert and return false instead.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passMouseDownEventToWidget):
2010-07-21 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
[v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved.
https://bugs.webkit.org/show_bug.cgi?id=42766
See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::namedPropertyDeleter):
(WebCore::V8HTMLDocument::namedPropertyGetter):
(WebCore::V8HTMLDocument::indexedPropertyGetter):
(WebCore::V8HTMLDocument::allAccessorSetter):
(WebCore::toV8):
2010-07-21 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
Update plug-in proxy backed <video> and <audio> elements.
https://bugs.webkit.org/show_bug.cgi?id=42770
<rdar://problem/7963467>
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when
the 'controls' attribute changes.
(WebCore::HTMLMediaElement::createRenderer):
(WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's
'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the
plug-in's view to the global list of plugin views.
(WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method.
(WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
* loader/FrameLoader.cpp:
* loader/FrameLoaderClient.h:
* loader/SubframeLoader.cpp:
(WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(),
even when we don't have a renderer.
(WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin.
(WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin.
* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::setControls):
(WebCore::MediaPlayer::setControls): New, pass through to media engine.
(WebCore::MediaPlayer::enterFullscreen): Ditto.
(WebCore::MediaPlayer::exitFullscreen): Ditto.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setControls):
(WebCore::MediaPlayerPrivateInterface::enterFullscreen):
(WebCore::MediaPlayerPrivateInterface::exitFullscreen):
2010-07-21 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Make more members of CSSStyleSelector private.
https://bugs.webkit.org/show_bug.cgi?id=42757
No change in behavior, so no new tests.
* css/CSSStyleSelector.h: Made a publicly-unused methods private.
2010-07-21 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: consider jQuery object to be of array nature.
https://bugs.webkit.org/show_bug.cgi?id=42758
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-07-21 Alexey Proskuryakov <ap@apple.com>
Unreviewed Windows build fix.
https://bugs.webkit.org/show_bug.cgi?id=42717
<rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
credential storage, and is sent with subsequent requests
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a
copy/paste, oops!
2010-07-21 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects
https://bugs.webkit.org/show_bug.cgi?id=42662
If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we
need to flip the rects passed to setNeedsDisplayInRect:.
Avoid writing this code twice by making a bare function to share code
between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext:
class method into a bare function, because the Obj-C calling overhead doesn't buy us anything.
Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not
correct.
No new tests because no layers use bottom-up contents at present.
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::updateContentsTransform):
* platform/graphics/mac/WebLayer.h:
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
(setLayerNeedsDisplayInRect):
(-[WebLayer setNeedsDisplayInRect:]):
(-[WebLayer drawInContext:]):
* platform/graphics/mac/WebTiledLayer.mm:
(-[WebTiledLayer setNeedsDisplayInRect:]):
(-[WebTiledLayer drawInContext:]):
2010-07-20 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=42717
<rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
credential storage, and is sent with subsequent requests
Tests: http/tests/security/401-logout/401-logout.php
http/tests/xmlhttprequest/remember-bad-password.html
* platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove):
* platform/network/CredentialStorage.h:
Added a way to remove stored credentials for a given protection space.
* platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
* platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
Remove stored credentials if they didn't work the first time.
2010-07-20 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
WebKit on Windows should build optionally with an unversioned ICU DLL
https://bugs.webkit.org/show_bug.cgi?id=42722
<rdar://problem/8211767> WebKit needs to link against unversioned ICU
To get the proper value for U_DISABLE_RENAMING into all source files, we force
the include of ICUVersion.h (our generated header) via the compiler options.
* WebCore.vcproj/WebCore.vcproj:
Add forced include of ICUVersion.h.
* WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.
2010-07-21 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Serialization to JSON in InspectorValue works incorrect
if comma is assigned as decimal separator. Windows with Russian locale.
https://bugs.webkit.org/show_bug.cgi?id=42755
* inspector/InspectorValues.cpp:
(WebCore::InspectorBasicValue::writeJSON):
2010-07-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
CSS rotation transform can cause elements with certain styles to vanish during rotation.
https://bugs.webkit.org/show_bug.cgi?id=42579
Remove some untested, broken code that, as far as I can tell, could never get hit.
Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden
but a border paint correctly.
Test: compositing/overflow/zero-size-overflow.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
2010-07-21 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Laszlo Gombos.
[QT] Leak and few more fixes to qt port of geolocation
https://bugs.webkit.org/show_bug.cgi?id=42753
Fixes memory leak and default values set to attributes.
Memory leak fix no new test case added.
* platform/qt/GeolocationServiceQt.cpp: Added.
(WebCore::GeolocationServiceQt::~GeolocationServiceQt):
(WebCore::GeolocationServiceQt::positionUpdated):
2010-07-21 Kristian Amlie <kristian.amlie@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Added automatic sqlite extraction for Symbian to QtWebKit.
Also added sqlite detection in case sqlite is not present in the SDK.
This is possible if WebKit is compiled standalone.
The inclusion part is a consequence of commit c578c6c1d6d in the Qt
repository. It will not work on Qt versions < 4.7.1, but that is ok,
since the only build system it will affect is marked as experimental
in the whole 4.7 series.
* WebCore.pro:
2010-07-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Associate elements with the active form
https://bugs.webkit.org/show_bug.cgi?id=42728
This patch fixes fast/forms/formmove3.html. The test still doesn't
pass due to some render tree differences, but it works as intended now.
To fix this test, I needed to deviate from the spec slight. Minefield
seems to have the same deviation:
- http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::takeForm):
(WebCore::HTMLConstructionSite::setForm):
(WebCore::HTMLConstructionSite::createHTMLElement):
* html/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSite::form):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
2010-07-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
The adoption agency doesn't properly attach()
https://bugs.webkit.org/show_bug.cgi?id=42727
The adoption agency is transliterated rather directly from the spec,
but it misses some of the WebKit-specific machinations, such as
attaching to the render tree.
The algorithm, as written, is a minor layer violation. I've added to
the problem by calling attach() from HTMLTreeBuilder (even though
that's the job of the HTMLConstructionSite). We'll need to clean up
the layering a bit at some point.
This patch half fixes fast/forms/formmove3.html. Hopefully I'll finish
fixing it in the next patch.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
<input> elements with no type attribute should be foster parented
https://bugs.webkit.org/show_bug.cgi?id=42725
Fix spec transcription error.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
2010-07-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix fast/css/last-child-style-sharing.html
https://bugs.webkit.org/show_bug.cgi?id=42731
Prior to this patch, we weren't calling finishParsingChildren on the
body element. We need a more systematic way of catching these bugs.
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::popAll):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-21 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Runtime feature switch for device orientation
https://bugs.webkit.org/show_bug.cgi?id=42265
Add a runtime feature switch that decides whether device orientation
events are available or not. Defaults to true.
* WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
(WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
(WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
(WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
* page/DOMWindow.idl:
* page/Page.cpp:
(WebCore::Page::Page):
2010-07-21 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed Nikolas Zimmermann.
SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244
The implementation was done by Nikolas Zimmermann before, but
there was no tests for it. The patch also implements the simple
setFilterRes method.
Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html
svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html
svg/dynamic-updates/SVGFilterElement-dom-height-attr.html
svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html
svg/dynamic-updates/SVGFilterElement-dom-width-attr.html
svg/dynamic-updates/SVGFilterElement-dom-x-attr.html
svg/dynamic-updates/SVGFilterElement-dom-y-attr.html
svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html
svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html
svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html
svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html
svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html
svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::setFilterRes):
(WebCore::SVGFilterElement::svgAttributeChanged):
(WebCore::SVGFilterElement::childrenChanged):
* svg/SVGFilterElement.h:
2010-07-21 Ben Murdoch <benm@google.com>
Unreviewed, build fix.
Forgot to update the role of HitTestRequest.h in
the Xcode project after landing patch from
https://bugs.webkit.org/show_bug.cgi?id=39493
* WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h
private so it can be included in WebKit by EventHandler.h
which is already private..
2010-07-20 Ben Murdoch <benm@google.com>
Reviewed by Steve Block.
Touch events do not affect the :active CSS state
https://bugs.webkit.org/show_bug.cgi?id=39493
Test: fast/events/touch/touch-active-state.html
* WebCore.exp.in: Update exports for new signature of
hitTestResultAtPoint.
* WebCore.order: ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::hitTestResultAtPoint): Pass the type
of the hit test to perform as a parameter with a default
value rather than harcoding it in the function body.
(WebCore::EventHandler::handleMouseMoveEvent): Do not modiify
the active element during a mouse move if the user is
touching the screen.
(WebCore::EventHandler::handleTouchEvent): Set the correct
type of hit test to perform depending on the type of the
touch event we are handling.
* page/EventHandler.h: Update the signature of hitTestResultAtPoint.
2010-07-20 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
console.assert should include stack trace with line numbers.
https://bugs.webkit.org/show_bug.cgi?id=22556
Test: inspector/console-assert.html
* bindings/v8/ScriptCallStack.cpp:
(WebCore::getTopFrameLocation):
(WebCore::toScriptCallFramesVector):
(WebCore::ScriptCallStack::create):
(WebCore::ScriptCallStack::ScriptCallStack):
* bindings/v8/ScriptCallStack.h:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._formatMessage):
(WebInspector.ConsoleMessage.prototype.toMessageElement):
* page/Console.cpp:
(WebCore::Console::lastWMLErrorMessage):
* page/Console.idl:
2010-07-20 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Kent Tamura.
[EFL] Use log functions instead of fprintf
https://bugs.webkit.org/show_bug.cgi?id=42576
Use LOG and LOG_ERROR instead of fprintf.
No new tests, no new functionality.
* platform/efl/WidgetEfl.cpp:
(WebCore::Widget::applyFallbackCursor):
2010-07-20 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: the bindings generation helper script can be
simplified a bit. Chromium.
https://bugs.webkit.org/show_bug.cgi?id=42523
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/rule_binding.py:
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorCPP.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/generate-bindings.pl:
* inspector/CodeGeneratorInspector.pm:
2010-07-20 Steve Falkenburg <sfalken@apple.com>
Re-save vsprops file after no-op edit in Visual Studio
to fix manual edit issues.
* WebCore.vcproj/WebCoreCommon.vsprops:
2010-07-20 Steve Falkenburg <sfalken@apple.com>
Re-save vcproj file after no-op edit in Visual Studio
to fix manual edit issues.
* WebCore.vcproj/WebCore.vcproj:
2010-07-20 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Include attributes when reconstructing elements in HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=42594
Remove FIXME now that we have a test.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
2010-07-20 Sam Weinig <sam@webkit.org>
Reviewed by Brady Eidson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
Make Acid2 pass in WebKit2
* WebCore.exp.in: Update exported functions.
2010-07-20 Gavin Peters <gavinp@chromium.org>
Reviewed by Adam Barth.
prefetch categorization is exactly wrong
https://bugs.webkit.org/show_bug.cgi?id=42651
While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it.
Test: fast/dom/HTMLLinkElement/onload-completion-test.html
* loader/CachedCSSStyleSheet.h:
* loader/CachedFont.h:
* loader/CachedImage.h:
* loader/CachedResource.cpp:
* loader/CachedResource.h:
(WebCore::CachedResource::isPrefetch):
* loader/CachedScript.h:
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.h:
2010-07-20 James Hawkins <jhawkins@chromium.org>
Reviewed by Darin Fisher.
Expose the form submission trigger on the HTMLFormElement object. This
is used to verify that the user submitted the form instead of JS when
saving form data in Chrome AutoFill.
https://bugs.webkit.org/show_bug.cgi?id=42479
No new tests as this is only used by the Chromium WebKit API.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::reset):
(WebCore::HTMLFormElement::submissionTrigger):
* html/HTMLFormElement.h:
2010-07-20 Adam Barth <abarth@webkit.org>
Unreviewed.
Fix fast/dom/title-content-write-set.html for HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=42668
Address some late-breaking review comments.
* dom/CharacterData.cpp:
(WebCore::CharacterData::appendDataCommon):
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::appendData):
(WebCore::CharacterData::insertData):
(WebCore::CharacterData::replaceData):
* dom/CharacterData.h:
2010-07-20 Daniel Erat <derat@chromium.org>
Reviewed by Ojan Vafai.
Subpixel rendering always disabled for Chromium Linux
https://bugs.webkit.org/show_bug.cgi?id=42220
Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs
flag to false for clarity.
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
2010-07-20 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Fix fast/dom/title-content-write-set.html for HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=42668
When I split parserAppendData from appendData, it was tempting to cut
the function at dispatchModifiedEvent, but that's not quite right. We
still need to notify the parent that it's children have changed.
* dom/CharacterData.cpp:
(WebCore::CharacterData::appendDataCommon):
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::appendData):
* dom/CharacterData.h:
2010-07-20 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573
https://bugs.webkit.org/show_bug.cgi?id=42652
When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state
which may be out of date, leading to a crash.
By using only get(), it implies that the AXTable must be created before AXTableCells. This should
always be the case when AT clients access a table.
Test: accessibility/updating-attribute-in-table-causes-crash.html
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::parentTable):
2010-07-20 Abhishek Arya <inferno@chromium.org>
Reviewed by David Hyatt.
Check the node is a text node before doing the static cast
for editing commands.
https://bugs.webkit.org/show_bug.cgi?id=42655
Test: editing/execCommand/editing-nontext-node-crash.xhtml
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::fixupWhitespace):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
2010-07-20 Leo Yang <leo.yang@torchmobile.com.cn>
Reviewed by David Hyatt.
Don't merge Anonymous block whose first child is inline run-in.
Make run-in recalculate its style after its renderer is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=41375.
Test: fast/runin/crash-when-reparent-sibling.html
* rendering/RenderBlock.cpp:
(WebCore::canMergeContiguousAnonymousBlocks):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::destroyLeftoverChildren):
2010-07-20 Steve Block <steveblock@google.com>
Unreviewed Qt test fix.
Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed.
https://bugs.webkit.org/show_bug.cgi?id=42068
No new tests, test fix only.
* WebCore.pro:
2010-07-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63764.
http://trac.webkit.org/changeset/63764
https://bugs.webkit.org/show_bug.cgi?id=42658
have broken Chromium linux build (Requested by loislo on
#webkit).
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/rule_binding.py:
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorCPP.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/generate-bindings.pl:
* inspector/CodeGeneratorInspector.pm:
2010-07-20 Alexey Proskuryakov <ap@apple.com>
Reviewed by Brady Eidson.
https://bugs.webkit.org/show_bug.cgi?id=41531
Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false
This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense.
Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results).
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
the request, continue without credentials - if the platform has a necessary method on
ResourceHandle.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader
client for credentials if subresource loader client already took care of those.
* platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge):
* platform/network/ResourceHandle.h:
Added an accessor to check whether ResourceHandle is currently waiting for credentials.
2010-07-20 Leandro Pereira <leandro@profusion.mobi>
[EFL] Unreviewed build fix.
Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder.
Add websockets include directory.
The EFL port doesn't yet support automated tests.
* CMakeLists.txt:
2010-07-20 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: the bindings generation helper script can be
simplified a bit. Chromium.
https://bugs.webkit.org/show_bug.cgi?id=42523
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/rule_binding.py:
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorCPP.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/generate-bindings.pl:
* inspector/CodeGeneratorInspector.pm:
2010-07-20 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Geoffrey Garen.
WebScriptObject Should Allow Safely Checking For Key Existence
https://bugs.webkit.org/show_bug.cgi?id=42613
Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html
Add private API "hasWebScriptKey" to check for key existence in
a WebScriptObject. Like JavaScript's `in` syntax. This is intended
to be made public eventually.
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject hasWebScriptKey:]):
* bindings/objc/WebScriptObjectPrivate.h:
2010-07-20 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 tree builder needs to call dispatchDocumentElementAvailable
https://bugs.webkit.org/show_bug.cgi?id=42654
This patch fixes the follout LayoutTests with --html5-treebuilder:
- userscripts/script-not-run-for-fragments.html
- userscripts/script-run-at-start.html
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
* html/HTMLConstructionSite.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2010-07-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Steve Block.
Need to be able to configure Geolocation policy regarding user permissions
https://bugs.webkit.org/show_bug.cgi?id=42068
Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
acquires user permission first before starting location service
This change does not introduce any change in behavior for any platform. So there are no new tests
added.
* WebCore.pro:
* page/Geolocation.cpp:
(WebCore::Geolocation::startRequest):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::startUpdating):
* page/Geolocation.h:
2010-07-20 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
HTML5 tree builder should restore form state
https://bugs.webkit.org/show_bug.cgi?id=42644
We need to tell self-closing tags that we're done parsing their
children. This patch fixes the following LayoutTests when run with
--html5-treebuilder:
fast/forms/button-state-restore.html
fast/forms/state-restore-to-non-autocomplete-form.html
fast/forms/state-restore-to-non-edited-controls.html
fast/history/saves-state-after-fragment-nav.html
http/tests/navigation/restore-form-state-https.html
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
2010-07-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63750.
http://trac.webkit.org/changeset/63750
https://bugs.webkit.org/show_bug.cgi?id=42648
This revision breaks the windows builds (Requested by
hwennborg on #webkit).
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
* page/DOMWindow.idl:
* page/Page.cpp:
(WebCore::Page::Page):
2010-07-20 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: It is possible to show full call stack instead of top frame for Caller
and Call Site properties in Timeline panel.
https://bugs.webkit.org/show_bug.cgi?id=42620
* English.lproj/localizedStrings.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
(WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
(WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
(WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
* inspector/front-end/inspector.css:
(.timeline-details):
(.timeline-function-name):
(.timeline-stacktrace-title):
2010-07-20 Leon Clarke <leonclarke@google.com>
Reviewed by Pavel Feldman.
Make things compile again when the inspector is disabled, following
recent inspector improvements.
https://bugs.webkit.org/show_bug.cgi?id=42632
No new tests. Fixing a build break.
* bindings/v8/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::stackTrace):
* inspector/InspectorController.h:
(WebCore::InspectorController::didInsertDOMNode):
(WebCore::InspectorController::didRemoveDOMNode):
(WebCore::InspectorController::didModifyDOMAttr):
* inspector/InspectorDOMAgent.h:
* loader/appcache/ApplicationCacheGroup.cpp:
2010-07-20 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
[v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.
https://bugs.webkit.org/show_bug.cgi?id=42634
Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed
when its isolated context gets GCed). However in this case, handles allocated for
such objects would never be disposed as we require presence of mapping from wrapped
WebKit object to handle being collected in the map and now map is gone. That leads to
zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8
(both handle and V8 wrapper object could not be destroyed).
See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion.
* bindings/v8/DOMData.h:
(WebCore::DOMData::handleWeakObject):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::weakNodeCallback):
* bindings/v8/V8DOMMap.h:
(WebCore::WeakReferenceMap::~WeakReferenceMap):
2010-07-20 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Runtime feature switch for device orientation
https://bugs.webkit.org/show_bug.cgi?id=42265
Add a runtime feature switch that decides whether device orientation
events are available or not. Defaults to true.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
(WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
(WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
(WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
* page/DOMWindow.idl:
* page/Page.cpp:
(WebCore::Page::Page):
2010-07-20 Hayato Ito <hayato@chromium.org>
Reviewed by Darin Adler.
Fixed a crash when deeply nested CSS selector is used.
https://bugs.webkit.org/show_bug.cgi?id=41129
This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow.
Test: fast/css/css-selector-deeply-nested.html
* css/CSSSelector.cpp:
(WebCore::CSSSelectorBag::~CSSSelectorBag):
(WebCore::CSSSelectorBag::isEmpty):
(WebCore::CSSSelectorBag::append):
(WebCore::CSSSelectorBag::takeAny):
(WebCore::CSSSelector::~CSSSelector):
(WebCore::CSSSelector::specificity):
* css/CSSSelector.h:
2010-07-20 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
https://bugs.webkit.org/show_bug.cgi?id=42642
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::handler):
2010-07-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63742.
http://trac.webkit.org/changeset/63742
https://bugs.webkit.org/show_bug.cgi?id=42641
Broke Leopard Intel build. (Requested by bbandix on #webkit).
* WebCore.pro:
* page/Geolocation.cpp:
(WebCore::Geolocation::startRequest):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::startUpdating):
* page/Geolocation.h:
2010-07-20 Adam Roben <aroben@apple.com>
Windows build fix
* WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute.
2010-07-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Steve Block.
Need to be able to configure Geolocation policy regarding user permissions
https://bugs.webkit.org/show_bug.cgi?id=42068
Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
acquires user permission first before starting location service
This change does not introduce any change in behavior for any platform. So there are no new tests
added.
* WebCore.pro:
* page/Geolocation.cpp:
(WebCore::Geolocation::startRequest):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::startUpdating):
* page/Geolocation.h:
2010-07-20 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Inspector: Resources Search Should Search Only Filtered Resources
https://bugs.webkit.org/show_bug.cgi?id=28290
* inspector/front-end/AbstractTimelinePanel.js:
(WebInspector.AbstractTimelinePanel.prototype._updateFilter):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.get searchableViews):
* inspector/front-end/inspector.js:
(WebInspector.performSearch):
(WebInspector.doPerformSearch):
2010-07-20 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline
https://bugs.webkit.org/show_bug.cgi?id=42626
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._attributeHTML):
2010-07-20 Shinichiro Hamaji <hamaji@chromium.org>
Unreviewed comment fix. The comment in IDL should be //, not # .
Code generator: ensure generated constants match their corresponding enums.
https://bugs.webkit.org/show_bug.cgi?id=42250
* dom/OverflowEvent.idl:
2010-07-20 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
https://bugs.webkit.org/show_bug.cgi?id=42380
RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
bindings/generic a while a go (in r54593), but need to
be added to the build in order to be used.
No new functionality so no new tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only.
* websockets/WebSocket.h: Ditto.
2010-07-20 Tony Chang <tony@chromium.org>
Reviewed by Kent Tamura.
clean up style in ClipboardWin and PasteboardWin
https://bugs.webkit.org/show_bug.cgi?id=42609
No new tests since this is just a style cleanup.
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::createGlobalData):
(WebCore::markupToCFHTML):
(WebCore::getURL):
(WebCore::getPlainText):
(WebCore::getTextHTML):
(WebCore::fragmentFromFilenames):
(WebCore::containsFilenames):
(WebCore::fragmentFromCFHTML):
(WebCore::fragmentFromHTML):
* platform/win/ClipboardUtilitiesWin.h:
* platform/win/ClipboardWin.cpp:
(WebCore::pathRemoveBadFSCharacters):
(WebCore::createGlobalHDropContent):
(WebCore::createGlobalUrlFileDescriptor):
(WebCore::writeURL):
(WebCore::ClipboardWin::clearData):
(WebCore::ClipboardWin::clearAllData):
(WebCore::ClipboardWin::getData):
(WebCore::ClipboardWin::types):
(WebCore::ClipboardWin::declareAndWriteDragImage):
(WebCore::ClipboardWin::writeRange):
* platform/win/ClipboardWin.h:
(WebCore::ClipboardWin::create):
(WebCore::ClipboardWin::dataObject):
* platform/win/PasteboardWin.cpp:
(WebCore::PasteboardOwnerWndProc):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):
2010-07-20 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: jump to source is broken for call frames logged by console.trace
https://bugs.webkit.org/show_bug.cgi?id=42619
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
* inspector/front-end/treeoutline.js: allow passing HTML element as a title.
(TreeElement.prototype.set title):
(TreeElement.prototype.set shouldRefreshChildren):
(TreeElement.prototype._setListItemNodeContent):
(TreeElement.prototype._attach):
2010-07-20 Tony Chang <tony@chromium.org>
Reviewed by Dan Bernstein.
[chromium] crash in Position::getInlineBoxAndOffset
https://bugs.webkit.org/show_bug.cgi?id=42202
Test: editing/selection/firstRect-crash.html
Manual test: win/contextmenu-key2.html
* page/EventHandler.cpp: Code no longer needed
* page/Frame.cpp:
(WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because
Positions may be pointing to nodes that have no renderer. If there's no renderer,
getInlineBoxAndOffset will crash.
2010-07-20 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Foster parenting depends on the current element at insertion time
https://bugs.webkit.org/show_bug.cgi?id=42599
We need to consider the current element at insertion-time when deciding
whether to redirect insertion to the foster parent. Previously, we
were considering the current element *both* at insertion-time and at
the time we created the guard.
* html/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
(WebCore::HTMLTreeBuilder::defaultForInTableText):
2010-07-20 Matthew Delaney <mdelaney@apple.com>
Reviewed by Kenneth Rohde Christiansen.
Failing 2d.path.stroke.prune.curve philip canvas test
https://bugs.webkit.org/show_bug.cgi?id=42190
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path.
(WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec.
(WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec.
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy.
2010-07-19 Victoria Kirst <vrk@google.com>
Reviewed by David Levin.
Added a simple implementation of VideoLayerChromium. Uses the
LayerChromium::updateTextureRect() to send video frames to the
GPU.
https://bugs.webkit.org/show_bug.cgi?id=42234
* WebCore.gypi: Added include for VideoLayerChromium.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented
setContentsToMedia, though it does not seem to trigger a repaint
correctly.
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/VideoLayerChromium.cpp: Added.
(WebCore::VideoLayerChromium::create):
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::updateTextureContents):
* platform/graphics/chromium/VideoLayerChromium.h: Added.
(WebCore::VideoLayerChromium::drawsContent):
2010-07-19 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG CleanUp of SVGPathData parsing
https://bugs.webkit.org/show_bug.cgi?id=41410
Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp
in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform,
etc. instead of using home-brewn solutions.
The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer.
SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform
Path object or a SVGPathSegList out of the segments.
We're now directly parsing floats instead of truncating precision to float afterwards.
SVG Path with an arc with radius of 0 does not render
https://bugs.webkit.org/show_bug.cgi?id=40448
If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to
the end point according to the spec. Fixed this bug with this patch, because an is zero check and
an DRT check was neccessary with the current clean-up.
Extended svg/dom/path-parser.xhml to check the correct behavior.
* Android.mk:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function.
(WebCore::FloatPoint::scale): Scale FloatPoint.
(WebCore::operator+=):
(WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint.
* svg/SVGAllInOne.cpp: Added new created files.
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList.
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path.
* svg/SVGGlyphElement.cpp:
(WebCore::parsePathData): Use new PathParser to create a Path.
* svg/SVGParserUtilities.cpp:
(WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now.
* svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes.
* svg/SVGPathBuilder.cpp: Added.
(WebCore::SVGPathBuilder::SVGPathBuilder):
(WebCore::SVGPathBuilder::build): Builds a normalized Path.
(WebCore::SVGPathBuilder::moveTo):
(WebCore::SVGPathBuilder::lineTo):
(WebCore::SVGPathBuilder::curveToCubic):
(WebCore::SVGPathBuilder::closePath):
* svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached.
(WebCore::SVGPathBuilder::lineToHorizontal):
(WebCore::SVGPathBuilder::lineToVertical):
(WebCore::SVGPathBuilder::curveToCubicSmooth):
(WebCore::SVGPathBuilder::curveToQuadratic):
(WebCore::SVGPathBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathBuilder::arcTo):
* svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder.
(WebCore::):
(WebCore::SVGPathConsumer::SVGPathConsumer):
(WebCore::SVGPathConsumer::~SVGPathConsumer):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList.
* svg/SVGPathParser.cpp: Added.
(WebCore::SVGPathParser::SVGPathParser):
(WebCore::SVGPathParser::~SVGPathParser):
(WebCore::SVGPathParser::parseClosePathSegment):
(WebCore::SVGPathParser::parseMoveToSegment):
(WebCore::SVGPathParser::parseLineToSegment):
(WebCore::SVGPathParser::parseLineToHorizontalSegment):
(WebCore::SVGPathParser::parseLineToVerticalSegment):
(WebCore::SVGPathParser::parseCurveToCubicSegment):
(WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathParser::parseArcToSegment):
(WebCore::SVGPathParser::parsePathDataString):
(WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves.
* svg/SVGPathParser.h: Added.
* svg/SVGPathSegListBuilder.cpp: Added.
(WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
(WebCore::SVGPathSegListBuilder::build):
(WebCore::SVGPathSegListBuilder::moveTo):
(WebCore::SVGPathSegListBuilder::lineTo):
(WebCore::SVGPathSegListBuilder::lineToHorizontal):
(WebCore::SVGPathSegListBuilder::lineToVertical):
(WebCore::SVGPathSegListBuilder::curveToCubic):
(WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
(WebCore::SVGPathSegListBuilder::curveToQuadratic):
(WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
(WebCore::SVGPathSegListBuilder::arcTo):
(WebCore::SVGPathSegListBuilder::closePath):
* svg/SVGPathSegListBuilder.h: Added.
2010-07-15 Yuzo Fujishima <yuzo@google.com>
Reviewed by Dan Bernstein.
Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family
https://bugs.webkit.org/show_bug.cgi?id=42342
Test: fast/css/font-face-download-error.html
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font
face is valid.
(WebCore::CSSSegmentedFontFace::getFontData): Check validity for each
font face.
* css/CSSSegmentedFontFace.h: Make isValid private.
2010-07-19 Kent Tamura <tkent@chromium.org>
Reviewed by Shinichiro Hamaji.
[Chromium] Fix style errors of RenderThemeChromiumWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=42568
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::):
(WebCore::getNonClientMetrics):
(WebCore::systemFontSize):
(WebCore::pointsToPixels):
(WebCore::querySystemBlinkInterval):
(WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
(WebCore::RenderThemeChromiumWin::paintButton):
(WebCore::RenderThemeChromiumWin::paintSliderTrack):
(WebCore::RenderThemeChromiumWin::paintMenuList):
(WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
(WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
2010-07-19 Steve Falkenburg <sfalken@apple.com>
(Hopefully the last) Windows build fix.
Version of CoreServices.h in WebKit Support Libraries uses
pragma once, unlike the version I have locally. Switch based
on __COLORSYNCDEPRECATED__ instead.
* WebCorePrefix.h:
2010-07-19 Steve Falkenburg <sfalken@apple.com>
Windows build fix.
* WebCorePrefix.h:
2010-07-19 Steve Falkenburg <sfalken@apple.com>
Build fix.
* WebCorePrefix.h:
2010-07-19 Steve Falkenburg <sfalken@apple.com>
Build fix.
* WebCorePrefix.h:
2010-07-19 Steve Falkenburg <sfalken@apple.com>
Windows Build fixes for new ColorSync API.
We support both new and old APIs, since the newer headers aren't in the tree yet.
* WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present.
* platform/graphics/cg/ColorCG.cpp:
(WebCore::createCGColor): Conditionally use new ColorSync API.
* platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't.
* platform/graphics/win/GraphicsLayerCACF.cpp:
(WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h.
* platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
2010-07-19 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Dimitri Glazkov.
Only set unloadEventEnd when the unload event is actually fired
https://bugs.webkit.org/show_bug.cgi?id=42607
r63689 introduced this ASSERT and it began failing on Qt and Mac debug.
For some reason, it did not fail on Windows (which is where I was
testing). The ASSERT was disabled in r63699.
Test: page-cache related layout tests don't crash in debug mode on Mac.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
2010-07-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath()
https://bugs.webkit.org/show_bug.cgi?id=42513
Avoid making unnecessary deep-copies of QPainterPaths that will
be discarded after use.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
2010-07-19 Kenneth Russell <kbr@google.com>
Reviewed by Nate Chapin.
WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
https://bugs.webkit.org/show_bug.cgi?id=34719
Fixed compiler warning introduced by original patch. No new tests;
covered by existing tests.
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2010-07-19 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
Handle NP_ASFILE and NP_ASFILEONLY transfer modes
https://bugs.webkit.org/show_bug.cgi?id=42587
* WebCore.exp.in:
Export functions from FileSystem.h
* platform/mac/FileSystemMac.mm:
(WebCore::openTemporaryFile):
Try to create a temporary file using mkstemp.
2010-07-19 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Implement NPN_PostURLNotify
https://bugs.webkit.org/show_bug.cgi?id=42602
Export symbols needed by WebKit2.
* WebCore.exp.in:
2010-07-19 Tony Gentilcore <tonyg@chromium.org>
Unreviewed build fix.
Remove overzealous ASSERT from r63689
https://bugs.webkit.org/show_bug.cgi?id=42606
No new tests because no new functionality.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
2010-07-19 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Mark Rowe.
Web Inspector: Do Not Copy *.re2js Inspector Resources in Xcode Build Phase
https://bugs.webkit.org/show_bug.cgi?id=42601
Remove *.re2js files after copying them over in the Build Phase. We do
the same to remove the WebKit.qrc file.
* WebCore.xcodeproj/project.pbxproj:
2010-07-17 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Fisher.
[Web Timing] Move times to DocumentLoader and fix bugs in mark points
https://bugs.webkit.org/show_bug.cgi?id=42512
Test: fast/dom/webtiming-navigate-within-document.html
* loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader.
(WebCore::DocumentLoader::documentLoadTiming):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up.
(WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document.
(WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader.
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec.
* loader/FrameLoader.h: Get rid of FrameLoadTimeline.
* loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files.
(WebCore::DocumentLoadTiming::DocumentLoadTiming):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable.
(WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader.
* page/Navigation.cpp:
(WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader.
* page/Timing.cpp:
(WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks.
(WebCore::Timing::navigationStart):
(WebCore::Timing::unloadEventEnd):
(WebCore::Timing::redirectStart):
(WebCore::Timing::redirectEnd):
(WebCore::Timing::fetchStart):
(WebCore::Timing::domainLookupStart):
(WebCore::Timing::domainLookupEnd):
(WebCore::Timing::connectStart):
(WebCore::Timing::connectEnd):
(WebCore::Timing::requestStart):
(WebCore::Timing::requestEnd):
(WebCore::Timing::responseStart):
(WebCore::Timing::responseEnd):
(WebCore::Timing::loadEventStart):
(WebCore::Timing::loadEventEnd):
(WebCore::Timing::documentLoader):
(WebCore::Timing::documentLoadTiming):
(WebCore::Timing::resourceLoadTiming):
(WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd.
* page/Timing.h:
2010-07-19 Chris Marrin <cmarrin@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=42118
Disable WebGL on Leopard for now.
LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
software OpenGL driver on machines without this support.
* Configurations/FeatureDefines.xcconfig:
2010-07-19 Eric Carlson <eric.carlson@apple.com>
Reviewed by Sam Weinig.
Remove HTML5 media element 'load' event
https://bugs.webkit.org/show_bug.cgi?id=30464
<rdar://problem/5650561>
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
(WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
(WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
(WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
(WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
(WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::):
* html/HTMLMediaElement.idl: Remove NETWORK_LOADING.
2010-07-19 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=40996
Progress event should not be fired during synchronous XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=17502
Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange
Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html
http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange
event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly
the spec draft says about readystatechange for sync requests, but this seems to be the most
logical and backwards compatible behavior.
(WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests.
Note that we already don't dispatch upload progress events for those.
2010-07-19 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
https://bugs.webkit.org/show_bug.cgi?id=34913
Tests: fast/repaint/view-background-from-body-1.html
fast/repaint/view-background-from-body-2.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
style changes.
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
repaint the view, in case the bodys background was propagated to the view.
2010-07-19 Adam Roben <aroben@apple.com>
Fix an assertion when a plugin returns -1 from NPP_Write
We were forgetting to call setDefersLoading(false) before destroying
the PluginStream. In the process of destroying the stream, someone
would call setDefersLoading(true), and we would assert because we were
already deferring loads.
Fixes <http://webkit.org/b/42563> Assertion failure in
ResourceHandle::setDefersLoading when running
plugins/return-negative-one-from-write.html on Windows
Reviewed by Anders Carlsson.
* plugins/PluginStream.cpp:
(WebCore::PluginStream::deliverData): Call setDefersLoading(false)
before destroying the stream, to match the setDefersLoading(true) call
earlier in this function. (We already call setDefersLoading(false) in
the non-error case later on.)
2010-07-19 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Fix some EFL theme issues
https://bugs.webkit.org/show_bug.cgi?id=42569
Keep a pointer to theme filename and check for it correctly.
Reduce the scope of some variables.
Don't test for platformWidget() since we are not using it.
No new tests, no new functionality.
* platform/efl/WidgetEfl.cpp:
(WebCore::Widget::applyCursor):
(WebCore::Widget::setCursor):
2010-07-19 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Add ifdef to compile code just on presence of Ecore_X
https://bugs.webkit.org/show_bug.cgi?id=42567
No new tests since there's no new functionality.
* platform/efl/WidgetEfl.cpp:
(WebCore::Widget::setEvasObject):
Add #ifdef HAVE_ECORE_X to it.
2010-07-19 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names.
https://bugs.webkit.org/show_bug.cgi?id=42485
* inspector/front-end/utilities.js:
(Element.prototype.removeStyleClass):
2010-07-19 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open.
https://bugs.webkit.org/show_bug.cgi?id=42560
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
* bindings/js/ScriptController.h:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
* bindings/v8/ScriptController.h:
* bindings/v8/V8ConsoleMessage.cpp:
(WebCore::V8ConsoleMessage::dispatchNow):
(WebCore::V8ConsoleMessage::handler):
* bindings/v8/V8ConsoleMessage.h:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::startGroup):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorController.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._formatMessage):
(WebInspector.ConsoleMessage.prototype.toMessageElement):
(WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
(WebInspector.ConsoleMessage.prototype._addMessageHeader):
(WebInspector.ConsoleMessage.prototype.toString):
* inspector/front-end/inspector.css:
(.console-message.repeated-message > ol.stack-trace):
(.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace):
(ol.stack-trace):
(.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace):
* page/Console.cpp:
(WebCore::Console::addMessage):
* page/Console.h:
(WebCore::):
2010-07-19 Robin Burchell <robin.burchell@collabora.co.uk>
Reviewed by Antonio Gomes
[Qt] Use memcpy() instead of qMemCopy()
This is supposed to be more efficient, as the compiler is able to
optimise more.
Additionally, qMemCopy() is only strictly supposed to be used in
headers (see Qt's src/corelib/qglobal.h for reference)
See: https://bugs.webkit.org/show_bug.cgi?id=42392
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
2010-07-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check
https://bugs.webkit.org/show_bug.cgi?id=42284
New name is isEquivalentColor(CanvasStyle).
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
* html/canvas/CanvasStyle.cpp:
(WebCore::CanvasStyle::isEquivalentColor):
* html/canvas/CanvasStyle.h:
2010-07-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Canvas: Wrong internal positioning of drawImage() shadows
https://bugs.webkit.org/show_bug.cgi?id=42510
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::draw):
2010-07-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Render shadow when drawing one canvas onto another
https://bugs.webkit.org/show_bug.cgi?id=42508
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::draw):
2010-07-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Some composition modes fail when color has alpha zero
https://bugs.webkit.org/show_bug.cgi?id=36973
Remove erroneous optimization that ignored painting calls when
the stroke/fill color had an alpha value of zero.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
2010-07-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
CSS3 background: Number of layers should be determined by background-image element count
https://bugs.webkit.org/show_bug.cgi?id=41201
Manual test: css3-background-layer-count.html
Spec link:
http://www.w3.org/TR/css3-background/#layering
* manual-tests/css3-background-layer-count.html: Added.
* rendering/style/FillLayer.cpp:
(WebCore::FillLayer::fillUnsetProperties): Don't repeat
image properties, they determine the total number of layers.
(WebCore::FillLayer::cullEmptyLayers): Change culling logic
to discard all layers after the first one without an image set.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::adjustBackgroundLayers): Call
fillUnsetProperties() before cullEmptyLayers()
(WebCore::InheritedFlags::adjustMaskLayers): Ditto.
2010-07-19 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Avoid QImage::pixel() in getImageData()
https://bugs.webkit.org/show_bug.cgi?id=42463
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::getImageData): Use QImage::scanLine() instead
of fetching data pixel-by-pixel.
2010-07-19 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: hide "toggle debugger" button when debugger is always enabled
https://bugs.webkit.org/show_bug.cgi?id=42558
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
2010-07-19 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file
https://bugs.webkit.org/show_bug.cgi?id=42466
(Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447)
No new functionality so no new tests.
* dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::~DeviceOrientationEvent):
Move here to avoid needing to have the full declaration of
DeviceOrientation in DeviceOrientationEvent.h.
* dom/DeviceOrientationEvent.h:
2010-07-18 Anders Carlsson <andersca@apple.com>
Fix Build.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2010-07-18 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Always set the current NSGraphicsContext before calling drawWithFrame
https://bugs.webkit.org/show_bug.cgi?id=42542
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2010-07-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Move PluginWidget to WebKit
https://bugs.webkit.org/show_bug.cgi?id=42530
Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
This is a stopgap measure until we have a single PluginView class that we can use everywhere.
* WebCore.exp.in:
Remove PluginWidget symbols.
* WebCore.xcodeproj/project.pbxproj:
Update.
* platform/Widget.h:
(WebCore::Widget::isPluginViewBase):
Return false.
* plugins/PluginViewBase.h: Added.
(WebCore::PluginViewBase::platformLayer):
Always return 0 here now.
(WebCore::PluginViewBase::isPluginViewBase):
Return true.
* plugins/PluginWidget.h: Removed.
* plugins/mac/PluginWidgetMac.mm: Removed.
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
Cast to PluginWidgetBase instead.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
Cast to PluginWidgetBase instead.
2010-07-18 Dean Jackson <dino@apple.com>
Unreviewed.
Remove the unwanted extra line that Xcode
added in my last commit.
* WebCore.xcodeproj/project.pbxproj:
2010-07-18 Dean Jackson <dino@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=41259
Interacting with a <select> element within a transformed and clipped
container scrolls the container
The Node::getRect and ContainerNode::getRect functions were not
transform-aware. This fixes both, and has a test to make sure
we're not breaking any existing scrollToView code. This means
that a <select> popup will appear in the correct place if it
is within a transformed and scrolled container.
Test: fast/transforms/scrollIntoView-transformed.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner):
(WebCore::ContainerNode::getLowerRightCorner):
- make sure we call localToAbsolute in the right order
(after we've done a local move) and pass in the flags to
indicate it should look for transforms.
* dom/Node.cpp:
(WebCore::Node::getRect):
- make sure localToAbsolute gets told to look for transforms.
2010-07-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add NPJSObjectMap class
https://bugs.webkit.org/show_bug.cgi?id=42524
Export ScriptController functions.
* WebCore.exp.in:
2010-07-18 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Implement some NPRuntime related NPN_ functions
https://bugs.webkit.org/show_bug.cgi?id=42518
* WebCore.exp.in:
Export IdentifierRep functions.
2010-07-17 TJ Lee <tjlee0909@gmail.com>
Reviewed by Timothy Hatcher.
HTMLLinkElement ignores dnsPrefetchingEnabled setting
https://bugs.webkit.org/show_bug.cgi?id=42500
Changed the HTML Link tag to check that the browser
has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.
There are no test cases for this patch because it was unclear how to test
this using a layout test. A possible test case would be to
clear the DNS cache on the client's machine before loading a page with
<link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
then check the number of DNS cache entries.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
2010-07-16 Maciej Stachowiak <mjs@apple.com>
Reviewed by Sam Weinig.
Asynchronous policy checks make FrameLoader think it is done loading prematurely
https://bugs.webkit.org/show_bug.cgi?id=42489
This caused many (~100) layout tsts to fail under WebKit2.
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
if m_complete is true, do not consider it done if it has a provisional loader.
This will happen in the case where the policy check is asynchronous.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::subframeIsLoading): For similar reasons,
consider a subframe to be loading if it has a policy decision pending.
2010-07-15 Qi Zhang <qi.2.zhang@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
https://bugs.webkit.org/show_bug.cgi?id=38400
FillRect with shadow need take alpha information from fillstyle
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRect):
2010-07-17 Nikita Vasilyev <me@elv1s.ru>
Reviewed by Pavel Feldman.
Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
https://bugs.webkit.org/show_bug.cgi?id=42476
* inspector/front-end/inspector.css:
(.editing):
2010-07-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Sam Weinig.
Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
https://bugs.webkit.org/show_bug.cgi?id=42186
Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
if the current path is empty.
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::addArcTo): Remove now-redundant code.
2010-07-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Oliver Hunt.
QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
A https://bugs.webkit.org/show_bug.cgi?id=32530
Solve this by adding ImageBuffer::imageForRendering() which returns an image
that can be used for rendering now, but isn't a copy to be kept around.
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::imageForRendering):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
be used for rendering now, but may change in the future.
* platform/graphics/qt/StillImageQt.cpp:
(WebCore::StillImage::StillImage):
(WebCore::StillImage::~StillImage):
(WebCore::StillImage::size):
(WebCore::StillImage::nativeImageForCurrentFrame):
(WebCore::StillImage::draw):
* platform/graphics/qt/StillImageQt.h:
(WebCore::StillImage::createForRendering): Added for use in
ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()
2010-07-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Oliver Hunt.
[Qt] Remove redundant logic in Path::addArcTo()
https://bugs.webkit.org/show_bug.cgi?id=42494
Bounds checking for arcTo() is now done in cross-platform code
thanks to <http://trac.webkit.org/changeset/63599>
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::addArcTo):
2010-07-16 Zhe Su <suzhe@chromium.org>
Reviewed by Darin Adler.
REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
https://bugs.webkit.org/show_bug.cgi?id=42253
This patch just reverts the change to WebCore/page/FocusController.cpp
made in changeset 61484, and add a new method named
willSetInputMethodState in EditorClient interface, which gets called
in FocusController just before changing the focused node.
No new tests, because no new functionality.
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::willSetInputMethodState):
* page/EditorClient.h:
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedNode):
2010-07-16 Matthew Delaney <mdelaney@apple.com>
Reviewed by Sam Weinig.
Failing 2d.path.stroke.prune.arc philip canvas test
https://bugs.webkit.org/show_bug.cgi?id=42188
* html/canvas/CanvasRenderingContext2D.cpp:
Note, updated parameter names to match spec.
(WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
(WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
* platform/graphics/Path.h: Added in new method to expose the current position.
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::currentPoint): Added in support for this call.
* platform/graphics/haiku/PathHaiku.cpp:
(WebCore::Path::currentPoint): Added in stub for this call.
* platform/graphics/openvg/PathOpenVG.cpp:
(WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
* platform/graphics/skia/PathSkia.cpp:
(WebCore::Path::currentPoint): Added in stub for this call.
* platform/graphics/wince/PathWince.cpp:
(WebCore::Path::currentPoint): Added in stub for this call.
* platform/graphics/wx/PathWx.cpp:
(WebCore::Path::currentPoint): Added in stub for this call.
2010-07-16 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63593.
http://trac.webkit.org/changeset/63593
https://bugs.webkit.org/show_bug.cgi?id=42487
Broke a few chromium pixel tests (Requested by tony^work on
#webkit).
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::strokeRect):
2010-07-16 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
https://bugs.webkit.org/show_bug.cgi?id=29355
* WebCore.exp.in: Updated.
* platform/graphics/Font.cpp:
(WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
Set the font smoothing mode in the font description.
* platform/graphics/Font.h:
2010-07-16 Satish Sampath <satish@chromium.org>
Reviewed by Anders Carlsson.
Add speech attribute to IDL for enabling access from JS.
https://bugs.webkit.org/show_bug.cgi?id=42483
No tests added, this change is a pre-requisite for future layout tests.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
* html/HTMLInputElement.idl: Added the speech attribute to IDL.
2010-07-16 Fady Samuel <fsamuel@chromium.org>
Reviewed by David Levin.
Avoids adding stroke when stroke-width is zero.
SVG - stroke-width:0 bug with stroke other than "none"
https://bugs.webkit.org/show_bug.cgi?id=42387
Test: svg/stroke/path-zero-strokewidth-test.svg
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::strokeRect):
2010-07-16 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix.
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.
2010-07-16 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
[Chromium] <input type=number> UI implementation for Windows
https://bugs.webkit.org/show_bug.cgi?id=42259
No additional tests. Existing tests cover this change and we'll
update expectations.
* platform/chromium/ChromiumBridge.h: Add paintSpinButton().
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::determineState):
Add ControlSubPart parameter and add support for spin buttons.
(WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
(WebCore::RenderThemeChromiumWin::getThemeData): ditto.
(WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
(WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
* rendering/RenderThemeChromiumWin.h:
Declare ControlSubpart, and add it to some functions.
2010-07-16 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Use function provided by EFL for system beep
https://bugs.webkit.org/show_bug.cgi?id=42481
EFL port does not support automated tests, yet.
* platform/efl/SoundEfl.cpp:
(WebCore::systemBeep):
2010-07-16 Sarah Strong <sarah.e.strong@gmail.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Clipboard data is lost on exit
https://bugs.webkit.org/show_bug.cgi?id=27411
No new tests. To manually test the bug fixed by this patch:
1) Open an application that uses a webkit webview on a GNOME-based system
2) Copy some text from that application
3) Optional: paste it to another application. This should work properly with and without this patch.
4) Exit the application completely.
5) Paste:
Without this patch, you cannot because your clipboard is empty.
With this patch, pasting succeeds.
I have not included an automated test because of the difficulty of testing behaviour after application exit.
2010-07-16 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
Keyboard operations for <input type=number>
https://bugs.webkit.org/show_bug.cgi?id=42076
- The up arrow key works as stepUp().
- The down arrow key works as stepDown().
- Reject characters other than + - 0-9 . e E
Test: fast/forms/input-number-keyoperation.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
(WebCore::isNumberCharacter):
(WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
For type=number, remove unacceptable characters.
* html/HTMLInputElement.h:
2010-07-16 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
Improve hover state handling for spin buttons
https://bugs.webkit.org/show_bug.cgi?id=42260
Background:
When we move the mouse cursor to a node from the outside of the node,
the following steps are executed.
1. setHovered(true) is called.
2. The node is repainted for the hover state.
3. 'mousemove' event is dispatched for the node.
For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
called before the event handler of the spin-button. So we can't
detect which of the up part or the down part is hovered correctly.
Solution:
The hover state of a spin-button is one of three states;
Indeterminate, Up, and Down. The state is Indeterminate since
setHovered(true) is called and until 'mousemove' event is
dispatched.
No new tests because there are no implementation of spin-buttons
with hovered state yet.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isHovered):
Return false if the node is a spin-button and the state is Indeterminate.
(WebCore::RenderTheme::isSpinUpButtonPartHovered):
* rendering/TextControlInnerElements.cpp:
(WebCore::SpinButtonElement::SpinButtonElement):
Initialize m_upDownState.
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::SpinButtonElement::setHovered):
Set the state to Indeterminate.
* rendering/TextControlInnerElements.h:
(WebCore::SpinButtonElement::upDownState):
2010-07-16 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7527532> Crash beneath setSelection() during detach()
https://bugs.webkit.org/show_bug.cgi?id=42020
No test because I am unable to reproduce the crash.
* rendering/RenderView.cpp:
(WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
localToAbsolute() during detach().
2010-07-16 Anders Carlsson <andersca@apple.com>
Fix release build.
* storage/Database.cpp:
(WebCore::DerefContextTask::performTask):
2010-07-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
https://bugs.webkit.org/show_bug.cgi?id=41409
AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
or transition was running. This prevented us from falling into compositing layers for animation
on platforms, like Windows, that don't have accelerated animations.
Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
and isRunningAcceleratedAnimationOnRenderer().
Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
now 'm_isAccelerated', for clarity.
Test: compositing/animation/animation-compositing.html
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
(WebCore::AnimationBase::blendProperties): Ditto.
(WebCore::AnimationBase::updateStateMachine): Ditto.
* page/animation/AnimationBase.h:
(WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
which causes the method to only return true if the animation is accelerated.
(WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
* page/animation/CompositeAnimation.h:
* page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
isRunningAcceleratedAnimationOnRenderer().
* page/animation/AnimationControllerPrivate.h: Ditto.
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
(WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
opacity if an accelerated animation is running.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
if an animation of transform or opacity is running.
2010-07-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Assertion when turning Accelerated Compositing off on a composited page
https://bugs.webkit.org/show_bug.cgi?id=42408
When accelerated compositing is turned off, check m_hasAcceleratedCompositing
before saying that the root layer will be composited. Fixes an assertion.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
2010-07-16 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Simon Fraser.
Spatial navigation: do not consider outline for focusable element boundaries
https://bugs.webkit.org/show_bug.cgi?id=42474
Test: fast/events/spatial-navigation/snav-zero-margin-content.html
Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
renderer/element. This method deals with outline, which is out of elements boundary.
It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
are inaccessible.
Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
which returns only the absolute bounding box rect of the Element.
* page/SpatialNavigation.cpp:
(WebCore::renderRectRelativeToRootDocument):
(WebCore::checkNegativeCoordsForNode):
2010-07-15 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Gustavo Noronha.
[Qt] Remove unnecessary WebKit headers inclusion from WebCore files
https://bugs.webkit.org/show_bug.cgi?id=42416
There are some places in WebCore unnecessarily including WebKit headers.
Cleaning up only, no testing needed.
* platform/network/qt/ResourceHandleQt.cpp:
* platform/qt/RenderThemeQt.cpp:
* platform/qt/WidgetQt.cpp:
2010-07-16 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Refinement of r63556: moved the tab width computation back to Font, but added a
SimpleFontData parameter.
* platform/graphics/Font.h:
(WebCore::Font::tabWidth):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2010-07-16 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Pavel Feldman.
Fix unit error in calculating timings from ResourceLoadTiming API
https://bugs.webkit.org/show_bug.cgi?id=42473
The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.
No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.
* page/Timing.cpp:
(WebCore::Timing::domainLookupStart):
(WebCore::Timing::domainLookupEnd):
(WebCore::Timing::connectStart):
(WebCore::Timing::connectEnd):
(WebCore::Timing::requestStart):
(WebCore::Timing::requestEnd):
(WebCore::Timing::responseStart):
2010-07-16 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
clang++ build fixes for JavaScriptCore and WebCore
https://bugs.webkit.org/show_bug.cgi?id=42478
* platform/network/Credential.cpp:
(WebCore::Credential::type):
* platform/network/Credential.h:
Remove const qualifier on Credential::type since it doesn't have an effect on the type.
2010-07-16 Anders Carlsson <andersca@apple.com>
Reviewed by David Levin.
Really add WARN_UNUSED_RESULT to leakRef
https://bugs.webkit.org/show_bug.cgi?id=42464
Get rid of a call to releaseRef here by passing the ScriptExecutionContext
reference through to the DerefContextTask.
* storage/Database.cpp:
(WebCore::DerefContextTask::create):
(WebCore::DerefContextTask::performTask):
(WebCore::DerefContextTask::DerefContextTask):
(WebCore::Database::~Database):
2010-07-16 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: The current implementation of generator is not ready
for generation Backend part of Inspector interface. The full patch
with Backend is quite big and I've split it.
https://bugs.webkit.org/show_bug.cgi?id=42462
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl:
* inspector/InspectorValues.cpp:
(WebCore::InspectorArray::get):
* inspector/InspectorValues.h:
(WebCore::InspectorArray::length):
2010-07-15 Rob Buis <rwlbuis@gmail.com>
Reviewed by Darin Adler.
An empty value for xml:lang isn't considered
https://bugs.webkit.org/show_bug.cgi?id=42042
Allow :lang selector to match empty values for xml:lang and
lang attributes.
Test: fast/css/lang-selector-empty-attribute.xhtml
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2010-07-16 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
https://bugs.webkit.org/show_bug.cgi?id=42459
* inspector/front-end/inspector.js:
(WebInspector.performSearch):
2010-07-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: do not include SSL time into Waiting time.
https://bugs.webkit.org/show_bug.cgi?id=42458
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._showPopover):
2010-07-16 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
https://bugs.webkit.org/show_bug.cgi?id=42437
No test because none of the fonts available to DumpRenderTree are missing a space glyph.
Changed the tab width computation to use the width of the space glyph from the font that has
a space glyph, which may be a fallback font if the primary font lacks a space glyph.
* platform/graphics/Font.h: Removed Font::tabWidth().
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2010-07-16 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Chromium build fix. Add missing include.
* inspector/ConsoleMessage.h:
2010-07-16 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antonio Gomes.
[Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
https://bugs.webkit.org/show_bug.cgi?id=42456
* platform/graphics/qt/PathQt.cpp:
(WebCore::scratchContext): Added, provides a scratch GraphicsContext.
(WebCore::Path::strokeContains): Use the scratch context instead
of creating a new GraphicsContext.
(WebCore::Path::strokeBoundingRect): Ditto.
2010-07-16 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
[V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
to avoid crashes in inspected page.
https://bugs.webkit.org/show_bug.cgi?id=42065
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::addListener):
2010-07-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add SSL time label into the resources popover.
https://bugs.webkit.org/show_bug.cgi?id=42458
* English.lproj/localizedStrings.js:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::buildObjectForTiming):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._showPopover):
2010-07-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: disable AppCache in chromium.
https://bugs.webkit.org/show_bug.cgi?id=41858
* inspector/front-end/Settings.js:
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addApplicationCache):
2010-07-16 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
console.trace should show file and line number for each function in the stack
https://bugs.webkit.org/show_bug.cgi?id=21180
Test: inspector/console-trace.html
* bindings/js/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::initialize):
* bindings/v8/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
* bindings/v8/ScriptCallFrame.h:
* bindings/v8/ScriptCallStack.cpp:
(WebCore::getFrameLocation):
(WebCore::toScriptCallFrame):
(WebCore::ScriptCallStack::create):
(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::at):
(WebCore::ScriptCallStack::size):
* bindings/v8/ScriptCallStack.h:
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::traceCallback):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::CallFrame::CallFrame):
(WebCore::ConsoleMessage::CallFrame::isEqual):
(WebCore::ConsoleMessage::CallFrame::createFrontendObject):
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleMessage.prototype._formatMessage):
(WebInspector.ConsoleMessage.prototype._createStackTraceElement):
(WebInspector.ConsoleMessage.prototype._createSourceUrlLink):
* inspector/front-end/inspector.css:
(.console-message.expandable > .console-message-text::before):
(.console-message.expandable.collapsed > .console-message-text::before):
(.console-message.expandable.collapsed > ol.stack-trace):
(.console-message > ol.stack-trace):
(.console-message.repeated-message > ol.stack-trace):
(.console-message.repeated-message > ol.stack-trace.trace-message):
* page/Console.idl:
2010-07-16 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Build with MathML enabled. Fix build when MathML is enabled and
make it the default.
https://bugs.webkit.org/show_bug.cgi?id=42453
EFL port does not support automated tests, yet.
* CMakeLists.txt: add missing source file and sort.
2010-07-16 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
DeviceOrientationEvent.h should not forward-declare DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=42447
When destructing m_orientation, DeviceOrientation cannot be an incomplete type.
* dom/DeviceOrientationEvent.h:
2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
gradientTransform + objectBoundingBox is wrong
https://bugs.webkit.org/show_bug.cgi?id=42446
gradientTransform + gradientUnits="objectBoundingBox" is wrong. Reverse multiplication order of both transforms.
* rendering/RenderSVGResourceGradient.cpp: s/multiply/multLeft/
2010-07-16 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
Make JS memory stats available via 'Performance' object (Web Timing).
This statistics is populated only if 'WebKitMemoryInfoEnabled'
preference is set.
'console.memory' is kept until Web Timing object becomes visible by
default (currently it is hidden under compile-time flag). These stats
are guarded with the same preference.
https://bugs.webkit.org/show_bug.cgi?id=41617
* bindings/js/JSConsoleCustom.cpp:
* bindings/v8/custom/V8ConsoleCustom.cpp:
* page/Console.cpp:
(WebCore::Console::disconnectFrame):
(WebCore::Console::memory):
* page/Console.h:
* page/Console.idl:
* page/MemoryInfo.cpp:
(WebCore::MemoryInfo::MemoryInfo):
* page/MemoryInfo.h:
(WebCore::MemoryInfo::create):
* page/Performance.cpp:
(WebCore::Performance::disconnectFrame):
(WebCore::Performance::memory):
* page/Performance.h:
* page/Performance.idl:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setMemoryInfoEnabled):
(WebCore::Settings::memoryInfoEnabled):
2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convolution computation causes bad alpha channel values
https://bugs.webkit.org/show_bug.cgi?id=42273
Unbreak the convolve matrix filter, fixing svg/W3C-SVG-1.1/filters-conv-01-f.svg.
1) Fix clamping the rgb values:
"image->set(pixel++, clampRGBAValue(totals[0], maxAlpha));" totals[0] -> totals[i].
2) Don't apply the divisior divison and bias addition multiple times, accumulated!
* svg/graphics/filters/SVGFEConvolveMatrix.cpp:
(WebCore::setDestinationPixels): Fix two evil bugs, breaking feConvolveMatrix.
2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
relative positioning does not work for radialGradient after window resize
https://bugs.webkit.org/show_bug.cgi?id=41249
Redesign the way resources are invalidated. No longer utilize the DOM tree, specifically SVGStyledElement::svgAttributeChanged(), to invalidate
all resources in the ancestor chain (including itself) when any attribute changes. rect.setAttribute("foo", "bar") should never invalidate the
resources. Also the old approach didn't work correctly if the root layout changed (eg. window size change) - we failed to invalidate the resources,
thus leading to wrong renderings.
Instead of calling setNeedsLayout(true) from the SVG*Element classes, call RenderSVGResource::markForLayoutAndParentResourceInvalidation(), which
does the same thing and invalidates all resources in the ancestor chain (removing the cached results from the HashMaps). This only happens from
the various svgAttributeChanged() methods, if we know which attribute changed, and what action has to be taken.
All SVG renderers now invalidate their own resources on layout() if the layout changed (selfNeedsLayout()=true). The resources will be recreated
and cached during the following paint() call.
Tests: svg/custom/marker-child-changes-css.svg
svg/custom/relative-sized-content-with-resources.xhtml
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout): Ditto.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout): Ditto.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout): Ditto.
* rendering/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::styleDidChange): Added, to invalidate resources on CSS changes, covered by new svg/custom/marker-child-changes-css.svg test.
* rendering/RenderSVGModelObject.h:
* rendering/RenderSVGResource.cpp:
(WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): Add new "needsBoundaries" parameter, calling setNeedsBoundaries() on the target render object,
simplifying all RenderSVGResource* code.
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): New static method used from DOM tree to invalidate all cached resources in the ancestor chain
for a render object. Also marks the renderer for layout, if needed.
* rendering/RenderSVGResource.h:
* rendering/RenderSVGResourceClipper.cpp: Simplify code, remove no longer needed hacks, as invalidation is now carried out by render tree.
(WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): Add m_invalidationBlocked hack, to avoid invalidations, while we're mutating the render styles (which is a hack!).
(WebCore::RenderSVGResourceClipper::invalidateClients): Don't do anything if m_invalidationBlocked=true.
(WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
(WebCore::RenderSVGResourceClipper::createClipData): Set m_invalidationBlocked before mutating render styles, as they are restored immediately after creating the clip image.
(WebCore::RenderSVGResourceClipper::resourceBoundingBox): Remove no longer needed hack to initialize ClipperData earlier than applyResource() would do.
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
(WebCore::RenderSVGResourceFilter::invalidateClient): Remove wrong assertion.
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
(WebCore::RenderSVGResourceGradient::invalidateClient): Remove wrong assertion.
* rendering/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
(WebCore::RenderSVGResourceMarker::invalidateClient): Remove wrong assertion.
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
(WebCore::RenderSVGResourceMasker::invalidateClient): Remove wrong assertion.
(WebCore::RenderSVGResourceMasker::resourceBoundingBox): Remove no longer needed hack to initializer MaskerData earlier than applyResource() would do.
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation.
(WebCore::RenderSVGResourcePattern::invalidateClient): Remove wrong assertion.
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer().
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::applyResultsToTarget): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged): Ditto.
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged): Ditto.
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::notifyFinished): Ditto.
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto.
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::svgAttributeChanged): Ditto.
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged): Ditto.
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged): Ditto.
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::svgAttributeChanged): Ditto.
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged): Ditto.
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged): Ditto.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setCurrentScale): Ditto.
(WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
(WebCore::SVGSVGElement::inheritViewAttributes): Ditto.
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::SVGStopElement): Changed m_offset initialization from 0.0f to 0.
(WebCore::SVGStopElement::svgAttributeChanged): Add missing implementation, calling RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) on offsetAttr changes.
* svg/SVGStopElement.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::svgAttributeChanged): Don't call invalidateResourceInAncestorChain() on every attribute change, do it in all classes inheriting from us,
for specific attributes. Also stop calling RenderSVGResource::invalidateAllResourcesOfRenderer(), all handled in the render tree now.
(WebCore::SVGStyledElement::invalidateResourceClients): Early exit, if document is still parsing.
* svg/SVGStyledElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::svgAttributeChanged): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true).
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::svgAttributeChanged): Ditto.
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::svgAttributeChanged): Ditto.
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::svgAttributeChanged): Ditto.
(WebCore::SVGUseElement::updateContainerSizes): Ditto.
(WebCore::SVGUseElement::updateContainerOffsets): Ditto.
2010-07-16 Cosmin Truta <ctruta@chromium.org>
Reviewed by Eric Seidel.
Some SVGs with empty <g> elements crash Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=41175
Avoid painting of zero-sized image buffers. Skia can't handle it.
Test: svg/filters/filter-empty-g.svg
* WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
(ImageBuffer::ImageBuffer):
2010-07-16 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
Regression in r63100: Don't clear m_loadType in
FrameLoader::handledOnloadEvents, as it is used
to make some decisions after the load has actually
completed.
Tickling this bug requires manipulation
via the API (layout tests don't appear to traverse
the correct codepath), so no layout test.
https://bugs.webkit.org/show_bug.cgi?id=42298
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handledOnloadEvents): Don't reset m_loadType.
(WebCore::FrameLoader::addExtraFieldsToRequest): Set subresource cache
policy in one place and don't depend on m_loadType.
2010-07-15 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Darin Adler.
Printing test results differ between machines, we should use ImageDiff instead
https://bugs.webkit.org/show_bug.cgi?id=20011
Added spoolAllPagesWithBoundaries into PrintContext.
Test: printing/setPrinting.html
* WebCore.base.exp:
* page/PrintContext.cpp:
(WebCore::PrintContext::spoolAllPagesWithBoundaries):
* page/PrintContext.h:
2010-07-15 Kent Tamura <tkent@chromium.org>
Unreviewed, small style fixes.
* platform/chromium/ThemeChromiumMac.mm:
(WebCore::ThemeChromiumMac::inflateControlPaintRect):
* platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::inflateControlPaintRect):
2010-07-15 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Update LegacyHTMLTreeBuilder to insert whitespace between </head> and <body>
https://bugs.webkit.org/show_bug.cgi?id=42431
Insert these whitespace text nodes into the HTML element between <head>
and <body>, as required by HTML5. Previously, we just dropped them on
the floor.
* html/LegacyHTMLTreeBuilder.cpp:
(WebCore::LegacyHTMLTreeBuilder::handleError):
2010-07-15 Victor Wang <victorw@chromium.org>
Reviewed by David Levin.
[chromium] update KURLGoogle decodeURLEscapeSequences to
use googleurl public api so it does not access functions in
url_canon_internal. This is for chromium multi-dll build.
https://bugs.webkit.org/show_bug.cgi?id=42177
Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
* platform/KURLGoogle.cpp:
(WebCore::decodeURLEscapeSequences):
2010-07-15 Kent Tamura <tkent@chromium.org>
Reviewed by Eric Seidel.
[Chromium] Update ThemeChromiumMac.mm for the recent changes of ThemeMac.mm
https://bugs.webkit.org/show_bug.cgi?id=41932
Sync with ThemeMac.mm r61760.
This change doesn't contain r54299, r57603, r57734, r57741, and
r58533 because they conflict with Chromium change for
FlippedView().
* platform/chromium/ThemeChromiumMac.mm:
(WebCore::sizeFromNSControlSize):
(WebCore::sizeFromFont):
(WebCore::controlSizeFromPixelSize):
(WebCore::setControlSize):
(WebCore::convertControlStatesToThemeDrawState):
(WebCore::stepperSizes):
(WebCore::stepperControlSizeForFont):
(WebCore::paintStepper):
(WebCore::ThemeChromiumMac::controlSize):
(WebCore::ThemeChromiumMac::minimumControlSize):
(WebCore::ThemeChromiumMac::inflateControlPaintRect):
(WebCore::ThemeChromiumMac::paint):
2010-07-15 MORITA Hajime <morrita@google.com>
Reviewed by David Levin.
[Chromium][Win] Crashes with <keygen> with huge padding.
https://bugs.webkit.org/show_bug.cgi?id=41737
When we try to draw a large region, TransparencyWin can fail to
allocate a temporal buffer for composition. This change adds a
fallback path to ThemePainter to handle the buffer allocation
failure.
ThemePainter is no longer a subclass of TransparencyWin. It has
a TransparencyWin as a member.
Test: fast/forms/large-parts.html
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::ThemePainter): Added a fallback path.
2010-07-15 Yuzo Fujishima <yuzo@google.com>
Reviewed by Darin Adler.
Fix for Bug 42362 - CSSSegmentedFontFace::isLoaded() const is not used anywhere
Remove the method.
https://bugs.webkit.org/show_bug.cgi?id=42362
No new tests because of no behavior changes.
* css/CSSSegmentedFontFace.cpp:
* css/CSSSegmentedFontFace.h:
2010-07-15 Erik Arvidsson <arv@chromium.org>
Reviewed by David Levin.
Add directional property enums to the switch in applyProperty
https://bugs.webkit.org/show_bug.cgi?id=42438
Build fix for chromium mac.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2010-07-13 Zhenyao Mo <zmo@google.com>
Reviewed by Nate Chapin.
bufferData and bufferSubData generate wrong error when null buffer is bound
https://bugs.webkit.org/show_bug.cgi?id=42125
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataParameters().
(WebCore::WebGLRenderingContext::bufferSubData): Ditto.
(WebCore::WebGLRenderingContext::validateBufferDataParameters): Parameters validation for buffer{Sub}Data().
* html/canvas/WebGLRenderingContext.h: Declare validateBufferDataParameters().
2010-07-15 Jay Civelli <jcivelli@chromium.org>
Reviewed by David Levin.
[chromium] Making the popup label color visible when the item is
selected.
https://bugs.webkit.org/show_bug.cgi?id=42271
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::paintRow): paint the label text with a
different color when it is selected.
2010-07-13 Zhenyao Mo <zmo@google.com>
Reviewed by Nate Chapin.
WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
https://bugs.webkit.org/show_bug.cgi?id=34719
Tests: fast/canvas/webgl/canvas-test.html
fast/canvas/webgl/gl-pixelstorei.html
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::makeRenderingResultsAvailable): Paint the WebGL rendering results to canvas if it's 3d.
(WebCore::HTMLCanvasElement::toDataURL): Paint the WebGL rendering results to canvas if it's 3d.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage): Paint the WebGL rendering results to canvas if it's 3d before drawing.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::markContextChanged): Mark it always for canvas2d.drawImage purpose.
(WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): Paint the WebGL rendering results to canvas if it's dirty.
* html/canvas/WebGLRenderingContext.h: Declare paintRenderingResultsToCanvas().
* platform/graphics/GraphicsContext3D.h: Declare paintRenderingResultsToCanvas() & paintToCanvas().
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::paintToCanvas): Paint the rendered image pixels to the canvas.
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::beginPaint): Just call paintRenderingResultsToCanvas().
(WebCore::GraphicsContext3D::endPaint):
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
2010-07-15 Nico Weber <thakis@chromium.org>
Reviewed by Ojan Vafai.
chromium/skia: Fix canvas.toDataURL in the presence of transparency
https://bugs.webkit.org/show_bug.cgi?id=42214
The problem was that SkBitmaps contain premultiplied data, but pnglib
doesn't expect premultiplied data. Now, the encoder unpremultiplies
data before sending it to pnglib.
Patch partially by deanm.
Covered by fast/canvas/toDataURL-alpha.html.
* platform/image-encoders/skia/PNGImageEncoder.cpp:
(WebCore::preMultipliedBGRAtoRGBA):
(WebCore::encodeImpl):
(WebCore::PNGImageEncoder::encode):
2010-07-15 Alex Nicolaou <anicolao@chromium.org>
Reviewed by Eric Seidel.
Convolution computation causes bad alpha channel values
https://bugs.webkit.org/show_bug.cgi?id=42273
Fixed by clamping colour channel values to the alpha value so that
r <= a, g <= a, and b <= a after the convolution is applied. See
the bug for why I believe the SVG specification needs to be updated.
Test must be drawn to crash. 100x100 green rectangle is used to
indicate pass to minimize the chance of regression.
Test: svg/custom/convolution-crash.svg
* platform/graphics/skia/SkiaUtils.cpp:
(WebCore::SkPMColorToColor):
* svg/graphics/filters/SVGFEConvolveMatrix.cpp:
(WebCore::clampRGBAValue):
(WebCore::setDestinationPixels):
(WebCore::FEConvolveMatrix::fastSetInteriorPixels):
(WebCore::FEConvolveMatrix::fastSetOuterPixels):
2010-07-15 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, Chromium-specific changes that I forgot to make in r63278.
1. DatabaseTrackerChromium::getMaxSizeForDatabase() is called on
the context thread by sync DBs.
2. Forgot to change V8SQLTransactionSyncCustom to return the
result set when executeSql() is called.
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
(WebCore::V8SQLTransactionSync::executeSqlCallback):
* storage/chromium/DatabaseTrackerChromium.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
2010-07-15 Martin Robinson <mrobinson@igalia.com>
Reviewed by Oliver Hunt.
[GTK] Simplify the distribution step
https://bugs.webkit.org/show_bug.cgi?id=42414
No new tests as this is just a build change.
* GNUmakefile.am: Modify EXTRA_DIST directly and make sure the list
of files is sorted. Also handle distributing the IDL files from the
WebCore source tree.
2010-07-15 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
LegacyHTMLTreeBuilder should insert an implicit <colgroup> before inserting <col> to match HTML5
https://bugs.webkit.org/show_bug.cgi?id=42346
This turned out to be an easy fix.
This is covered by lots of layout tests. I believe
all of the changed results to be progressions.
This change had no measurable effect on the parser benchmark.
* html/LegacyHTMLTreeBuilder.cpp:
(WebCore::LegacyHTMLTreeBuilder::colCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::getNode):
* html/LegacyHTMLTreeBuilder.h:
2010-07-15 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Patch for https://bugs.webkit.org/show_bug.cgi?id=42410
Many leaking DatasetDOMStringMaps seen on buildbot
* dom/NodeRareData.h:
(WebCore::NodeRareData::~NodeRareData): Add a virtual destructor so
that the ElementRareData's destructor will be called when this is deleted
from the Node's destructor.
2010-07-15 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: Crash when table has empty thead tag
https://bugs.webkit.org/show_bug.cgi?id=42391
Test: accessibility/table-with-empty-thead-causes-crash.html
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::headerObjectForSection):
2010-07-15 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Start loading plug-in streams
https://bugs.webkit.org/show_bug.cgi?id=42407
Export some ResourceRequestBase getters.
* WebCore.exp.in:
2010-07-15 Kenneth Russell <kbr@google.com>
Reviewed by Nate Chapin.
Query of NUM_COMPRESSED_TEXTURE_FORMATS must be handled by WebGL
https://bugs.webkit.org/show_bug.cgi?id=42401
No new tests; covered by gl-get-calls.html.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter):
- Return 0 for getParameter(NUM_COMPRESSED_TEXTURE_FORMATS).
2010-07-07 John Gregg <johnnyg@google.com>
Reviewed by Jian Li.
Experimental directory upload feature.
https://bugs.webkit.org/show_bug.cgi?id=40872
This patch adds a new HTML attribute webkitdirectory which applies to
<input type="file"> tags and allows the user to specify a folder
which is recursively enumerated so that all the files in that folder
are added to the file list.
The files chosen in that way have a .webkitRelativePath attribute which contains
the relative path starting from the chosen folder. The relative path is
also appended to each item in the FormData when uploaded.
All the code is behind an ENABLE_DIRECTORY_UPLOAD flag.
Test: fast/forms/input-file-directory-upload.html
* html/Blob.cpp:
(WebCore::Blob::Blob):
* html/Blob.h:
* html/File.cpp:
(WebCore::File::File):
(WebCore::File::Init):
(WebCore::File::webkitRelativePath):
* html/File.h:
(WebCore::File::create):
* html/File.idl:
* html/HTMLAttributeNames.in: add webkitdirectory attribute
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setFileListFromRenderer):
(WebCore::HTMLInputElement::webkitdirectory):
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl:
* platform/BlobItem.cpp:
(WebCore::FileBlobItem::create):
(WebCore::FileBlobItem::FileBlobItem):
* platform/BlobItem.h:
(WebCore::FileBlobItem::relativePath):
* platform/FileChooser.h:
(WebCore::FileChooser::allowsDirectoryUpload):
* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::allowsMultipleFiles):
(WebCore::RenderFileUploadControl::allowsDirectoryUpload):
* rendering/RenderFileUploadControl.h:
2010-07-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Avoid creating huge compositing layers for elements that project outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=42338
The logic that computed the bounds of compositing layers naively used the
union of the bounds of descendant, non-composited RenderLayers, without regard
to what is actually visible. This could result in huge layers for page with
elements are large negative offsets, or with large negative text-indent (both
common).
For elements without transforms on them or in their ancestor chain, and when
no 3d transforms or hardware-accelerated animations are used, can clip compositing
layers to the size of the document, or based on CSS overflow and clip.
Tests: compositing/geometry/limit-layer-bounds-clipping-ancestor.html
compositing/geometry/limit-layer-bounds-fixed-positioned.html
compositing/geometry/limit-layer-bounds-overflow-repaint.html
compositing/geometry/limit-layer-bounds-positioned-transition.html
compositing/geometry/limit-layer-bounds-positioned.html
compositing/geometry/limit-layer-bounds-transformed-overflow.html
compositing/geometry/limit-layer-bounds-transformed.html
* rendering/RenderLayerBacking.cpp:
(WebCore::enclosingOverflowClipAncestor): Walk up the RenderLayer tree
looking for an ancestor that has overflow, or to the root. Along the way, check for
transformed elements.
(WebCore::RenderLayerBacking::updateCompositedBounds): If we're in "consult
overlap" mode, and we don't have transforms, then constrain the bounds
of composited layers by the RenderView's layoutOverflowRect(), or by the
enclosing layer with overflow.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If the offset from the renderer changes,
we need to repaint the layer.
2010-07-15 Alex Nicolaou <anicolao@chromium.org>
Reviewed by Dirk Schulze.
https://bugs.webkit.org/show_bug.cgi?id=42228
SVG Masks were in the wrong colour space for non-CG graphics layers,
because for those cases ImageBuffer needs to be explicitly told to
convert the pixels. This change adds a test that demonstrates the
problem and the conversion call to make the mask LinearRGB.
Test: svg/custom/mask-colorspace.svg
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::createMaskImage):
2010-07-15 Daniel Bates <dbates@rim.com>
Reviewed by Darin Adler.
[Mac] Implement LayoutTestController::markerTextForListItem()
https://bugs.webkit.org/show_bug.cgi?id=37929
Export symbols for WebCore::markerTextForListItem() and WebCore::toElement().
* WebCore.exp.in:
2010-07-15 Andreas Kling <andreas.kling@nokia.com>
Rubber-stamped by Kenneth Rohde Christiansen.
[Qt] Remove an unused variable in BitmapImage::draw()
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw): Remove selfSize.
2010-07-15 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: pass all parameters to WebInspector.addConsoleMessage as a single payload object
https://bugs.webkit.org/show_bug.cgi?id=42345
This refactoring is covered by existing console tests.
* bindings/js/ScriptArray.cpp:
(WebCore::ScriptArray::set):
* bindings/js/ScriptArray.h:
(WebCore::ScriptArray::ScriptArray):
(WebCore::ScriptArray::jsArray):
* bindings/v8/ScriptArray.cpp:
(WebCore::ScriptArray::set):
* bindings/v8/ScriptArray.h:
(WebCore::ScriptArray::ScriptArray):
(WebCore::ScriptArray::~ScriptArray):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::addConsoleMessage):
* inspector/InspectorFrontend.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.createTextMessage):
(WebInspector.ConsoleCommandResult):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.generateStylesheet):
* inspector/front-end/InjectedScriptAccess.js:
(InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
(InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
(InjectedScriptAccess._installHandler):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype._checkWarning):
* inspector/front-end/inspector.js:
(WebInspector.updateConsoleMessageExpiredCount):
(WebInspector.addConsoleMessage):
(WebInspector.log.logMessage):
(WebInspector.log):
2010-07-14 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Fisher.
Backfill DNS and connect times rather than exposing hard zeros
https://bugs.webkit.org/show_bug.cgi?id=42303
There are several cases where domain lookup is not performed and/or a new connection is not established. Previously in these cases, we exposed a "0" to the API. Now, we instead "backfill" with the most recent mark's time.
Also, previously, I was using the ResourceLoadTiming API incorrectly. Each mark is an integer representing offset in milliseconds from requestTime. So all values need to be added to requestTime.
No new test because existing test expectations are set to FAIL because disable disabled by default. The expected results of existings tests change as expected when enabled.
* page/Timing.cpp:
(WebCore::toIntegerMilliseconds): Move to file static instead of class static because it might generate more optimal code. Also, instead of converting negative doubles to zero, ASSERT that they are >= 0. This is because we no longer expose hard zeros for DNS and connect, so we want to be sure that the -1s returned by the API are properly handled.
(WebCore::Timing::domainLookupStart):
(WebCore::Timing::domainLookupEnd):
(WebCore::Timing::connectStart):
(WebCore::Timing::connectEnd):
(WebCore::Timing::requestStart):
(WebCore::Timing::requestEnd):
(WebCore::Timing::responseStart):
* page/Timing.h:
2010-07-15 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: differentiate between blocking and connecting timers.
https://bugs.webkit.org/show_bug.cgi?id=42372
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::updateResponse):
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::buildObjectForTiming):
* inspector/InspectorResource.h:
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.get cached):
(WebInspector.Resource.prototype.set cached):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._showPopover):
(WebInspector.ResourceGraph):
(WebInspector.ResourceGraph.prototype.refresh):
(WebInspector.ResourceGraph.prototype._cachedChanged):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
* loader/FrameLoader.h:
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::connectionReused):
(WebCore::ResourceResponseBase::setConnectionID):
* platform/network/ResourceResponseBase.h:
2010-07-15 MORITA Hajime <morrita@google.com>
Text layout is wrong with a SVG Font that lacks <missing-glyph> element
https://bugs.webkit.org/show_bug.cgi?id=42352
floatWidthOfSubStringUsingSVGFont() calculated a wrong value for a
sub-run, and a fallback to system font triggers such a computation.
This change made floatWidthOfSubStringUsingSVGFont() to deal with
sub-runs.
Test: svg/custom/svg-fonts-without-missing-glyph.xhtml
* svg/SVGFont.cpp:
(WebCore::floatWidthOfSubStringUsingSVGFont):
2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Cycle detection needs to include shadow tree
https://bugs.webkit.org/show_bug.cgi?id=42360
Search for cycles in shadow tree fragments as well. Extended the svg/custom/recursion-* tests. No more crashes in any of them.
* rendering/RenderSVGResourceContainer.h:
(WebCore::RenderSVGResourceContainer::containsCyclicReference):
* rendering/RenderSVGShadowTreeRootContainer.cpp: Implemented here, not inline, so that clients don't need to include SVGShadowTreeElements.h
(WebCore::RenderSVGShadowTreeRootContainer::rootElement): Expose helper function, that returns the shadow tree root element as Node*.
* rendering/RenderSVGShadowTreeRootContainer.h:
2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
clipPath is missing cycle detection
https://bugs.webkit.org/show_bug.cgi?id=42350
Detect cyclic clipper resources, and ignore them on rendering. Early exit in applyResource just like the pattern/mask resources do.
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyResource):
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
(WebCore::RenderSVGResourceClipper::childElementReferencesResource):
* rendering/RenderSVGResourceClipper.h:
2010-07-15 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej Stachowiak.
Fix a leak of Vector instances seen on the build bot.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawBoxSideFromPath): Don't unnecessarily heap allocate then leak the DashArray.
2010-07-15 Mark Rowe <mrowe@apple.com>
Update the sorting in the Xcode project files.
* WebCore.xcodeproj/project.pbxproj:
2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Eric Seidel.
SVG patterns and masks should not be able to reference themselves
https://bugs.webkit.org/show_bug.cgi?id=32171
Pattern still had an issue, when using constructs like:
<pattern id="pattern1" xlink:href="#pattern2"/>
<pattern id="pattern2"><rect fill="url(#pattern1)"/></pattern>
Extended test svg/custom/recursive-pattern.svg to cover this situation.
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource): Don't perform the cycle check against node()...
(WebCore::RenderSVGResourcePattern::createTileImage): .. but against the "patternContentElement" which respect the xlink:href chaining.
2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Adam Barth.
Pixel test failure in moving-shadow-on-path.html and moving-shadow-on-container.html
https://bugs.webkit.org/show_bug.cgi?id=42249
Partly revert <http://trac.webkit.org/changeset/63307>. The RenderSVGRoot change caused a pixel test regression in two fast/repaint tests.
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout): Include selfNeedsLayout() check in LayoutStateRepainter argument.
2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63352.
http://trac.webkit.org/changeset/63352
https://bugs.webkit.org/show_bug.cgi?id=42341
Broke plugin-initiate-popup-window.html and plugin-javascript-
access.html on snow leopard (Requested by abarth on #webkit).
* bindings/v8/NPV8Object.cpp:
(_NPN_EvaluateHelper):
2010-07-14 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make the LegacyHTMLTreeBuilder coalesce text nodes
https://bugs.webkit.org/show_bug.cgi?id=42314
This is slightly tricky as we're side-stepping the old
parsers insertion logic in the cases where we know we can
safely merge text into an existing text node instead of
inserting a new one.
This affects lots of tests (which will need to change for
the HTML5 TreeBuilder anyway) and causes the LegacyHTMLTreeBuilder
to now pass a bunch more subtests in html5lib/runner.html.
The parser benchmark thinks that this is a small speedup.
I think I happen to have been lucky enough to get the right
cache alignment, and that this is likely a wash.
* html/LegacyHTMLTreeBuilder.cpp:
(WebCore::LegacyHTMLTreeBuilder::parseToken):
2010-07-14 Evan Stade <estade@chromium.org>
Reviewed by Kent Tamura.
[chromium] Linux scrollbar steppers are "clickable" even when disabled
https://bugs.webkit.org/show_bug.cgi?id=42231
Not tested by layout tests.
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
(WebCore::ScrollbarThemeChromiumLinux::paintButton):
2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63389.
http://trac.webkit.org/changeset/63389
https://bugs.webkit.org/show_bug.cgi?id=42311
It broke the Chromium Linux build. (Requested by dave_levin on
#webkit).
* platform/KURLGoogle.cpp:
(WebCore::decodeURLEscapeSequences):
2010-07-13 Mirko Damiani <mirko@develer.com>
Reviewed by Simon Hausmann.
[Qt] CSS border style not cleared for SVG object
https://bugs.webkit.org/show_bug.cgi?id=42150
For tests and description see:
https://bugs.webkit.org/show_bug.cgi?id=25738
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setLineDash):
2010-07-14 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLTreeBuilder shouldn't crash during fast/parser/remove-parser-current-node.html
https://bugs.webkit.org/show_bug.cgi?id=42312
We were crashing because of an ASSERT I added to the attach logic in
the HTMLConstructionSite. I knew this ASSERT was wrong when I added
it, I just wanted to make sure we had test coverage of those cases.
Turns out we do! :)
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
(WebCore::HTMLConstructionSite::attachAtSite):
2010-07-14 Victor Wang <victorw@chromium.org>
Reviewed by Darin Fisher.
[chromium] update KURLGoogle decodeURLEscapeSequences to
use googleurl public api so it does not access functions in
url_canon_internal. This is for chromium multi-dll build.
https://bugs.webkit.org/show_bug.cgi?id=42177
Test: (unittest) WebKit\chromium\tests\KURLTest.cpp
* platform/KURLGoogle.cpp:
(WebCore::decodeURLEscapeSequences):
2010-07-14 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Avoid extra memcpy of character tokens
https://bugs.webkit.org/show_bug.cgi?id=42002
Eric tells me this patch makes the new tree builder 1% faster than the
old tree builder on our parser benchmark.
* html/HTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
(WebCore::AtomicHTMLToken::characters):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
(WebCore::convertToOldStyle):
(WebCore::HTMLTreeBuilder::processFakeCharacters):
2010-07-14 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTreeBuilder foster parents when it should not
https://bugs.webkit.org/show_bug.cgi?id=42235
Regarding foster parenting of nodes inside tables:
"Process the token using the rules for the "in body" insertion mode,
except that if the current node is a table, tbody, tfoot, thead, or
tr element, then, whenever a node would be inserted into the current
node, it must instead be foster parented."
We were forgetting the "when the current node is" part of that check
and always foster parenting, even if we had just inserted another
element (which would have just changed the current node).
This was covered by multiple tests in html5lib/runner.html
but I wrote a reduction (one which I included) as it makes it
easier to see what's going on.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLNames::causesFosterParenting):
(WebCore::HTMLConstructionSite::attach):
(WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::shouldFosterParent):
* html/HTMLConstructionSite.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-14 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/8131355> Apps load stale versions of pages when initial load happens via back/forward navigation.
No test case is added because DumpRenderTree is not able to test the scenario where the initial load in a WebView
occurs via a back/forward navigation.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::navigateToDifferentDocument): When the first load in a page is a back/forward navigation, we
shouldn't try to prefer cached data but should do revalidation by default.
(WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
2010-07-14 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
Breaks all dependencies on Page from platform/ and cleans up GLES2Context lifetime
https://bugs.webkit.org/show_bug.cgi?id=42203
Rather than constructing a GLES2Context from a Page, pass the LayerRendererChromium
a GLES2Context in from the constructor. This way the platform/ directory can remain
ignorant of Page and friends. Also adds functions on ChromeClientChromium to request
onscreen and offscreen GLES2Contexts for callers in WebCore that need them.
* page/chromium/ChromeClientChromium.h:
* platform/chromium/GLES2Context.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-07-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Add functions to extract individual RGBA32 components
https://bugs.webkit.org/show_bug.cgi?id=42305
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::willDraw): Use alphaChannel()
* platform/graphics/Color.h:
(WebCore::redChannel):
(WebCore::greenChannel):
(WebCore::blueChannel):
(WebCore::alphaChannel):
(WebCore::Color::red):
(WebCore::Color::green):
(WebCore::Color::blue):
(WebCore::Color::alpha):
2010-07-14 Alexey Proskuryakov <ap@apple.com>
Not reviewed.
https://bugs.webkit.org/show_bug.cgi?id=42201
Use ResourceHandle object for synchronous loading
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::loadResourceSynchronously): Fix an obvious typo.
2010-07-14 Alexey Proskuryakov <ap@apple.com>
Reviewed by Brady Eidson.
https://bugs.webkit.org/show_bug.cgi?id=42201
Use ResourceHandle object for synchronous loading
Fix a Tiger test failure.
Setting NSURLRequest properties has been moved to createNSURLConnection to share code between
sync and async cases, but on Tiger, we don't call this function.
There is more refactoring needed to make this nice, and we need to figure out if some of
request-tweaking code in createNSURLConnection needs to run on every redirect, as it happens
with CFNetwork version.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::loadResourceSynchronously): Set main document for cookies, which is
the only thing we've been missing.
2010-07-14 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Dan Bernstein.
* WebCore.xcodeproj/project.pbxproj: Silence rsync.
2010-07-14 Darin Adler <darin@apple.com>
Reviewed by Gavin Barraclough.
Fix warning seen with newer gcc (on Qt buildbot).
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
Add parentheses around && expression.
2010-07-14 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Avoid extra memcpy of character tokens
https://bugs.webkit.org/show_bug.cgi?id=42002
This patch is just some cleanup to make fixing this bug easier.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::~ExternalCharacterTokenBuffer):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::defaultForInitial):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::defaultForBeforeHead):
(WebCore::HTMLTreeBuilder::defaultForInHead):
(WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
(WebCore::HTMLTreeBuilder::defaultForAfterHead):
(WebCore::HTMLTreeBuilder::defaultForInTableText):
* html/HTMLTreeBuilder.h:
2010-07-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Canvas: Don't add shadow rect to dirty region when shadow alpha is 0
https://bugs.webkit.org/show_bug.cgi?id=42300
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::willDraw):
2010-07-14 Kevin Ollivier <kevino@theolliviers.com>
[CURL] Build fix after request -> firstRequest rename.
* platform/network/curl/FormDataStreamCurl.cpp:
(WebCore::FormDataStream::read):
(WebCore::FormDataStream::hasMoreElements):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::setupPOST):
(WebCore::parseDataUrl):
(WebCore::ResourceHandleManager::dispatchSynchronousJob):
(WebCore::ResourceHandleManager::startJob):
(WebCore::ResourceHandleManager::initializeHandle):
2010-07-14 Simon Fraser <simon.fraser@apple.com>
Reviewed by John Sullivan.
<rdar://problem/8186963> Expose information about compositing layers.
Expose information about the types of compositing layers via RenderLayerBacking::compositingLayerType().
* WebCore.exp.in: Export WebCore::SpaceSplitStringData::createVector().
* WebCore.xcodeproj/project.pbxproj: Make RenderLayerBacking.h a Private header for use by WebKit.
* platform/graphics/GraphicsLayer.h: Add hasContentsLayer() and usingTiledLayer() methods.
(WebCore::GraphicsLayer::hasContentsLayer):
(WebCore::GraphicsLayer::usingTiledLayer):
* platform/graphics/mac/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::hasContentsLayer): Return true if we have a contents layer.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::compositingLayerType): Return information about the type of composited layer.
* rendering/RenderLayerBacking.h:
2010-07-14 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP
https://bugs.webkit.org/show_bug.cgi?id=42008
TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild
https://bugs.webkit.org/show_bug.cgi?id=42010
Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html
fast/dom/TreeWalker/previousSiblingLastChildSkip.html
* dom/TreeWalker.cpp:
(WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild.
(WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting
the lastChild loop when we encounter it.
2010-07-14 Sam Weinig <sam@webkit.org>
Reviewed by Brady Eidson.
Fix crashing layout test on snowleopard.
* platform/mac/CursorMac.mm:
(WebCore::Cursor::ensurePlatformCursor): Make sure to retain the cursor.
2010-07-14 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: aria-checked not recognized on image map radio buttons
https://bugs.webkit.org/show_bug.cgi?id=42055
Moves some code from AccessibilityRenderObject to AccessibilityObject so that
elements that do not have render objects, but do have Nodes (like image map links
and list box options) can still make use of certain aria attributes.
Test: platform/mac/accessibility/image-map-link-used-as-radiobutton.html
* accessibility/AccessibilityImageMapLink.cpp:
(WebCore::AccessibilityImageMapLink::roleValue):
(WebCore::AccessibilityImageMapLink::accessibilityDescription):
(WebCore::AccessibilityImageMapLink::title):
Make imageMap use standard AccessibilityObject methods for getAttribute()
* accessibility/AccessibilityImageMapLink.h:
(WebCore::AccessibilityImageMapLink::node):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
(WebCore::AccessibilityListBoxOption::stringValue):
* accessibility/AccessibilityListBoxOption.h:
(WebCore::AccessibilityListBoxOption::node):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::language):
Language method doesn't need a node() anymore, it can use the node from AccessibilityObject.
(WebCore::renderListItemContainerForNode):
(WebCore::AccessibilityObject::getAttribute):
(WebCore::AccessibilityObject::intValue):
Move intValue into AccessibilityObject.
(WebCore::AccessibilityObject::hasIntValue):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isCheckbox):
(WebCore::AccessibilityObject::isRadioButton):
(WebCore::AccessibilityObject::isCheckboxOrRadio):
Consolidate what defines a checkbox and radio button into AccessibilityObject.
(WebCore::AccessibilityObject::node):
(WebCore::AccessibilityObject::headingLevel):
(WebCore::AccessibilityObject::isDetached):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isPasswordField):
(WebCore::AccessibilityRenderObject::headingLevel):
(WebCore::AccessibilityRenderObject::selectedTabItem):
(WebCore::AccessibilityRenderObject::hierarchicalLevel):
(WebCore::AccessibilityRenderObject::node):
(WebCore::AccessibilityRenderObject::intValue):
* accessibility/AccessibilityRenderObject.h:
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemAccessibilityText):
Stop using AccessibilityObjects getAttribute (no reason to use it really).
2010-07-14 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7759909> Certain text runs measure 1 pixel wider when measured as a whole than when measured piecewise
https://bugs.webkit.org/show_bug.cgi?id=42279
No test because the issue cannot be reproduced with standard fonts.
Word- and run-rounding works by advancing ahead to the nearest integral width. As the total
width accumulated becomes large, the float types low precision results in accumulated rounding
error, sometimes crossing an integer. Consequently, word-rounding makes different decisions when
measuring a multi-word run than when measuring its words individually. To work around this,
word- and run-rounding are applied only to the width accumulated since the last rounding
character.
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2010-07-14 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Adler.
Fix enum value names for Navigation.{idl|h}
https://bugs.webkit.org/show_bug.cgi?id=42282
This is necessary after https://bugs.webkit.org/show_bug.cgi?id=42250.
No new tests because no new functionality.
* page/Navigation.cpp:
(WebCore::Navigation::type):
* page/Navigation.h:
(WebCore::Navigation::):
2010-07-14 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=41292
Set right UserGestureIndicator to indicate whether the NPN_Evaluate allows popup window or not.
Test: plugins/plugin-initiate-popup-window.html
* bindings/v8/NPV8Object.cpp:
(_NPN_EvaluateHelper):
2010-07-14 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 42117 - AX: Data table heuristics: consider assuming data table for 'zebra-striped' rows
https://bugs.webkit.org/show_bug.cgi?id=42117
Test: platform/mac/accessibility/table-with-zebra-rows.html
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2010-07-14 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: VoiceOver cannot navigate this page because Safari is taking too long
https://bugs.webkit.org/show_bug.cgi?id=42219
No tests. Existing tests cover change.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::boundingBoxRect):
2010-07-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Canvas: Fast-path for assigning the same color string as before to fillStyle or strokeStyle
https://bugs.webkit.org/show_bug.cgi?id=42272
Always route assignment of color strings via setFillColor() or setStrokeColor()
where we can check it against the previous value and return early if it's the same.
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::toHTMLCanvasStyle):
(WebCore::JSCanvasRenderingContext2D::strokeStyle):
(WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
(WebCore::JSCanvasRenderingContext2D::setFillStyle):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
* html/canvas/CanvasRenderingContext2D.h:
2010-07-14 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Separate line-ending conversion code from BlobItem
https://bugs.webkit.org/show_bug.cgi?id=40932
Add common line-ending normalization code under platform/text.
No new tests as it doesn't change any functionality.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/BlobBuilder.cpp:
(WebCore::BlobBuilder::appendString):
* html/FormDataList.cpp:
(WebCore::FormDataList::appendString):
* platform/BlobItem.cpp:
* platform/BlobItem.h:
* platform/text/LineEnding.cpp: Added.
* platform/text/LineEnding.h: Added.
2010-07-14 Erik Arvidsson <arv@chromium.org>
Reviewed by Darin Adler.
Implement border-start and border-end properties
https://bugs.webkit.org/show_bug.cgi?id=41782
Test: fast/css/border-start-end.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::resolveDirectionAwareProperty):
* css/CSSPropertyNames.in:
* inspector/front-end/SourceCSSTokenizer.js:
(WebInspector.SourceCSSTokenizer):
2010-07-14 Alexey Proskuryakov <ap@apple.com>
Tiger and Gtk build fixes.
https://bugs.webkit.org/show_bug.cgi?id=42201
Use ResourceHandle object for synchronous loading
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startHttp):
2010-07-14 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
Make changing Cursors work in WebKit2.
- Converted Mac and Windows Cursor implementations to lazily
create the platform cursor.
- Add HostWindow function to set the cursor and use it from Widget::setCursor.
- Rework Windows cursor code to use fewer global variables.
* WebCore.exp.in: Updated
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::setCursor):
(WebCore::EmptyChromeClient::setLastSetCursorToCurrentCursor):
Added empty implementations.
* page/Chrome.cpp:
(WebCore::Chrome::setCursor):
* page/Chrome.h:
* page/ChromeClient.h:
Change existing setCursor() function to take a Cursor instead of a
PlatformCursorHandle. Added setLastSetCursorToCurrentCursor.
* platform/Cursor.cpp:
* platform/Cursor.h:
Added Cursor Type and the option of lazily creating the native cursor
(used on Mac and Windows for now).
* platform/HostWindow.h:
Add setCursor.
* platform/mac/CursorMac.mm:
(WebCore::createCustomCursor): This no longer needs to call determineHotSpot
as that is done when on construction of the cursor now and the hotSpot passed
in is correct.
(WebCore::Cursor::ensurePlatformCursor):
(WebCore::Cursor::Cursor):
(WebCore::Cursor::~Cursor):
(WebCore::Cursor::operator=):
(WebCore::Cursor::platformCursor):
Convert to lazily creating the native cursor on the first request and
storing the type.
* platform/mac/WidgetMac.mm:
(WebCore::Widget::setCursor):
Use HostWindow::setCursor to set the cursor. This in turn will call the
ChromeClient.
* platform/win/CursorWin.cpp:
(WebCore::createSharedCursor):
(WebCore::loadSharedCursor):
(WebCore::loadCursorByName):
(WebCore::Cursor::ensurePlatformCursor):
(WebCore::SharedCursor::~SharedCursor):
(WebCore::Cursor::Cursor):
(WebCore::Cursor::~Cursor):
(WebCore::Cursor::operator=):
(WebCore::Cursor::platformCursor):
Convert to lazily creating the native cursor on the first request and
storing the type.
* platform/win/WidgetWin.cpp:
(WebCore::Widget::setCursor):
Use HostWindow::setCursor to set the cursor. This in turn will call the
ChromeClient.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::handleMouseEvent):
Use the new setLastSetCursorToCurrentCursor client function to ensure
the cursor is properly updated when over a plugin.
* platform/chromium/CursorChromium.cpp:
* platform/efl/CursorEfl.cpp:
* platform/gtk/CursorGtk.cpp:
* platform/haiku/CursorHaiku.cpp:
* platform/wince/CursorWince.cpp:
* platform/wx/CursorWx.cpp:
* platform/qt/CursorQt.cpp:
Change m_impl -> m_platformCursor.
2010-07-13 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
reconstructActiveFormElements should reconstruct attributes as well
https://bugs.webkit.org/show_bug.cgi?id=42222
The case in question is "<p><b foo='bar'></p>text</b>".
When the "b" is re-opened to wrap the text it should include
any attributes from the original (now closed) tag name.
There are also similar cases for the Adoption Agency algorithm, but since
the html5lib test suite did not cover those (and it wasn't immediately
obvious to me how to test those) I've saved fixing that bug for a
later patch. For now I've just made the adoption agency use
HTMLConstructionSite::createHTMLElementFromElementRecord so the
FIXME can be in one place instead of two.
In order to cleanly support createHTMLElementFromSavedElement
I re-factored "attachToCurrent" out from createHTMLElementAndAttachToCurrent
and changed all callers to use attachToCurrent(createHTMLElement(token)).
This is covered by two existing tests in html5lib/runner.html
and I wrote two more. One to cover the basic case that we now pass
and a second to cover an evil edge case which we do not.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attachToCurrent):
(WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):
(WebCore::HTMLConstructionSite::insertHTMLElement):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::insertForeignElement):
(WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
(WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
(WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
* html/HTMLConstructionSite.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-13 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=42201
Use ResourceHandle object for synchronous loading
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::ResourceHandle): Moved common tasks from create() to constructor.
(WebCore::ResourceHandle::firstRequest): Renamed from request(). This is not changed with
redirect, so the old name was quite confusing.
* platform/network/ResourceHandle.h: Made createNSURLConnection() a member function, since
it now needs access to both ResourceHandle and ResourceHandleInternal. Added createCFURLConnection().
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal): Renamed m_request to m_firstRequest.
* platform/network/mac/ResourceHandleMac.mm:
(WebCoreSynchronousLoaderClient): Replaced an Objective C delegate class with a ResourceHandleClient
subclass. This allows for much better code sharing, with common logic is in ResourceHandle.
(WebCore::ResourceHandle::createNSURLConnection): Factored out more code that is common
between sync and async parts.
(WebCore::ResourceHandle::start): Ditto.
(WebCore::ResourceHandle::cancel): Updated for firstRequest() renaming.
(WebCore::ResourceHandle::loadResourceSynchronously): Use ResourceHandle and ResourceHandleClient,
like a good loader.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Updated for firstRequest() renaming.
(WebCore::ResourceHandle::receivedCredential): Ditto.
(-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto.
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto.
(-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto.
(-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::WebCoreSynchronousLoaderClient::create):
(WebCore::WebCoreSynchronousLoaderClient::setAllowStoredCredentials):
(WebCore::WebCoreSynchronousLoaderClient::isDone):
(WebCore::WebCoreSynchronousLoaderClient::data):
(WebCore::WebCoreSynchronousLoaderClient::WebCoreSynchronousLoaderClient):
(WebCore::willSendRequest):
(WebCore::didReceiveResponse):
(WebCore::didReceiveData):
(WebCore::shouldUseCredentialStorageCallback):
(WebCore::didFinishLoading):
(WebCore::didFail):
(WebCore::didReceiveChallenge):
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::loadResourceSynchronously):
(WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
(WebCore::WebCoreSynchronousLoaderClient::didReceiveResponse):
(WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
(WebCore::WebCoreSynchronousLoaderClient::didFinishLoading):
(WebCore::WebCoreSynchronousLoaderClient::didFail):
(WebCore::WebCoreSynchronousLoaderClient::didReceiveAuthenticationChallenge):
(WebCore::WebCoreSynchronousLoaderClient::shouldUseCredentialStorage):
Same changes for CFNetwork version. Now it's a more direct copy/paste than before, some
day we'll share the code.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterContentPolicy):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::createResourceHandle):
(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didFail):
(WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::didReceiveResponse):
(WebCore::IconLoader::didFail):
(WebCore::IconLoader::didFinishLoading):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback):
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::start):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startHttp):
Updated for request() -> firstRequest renaming.
2010-07-14 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Code generator: ensure generated constants match their corresponding enums.
https://bugs.webkit.org/show_bug.cgi?id=42250
Specific interfaces can use DontCheckEnums attribute to avoid generating the compile-time check.
Tests: updated bindings tests. Generated code should compile.
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/CPP/WebDOMTestObj.h:
(WebDOMTestObj::):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::):
(WebCore::JSTestObjPrototype::getOwnPropertySlot):
(WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
(WebCore::jsTestObjCONST_VALUE_0):
(WebCore::jsTestObjCONST_VALUE_1):
(WebCore::jsTestObjCONST_VALUE_2):
(WebCore::jsTestObjCONST_VALUE_4):
(WebCore::jsTestObjCONST_VALUE_8):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::):
(WebCore::ConfigureV8TestObjTemplate):
* css/WebKitCSSTransformValue.idl:
* dom/DOMCoreException.idl:
* dom/EventException.idl:
* dom/Node.idl:
* dom/OverflowEvent.idl:
* dom/RangeException.idl:
* html/FileError.idl:
* html/FileReader.idl:
* html/canvas/Float32Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/canvas/WebGLRenderingContext.idl:
* inspector/JavaScriptCallFrame.idl:
* loader/appcache/DOMApplicationCache.idl:
* storage/SQLException.idl:
* svg/SVGComponentTransferFunctionElement.idl:
* svg/SVGException.idl:
* svg/SVGFEBlendElement.idl:
* svg/SVGFEColorMatrixElement.idl:
* svg/SVGFECompositeElement.idl:
* svg/SVGFEConvolveMatrixElement.idl:
* svg/SVGFEDisplacementMapElement.idl:
* svg/SVGFEMorphologyElement.idl:
* svg/SVGFETurbulenceElement.idl:
* svg/SVGGradientElement.idl:
* xml/XMLHttpRequestException.idl:
* xml/XPathException.idl:
2010-07-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Ojan Vafai.
Unbreak fast/canvas/gradient-add-second-start-end-stop.html
Assigning the same CanvasGradient or CanvasPattern to fillStyle
or strokeStyle may not be a no-op since the object could have been
modified since it was last set.
Regressed with <http://trac.webkit.org/changeset/63327>
* html/canvas/CanvasStyle.cpp:
(WebCore::operator==):
2010-07-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Canvas: Make assigning the same fillStyle or strokeStyle a fast no-op
https://bugs.webkit.org/show_bug.cgi?id=42267
Avoid calling into GraphicsContext when setting a style to its current value.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setStrokeStyle): Return early if the
new style is the same as the current one.
(WebCore::CanvasRenderingContext2D::setFillStyle): Same.
* html/canvas/CanvasStyle.cpp:
(WebCore::operator==): Added operator==(CanvasStyle, CanvasStyle)
* html/canvas/CanvasStyle.h:
2010-07-14 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Fisher.
Implement Web Timing redirectStart, redirectEnd, redirectCount
https://bugs.webkit.org/show_bug.cgi?id=42018
Tests: http/tests/misc/webtiming-one-redirect.php
http/tests/misc/webtiming-two-redirects.php
* loader/FrameLoaderTypes.h:
(WebCore::FrameLoadTimeline::FrameLoadTimeline):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest): This method is called for each request (including server redirects). fetchStart is updated to the current time on each invocation so that it represents fetching of the final document and doesn't include redirect time. For each redirect, redirectCount is incremented and redirectStart to redirectEnd measures the cumulative fetch time for all redirects.
* page/Navigation.cpp:
(WebCore::Navigation::redirectCount): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-count
* page/Timing.cpp:
(WebCore::Timing::redirectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-start
(WebCore::Timing::redirectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-end
* page/Timing.h:
* page/Timing.idl:
2010-07-14 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Antonio Gomes.
Generate MathML files with CMake even if MathML is disabled. This
fixes EFL build after r63274.
https://bugs.webkit.org/show_bug.cgi?id=42263
No new functionality, so no new tests.
* CMakeLists.txt:
2010-07-14 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Get rid of libWebCoreJS
https://bugs.webkit.org/show_bug.cgi?id=42083
Remove the need to build libWebCoreJS.
* GNUmakefile.am: List all auto-generated source files for libWebCoreJS
instead of relying on make to build libWebCoreJS. This is a more autotools-
-friendly approach.
2010-07-14 Eric Carlson <eric.carlson@apple.com>
One more unreviewed build fix for r63319.
* html/TimeRanges.cpp:
(TimeRanges::nearest):
2010-07-14 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Enable toggling of the "Inspect Element" mode from the browser
https://bugs.webkit.org/show_bug.cgi?id=42169
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype.handleShortcut):
(WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
* inspector/front-end/inspector.js:
(WebInspector.toggleSearchingForNode):
2010-07-14 Eric Carlson <eric.carlson@apple.com>
Unreviewed, build fix for r63319.
* html/TimeRanges.cpp:
(TimeRanges::nearest): Include math.h and use narrowPrecisionToFloat.
2010-07-14 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
Update media element's seeking logic
https://bugs.webkit.org/show_bug.cgi?id=42178
<rdar://problem/8185817>
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seek): When asked to seek to an unbuffered time, seek to the
nearest time instead of generating an exception. Re-order the logic to match spec text.
* html/TimeRanges.cpp:
(TimeRanges::nearest): New, return the value closest to the specified time.
* html/TimeRanges.h:
2010-07-14 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Rename DeviceOrientationController::onOrientationChange to didChangeDeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=42257
According to convention, we should avoid "on" in favor of "did" in function names.
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):
* dom/DeviceOrientationController.h:
2010-07-14 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kent Tamura.
Notify browser about popup being deleted. In EFL and BREW ports, the
WebCore::Popup object was being deleted leaving the popup in browser
alive. Popups can be deleted in two ways: either from browser to webcore or
from webcore to browser. The first path was ok. The problem was when the
user changed the page with a popup still opened. This would trigger the
second path and would cause WebCore::Popup to be deleted without
notifying browser.
https://bugs.webkit.org/show_bug.cgi?id=41877
No new functionality so no new tests.
* platform/brew/PopupMenuBrew.cpp:
(WebCore::PopupMenu::~PopupMenu): call hide() when object is
destroyed.
* platform/efl/PopupMenuEfl.cpp:
(WebCore::PopupMenu::~PopupMenu): ditto.
2010-07-14 Satish Sampath <satish@chromium.org>
Reviewed by Kent Tamura.
Invoke speech recognition when user clicks on the speech button of input elements.
http://bugs.webkit.org/show_bug.cgi?id=42047
No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Added click handling.
(WebCore::InputFieldSpeechButtonElement::speechInput):
(WebCore::InputFieldSpeechButtonElement::recordingComplete): Callback to indicate recording progress.
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Callback to receive recognized text.
(WebCore::InputFieldSpeechButtonElement::detach):
* rendering/TextControlInnerElements.h:
2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63305.
http://trac.webkit.org/changeset/63305
https://bugs.webkit.org/show_bug.cgi?id=42256
"debugger-breakpoints-not-activated-on-reload.html fails on
GTK" (Requested by yurys on #webkit).
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
(WebInspector.ScriptsPanel.prototype._showScriptOrResource):
(WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._addBreakpoint):
2010-07-14 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Provide implementation of DeviceOrientationController and hook into DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=39588
Added DeviceOrientationController::addListener() and removeListener()
to start and stop the client and added calls from DomWindow. Implemented
DeviceOrientationController::onDeviceOrientationChange() to fire a
DeviceOrientationEvent on the window object.
No new tests yet, pending LayoutTestController methods for mock DeviceOrientation.
* dom/DeviceOrientationClient.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientation::addListener):
(WebCore::DeviceOrientation::removeListener):
(WebCore::DeviceOrientation::removeAllListeners):
(WebCore::DeviceOrientationController::onDeviceOrientationChange):
* dom/DeviceOrientationController.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
2010-07-14 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer
https://bugs.webkit.org/show_bug.cgi?id=42164
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::retrieveFrame):
(WebCore::ScriptDebugServer::addListener):
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::clearBreakpoints):
(WebCore::ScriptDebugServer::setBreakpointsActivated):
(WebCore::ScriptDebugServer::pauseOnExceptionsState):
(WebCore::ScriptDebugServer::setPauseOnExceptionsState):
(WebCore::ScriptDebugServer::continueProgram):
(WebCore::ScriptDebugServer::stepIntoStatement):
(WebCore::ScriptDebugServer::stepOverStatement):
(WebCore::ScriptDebugServer::stepOutOfFunction):
(WebCore::ScriptDebugServer::editScriptSource):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
* bindings/v8/ScriptDebugServer.h:
2010-07-14 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: Clean-up InspectorBackend code. In the next changes
InspectorBackend content will be generated by scripts. As far as
generator is very simple thing all nontrivial function should be
moved to InspectorController and DOMAgent.
https://bugs.webkit.org/show_bug.cgi?id=42171
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::pause):
* bindings/js/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::activateBreakpoints):
(WebCore::ScriptDebugServer::deactivateBreakpoints):
* bindings/v8/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::activateBreakpoints):
(WebCore::ScriptDebugServer::deactivateBreakpoints):
(WebCore::ScriptDebugServer::pause):
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::saveApplicationSettings):
(WebCore::InspectorBackend::saveSessionSettings):
(WebCore::InspectorBackend::enableSearchingForNode):
(WebCore::InspectorBackend::disableSearchingForNode):
(WebCore::InspectorBackend::enableMonitoringXHR):
(WebCore::InspectorBackend::disableMonitoringXHR):
(WebCore::InspectorBackend::getResourceContent):
(WebCore::InspectorBackend::reloadPage):
(WebCore::InspectorBackend::activateBreakpoints):
(WebCore::InspectorBackend::deactivateBreakpoints):
(WebCore::InspectorBackend::pause):
(WebCore::InspectorBackend::resume):
(WebCore::InspectorBackend::stepOverStatement):
(WebCore::InspectorBackend::stepIntoStatement):
(WebCore::InspectorBackend::stepOutOfFunction):
(WebCore::InspectorBackend::setPauseOnExceptionsState):
(WebCore::InspectorBackend::copyNode):
(WebCore::InspectorBackend::pushNodeByPathToFrontend):
(WebCore::InspectorBackend::highlightDOMNode):
(WebCore::InspectorBackend::hideDOMNodeHighlight):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::saveApplicationSettings):
(WebCore::InspectorController::saveSessionSettings):
(WebCore::InspectorController::highlightDOMNode):
(WebCore::InspectorController::resume):
(WebCore::InspectorController::setPauseOnExceptionsState):
(WebCore::InspectorController::getResourceContent):
(WebCore::InspectorController::reloadPage):
* inspector/InspectorController.h:
(WebCore::InspectorController::hideDOMNodeHighlight):
(WebCore::InspectorController::startProfiling):
(WebCore::InspectorController::stopProfiling):
(WebCore::InspectorController::enableSearchingForNode):
(WebCore::InspectorController::disableSearchingForNode):
(WebCore::InspectorController::enableMonitoringXHR):
(WebCore::InspectorController::disableMonitoringXHR):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::copyNode):
(WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/InspectorBackendStub.js:
(.WebInspector.InspectorBackendStub.prototype.pause):
(.WebInspector.InspectorBackendStub.prototype.resume):
(.WebInspector.InspectorBackendStub.prototype.stepIntoStatement):
(.WebInspector.InspectorBackendStub.prototype.stepOutOfFunction):
(.WebInspector.InspectorBackendStub.prototype.stepOverStatement):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._togglePause):
(WebInspector.ScriptsPanel.prototype._stepOverClicked):
(WebInspector.ScriptsPanel.prototype._stepIntoClicked):
(WebInspector.ScriptsPanel.prototype._stepOutClicked):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2010-07-14 Joone Hur <joone@kldp.org>
Reviewed by Jian Li.
[GTK] Enabling File Reader/Writer APIs
https://bugs.webkit.org/show_bug.cgi?id=40209
The layout test fast/files will be enabled after eventSender.beginDragWithFiles is implemented for GTK.
* platform/gtk/FileSystemGtk.cpp:
(WebCore::openFile): Added.
(WebCore::readFromFile): Added.
2010-07-14 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Inconsistent LayoutRepainter usage in the SVG renderers
https://bugs.webkit.org/show_bug.cgi?id=42245
Unify LayoutRepainter usage in the SVG renders, as RenderBlock does it, always use:
LayoutRepainter repainter(*this, m_everHadLayout && checkForRepaintDuringLayout());
instead of including selfWillPaint / selfNeedsLayout checks. This improves layout test
performance by 8s on my machine with a debug build (from 76.72s -> 68.59s, averaged over 5 runs)
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):
2010-07-14 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix for r63300.
* rendering/RenderSVGResourceContainer.h:
(WebCore::RenderSVGResourceContainer::containsCyclicReference):
2010-07-14 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: do not activate all breakpoints on page reload
https://bugs.webkit.org/show_bug.cgi?id=41461
Test: inspector/debugger-breakpoints-not-activated-on-reload.html
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._addBreakpoint):
2010-07-14 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: use OwnPtr to manage ConsoleMessages in InspectorController
https://bugs.webkit.org/show_bug.cgi?id=42243
* inspector/InspectorController.cpp:
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::addConsoleMessage):
(WebCore::InspectorController::clearConsoleMessages):
* inspector/InspectorController.h:
(WebCore::InspectorController::consoleMessages):
2010-07-14 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Eric Seidel.
SVG patterns and masks should not be able to reference themselves
https://bugs.webkit.org/show_bug.cgi?id=32171
Don't apply pattern/mask resources, if they contain cyclic references. Gradients/Filters are not affected.
Clippers are already correcly handling this on their own, as well as markers (all which require subtle quirks, covered by existing tests).
Tests: svg/custom/recursive-filter.svg
svg/custom/recursive-gradient.svg
svg/custom/recursive-mask.svg
svg/custom/recursive-pattern.svg
* rendering/RenderSVGResourceContainer.h:
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop using idForStyleResolution(), but use getIdAttribute(), no functional change though.
(WebCore::RenderSVGResourceContainer::idChanged): Ditto.
(WebCore::RenderSVGResourceContainer::childElementReferencesResource): To be implemented by classes inheriting from us. Defaults to false.
(WebCore::RenderSVGResourceContainer::containsCyclicReference): Check whether this resource contains contains a child which references ourselves.
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::childElementReferencesResource): Check whether the masker child specifies mask=".." with the same URI than ourselves.
(WebCore::RenderSVGResourceMasker::applyResource): Early exit if we contain a cylic reference.
* rendering/RenderSVGResourceMasker.h:
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::childElementReferencesResource): Check whether the masker child specifies fill=".." with the same URI than ourselves.
(WebCore::RenderSVGResourcePattern::applyResource): Early exit if we contain a cylic reference.
* rendering/RenderSVGResourcePattern.h:
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::matchesTargetURI): Add new helper function comparing a SVGPaint URI with a given reference id.
* svg/SVGPaint.h:
2010-07-14 Eric Seidel <eric@webkit.org>
Reviewed by Nikolas Zimmermann.
Selection dumping code should not dump body's offset in the document
https://bugs.webkit.org/show_bug.cgi?id=42238
This requires updating the results of many layout tests,
but has no functional change.
* rendering/RenderTreeAsText.cpp:
(WebCore::nodePosition):
2010-07-14 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
<input type=number> UI: inner spin button layout
https://bugs.webkit.org/show_bug.cgi?id=41924
Add layout/event/style code for the inner spin button, which is
going to be used for Windows implementation.
No new tests because no ports implement the inner spin button yet.
* rendering/RenderTextControlSingleLine.cpp:
Introduce m_innerSpinButton.
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
Detach m_innerSpinButton.
(WebCore::RenderTextControlSingleLine::layout):
Set position and size of m_innerSpinButton.
(WebCore::RenderTextControlSingleLine::nodeAtPoint):
Handle m_innerSpinButton.
(WebCore::RenderTextControlSingleLine::forwardEvent):
Handle m_innerSpinButton.
(WebCore::RenderTextControlSingleLine::textBlockWidth):
Shorten the text block width by m_innerSpinButton width.
(WebCore::RenderTextControlSingleLine::preferredContentWidth):
Add m_innerSpinButton width.
(WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
Handle m_innerSpinButton.
(WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class.
* rendering/RenderTextControlSingleLine.h:
2010-07-14 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
<input type=number> UI: Support disabled/readonly states
https://bugs.webkit.org/show_bug.cgi?id=38568
Implement isEnabledFormControl() and isReadOnlyFormControl() of
SpinButtonElement. They returns the states of the parent <input> element.
The existing isEnabledFormControl() had a bug. It didn't have 'const'
modifier.
Test: fast/forms/input-appearance-spinbutton-disabled-readonly.html
* rendering/TextControlInnerElements.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
- If the input element is disabled or read-only, don't process events.
- Protect 'input' object from destruction during focus().
- Fix a hit-test issue. We don't need to add renderBox()->y() because
'local' is relative to the RenderBox.
- Some code cleanup
* rendering/TextControlInnerElements.h:
(WebCore::SpinButtonElement::isEnabledFormControl):
(WebCore::SpinButtonElement::isReadOnlyFormControl):
2010-07-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Page flashes to mostly white towards the end of loading
https://bugs.webkit.org/show_bug.cgi?id=42230
We constrain the size of huge composited layers. When doing so, we
need to use the constained size to set the position as well
as the dimensions, to ensure the layer appears in the correct place.
Test: compositing/tiling/constrained-layer-size.html
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::updateLayerPosition):
2010-07-13 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Linux implementation of <input type=number> UI
https://bugs.webkit.org/show_bug.cgi?id=41925
- Move the code for scrollbar steppers from ScrollbarThemeChromiumLinux
to PlatformThemeChromiumGtk.
- Move the code for scrollbar colors from RenderThemeChromiumLinux
to PlatformThemeChromiumGtk.
* WebCore.gypi:
* platform/chromium/PlatformThemeChromiumGtk.cpp: Added.
(WebCore::PlatformThemeChromiumGtk::setScrollbarColors): Moved from RenderThemeChromiumLinux.
(WebCore::clamp): Moved from ScrollbarThemeChromiumLinux.
(WebCore::PlatformThemeChromiumGtk::saturateAndBrighten): ditto.
(WebCore::PlatformThemeChromiumGtk::outlineColor): ditto.
(WebCore::PlatformThemeChromiumGtk::paintArrowButton): ditto.
* platform/chromium/PlatformThemeChromiumGtk.h: Added.
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
(WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
(WebCore::ScrollbarThemeChromiumLinux::paintButton):
Move the main part of the code to PlatformThemeChromiumGtk.
(WebCore::ScrollbarThemeChromiumLinux::paintThumb):
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): Added.
(WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): Added.
* rendering/RenderThemeChromiumLinux.h:
2010-07-13 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Darin Fisher
Implementing DatabaseSync::transaction() and DatabaseSync::changeVersion().
https://bugs.webkit.org/show_bug.cgi?id=40607
Tests: fast/workers/storage/change-version-handle-reuse-sync.html
fast/workers/storage/change-version-sync.html
fast/workers/storage/empty-statement-sync.html
fast/workers/storage/execute-sql-args-sync.html
fast/workers/storage/executesql-accepts-only-one-statement-sync.html
fast/workers/storage/multiple-transactions-on-different-handles-sync.html
fast/workers/storage/open-database-creation-callback-sync.html
fast/workers/storage/open-database-empty-version-sync.html
fast/workers/storage/open-database-inputs-sync.html
fast/workers/storage/open-database-set-empty-version-sync.html
fast/workers/storage/open-database-while-transaction-in-progress-sync.html
fast/workers/storage/sql-data-types-sync.html
fast/workers/storage/sql-exception-codes-sync.html
fast/workers/storage/test-authorizer-sync.html
fast/workers/storage/transaction-in-transaction-sync.html
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* storage/AbstractDatabase.cpp:
(WebCore::AbstractDatabase::maximumSize):
(WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
* storage/AbstractDatabase.h:
(WebCore::AbstractDatabase::sqliteDatabase):
* storage/ChangeVersionWrapper.cpp:
(WebCore::ChangeVersionWrapper::performPreflight):
(WebCore::ChangeVersionWrapper::performPostflight):
* storage/Database.cpp:
(WebCore::Database::performGetTableNames):
* storage/Database.h:
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::createVTable):
(WebCore::DatabaseAuthorizer::dropVTable):
* storage/DatabaseCallback.h:
* storage/DatabaseSync.cpp:
(WebCore::ChangeVersionPreflightStep::create):
(WebCore::ChangeVersionPreflightStep::performStep):
(WebCore::ChangeVersionPreflightStep::ChangeVersionPreflightStep):
(WebCore::ChangeVersionPostflightStep::create):
(WebCore::ChangeVersionPostflightStep::performStep):
(WebCore::ChangeVersionPostflightStep::ChangeVersionPostflightStep):
(WebCore::DatabaseSync::changeVersion):
(WebCore::DatabaseSync::transaction):
(WebCore::DatabaseSync::runTransaction):
* storage/DatabaseSync.h:
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
* storage/SQLError.h:
* storage/SQLResultSet.cpp:
* storage/SQLResultSet.h:
* storage/SQLStatementCallback.h:
* storage/SQLStatementErrorCallback.h:
* storage/SQLStatementSync.cpp: Copied from WebCore/storage/SQLStatement.cpp.
(WebCore::SQLStatementSync::SQLStatementSync):
(WebCore::SQLStatementSync::execute):
* storage/SQLStatementSync.h: Added.
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::runCurrentStatement):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::postflightAndCommit):
* storage/SQLTransaction.h:
* storage/SQLTransactionCallback.h:
* storage/SQLTransactionClient.cpp:
(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):
* storage/SQLTransactionClient.h:
* storage/SQLTransactionErrorCallback.h:
* storage/SQLTransactionSync.cpp:
(WebCore::transactionClient):
(WebCore::SQLTransactionSync::create):
(WebCore::SQLTransactionSync::SQLTransactionSync):
(WebCore::SQLTransactionSync::~SQLTransactionSync):
(WebCore::SQLTransactionSync::executeSQL):
(WebCore::SQLTransactionSync::begin):
(WebCore::SQLTransactionSync::execute):
(WebCore::SQLTransactionSync::commit):
(WebCore::SQLTransactionSync::rollback):
* storage/SQLTransactionSync.h:
(WebCore::SQLTransactionSync::SQLTransactionSyncOptionalStep::~SQLTransactionSyncOptionalStep):
* storage/SQLTransactionSyncCallback.h:
* storage/chromium/SQLTransactionClientChromium.cpp:
(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):
2010-07-13 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63162.
http://trac.webkit.org/changeset/63162
https://bugs.webkit.org/show_bug.cgi?id=42224
This is no longer needed (Requested by olliej_ on #webkit).
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
2010-07-13 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix my misreading of "clear to the last marker" in the HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=42199
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::clearToLastMarker):
* html/HTMLFormattingElementList.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-13 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough.
ES5 requires BOMs to be treated as whitespace
https://bugs.webkit.org/show_bug.cgi?id=42218
Remove BOM handling logic from WebCore Script objects.
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::StringSourceProvider):
* loader/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
(WebCore::CachedScript::script):
* loader/CachedScript.h:
2010-07-13 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0
https://bugs.webkit.org/show_bug.cgi?id=42211
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::rect):
2010-07-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Show IDs and classnames in layer tree dumps
https://bugs.webkit.org/show_bug.cgi?id=42213
When dumping the layer tree via showLayerTree(), include id and class attributes for
ease of debugging.
No tests, since this is debug-only code.
* rendering/RenderLayer.cpp:
(showLayerTree):
* rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
* rendering/RenderTreeAsText.h:
(WebCore::):
2010-07-13 Simon Fraser <simon.fraser@apple.com>
Build fix: fix WebCore exports by editing the .in file, rather than the generated file.
* WebCore.exp.in:
2010-07-13 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=42216
ResourceRequest::doUpdateResourceRequest() crashes if client denied request
This is covered by many regression tests with patch for bug 42201 applied (because it makes
us also use this code path for sync requests, and those currently have more strict limitations).
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdateResourceRequest): Added a null check.
2010-07-13 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make our end tag in-foreign-content mode spec bug workarounds more closely match minefield
https://bugs.webkit.org/show_bug.cgi?id=42187
I do not expect these work-arounds to be permanent. Hixie has promised to
addresses the feedback to the parser sections of HTML5 soon.
I added these hacks to make our hacks more-closely match Minefield's hacks
and thus have us "pass" a few more html5lib runner tests.
We now pass all of the html5lib foreign content tests
(thus we'll likely need to write more).
Tested by html5lib/runner.html
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::contains):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
2010-07-12 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Fisher.
Wire network times from ResourceLoadTiming to performance.timing
https://bugs.webkit.org/show_bug.cgi?id=41824
* page/Timing.cpp:
(WebCore::Timing::domainLookupStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupstart
(WebCore::Timing::domainLookupEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupend
(WebCore::Timing::connectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-start
(WebCore::Timing::connectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-end
(WebCore::Timing::requestStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-start
(WebCore::Timing::requestEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-end
(WebCore::Timing::responseStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-response-start
(WebCore::Timing::resourceLoadTiming):
* page/Timing.h:
* page/Timing.idl:
2010-07-13 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add support for loading javascript: URLs
https://bugs.webkit.org/show_bug.cgi?id=42221
* WebCore.exp.in:
Export protocolIsJavaScript and ScriptValue::getString.
2010-07-13 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add support for URL frame loading using NPN_GetURLNotify
https://bugs.webkit.org/show_bug.cgi?id=42192
* WebCore.exp.in:
Export ResourceRequestBase::setHTTPMethod and ResourceRequestBase::setURL.
2010-07-04 Zhenyao Mo <zmo@google.com>
Reviewed by Darin Fisher.
Need to track texture completeness
https://bugs.webkit.org/show_bug.cgi?id=41381
Test: fast/canvas/webgl/texture-complete.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext): Init max texture level.
(WebCore::WebGLRenderingContext::bindTexture): Pass max texture level to setTarget().
(WebCore::WebGLRenderingContext::copyTexImage2D): Cache full texture info rather than partial.
(WebCore::WebGLRenderingContext::generateMipmap): Ditto.
(WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::validateTexFuncParameters): Also validate level.
* html/canvas/WebGLRenderingContext.h: Add max texture level.
* html/canvas/WebGLTexture.cpp: Update the class to fully cache texture information and track NPOT and COMPLETE states.
(WebCore::WebGLTexture::WebGLTexture):
(WebCore::WebGLTexture::setTarget): Check whether the texture is initialized or has been deleted.
(WebCore::WebGLTexture::setParameteri): Ditto.
(WebCore::WebGLTexture::setParameterf): Ditto.
(WebCore::WebGLTexture::setLevelInfo): Set texture info.
(WebCore::WebGLTexture::generateMipmapLevelInfo): Generate texture info for all levels after generateMipmaps() is called.
(WebCore::WebGLTexture::getInternalFormat): Return internal format on texture face 0 level 0.
(WebCore::WebGLTexture::isNPOT): Check whether the texture is initialized or has been deleted.
(WebCore::WebGLTexture::needToUseBlackTexture): Ditto.
(WebCore::WebGLTexture::_deleteObject):
(WebCore::WebGLTexture::mapTargetToIndex): Map target to index.
(WebCore::WebGLTexture::canGenerateMipmaps): Check whether Mipmaps can be generated.
(WebCore::WebGLTexture::computeLevelCount): Compute texture level count from width/height.
(WebCore::WebGLTexture::update): Update NPOT/COMPLETE states.
* html/canvas/WebGLTexture.h: Ditto.
(WebCore::WebGLTexture::LevelInfo::LevelInfo): Add data structure to fully cache texture info.
(WebCore::WebGLTexture::LevelInfo::setInfo): Set information.
2010-07-13 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Canvas: drawImage() with wrong 'image' argument type should always throw TypeError
https://bugs.webkit.org/show_bug.cgi?id=42160
Test: canvas/philip/tests/2d.drawImage.wrongtype.html
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::drawImage): Throw TypeError instead of
TYPE_MISMATCH_ERR if 'image' argument is not an image, canvas or video element.
2010-07-13 Aaron Boodman <aa@chromium.org>
Reviewed by Timothy Hatcher.
Don't reset per-document user style caches when user styles are updated in
Chromium.
https://bugs.webkit.org/show_bug.cgi?id=42003
* page/PageGroup.cpp:
(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):
(WebCore::PageGroup::resetUserStyleCacheInAllFrames):
* page/PageGroup.h:
2010-07-13 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
On Leopard, media element can't handle audio/mp4 MIME type in source tag
https://bugs.webkit.org/show_bug.cgi?id=29326
Test: media/media-can-play-mpeg-audio.html
* platform/MIMETypeRegistry.cpp:
(WebCore::TypeExtensionPair::): Add "audio/mp4", "m4a" to mappings table.
2010-07-13 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Fisher.
Implement performance.timing.fetchStart
https://bugs.webkit.org/show_bug.cgi?id=41816
See: http://dev.w3.org/2006/webapi/WebTiming/#nt-fetch-start
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest): Record the fetchStart time for each request for the main resource. This means it is called for each server redirect, overwritting the previous value. In https://bugs.webkit.org/show_bug.cgi?id=42018, this will be modified such that if a previous value exists, it is stored as the redirect time.
* loader/FrameLoaderTypes.h:
(WebCore::FrameLoadTimeline::FrameLoadTimeline):
* page/Timing.cpp:
(WebCore::Timing::fetchStart):
* page/Timing.h:
* page/Timing.idl:
2010-07-13 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Speech input plumbing in webcore
https://bugs.webkit.org/show_bug.cgi?id=41518
Adds the following:
- a SpeechInput class to be used by the speech enabled HTML elements
- a SpeechInputListener interface to be implemented by the speech enabled HTML elements
- a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit.
This is available as a member of WebCore::Page, set by the platforms which support speech input.
- a SpeechInputClientListener interface for WebCore to receive events from WebKit
No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.
* Android.mk:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h: Added SpeechInputClient member variable and associated methods.
(WebCore::Page::setSpeechInputClient):
(WebCore::Page::speechInputClient):
* page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements.
(WebCore::SpeechInput::SpeechInput):
(WebCore::SpeechInput::recordingComplete):
(WebCore::SpeechInput::setRecognitionResult):
(WebCore::SpeechInput::startRecognition):
* page/SpeechInput.h: Added.
(WebCore::SpeechInput::~SpeechInput):
(WebCore::SpeechInput::client):
* page/SpeechInputListener.h: Added.
(WebCore::SpeechInputListener::~SpeechInputListener):
* page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder.
(WebCore::SpeechInputClient::~SpeechInputClient):
* page/SpeechInputClientListener.h: Added.
(WebCore::SpeechInputClientListener::~SpeechInputClientListener):
2010-07-13 Richard Moore <rich@kde.org>, Robert Hogan <robert@webkit.org>
Reviewed by Simon Hausmann.
[Qt] MIME handling in qtwebkit network layer case-sensitivity
https://bugs.webkit.org/show_bug.cgi?id=28654
Like other platforms, Qt needs to convert MIME types to lower case
so they will be handled by WebCore.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2010-07-13 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
REGRESSION(55056) debug builds ASSERT falsely on pages with animations
https://bugs.webkit.org/show_bug.cgi?id=42175
Revision 55065 added some repaint box precomputation and some debug ASSERT()ions
to ensure the precomputed values were valid. However, if animations are enabled and
not hardware accelerated, the repaint box dimensions become time-dependent and the
ASSERT()s can trigger. This can make it impossible to interactively debug pages
like google maps.
https://bugs.webkit.org/show_bug.cgi?id=37048 is another example of an assertion
failing due to time dependent animation values.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2010-07-13 Zhenyao Mo <zmo@google.com>
Reviewed by Darin Fisher.
Implement bufferData and bufferSubData with ArrayBuffer as input
https://bugs.webkit.org/show_bug.cgi?id=41884
Test: fast/canvas/webgl/buffer-data-array-buffer.html
* html/canvas/WebGLBuffer.cpp: Implement associateBufferData & associateBufferSubData with ArrayBuffer as input.
(WebCore::WebGLBuffer::associateBufferData):
(WebCore::WebGLBuffer::associateBufferSubData):
* html/canvas/WebGLBuffer.h: Ditto.
* html/canvas/WebGLRenderingContext.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input.
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
* html/canvas/WebGLRenderingContext.h: Ditto.
* html/canvas/WebGLRenderingContext.idl: Ditto.
* platform/graphics/GraphicsContext3D.h: Ditto.
* platform/graphics/mac/GraphicsContext3DMac.mm: Ditto.
(WebCore::GraphicsContext3D::bufferData):
(WebCore::GraphicsContext3D::bufferSubData):
2010-07-13 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Fisher.
Implement performance.timing.responseEnd
https://bugs.webkit.org/show_bug.cgi?id=42006
See: http://dev.w3.org/2006/webapi/WebTiming/#nt-response-end
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedLoading):
* loader/FrameLoaderTypes.h:
(WebCore::FrameLoadTimeline::FrameLoadTimeline):
* page/Timing.cpp:
(WebCore::Timing::responseEnd):
* page/Timing.h:
* page/Timing.idl:
2010-07-13 W. James MacLean <wjmaclean@chromium.org>
Reviewed by Darin Fisher
Bug 41962 Limit html canvas element dimensions to 32767 for Skia platform
https://bugs.webkit.org/show_bug.cgi?id=41962
Test: fast/canvas/canvas-skia-excessive-size.html
* WebCore/html/HTMLCanvasElement.cpp
(WebCore::HTMLCanvasElement::convertLogicalToDevice):
2010-07-10 Zhenyao Mo <zmo@google.com>
Reviewed by Darin Fisher.
Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet
https://bugs.webkit.org/show_bug.cgi?id=42032
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::getIntegerv): Emulate the enums.
2010-07-13 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GTK] video playback position query flood when mouse over the video element
https://bugs.webkit.org/show_bug.cgi?id=35333
Don't trigger a position query only to know which play/pause
button to display. Instead use the media-control button display
type to select the image to paint.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMediaPlayButton):
2010-07-13 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63192.
http://trac.webkit.org/changeset/63192
https://bugs.webkit.org/show_bug.cgi?id=42173
Broke fast/backgrounds/size/contain-and-cover.html (Requested
by kling on #webkit).
* manual-tests/css3-background-layer-count.html: Removed.
* rendering/style/FillLayer.cpp:
(WebCore::FillLayer::cullEmptyLayers):
2010-07-13 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Removes cycles caused by "m_this" members in a few IndexedDB classes.
https://bugs.webkit.org/show_bug.cgi?id=42161
Adds IDBAny::create for the various types.
No functionality change, just cleaning up.
* storage/IDBAny.cpp:
(WebCore::createIDBAny):
(WebCore::IDBAny::create):
* storage/IDBAny.h:
* storage/IDBDatabaseRequest.cpp:
(WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
(WebCore::IDBDatabaseRequest::createObjectStore):
(WebCore::IDBDatabaseRequest::removeObjectStore):
* storage/IDBDatabaseRequest.h:
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::IDBKeyRange):
* storage/IDBKeyRange.h:
(WebCore::IDBKeyRange::left):
(WebCore::IDBKeyRange::right):
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
(WebCore::IDBObjectStoreRequest::get):
(WebCore::IDBObjectStoreRequest::add):
(WebCore::IDBObjectStoreRequest::put):
(WebCore::IDBObjectStoreRequest::remove):
(WebCore::IDBObjectStoreRequest::createIndex):
(WebCore::IDBObjectStoreRequest::removeIndex):
* storage/IDBObjectStoreRequest.h:
* storage/IndexedDatabaseRequest.cpp:
(WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
(WebCore::IndexedDatabaseRequest::open):
* storage/IndexedDatabaseRequest.h:
2010-07-13 Antti Koivisto <koivisto@iki.fi>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Land the initial build system for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=41604
The build is enabled by passing --qmakearg="CONFIG+=webkit2" to build-webkit
* WebCore.pri:
* WebCore.pro:
2010-07-13 Leon Clarke <leonclarke@google.com>
Reviewed by Pavel Feldman.
Don't access objects after deleting them, following
the addition of link prefetching. Also remove a forward declaration
of the now-nonexistent CachedLinkPrefetch class.
https://bugs.webkit.org/show_bug.cgi?id=3652
No new tests. Correcting aspects of the prefetch change that shouldn't
have affected functionality.
* html/HTMLLinkElement.h:
* loader/loader.cpp:
(WebCore::Loader::Host::cancelPendingRequests):
2010-07-13 Andras Becsi <abecsi@webkit.org>
Reviewed by Simon Hausmann.
[Qt] Fix the case of a linker option to lowercase to be able to
cross compile QtWebKit for Windows on Linux.
No new tests needed.
* WebCore.pro:
2010-07-12 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: Next iteration of Inspector code generator.
The InspectorFrontend2 was replaced by slightly modified version of
InspectorBackend file (Inspector.idl). At the end all the interface
between WebInspector and inspected page will be specified by this file
and generated by CodeGeneratorInspector (InspectorFrontend.cpp,
InspectorBackend.cpp and InspectorBackend.js).
https://bugs.webkit.org/show_bug.cgi?id=42104
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/rule_binding.py:
* WebCore.gypi:
* WebCore.pri:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/IDLParser.pm:
* bindings/scripts/IDLStructure.pm:
* bindings/scripts/generate-bindings.pl:
* inspector/CodeGeneratorInspector.pm:
* inspector/Inspector.idl: Added.
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::inspectorStyleSheet):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::startTimelineProfiler):
* inspector/InspectorController.h:
(WebCore::InspectorController::remoteInspectorFrontend):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
* inspector/InspectorDOMAgent.h:
(WebCore::InspectorDOMAgent::create):
* inspector/InspectorFrontend2.idl: Removed.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
* inspector/InspectorTimelineAgent.h:
2010-07-12 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
DeviceOrientationEvent should use optional properties
https://bugs.webkit.org/show_bug.cgi?id=41607
This change adds a new DeviceOrientation class which takes care of which of the
optional properties are present. DeviceOrientationEvent owns an instance of
DeviceOrientation, rather than owning the properties directly.
DeviceOrientationEvent now requires custom bindings.
Test: fast/dom/DeviceOrientation/optional-event-properties.html
* Android.mk:
* Android.jscbindings.mk:
* Android.v8bindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDeviceOrientationEventCustom.cpp: Added.
(WebCore::JSDeviceOrientationEvent::alpha):
(WebCore::JSDeviceOrientationEvent::beta):
(WebCore::JSDeviceOrientationEvent::gamma):
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
* bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: Added.
(WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
* dom/DeviceOrientation.cpp: Added.
* dom/DeviceOrientation.h: Added.
(WebCore::DeviceOrientation::create):
(WebCore::DeviceOrientation::canProvideAlpha):
(WebCore::DeviceOrientation::alpha):
(WebCore::DeviceOrientation::canProvideBeta):
(WebCore::DeviceOrientation::beta):
(WebCore::DeviceOrientation::canProvideGamma):
(WebCore::DeviceOrientation::gamma):
(WebCore::DeviceOrientation::DeviceOrientation):
* dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
(WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
* dom/DeviceOrientationEvent.h:
(WebCore::DeviceOrientationEvent::create):
(WebCore::DeviceOrientationEvent::orientation):
* dom/DeviceOrientationEvent.idl:
2010-07-13 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antti Koivisto.
CSS3 background: Number of layers should be determined by background-image element count
https://bugs.webkit.org/show_bug.cgi?id=41201
Change FillLayer culling logic to discard all layers
after the first one without an image set.
Manual test: css3-background-layer-count.html
* manual-tests/css3-background-layer-count.html: Added.
* rendering/style/FillLayer.cpp:
(WebCore::FillLayer::cullEmptyLayers):
2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Darin Adler.
Prevent assertion/duplicate loads for non-deferred subtitute-data loads
https://bugs.webkit.org/show_bug.cgi?id=30879
MainResourceLoader uses the member m_initialRequest to store requests for future
deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
have to clear this request so that subsequent entries into the loader will not
start yet another load.
This can happen as a result of a PageGroupLoadDeferrer going out of scope when
returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
but only in the case of using both substitute-data and non-deferred main resource
load together. That's why two new DRT functions were added:
* queueLoadHTMLString()
* setDeferMainResourceLoad()
The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
Test: fast/loader/non-deferred-substitute-load.html
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::handleDataLoadNow):
2010-07-13 Yoshiki Hayashi <yhayashi@google.com>
Reviewed by Kent Tamura.
Make sure correct Nodes are passed to childrenChanged so that
:last-child gets properly applied when fragment is inserted.
https://bugs.webkit.org/show_bug.cgi?id=37944
Test: fast/css/last-child-innerhtml.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
2010-07-13 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
InsertListCommand's modifyRange and doApply should be merged
https://bugs.webkit.org/show_bug.cgi?id=41403
Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph.
Merged the code in modifyRange into doApply and cleaned up.
No test is added since this is a clean up.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::InsertListCommand): m_forceCreateList is no longer initialized
(WebCore::InsertListCommand::doApply): Isolated the code to insert/remove lists in doApplyForSingleParagraph
(WebCore::InsertListCommand::doApplyForSingleParagraph): Insert/remove lists for single paragraph
* editing/InsertListCommand.h: Added doApplyForSingleParagraph and removed m_forceCreateList
2010-07-12 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix typo in "close the cell" which caused assertion
https://bugs.webkit.org/show_bug.cgi?id=42138
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::closeTheCell):
2010-07-12 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix line number handling in HTMLTreeBuilder to fix a zillion layout tests
https://bugs.webkit.org/show_bug.cgi?id=42143
Covered by a zillion layout tests.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
2010-07-12 Jay Civelli <jcivelli@chromium.org>
Reviewed by Kent Tamura.
Adding right aligned text called labels to PopupMenus.
https://bugs.webkit.org/show_bug.cgi?id=41964
* platform/PopupMenuClient.h:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::paintRow):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemLabel):
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::itemLabel):
* rendering/RenderTextControlSingleLine.h:
2010-07-12 Mihnea Ovidenea <mihnea@adobe.com>
Reviewed by Dirk Schulze.
[Cairo] Incorrect Test for Text Fill
https://bugs.webkit.org/show_bug.cgi?id=42123
Correct test used for text shadow. It currently checks for
equality with cTextFill. However, this test fails if the
text drawing mode is set to 'cTextFill | cTextStroke'. Fix
is to modify the test to be like other Cairo uses of the
text drawing mode, and check for the cTextFill bit being
set, not for equality with the bit.
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
2010-07-12 Eric Seidel <eric@webkit.org>
Reviewed by Sam Weinig.
Fix a typo in the adoption agency causing test failures
https://bugs.webkit.org/show_bug.cgi?id=42133
The new behavior actually differs from old webkit.
<p><b><p>TEST
was not bold in the old parser, but is bold now.
This matches Minefield and the HTML5 spec.
Covered by two tests in html5lib/runner.html.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-12 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: provide starts and ends for network phases instead of duration.
https://bugs.webkit.org/show_bug.cgi?id=42091
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateResponse):
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::buildObjectForTiming):
* platform/network/ResourceLoadTiming.h:
(WebCore::ResourceLoadTiming::deepCopy):
(WebCore::ResourceLoadTiming::operator==):
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::wasCached):
(WebCore::ResourceResponseBase::setWasCached):
* platform/network/ResourceResponseBase.h:
2010-07-12 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 Parser: document.write after onload blows away document
https://bugs.webkit.org/show_bug.cgi?id=40745
Rather than blowing away the document when we get a document.write call
after the document is closed, we new ignore the write. This
technically violates the spec (which requires us to blow away the
document), but blowing away the document breaks too many web sites.
Rather than this patch, we could go back to our old behavior (which was
to append the bytes just before EOF), but implementing this approach
(suggested by Henri) will let us gather data about whether his approach
is workable.
See also: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9767
* dom/Document.cpp:
(WebCore::Document::write):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::insert):
2010-07-12 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Oliver Hunt.
Strip BOMs from source before passing to V8
https://bugs.webkit.org/show_bug.cgi?id=42102
This extra copy may carry a performance penalty. We should investigate
whether this allows any simplification in v8/scanner.cc:SkipJavaScriptWhiteSpace().
No new tests because no new functionality.
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
2010-07-12 Gustavo Noronha Silva <gns@gnome.org>
Unreviewed. make distcheck fix.
* GNUmakefile.am:
2010-07-12 Yuta Kitamura <yutak@chromium.org>
Reviewed by Alexey Proskuryakov.
Fix crash caused by unintentional deletion of worker bridge and channel.
WebSocket: Crash caused by calling close() within onmessage handler
https://bugs.webkit.org/show_bug.cgi?id=41507
Test: websocket/tests/workers/close-in-onmessage-crash.html
* websockets/WebSocket.cpp:
(WebCore::WebSocket::close): bufferedAmount() may call WebSocket::didClose(),
which causes m_channel to get freed.
* websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Add reference to
the bridge because waitForMethodCompletion() may dereference the bridge.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
The root cause is a call to WorkerRunLoop::runInMode in this function.
It may call WebSocket::didClose() even inside WebSocket::close(), which frees
everything including the worker bridge and the channel.
2010-07-12 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
REGRESSION (HTML5 parser?): Impossible to get past the CAPTCHA on postcode.royalmail.com
https://bugs.webkit.org/show_bug.cgi?id=41797
Once we resume parsing after script execution, we want to clear the
preload scanner so we don't scan any bytes it might have accumulated.
Test: http/tests/loading/preload-slow-loading.php
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2010-07-12 Albert J. Wong <ajwong@chromium.org>
Reviewed by Jian Li.
Adding directional property enums back into
CSSComputedStyleDeclaration::getPropertyCSSValue().
https://bugs.webkit.org/show_bug.cgi?id=42122
The four directional -webkit- properties -- CSSPropertyWebkitMarginEnd,
CSSPropertyWebkitMarginStart, CSSPropertyWebkitPaddingEnd, and
CSSPropertyWebkitPaddingStart -- are resolved into other css
properties before the swtich statement via a call to
CSSProperty::resolveDirectionAwareProperty(). Thus, they are never
seen by the switch statement. However, if you leave out a potential
enum value from the switch, gcc will generate a warning if -Wall is
specified. This warning breaks the Chromium build. To avoid this,
we add in the enum values and ASSERT_NOT_REACHED() if they are hit.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2010-07-12 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX converts AtomicStrings to .string() more than needed
https://bugs.webkit.org/show_bug.cgi?id=42056
No behavior change. No new tests.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isPressed):
(WebCore::siblingWithAriaRole):
(WebCore::AccessibilityRenderObject::intValue):
(WebCore::AccessibilityRenderObject::accessibilityDescription):
(WebCore::AccessibilityRenderObject::hasTextAlternative):
(WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
(WebCore::AccessibilityRenderObject::supportsARIADropping):
(WebCore::AccessibilityRenderObject::supportsARIADragging):
(WebCore::AccessibilityRenderObject::determineARIADropEffects):
(WebCore::AccessibilityRenderObject::isExpanded):
(WebCore::AccessibilityRenderObject::isRequired):
(WebCore::AccessibilityRenderObject::isSelected):
(WebCore::AccessibilityRenderObject::supportsARIAOwns):
(WebCore::AccessibilityRenderObject::isEnabled):
(WebCore::AccessibilityRenderObject::activeDescendant):
(WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
(WebCore::AccessibilityRenderObject::orientation):
(WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
(WebCore::AccessibilityRenderObject::canSetValueAttribute):
2010-07-12 Tony Chang <tony@chromium.org>
Reviewed by David Hyatt.
crash in FrameView::detachCustomScrollbars
https://bugs.webkit.org/show_bug.cgi?id=41196
Test: scrollbars/hidden-iframe-scrollbar-crash.html
* page/FrameView.cpp:
(WebCore::FrameView::detachCustomScrollbars):
2010-07-12 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML tags should break out of foreign content
https://bugs.webkit.org/show_bug.cgi?id=42106
Implement another paragraph of the spec to pass another
bunch of foreign content tests.
This fixes a bunch of tests in html5lib/runner.html.
After this change we only have 4 remaining foreign content failures.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-12 Zhenyao Mo <zmo@google.com>
Reviewed by Darin Fisher.
Bring bufferData and clear to GLES2 compliant
https://bugs.webkit.org/show_bug.cgi?id=41574
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataUsage().
(WebCore::WebGLRenderingContext::clear): Check mask.
(WebCore::WebGLRenderingContext::validateBufferDataUsage): Check usage.
* html/canvas/WebGLRenderingContext.h: Declare validateBufferDataUsage.
2010-07-12 Eric Seidel <eric@webkit.org>
Unreviewed. Attempt to fix Chromium Windows build.
Always generate SVGNames and MathMLNames for all ports (to support HTML5)
https://bugs.webkit.org/show_bug.cgi?id=42050
Another way to fix this might be to mark all the .in files with
svn:eol=native. But fixing the perl to be more robust against
stray whitespace seems to be a better long-term fix.
No functional change, thus no tests.
* bindings/scripts/InFilesParser.pm:
2010-07-12 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Remove dependency on PlatformString.h in Color.h
https://bugs.webkit.org/show_bug.cgi?id=42109
* platform/graphics/Color.cpp:
* platform/graphics/Color.h:
2010-07-12 Eric Seidel <eric@webkit.org>
Unreviewed, build fix.
Update HTMLTreeBuilder now that MathMLNames is always generated
https://bugs.webkit.org/show_bug.cgi?id=42059
Fix the Windows project file to build MathMLNames.*.
Also added MathMLElementFactory.* which is a NOOP now, but will
prevent folks from breaking the build when they turn MathML on.
* WebCore.vcproj/WebCore.vcproj:
2010-07-12 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
Update media element's handling of empty 'src' attribute
https://bugs.webkit.org/show_bug.cgi?id=42001
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::src): Return getNonEmptyURLAttribute().
(WebCore::HTMLMediaElement::selectMediaResource): Call noneSupported() for empty 'src'.
(WebCore::HTMLMediaElement::selectNextSourceChild): Use getNonEmptyURLAttribute() to convert
'src' to URL instead of document()->completeURL(). Don't consider a <source> with an empty 'src'.
* html/HTMLMediaElement.idl: Add 'NonEmpty' option to 'src' attribute.
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::src): Return getNonEmptyURLAttribute().
(WebCore::HTMLSourceElement::isURLAttribute): New, 'src' is a URL attribute.
* html/HTMLSourceElement.h:
* html/HTMLSourceElement.idl: Add 'NonEmpty' option to 'src' attribute.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseMappedAttribute): Use getNonEmptyURLAttribute() to convert
'poster' to URL instead of document()->completeURL().
* html/HTMLVideoElement.idl: Add 'NonEmpty' option to 'poster' attribute.
2010-07-12 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] make dist is broken because of missing headers and other miscellaneous reasons
https://bugs.webkit.org/show_bug.cgi?id=42107
* GNUmakefile.am: Remove InspectorFrontend2.idl from the list of IDL files, so
that it is not built into libWebCoreJS. Add missing header to the source list.
Make sure to distribute the new file: WebCore/inspector/CodeGeneratorInspector.pm.
2010-07-12 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTreeBuilder needs to support mixing SVG and MathML content
https://bugs.webkit.org/show_bug.cgi?id=42096
This is just a direct transcription of another paragraph of the
HTML5 spec.
This improved a couple results in html5lib/runner.html, but more
work to do yet to pass all the foreign content tests.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processUsingSecondaryInsertionModeAndAdjustInsertionMode):
* html/HTMLTreeBuilder.h:
* mathml/mathtags.in:
2010-07-12 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Update HTMLTreeBuilder now that MathMLNames is always generated
https://bugs.webkit.org/show_bug.cgi?id=42059
Fix the HTMLTreeBuilder MathML code path to compile and remove
the MathML and SVG guards now that SVGNames and MathMLNames are
always compiled into ever port after:
https://bugs.webkit.org/show_bug.cgi?id=42050
This fixed a whole bunch of libhtml5 tests now that we have the
mathml code paths enabled.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTag):
* page/Frame.cpp:
(WebCore::Frame::Frame):
- Always init SVGNames and MathML names.
2010-07-12 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Don't go into compositing mode for 0x0 plugins
https://bugs.webkit.org/show_bug.cgi?id=34009
Don't use compositing for small (0-height or width, or 1x1) plugins, or iframes whose
height or width is zero.
Previously we made all compositing decisions inside styleChanged(). However,
now that plugin and iframe compositing behavior depends on renderer size, we have
to wait until layout before deciding whether to composite these. This behavior
change is controlled by the m_compositingDependsOnGeometry flag. When set,
updateCompositingLayers() always does a hierarchy update.
Tests: compositing/iframes/iframe-size-from-zero.html
compositing/iframes/iframe-size-to-zero.html
compositing/plugins/1x1-composited-plugin.html
compositing/plugins/large-to-small-composited-plugin.html
compositing/plugins/small-to-large-composited-plugin.html
* page/FrameView.cpp:
(WebCore::FrameView::updateCompositingLayers): No longer bail if usesCompositing() is false; we
have to always enter updateCompositingLayers().
(WebCore::FrameView::repaintFixedElementsAfterScrolling): Ditto
(WebCore::FrameView::enterCompositingMode): Remove bogus return of a void.
* rendering/RenderLayerCompositor.h: Add m_compositingDependsOnGeometry.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor): Initialize m_compositingDependsOnGeometry to false.
(WebCore::RenderLayerCompositor::updateCompositingLayers): If m_compositingDependsOnGeometry is true,
we always need to run through the layer hierarchy looking for things which need to be composited, even if
we're not (yet) in compositing mode.
(WebCore::RenderLayerCompositor::computeCompositingRequirements): Because we can enter compositing mode
on the fly inside updateCompositingLayers() now, the state of willBeComposited needs to be updated
when processing the root layer, for the case where the compositing mode changes.
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Set the m_compositingDependsOnGeometry
flag if we see a potentially-composited plugin. Once we have layout information, only composite the plugin
if height * width > 1.
(WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Set the m_compositingDependsOnGeometry
flag if we see a potentially-composited iframe. Once we have layout information, only composite the plugin
if height or width is greater than zero.
2010-07-12 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Need to do a layout when RenderLayers come and go because of compositing
https://bugs.webkit.org/show_bug.cgi?id=42108
If we create or destroy RenderLayers for reasons other than style changes
(e.g. because of composited iframes or plugins), then we need to ensure
that we do a layout.
Test: compositing/iframes/layout-on-compositing-change.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::adjustStyleDifference):
2010-07-11 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
Always generate SVGNames and MathMLNames for all ports (to support HTML5)
https://bugs.webkit.org/show_bug.cgi?id=42050
Historically, FOONames has only been generate when ENABLE(FOO) is defined.
However, for HTML5 parser support, we need to have access to the SVG
and MathML tag names regardless of whether we the engine is configured
to render SVG or MathML content.
This change enables generation of SVGNames and MathMLNames on all ports and
makes it so that ports can include FOOElementFactory.* regardless of whether
ENABLE(FOO) is defined (and have it do the right thing).
No functional change (yet) so no tests.
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.pri:
* dom/make_names.pl:
2010-07-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
make_names.pl should always generate all names in Names.* files
https://bugs.webkit.org/show_bug.cgi?id=42023
Only the *ElementFactory files need to have conditional contents
based on enabled features. WebCore should always have all known
names for SVG, MathML, XML, XLink, HTML, etc. generated in the
various *Names files, even if features are disabled.
make_names.pl is kinda a big hack at this point. I tried to clean
up a little as I went. The way I made *Names include all names was to
read the .in files twice, once using the preprocessor and once without.
* dom/make_names.pl:
2010-07-12 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Oliver Hunt.
Canvas: Move fillRect() save/restore into GraphicsContext implementations
https://bugs.webkit.org/show_bug.cgi?id=42088
Saving the platform painter state is an expensive operation,
so don't do it in fillRect() for platforms that don't need it. (CG, Qt)
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fillRect):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::fillRect):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::fillRect):
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::fillRect):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::fillRect):
2010-07-12 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
Ensure that a cache policy that forces validation is cleared once
the load event is fired, rather than only doing so at the next
navigation. This leads to a lot of unnecessary load on AJAX-y
websites.
https://bugs.webkit.org/show_bug.cgi?id=41813
Test: http/tests/xmlhttprequest/cache-headers-after-reload.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handledOnloadEvents): Reset m_loadType to FrameLoadTypeStandard.
(WebCore::FrameLoader::addExtraFieldsToRequest): Only respect the original request's cache policy if the
DocumentLoader is still loading, and handle the other cache policy settings that were scattered around the loader.
(WebCore::FrameLoader::loadResourceSynchronously): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create): Merge cachePolicy setting into FrameLoader::addExtraFieldsToRequest.
2010-07-12 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Oliver Hunt.
CSS color parsing optimizations
https://bugs.webkit.org/show_bug.cgi?id=42073
- Avoid instantiating a CSSParser in parseColor() unless necessary.
- Fixed hex color fast-path to support strings starting with '#'.
- Avoid allocating a new string for the value part of a '#' color.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor):
* platform/graphics/Color.cpp:
(WebCore::Color::parseHexColor):
(WebCore::Color::Color):
* platform/graphics/Color.h:
2010-07-09 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=13075
XMLHttpRequest with failed authentication should set status to 401
https://bugs.webkit.org/show_bug.cgi?id=6871
<rdar://problem/3363403> 401 error page is never shown
* platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::receivedCredential):
Added a comment explaining why we handle empty credentials differently here.
* platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::receivedCredential):
Bring this code in sync with Mac.
2010-07-12 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Roben.
Add a PluginController class, use it for invalidation and getting the user agent
https://bugs.webkit.org/show_bug.cgi?id=42084
* WebCore.exp.in:
Export Widget::convertToContainingWindow.
2010-07-12 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Dragging within webkit with a drag created via Javascript ends up misinterpreting the data
https://bugs.webkit.org/show_bug.cgi?id=41457
Treat non-special-cased mime-types as Unicode strings in ClipboardQt's getData()
Fixes corruption when retrieving data that was set with anything other than text/plain
Also use QMimeData::setHtml() when applicable to be consistent with PasteboardQt.
* platform/qt/ClipboardQt.cpp:
(WebCore::isHtmlMimeType):
(WebCore::ClipboardQt::getData):
(WebCore::ClipboardQt::setData):
2010-07-12 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
add ANDROID to STORE_FONT_CUSTOM_PLATFORM_DATA
https://bugs.webkit.org/show_bug.cgi?id=32273
Tested by existing tests, just adding ANDROID to the list of platforms that use this feature.
* loader/CachedFont.cpp:
2010-07-12 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed.
[EFL] Move ScriptConcotrollerEfl.cpp from CMakeLists.txt to
CMakeListsEfl.txt.
* CMakeLists.txt:
* CMakeListsEfl.txt:
2010-07-12 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed build fix after r60050.
* CMakeLists.txt: Add WebCore/bindings to the include path.
2010-07-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] Crashes when going back with page cache in unknown circunstances
https://bugs.webkit.org/show_bug.cgi?id=41710
Could not yet find a way to reproduce this in a layout test. The
issue is document being NULL, so this NULL-check should be enough
to get rid of the crash. We are working on trying to find a better
solution for these null cases, like attaching the document earlier
when openning a cached page.
* page/EventHandler.cpp:
(WebCore::EventHandler::sendScrollEvent):
2010-07-12 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
[Chromium] Crash when stepping on a breakpoint while debugging Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=41958
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
* page/PageGroupLoadDeferrer.h:
2010-07-12 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Make the mathsize MathML attribute handle values in em, px, pt,...
https://bugs.webkit.org/show_bug.cgi?id=42067
Test: mathml/presentation/attributes.xhtml
* css/mathml.css:
(math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
(math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
(math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::parseMappedAttribute):
2010-07-12 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Fix compilation with sealed GTK+.
* platform/gtk/GtkVersioning.h:
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::fillDataObjectFromDropData):
2010-07-12 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Fix a bug preventing msqrt and mfrac to use style color to draw themselves.
In mfrac, the fraction bar is now using the color defined by the element style instead of black.
In msqrt, the radical was always drawn in black due to a colorSpace problem.
https://bugs.webkit.org/show_bug.cgi?id=41889
Test: mathml/presentation/roots.xhtml
Test: mathml/presentation/fractions.xhtml
* mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::paint):
* mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::paint):
2010-07-12 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antti Koivisto.
Canvas: arc() with startAngle == endAngle shouldn't add to the path
https://bugs.webkit.org/show_bug.cgi?id=41420
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-stroke
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::arc):
2010-07-12 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Ojan Vafai.
Update padding on Windows?
https://bugs.webkit.org/show_bug.cgi?id=38016
Remove internal padding and add 1px vertical padding for Windows.
* css/themeWin.css:
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::setupInnerStyle):
* rendering/RenderTheme.h:
* rendering/RenderThemeWin.cpp:
* rendering/RenderThemeWin.h:
* rendering/RenderThemeWince.cpp:
* rendering/RenderThemeWince.h:
2010-07-12 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Chromium tests fix.
[Chromium, V8] r63057 regressed url tests.
https://bugs.webkit.org/show_bug.cgi?id=42063
* bindings/scripts/CodeGeneratorV8.pm:
2010-07-12 Steve Block <steveblock@google.com>
Reviewed by Alexey Proskuryakov.
XPath substring function does not correctly handle non-positive values for the position argument
https://bugs.webkit.org/show_bug.cgi?id=41913
This patch changes the behavior of the XPath evaluate function when a non-positive
position argument is supplied and no length argument is supplied. In this case,
we reset the position to 1. This follows the spec and matches the current behaviour
when a length argument is supplied.
Test: fast/xpath/substring-non-positive-postion.html
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunSubstring::evaluate):
2010-06-27 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Dumitru Daniliuc.
Implement IDBObjectStore.get/set/remove
https://bugs.webkit.org/show_bug.cgi?id=41250
Implement these functions in IDBObjectStore,
add plumbing, teach IDBAny/Callbacks how to deal
with IDBKey, and a few small bits of cleanup.
Test: Modified existing test to provide basic coverage.
Will add much more extensive layout test coverage
in future patches.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.jscbindings.mk:
* Android.mk:
* Android.v8bindings.mk:
* CMakeLists.txt:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbKey):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBAny.idl:
* storage/IDBCallbacks.h:
* storage/IDBDatabaseRequest.h:
* storage/IDBDatabaseRequest.idl:
* storage/IDBKeyRange.h:
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::):
* storage/IDBObjectStoreImpl.cpp:
(WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
(WebCore::IDBObjectStoreImpl::get):
(WebCore::IDBObjectStoreImpl::set):
(WebCore::IDBObjectStoreImpl::remove):
* storage/IDBObjectStoreImpl.h:
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::get):
(WebCore::IDBObjectStoreRequest::add):
(WebCore::IDBObjectStoreRequest::modify):
(WebCore::IDBObjectStoreRequest::addOrModify):
(WebCore::IDBObjectStoreRequest::remove):
* storage/IDBObjectStoreRequest.h:
* storage/IDBObjectStoreRequest.idl:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
2010-07-11 Maciej Stachowiak <mjs@apple.com>
Reviewed by Dan Bernstein.
Implement animation-related methods for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=42053
* WebCore.exp.in: Export Document::getElementById for WebKit2's benefit.
2010-07-11 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel
Add a complete list of the HTML5 entities in JSON format.
* html/HTMLEntityNames.json: Added.
2010-07-11 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] WebKitWebView should support drops
https://bugs.webkit.org/show_bug.cgi?id=39843
Add support for dropping content onto GTK+ WebViews.
No new tests, as the DRT does not support simulating drops yet.
* platform/gtk/ClipboardUtilitiesGtk.cpp:
(WebCore::dragOperationToGdkDragAction): Added.
(WebCore::gdkDragActionToDragOperation): Properly detect DragOperationEvery.
* platform/gtk/ClipboardUtilitiesGtk.h: Add declaration for dragOperationToGdkDragAction.
* platform/gtk/PasteboardHelper.cpp:
Add new target atom and rename the markup target type to match the others.
Add a method which fills a data object from drop data.
(WebCore::PasteboardHelper::initializeTargetList): Add support for new atoms.
(WebCore::selectionDataToUTF8String): Added this helper.
(WebCore::PasteboardHelper::getClipboardContents): Use the selectionDataToUTF8String helper.
(WebCore::PasteboardHelper::targetListForDataObject): Change to reflect markup atom rename.
(WebCore::PasteboardHelper::fillDataObjectFromDropData): Added.
(WebCore::PasteboardHelper::dropAtoms): Added.
* platform/gtk/PasteboardHelper.h: Add declarations of new methods.
2010-07-10 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
Enhance content attribute reflection for URL attributes, including adding a non-empty option
https://bugs.webkit.org/show_bug.cgi?id=42040
Test: fast/dom/URL-attribute-reflection.html
Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
a new option, NonEmpty, which implements the non-empty URL concept from the
HTML5 specification.
* bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL
extended attributes to come in separately. The URL one simply means "the string
of this attribute is a URL", since we don't have a distinct type for URL. Also
added a new NonEmpty extended attribute.
* bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases
and the fix I made to the reflectedCustomURLAttr test.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8
bindig writes out the keywords into the generated file as comments, so the keyword
change had a direct efffect on the output file.
* bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use
the new syntax. Added test cases for NonEmpty. Fixed the name of
reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr
instead; never noticed because we never compile the test output.
* dom/Element.cpp:
(WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also
by any code that wants to implement the non-empty URL content attribute semantic.
* dom/Element.h: Ditto.
* html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
* html/HTMLAreaElement.idl: Ditto.
* html/HTMLFrameElement.idl: Ditto.
* html/HTMLImageElement.idl: Ditto.
* html/HTMLInputElement.idl: Ditto.
* html/HTMLLinkElement.idl: Ditto.
* html/HTMLMediaElement.idl: Ditto.
* html/HTMLObjectElement.idl: Ditto.
* html/HTMLScriptElement.idl: Ditto.
* html/HTMLVideoElement.idl: Ditto.
2010-07-10 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Adler.
Add missing derrived sources to Xcode project
https://bugs.webkit.org/show_bug.cgi?id=42034
This allows --web-timing to work with build-webkit on OSX with JSC.
This should have been done in bug 41442.
No new tests because no new functionality.
* WebCore.xcodeproj/project.pbxproj:
2010-07-10 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Don't initialize plug-ins until allowed by the page
https://bugs.webkit.org/show_bug.cgi?id=42033
* WebCore.exp.in:
Export Document::addMediaCanStartListener and Document::removeMediaCanStartListener.
2010-07-10 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=42021
isEqualNode should work for DocumentType nodes
Test: fast/dom/Node/isEqualNode.html
* dom/Node.cpp:
(WebCore::Node::isEqualNode): Add DocumentType logic from the DOM3 spec.
2010-07-10 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
https://bugs.webkit.org/show_bug.cgi?id=39339
Moved the enum ReasonForCallingCanExecuteScripts, which was
defined in both the JSC and V8 ScriptController.h file, into
a shared file called ScriptControllerBase.h.
No functionality was changed, so no new tests.
* GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/ScriptControllerBase.h: Added.
(WebCore::):
* bindings/js/ScriptController.h: #include ScriptControllerBase.h
* bindings/v8/ScriptController.h: Ditto.
2010-07-10 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8153214> Continuation outlines in layers do not paint correctly
Test: fast/inline/continuation-outlines-with-layers-2.html
Continuation outlines are normally painted by the containing block. However, when the
block and the inline are not enclosed by the same self-painting layer, the inline has to
paint its own outlines. This was handled correctly only for the case where the inline had
its own self-painting layer, but not when an ancestor inline had the self-painting layer.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test
whether any intermediate box between the inline and the containing block has a self-painting
layer.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject): Ditto.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::enclosingBoxModelObject): Added this utility method.
* rendering/RenderObject.h:
2010-07-10 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Build fix: syntax and typo issues
https://bugs.webkit.org/show_bug.cgi?id=41859
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTreeBuilder needs adjustForeignAttributes support
https://bugs.webkit.org/show_bug.cgi?id=42022
To add adjust foreign attributes support I had to add an
AtomicString (prefixed name) to QualifiedName hash. Once I had
done that, I decided it would be best for the other "adjust" functions
to share the same hash logic, so I moved them to using the same
AtomicString -> QualifiedName hash as well.
Tested by html5lib/runner.html
* dom/Attribute.h:
(WebCore::Attribute::parserSetName):
* html/HTMLTreeBuilder.cpp:
2010-07-10 Rob Buis <rwlbuis@gmail.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=41978
Remove namespace prefixes from idl files
No new tests, idl syntax fixes.
* css/CSSImportRule.idl:
* css/CSSMediaRule.idl:
* css/CSSStyleSheet.idl:
* css/CSSVariablesRule.idl:
* svg/SVGAnimatedString.idl:
* svg/SVGColor.idl:
* svg/SVGDocument.idl:
* svg/SVGLangSpace.idl:
* svg/SVGSVGElement.idl:
* svg/SVGStringList.idl:
* svg/SVGStylable.idl:
* svg/SVGStyleElement.idl:
* svg/SVGTests.idl:
* svg/SVGZoomEvent.idl:
* xml/XPathEvaluator.idl:
2010-07-10 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, GTK build fix.
* bindings/gobject/GObjectEventListener.h:
2010-07-10 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Darin Adler.
Remove unnecessary includes in header files in WebCore/dom.
https://bugs.webkit.org/show_bug.cgi?id=41941
* css/StyleMedia.h:
* dom/BeforeLoadEvent.h:
* dom/CustomEvent.h:
* dom/DOMStringMap.h:
* dom/DeviceOrientationEvent.h:
* dom/EventListener.h:
* dom/MessagePort.h:
* dom/Node.cpp:
* dom/NodeFilter.h:
* dom/NodeRareData.h:
* dom/RegisteredEventListener.h:
* dom/SelectorNodeList.cpp:
* dom/SelectorNodeList.h:
* dom/StyleElement.h:
* dom/Traversal.h:
2010-07-09 Tony Chang <tony@chromium.org>
Reviewed by Ojan Vafai.
crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting pre
https://bugs.webkit.org/show_bug.cgi?id=38231
Test: editing/execCommand/indent-pre.html
* editing/IndentOutdentCommand.cpp:
(WebCore::countParagraphs):
(WebCore::IndentOutdentCommand::indentRegion): Split text nodes into one node per paragraph
so moveParagraph doesn't get confused.
(WebCore::IndentOutdentCommand::splitTextNodes):
* editing/IndentOutdentCommand.h:
2010-07-09 Erik Arvidsson <arv@chromium.org>
Reviewed by Darin Adler.
Computed style is not implemented for padding-start, padding-end, margin-start, margin-end
https://bugs.webkit.org/show_bug.cgi?id=41496
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::resolveDirectionAwareProperty): This function resolves the property ID for a direction aware property.
* css/CSSProperty.h:
* css/CSSStyleSelector.cpp: Use helper function.
(WebCore::CSSStyleSelector::applyProperty):
2010-07-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 tree builder should pass some LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=41991
Before this patch, we weren't attaching text nodes to the render tree,
which turns out to be important. :)
This patch fixes more than 10,000 LayoutTests.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
(WebCore::HTMLConstructionSite::attachAtSite):
2010-07-09 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
[WINCE] Buildfix for TextEncodingRegistry
https://bugs.webkit.org/show_bug.cgi?id=41992
Renamed TextCodecWince to TextCodecWinCE.
* platform/text/TextEncodingRegistry.cpp:
(WebCore::buildBaseTextCodecMaps):
(WebCore::extendTextCodecMaps):
2010-07-09 Leon Clarke <leonclarke@google.com>
Reviewed by Adam Barth.
add support for link prefetching
https://bugs.webkit.org/show_bug.cgi?id=3652
Test: fast/dom/HTMLLinkElement/prefetch.html
* Configurations/FeatureDefines.xcconfig:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::tokenizeRelAttribute):
(WebCore::HTMLLinkElement::process):
* html/HTMLLinkElement.h:
(WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
* loader/Cache.cpp:
(WebCore::createResource):
* loader/CachedResource.cpp:
(WebCore::CachedResource::data):
(WebCore::CachedResource::didAddClient):
* loader/CachedResource.h:
(WebCore::CachedResource::):
(WebCore::CachedResource::error):
(WebCore::CachedResource::isPrefetch):
(WebCore::CachedResource::schedule):
* loader/CachedScript.cpp:
* loader/CachedScript.h:
* loader/DocLoader.cpp:
(WebCore::DocLoader::requestLinkPrefetch):
(WebCore::DocLoader::canRequest):
(WebCore::DocLoader::incrementRequestCount):
(WebCore::DocLoader::decrementRequestCount):
* loader/DocLoader.h:
* loader/loader.cpp:
(WebCore::cachedResourceTypeToTargetType):
(WebCore::Loader::determinePriority):
(WebCore::Loader::load):
(WebCore::Loader::Host::servePendingRequests):
(WebCore::Loader::Host::didFinishLoading):
(WebCore::Loader::Host::didFail):
(WebCore::Loader::Host::didReceiveResponse):
(WebCore::Loader::Host::cancelPendingRequests):
* loader/loader.h:
(WebCore::Loader::):
* platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::):
2010-07-09 James Robinson <jamesr@chromium.org>
Unreviewed build fix. Add #include to pick up ExceptionCode values for config (like Qt) where it's not picked up indirectly.
* html/HTMLCanvasElement.cpp:
2010-07-09 James Robinson <jamesr@chromium.org>
Reviewed by Darin Adler.
Removes CanvasSurface and moves all of its functionality to HTMLCanvasElement.
https://bugs.webkit.org/show_bug.cgi?id=42005
http://trac.webkit.org/changeset/55201 introduced a new base class for HTMLCanvasElement called CanvasSurface.
The intention was that this would allow for code sharing with the then-proposed OffscreenCanvas. However,
there is no OffscreenCanvas and there's unlikely to be one soon. Additionally CanvasSurface breaks
encapsulation pretty badly by doing "static_cast<HTMLCanvasElement* const>(this)". Until an abstraction is
really needed we should just use HTMLCanvasElement when we want to talk about a canvas.
This patch moves all of CanvasSurface's functionality back up to HTMLCanvasElement and reorders the header
to be a bit more logical.
Refactor with no behavior change, thus no new tests.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/CanvasSurface.cpp: Removed.
* dom/CanvasSurface.h: Removed.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::willDraw):
(WebCore::HTMLCanvasElement::setSurfaceSize):
(WebCore::HTMLCanvasElement::toDataURL):
(WebCore::HTMLCanvasElement::convertLogicalToDevice):
(WebCore::HTMLCanvasElement::securityOrigin):
(WebCore::HTMLCanvasElement::styleSelector):
(WebCore::HTMLCanvasElement::createImageBuffer):
(WebCore::HTMLCanvasElement::drawingContext):
(WebCore::HTMLCanvasElement::buffer):
(WebCore::HTMLCanvasElement::baseTransform):
* html/HTMLCanvasElement.h:
(WebCore::HTMLCanvasElement::setObserver):
(WebCore::HTMLCanvasElement::width):
(WebCore::HTMLCanvasElement::height):
(WebCore::HTMLCanvasElement::size):
(WebCore::HTMLCanvasElement::toDataURL):
(WebCore::HTMLCanvasElement::setOriginTainted):
(WebCore::HTMLCanvasElement::originClean):
(WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
2010-07-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Calling layoutTestController.layerTreeAsText() should update layout
https://bugs.webkit.org/show_bug.cgi?id=41818
Need to call updateLayout() before we check for any layers, not after,
since layout will update compositing, and may create layers.
* page/Frame.cpp:
(WebCore::Frame::layerTreeAsText):
2010-07-09 Kenneth Russell <kbr@google.com>
Reviewed by Nate Chapin.
bufferSubData causes crash in WebGLBuffer::associateBufferSubData
https://bugs.webkit.org/show_bug.cgi?id=42004
Test: fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::associateBufferData):
- Allocate m_elementArrayBuffer for entry point taking only size.
Guard against allocation failures of m_elementArrayBuffer.
(WebCore::WebGLBuffer::associateBufferSubData):
- Guard against any possibility of crashes due to m_elementArrayBuffer being NULL.
2010-07-09 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, but pre-approved by Eric Seidel.
Remove unnecessary includes in header files in WebCore/css.
https://bugs.webkit.org/show_bug.cgi?id=41941
* css/CSSComputedStyleDeclaration.h:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontFaceSource.h:
* css/CSSPrimitiveValueMappings.h:
* css/StyleMedia.h:
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Get rid of manual case maps in HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=42000
No functional change, thus no tests.
* html/HTMLTreeBuilder.cpp:
2010-07-09 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Dimitri Glazkov.
Implement performance.timing.navigationStart
https://bugs.webkit.org/show_bug.cgi?id=41815
See: http://dev.w3.org/2006/webapi/WebTiming/#nt-navigation-start
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadWithDocumentLoader):
* loader/FrameLoaderTypes.h:
(WebCore::FrameLoadTimeline::FrameLoadTimeline):
* page/Timing.cpp:
(WebCore::Timing::navigationStart):
2010-07-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] GraphicsLayerQt must have syncCompositingStateForThisLayerOnly() implemented
https://bugs.webkit.org/show_bug.cgi?id=41954
Add GraphicsLayerQt::syncCompositingStateForThisLayerOnly, a non-recursive
implementation of GraphicsLayerQt::syncCompositingState and which targets
the current layer only.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQt::syncCompositingStateForThisLayerOnly):
* platform/graphics/qt/GraphicsLayerQt.h:
2010-07-09 David Kozub <zub@linux.fjfi.cvut.cz>
Reviewed by Darin Adler.
Fix build by adding missing html/TimeRanges.idl to CMakeLists.txt.
https://bugs.webkit.org/show_bug.cgi?id=41945
No functional changes, thus no tests.
* CMakeLists.txt:
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix SVG tag name casing for HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41998
Tested by html5lib/runner.html
* html/HTMLTreeBuilder.cpp:
(WebCore::):
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Implement SVG attribute case mapping for HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41949
Tested by html5lib/runner.html.
* html/HTMLTreeBuilder.cpp:
2010-07-09 Andy Estes <aestes@apple.com>
Reviewed by Adele Peterson.
Remove the workaround for a Core Animation bug on platforms where the
bug has been fixed.
https://bugs.webkit.org/show_bug.cgi?id=41927
<rdar://problem/7920153>
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Add
a compile-time check for platforms that have a Core Animation bug that
needs working around.
2010-07-08 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Nate Chapin.
Implement unloadEventEnd, loadEventStart, and loadEventEnd for Web Timing
https://bugs.webkit.org/show_bug.cgi?id=41332
Test: fast/dom/webtiming.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::loadWithDocumentLoader):
* loader/FrameLoader.h:
(WebCore::FrameLoader::frameLoadTimeline):
* loader/FrameLoaderTypes.h:
(WebCore::FrameLoadTimeline::FrameLoadTimeline):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent):
* page/Timing.cpp:
(WebCore::Timing::navigationStart):
(WebCore::Timing::unloadEventEnd):
(WebCore::Timing::loadEventStart):
(WebCore::Timing::loadEventEnd):
* page/Timing.h:
* page/Timing.idl:
2010-07-09 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, but pre-approved by Eric Seidel.
Remove all unnecessary includes from the header files in WebCore/accessibility/.
https://bugs.webkit.org/show_bug.cgi?id=41941
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityListBox.cpp:
* accessibility/AccessibilityListBox.h:
* accessibility/AccessibilityMenuList.h:
* accessibility/mac/AccessibilityObjectWrapper.h:
2010-07-09 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kent Tamura.
[WINCE] Buildfix for EventHandlerWin
https://bugs.webkit.org/show_bug.cgi?id=41909
Use Clipboard.h instead of ClipboardWin.h on WinCE.
* page/win/EventHandlerWin.cpp:
2010-07-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62946.
http://trac.webkit.org/changeset/62946
https://bugs.webkit.org/show_bug.cgi?id=41965
AppCache inspector support should be enabled in WebKit ToT.
(Requested by pfeldman_ on #webkit).
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addApplicationCache):
2010-07-09 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Implement MathML mathcolor & mathbackground attributes
https://bugs.webkit.org/show_bug.cgi?id=41895
Test: mathml/presentation/attributes.xhtml
* dom/MappedAttributeEntry.h:
(WebCore::):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::MathMLElement):
(WebCore::MathMLElement::mapToEntry):
(WebCore::MathMLElement::parseMappedAttribute):
* mathml/MathMLElement.h:
* mathml/mathattrs.in:
2010-07-09 Xiaomei Ji <xji@chromium.org>
Reviewed by David Levin.
Fix characters with unicode-bidi-mirror property are not correctly
mirrored in Linux.
https://bugs.webkit.org/show_bug.cgi?id=41305
Since harfbuzz does not do mirroring, chromium should iterate each
character in the string and mirror it if needed before passing the
string to harfbuzz for shaping.
Test: fast/text/international/bidi-mirror-he-ar.html
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::~TextRunWalker):
(WebCore::TextRunWalker::mirrorCharacters):
2010-07-09 Anders Carlsson <andersca@apple.com>
Reviewed by Simon Fraser.
Instantiate Netscape plug-ins, pass geometry information to Plugin
https://bugs.webkit.org/show_bug.cgi?id=41960
* WebCore.exp.in:
Export ScrollView::contentsToWindow.
2010-07-09 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kent Tamura.
[WINCE] Buildfix for FrameWince after r47440
https://bugs.webkit.org/show_bug.cgi?id=41904
* page/wince/FrameWince.cpp: Added property svn:eol-style.
(WebCore::computePageRectsForFrame):
(WebCore::imageFromSelection):
2010-07-09 Vitaly Repeshko <vitalyr@chromium.org>
Reviewed by Pavel Feldman.
[v8] Call JS gc in a fresh context to avoid retaining the current one.
https://bugs.webkit.org/show_bug.cgi?id=41963
http://crbug.com/46571
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::collectGarbage):
2010-07-09 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Crash with uniform array test
https://bugs.webkit.org/show_bug.cgi?id=36028
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::vertexAttribAndUniformHelperf):
(WebCore::uniformHelperi):
(WebCore::uniformMatrixHelper):
- Fixed type tests and casting of incoming arrays.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getUniform):
- Fixed crash when null WebGLUniform is passed to getUniform.
2010-07-09 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: text editing not spoken by VO on web view contenteditable textbox
https://bugs.webkit.org/show_bug.cgi?id=41912
Test: platform/mac/accessibility/selection-value-changes-for-aria-textbox.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::renderObjectIsObservable):
2010-07-09 Michael Nordman <michaeln@google.com>
Reviewed by Dumitru Daniliuc.
Use class ProgressEvent when raising appcache related progress events and
set the 'total', 'loaded', and 'lengthComputable' attributes.
Also raise the final progress event with the 'total' and 'loaded' attribute
values are equal to one another to keep pace with the spec for this feature.
https://bugs.webkit.org/show_bug.cgi?id=37602
Test: http/tests/appcache/progress-counter.html
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
(WebCore::ApplicationCacheGroup::startLoadingEntry):
(WebCore::CallCacheListenerTask::create):
(WebCore::CallCacheListenerTask::performTask):
(WebCore::CallCacheListenerTask::CallCacheListenerTask):
(WebCore::ApplicationCacheGroup::postListenerTask):
* loader/appcache/ApplicationCacheGroup.h:
(WebCore::ApplicationCacheGroup::postListenerTask):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
(WebCore::ApplicationCacheHost::stopDeferringEvents):
(WebCore::ApplicationCacheHost::dispatchDOMEvent):
* loader/appcache/ApplicationCacheHost.h:
(WebCore::ApplicationCacheHost::DeferredEvent::DeferredEvent):
2010-07-09 Sebastian Dröge <sebastian.droege@collabora.co.uk>
Reviewed by Gustavo Noronha Silva.
Bug 41340 - [GStreamer] Subtle race condition during seeks
https://bugs.webkit.org/show_bug.cgi?id=41340
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStop):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(StreamingClient::didFinishLoading):
Fix two subtle race conditions that can happen during seeks:
- The timeout callback could be called before the callback ID is
assigned to the instance private data. This causes the ID to
be set after the callback has finished and breaks all future
processing.
- The source must not go EOS while a seek is pending because
this confuses appsrc due to the different threads involved here.
2010-07-09 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Removed hard-coded enabled default of video support
Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.
* WebCore.pri:
2010-07-09 Ben Murdoch <benm@google.com>
Reviewed by Steve Block.
[Arm] Missing NaN check in XPath substring function
https://bugs.webkit.org/show_bug.cgi?id=41862
Test: fast/xpath/substring-nan-position.html
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunSubstring::evaluate): Add an isnan()
to the value returned from evaluating the position
argument and early out and return the empty string.
2010-07-09 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Prospective build fix.
Moved the media element detection from WebCore.pro into WebCore.pri, where
all the features are detected. This is also used by build-webkit to determine
the defaults, which may be the reason for the build breakage.
* WebCore.pri:
* WebCore.pro:
2010-07-09 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Re-enable support for QtMultimediaKit as backend for the media elements
Experimental support is re-enabled if QtMobility is available and the Qt
version is 4.7 or above.
* WebCore.pro:
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivate::supportsType): Adapt to latest QtMultimediaKit API changes.
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::totalBytes):
2010-07-09 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: do not show default tooltip when detailed network info is available.
https://bugs.webkit.org/show_bug.cgi?id=41957
* English.lproj/localizedStrings.js:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype.showResource):
(WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
(WebInspector.ResourcesPanel.prototype._showPopover):
(WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
2010-07-09 François Sausset <sausset@gmail.com>
Reviewed by Beth Dakin.
Correct the default font variant of mtext (regular instead of italic).
https://bugs.webkit.org/show_bug.cgi?id=41626
Add test to be sure that only <mi> elements use italic fonts by default.
Update test with fractions to take into account the correct behaviour of mtext (regular instead of italic).
* css/mathml.css:
(mi):
2010-07-09 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Dimitri Glazkov.
Implement performance.navigation.type
https://bugs.webkit.org/show_bug.cgi?id=41564
Tests: fast/dom/navigation-type-back-forward.html
fast/dom/navigation-type-navigate.html
fast/dom/navigation-type-reload.html
* page/Navigation.cpp:
(WebCore::Navigation::type):
* page/Navigation.h:
(WebCore::Navigation::):
* page/Navigation.idl:
2010-07-09 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: hide AppCache until implemented.
https://bugs.webkit.org/show_bug.cgi?id=41858
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addApplicationCache):
2010-07-09 François Sausset <sausset@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
Set the good default behaviour for the columalign attribute on MathML mtable element
https://bugs.webkit.org/show_bug.cgi?id=41631
Test update: mathml/tables.xhtml
* css/mathml.css:
(math):
2010-07-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62937.
http://trac.webkit.org/changeset/62937
https://bugs.webkit.org/show_bug.cgi?id=41955
Crashes SnowLeopard leaks and Windows debug bot in fast/xsl
/xslt-relative-path.xml, with assertion in
XSLTProcessorLibxslt.cpp:264 (Requested by WildFox on
#webkit).
* xml/XSLTProcessor.h:
(WebCore::XSLTProcessor::XSLTProcessor):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
(WebCore::setXSLTLoadCallBack):
(WebCore::xsltStylesheetPointer):
(WebCore::XSLTProcessor::transformToString):
2010-07-09 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Laszlo Gombos.
NotificationPresenter needs a cancelRequestPermission API
https://bugs.webkit.org/show_bug.cgi?id=41783
Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin.
Added new API NotificationPresenter::cancelRequestsForPermision
The new API will be implemented and a test will be added in a followup patch.
* notifications/Notification.cpp:
(WebCore::Notification::Notification):
* notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::checkPermission):
(WebCore::NotificationCenter::requestPermission):
(WebCore::NotificationCenter::disconnectFrame):
* notifications/NotificationCenter.h:
* notifications/NotificationPresenter.h:
2010-07-09 Andreas Wictor <andreas.wictor@xcerion.com>
Reviewed by Alexey Proskuryakov.
Remove global variables from XSLTProcessorLibxslt.cpp
https://bugs.webkit.org/show_bug.cgi?id=41348
Remove the globalProcessor and globalDocLoader global variables
by using the _private field that exists on most libxml structs.
No new tests, existing tests covers this.
* xml/XSLTProcessor.h:
(WebCore::XSLTProcessor::sourceNode):
(WebCore::XSLTProcessor::XSLTProcessor):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::registeredXSLTProcessors):
(WebCore::registeredXSLStyleSheets):
(WebCore::docLoaderFunc):
(WebCore::clearSavedStyleSheetPointers):
(WebCore::xsltStylesheetPointer):
(WebCore::XSLTProcessor::transformToString):
2010-07-09 Adam Barth <abarth@webkit.org>
Unreviewed build fix.
We recently taught the HTMLTokenizer to recognize self-closing tags,
<http://trac.webkit.org/changeset/62926>, but that confused the
LegacyHTMLTreeBuilder. It turns out that it's much happier if we never
say a tag is self-closing.
* html/HTMLTreeBuilder.cpp:
(WebCore::convertToOldStyle):
2010-07-09 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis.
svg/custom/use-instanceRoot-event-bubbling.xhtml test crashes
https://bugs.webkit.org/show_bug.cgi?id=41931
Be careful to not mutate (marking it for recreation) the shadow tree, while building it.
The recent change that cloneNode() properly synchronizes the style/SVG attributes caused this problem.
Fixes crash seen on the buildbots in svg/custom/use-instanceRoot-event-bubbling.xhtml.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::SVGUseElement):
(WebCore::SVGUseElement::recalcStyle):
(WebCore::SVGUseElement::buildShadowAndInstanceTree):
(WebCore::SVGUseElement::invalidateShadowTree):
* svg/SVGUseElement.h:
(WebCore::SVGUseElement::setUpdatesBlocked):
2010-07-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Skip leading newlines in <textarea>
https://bugs.webkit.org/show_bug.cgi?id=41947
We would have caught this earlier with the ASSERT.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
2010-07-08 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Provide detailed network info in the resources panel.
https://bugs.webkit.org/show_bug.cgi?id=40227
* English.lproj/localizedStrings.js:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::didReceiveResponse):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::updateResponse):
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::buildObjectForTiming):
* inspector/InspectorResource.h:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
(WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
(WebInspector.ResourcesPanel.prototype._showPopover):
(WebInspector.ResourcesPanel.prototype.hide):
(WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
(WebInspector.ResourceGraph):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
* platform/network/ResourceLoadTiming.h:
(WebCore::ResourceLoadTiming::create):
(WebCore::ResourceLoadTiming::deepCopy):
(WebCore::ResourceLoadTiming::operator==):
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
* platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::reportLoadTiming):
(WebCore::ResourceRequestBase::setReportLoadTiming):
(WebCore::ResourceRequestBase::ResourceRequestBase):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::connectionID):
(WebCore::ResourceResponseBase::setConnectionID):
* platform/network/ResourceResponseBase.h:
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Implement self closing start tag state in the tokenizer
https://bugs.webkit.org/show_bug.cgi?id=41946
Amazingly we got this far w/o needing self closing.
The LegacyHTMLTreeBuilder clearly uses the self-closing
state, but the fact that we never exposed it seems to
not have caused any test failures. Sad.
The new HTMLTreeBuilder only needs the self closing state
for foreign content mode (and a few parse error cases).
* html/HTMLToken.h:
(WebCore::HTMLToken::setSelfClosing):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
* html/HTMLTreeBuilder.cpp:
(WebCore::):
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add basic "in foreign content" support to the TreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41943
This is covered by numerous tests in html5lib/runner.html.
"in foreign content" mode requires us to be able to process
tokens using the "secondary insertion mode". We have to set
a fake insertion mode to do that, so much of this code is enabling
setting of fake insertion modes, and then later restoration of the
insertion mode after execution.
There is a lot more of foreign content mode to implement, but this is
a good start resulting in huge test progressions.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
- Use createHTMLElementAndAttachToCurrent instead of copy/paste code.
- No need to include HTMLElementFactory in this file.
* html/HTMLConstructionSite.h:
- RedirectToFosterParentGuard does not need to be a friend class.
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::isOnlyHTMLElementsInScope):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::setInsertionMode):
(WebCore::HTMLTreeBuilder::isFakeInsertionMode):
(WebCore::HTMLTreeBuilder::setFakeInsertionMode):
2010-07-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Coalesce text nodes when foster parenting
https://bugs.webkit.org/show_bug.cgi?id=41921
Introduces the notion of an AttachmentSite to the overall
HTMLConstructionSite. Maybe we should rename HTMLConstructionSite to
HTMLConstructionArea since we construct things all over the tree? :)
There's something wrong in the internal layering in this class, but I
can't quite see what it is. I added a FIXME for the some of the
symptoms.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
(WebCore::HTMLConstructionSite::attachAtSite):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::findFosterSite):
(WebCore::HTMLConstructionSite::fosterParent):
* html/HTMLConstructionSite.h:
2010-07-08 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
RenderSVGRoot does not include border/padding while repainting
https://bugs.webkit.org/show_bug.cgi?id=41854
RenderSVGRoot does not include border/padding in the repaint rect.
clippedOverflowRectForRepaint() was missing. Affects all DRT results,
as <svg> now gets properly sized.
Test: svg/custom/repaint-moving-svg-and-div.xhtml
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
(WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
* rendering/RenderSVGRoot.h:
2010-07-09 Albert J. Wong <ajwong@chromium.org>
Reviewed by Nikolas Zimmermann.
Add RuntimeEnabledFeatures::timeRangesEnabled() required by r62880
https://bugs.webkit.org/show_bug.cgi?id=41935
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
Add in timeRangesEnabled() implementation.
* bindings/generic/RuntimeEnabledFeatures.h:
Add in timeRangesEnabled() declaration.
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add setInsertionMode setter in preparation for "in foreign content" mode
https://bugs.webkit.org/show_bug.cgi?id=41942
"in foreign content" mode needs to be able to use a fake
insertion mode for processing. We need to be able to save the
original insertion mode, set a fake one, and then restore the original
if it wasn't changed. To detect changes, we need all callsites to
use a setInsertionMode accessor instead of m_insertionMode =
No functional changes, thus no tests.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add insertForeignElement in preparation for adding "in foreign content" support
https://bugs.webkit.org/show_bug.cgi?id=41940
No functional changes, thus no tests.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertForeignElement):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElement):
* html/HTMLConstructionSite.h:
2010-07-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implementing pending table characters
https://bugs.webkit.org/show_bug.cgi?id=41916
This turned out to not be as scary as I thought it would be.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
* html/HTMLTreeBuilder.h:
2010-07-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Handle whitespace correctly
https://bugs.webkit.org/show_bug.cgi?id=41907
This patch introduces an extra memcpy in the character token pipeline.
I'll remove the memcpy in a future patch.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertTextNode):
* html/HTMLConstructionSite.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacter):
* html/HTMLTreeBuilder.h:
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move more mode handling into functions for later re-use
https://bugs.webkit.org/show_bug.cgi?id=41939
No functional changes, thus no tests.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
(WebCore::HTMLTreeBuilder::processEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTagForInCell):
(WebCore::HTMLTreeBuilder::processEndTag):
* html/HTMLTreeBuilder.h:
2010-07-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add new popUntilPopped functions to clean up code
https://bugs.webkit.org/show_bug.cgi?id=41936
Pretty self explanatory. Much awesome code reduction.
No functional changes, thus no tests.
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::popUntilPopped):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
(WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
2010-07-09 Eric Seidel <eric@webkit.org>
Unreviewed. Just renaming (discussed with Adam Barth).
Rename createElement* to createHTMLElement* to better reflect
behavior. This is in preparation for adding foreign content support.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent):
(WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):
(WebCore::HTMLConstructionSite::insertHTMLElement):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::createHTMLElement):
* html/HTMLConstructionSite.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-09 Eric Seidel <eric@webkit.org>
Unreviewed. Just renaming (discussed with Adam Barth).
Rename insertElement to insertHTMLElement and
insertSelfClosingElement to insertSelfClosingHTMLElement
to better reflect what they actually do. This is in preparation
for adding foreign content support.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLElement):
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
(WebCore::HTMLConstructionSite::insertFormattingElement):
(WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
(WebCore::HTMLConstructionSite::fosterParent):
* html/HTMLConstructionSite.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
2010-07-08 Rob Buis <rwlbuis@gmail.com>
Reviewed by Eric Seidel.
Implement SVGSVGElement.getElementById
https://bugs.webkit.org/show_bug.cgi?id=41655
Implement getElementById for SVGSVGElement by trying to
reuse Document.getElementById. If that fails to find an
SVG element in the document fragent do a subtree search.
Test: svg/custom/svg-getelementid.xhtml
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::getElementById):
* svg/SVGSVGElement.h:
* svg/SVGSVGElement.idl:
2010-07-08 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Unwrap a few || blocks for easier readability
https://bugs.webkit.org/show_bug.cgi?id=41838
No functional change, thus no tests.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::adjustedLexerState):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
2010-07-08 Sam Magnuson <smagnuson@netflix.com>
Reviewed by Simon Hausmann.
[Qt] for debugging purposes nice I'm contributing back my FPS
counter in the AnimationQtBase
https://bugs.webkit.org/show_bug.cgi?id=40381
Simply start a timer and count frames in the AnimationQtBase and
spit out the FPS count at the end of a single animation.
No new tests: this is a simple debugging aid.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::AnimationQt::updateState):
(WebCore::AnimationQt::updateCurrentTime):
(WebCore::TransformAnimationQt::updateState):
(WebCore::OpacityAnimationQt::updateState):
2010-07-08 Sam Magnuson <smagnuson@netflix.com>
Reviewed by Simon Hausmann.
[Qt] instance objects created for QObjects are somtimes GC'd
https://bugs.webkit.org/show_bug.cgi?id=40352
In markAggregate loop over all the current fields and for any that
still have a dynamic property or a child, mark them as
well. Otherwise the proxy instance will go away and the JS that
was bound to it will be lost.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::removeCachedMethod):
(JSC::Bindings::QtInstance::markAggregate):
(JSC::Bindings::QtInstance::getPropertyNames):
2010-07-08 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: migrate InspectorDOMAgent to the generated version of
InspectorFrontend interface. This is the next step on the way to
Remote Debugging.
* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):
* bindings/js/ScriptEventListener.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):
* bindings/v8/ScriptEventListener.h:
* inspector/CodeGeneratorInspector.pm:
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::inspectorStyleSheet):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
* inspector/InspectorController.h:
(WebCore::InspectorController::inspectorFrontend2):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::setDocument):
(WebCore::InspectorDOMAgent::handleEvent):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::getStyles):
(WebCore::InspectorDOMAgent::getAllStyles):
(WebCore::InspectorDOMAgent::getStyleSheet):
(WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
(WebCore::InspectorDOMAgent::getInlineStyle):
(WebCore::InspectorDOMAgent::getComputedStyle):
(WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
(WebCore::InspectorDOMAgent::buildArrayForCSSRules):
(WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
(WebCore::InspectorDOMAgent::applyStyleText):
(WebCore::InspectorDOMAgent::toggleStyleEnabled):
(WebCore::InspectorDOMAgent::setRuleSelector):
(WebCore::InspectorDOMAgent::addRule):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
(WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
(WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
(WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
(WebCore::InspectorDOMAgent::toArray):
(WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
* inspector/InspectorDOMAgent.h:
(WebCore::InspectorDOMAgent::create):
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/InspectorFrontend2.idl:
* inspector/front-end/inspector.js:
(WebInspector.dispatchMessageFromBackend):
2010-07-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
compositing/iframes/iframe-resize.html displays incorrectly after the resize
https://bugs.webkit.org/show_bug.cgi?id=41794
The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from
from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and
layoutHeight from the FrameView which happen later in layout. So when a widget size changes,
call updateAfterWidgetResize() directly on the RenderLayerBacking (if any).
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip
and scroll layers of the iframe's content RenderLayerCompositor.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize()
* rendering/RenderLayerBacking.h: Add updateAfterWidgetResize().
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize().
2010-07-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Calling layoutTestController.layerTreeAsText() should update layout
https://bugs.webkit.org/show_bug.cgi?id=41818
Call updateLayout() on the document before obtaining the layer tree.
This will update compositing layers.
* page/Frame.cpp:
(WebCore::Frame::layerTreeAsText):
2010-07-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Get my head wrapped around processCharacter
https://bugs.webkit.org/show_bug.cgi?id=41812
The bulk of the patch is just stubbing out functions to document what
the spec tells us to do. I'll implement these functions in subsequent
patches.
* html/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSite::insertLeadingWhitespace):
(WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacter):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::skipLeadingWhitespace):
2010-07-08 Tony Chang <tony@chromium.org>
Reviewed by Ojan Vafai.
WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL
https://bugs.webkit.org/show_bug.cgi?id=30116
Fixing the crash causes text insertions on hidden elements to get ignored
(not a new bug). This is https://bugs.webkit.org/show_bug.cgi?id=40342
Test: editing/inserting/return-key-in-hidden-textarea.html
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
2010-07-08 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Fix for https://bugs.webkit.org/show_bug.cgi?id=41923
TimeRanges should expose a JS constructor
* html/TimeRanges.idl: Remove [OmitConstructor].
* page/DOMWindow.idl: Add constructor.
2010-07-08 Erik Arvidsson <arv@chromium.org>
Reviewed by Ojan Vafai.
Add missing padding-end and margin-end CSS properties.
https://bugs.webkit.org/show_bug.cgi?id=25761
Tests: fast/css/margin-start-end.html
fast/css/padding-start-end.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* inspector/front-end/SourceCSSTokenizer.js:
(WebInspector.SourceCSSTokenizer):
2010-07-08 Aaron Boodman <aa@chromium.org>
Reviewed by Timothy Hatcher.
Add the ability for user scripts and user styles to affect just the top frame.
https://bugs.webkit.org/show_bug.cgi?id=41529
Tests: userscripts/user-script-all-frames.html
userscripts/user-script-top-frame-only.html
userscripts/user-style-all-frames.html
userscripts/user-style-top-frame-only.html
* WebCore.base.exp: Update PageGroup method signatures.
* dom/Document.cpp:
(WebCore::Document::pageGroupUserSheets): Check allFrames before injecting.
* page/Frame.cpp:
(WebCore::Frame::injectUserScriptsForWorld): Ditto.
* page/PageGroup.cpp:
(WebCore::PageGroup::addUserScriptToWorld):
(WebCore::PageGroup::addUserStyleSheetToWorld):
* page/PageGroup.h:
* page/UserScript.h:
(WebCore::UserScript::UserScript):
(WebCore::UserScript::injectedFrames):
* page/UserScriptTypes.h:
(WebCore::):
* page/UserStyleSheet.h:
(WebCore::UserStyleSheet::UserStyleSheet):
(WebCore::UserStyleSheet::injectedFrames):
2010-07-08 Adele Peterson <adele@apple.com>
Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
<rdar://problem/8158561> Missing plug-in indicator should have a pressed state
Test: plugins/clicking-missing-plugin-fires-delegate.html
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize m_isCapturingMouseEvents.
(WebCore::HTMLPlugInElement::detach): If we're still capturing when getting detached, clear the capturing node on the EventHandler.
(WebCore::HTMLPlugInElement::defaultEventHandler): Call handleMissingPluginIndicatorEvent when the missing plugin indicator is showing.
* html/HTMLPlugInElement.h:
(WebCore::HTMLPlugInElement::isCapturingMouseEvents):
(WebCore::HTMLPlugInElement::setIsCapturingMouseEvents):
* page/ChromeClient.h:
(WebCore::ChromeClient::shouldMissingPluginMessageBeButton): Added default implementation.
* rendering/RenderEmbeddedObject.cpp:
(WebCore::replacementTextRoundedRectPressedColor):
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
(WebCore::RenderEmbeddedObject::setMissingPluginIndicatorIsPressed): Added. Causes a repaint when the state changes.
(WebCore::RenderEmbeddedObject::paintReplaced): Call getReplacementTextGeometry.
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Factored this out so it can be used in paintReplaced and in isInMissingPluginIndicator.
(WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Hit test to see if the mouse event is in the missing plugin indicator.
(WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent): Capture mouse events as needed and track the pressed appearance.
* rendering/RenderEmbeddedObject.h:
2010-07-08 James Robinson <jamesr@google.com>
Reviewed by Darin Fisher.
Allow resizing and getting the texture id from an offscreen GLES2Context
https://bugs.webkit.org/show_bug.cgi?id=41828
When using an offscreen GLES2Context the caller needs to be able to resize the backing store
managed by the embedder and get access to a texture id to pass to the compositor. WebGL
does these actions in an indirect way, it will be refactored to use this path.
* platform/chromium/GLES2Context.h:
2010-07-02 Ojan Vafai <ojan@chromium.org>
Reviewed by Adam Barth.
Crash in RenderObject::containingBlock when clearing selection in a display:none node.
https://bugs.webkit.org/show_bug.cgi?id=41523
updateStyleIfNeeded before clearing the selection in the RenderView. Otherwise,
m_selectionStart and m_selectionEnd in RenderView point to garbage object.
This fixes the crash because updateStyleIfNeeded clears the selection before
clobbering nodes that contain the selection.
Test: editing/selection/crash-on-clear-selection.html
* editing/SelectionController.cpp:
(WebCore::SelectionController::updateAppearance):
2010-07-08 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Xan Lopez.
Correct a mistake in calculating squiggle extents. The entire
quantity was being divided by two, rather than just the unitWidth.
This error caused the squiggle to be about half the expected length.
* platform/graphics/cairo/DrawErrorUnderline.h:
(drawErrorUnderline):
2010-07-08 John Abd-El-Malek <jam@chromium.org>
Reviewed by Darin Fisher.
[V8] Navigation policy doesn't play nicely with pepper plugins
https://bugs.webkit.org/show_bug.cgi?id=41864
* bindings/v8/V8Utilities.cpp:
(WebCore::callingOrEnteredFrame):
(WebCore::shouldAllowNavigation):
(WebCore::navigateIfAllowed):
2010-07-08 Jon Honeycutt <jhoneycutt@apple.com>
Missing plug-ins may cause an assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=41900
Reviewed by Adele Peterson.
Test: plugins/missing-plugin.html
* plugins/PluginView.cpp:
(WebCore::PluginView::~PluginView):
Check whether m_instance is null before trying to remove it from the
map. Trying to remove a null instance results in an assertion failure.
(WebCore::PluginView::PluginView):
Initialize m_instance to 0, because there is an early return that may
skip its being assigned its proper value.
2010-07-08 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
Fix a test failure seen only on the Leopard bot.
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
If SharedWorker::create returns an exception, don't try to create a wrapper
for its return value, which can be 0.
2010-07-08 Albert J. Wong <ajwong@chromium.org>
Not reviewed, build break fix for chromium.
A new MediaControlElementType enum was added which caused a warning in
the Chromium build.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
Add MediaVolumeSliderMuteButton enumartion entry.
2010-07-08 Dmitry Titov <dimich@chromium.org>
Reviewed by David Levin.
Remove IDL declarations and stubs for navigator.registerProtocolHandler and navigator.registerContentHandler.
https://bugs.webkit.org/show_bug.cgi?id=41878
This is practically a rollback of http://trac.webkit.org/changeset/50477.
* page/Chrome.cpp:
* page/Chrome.h:
* page/ChromeClient.h:
* page/Navigator.cpp:
* page/Navigator.h:
* page/Navigator.idl:
2010-07-08 Xan Lopez <xlopez@igalia.com>
Reviewed by Darin Adler.
Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
https://bugs.webkit.org/show_bug.cgi?id=41823
Create the ResourceHandle manually for now instead of calling
::create, since that methods does a few extra checks that make us
fail a couple of HTTP tests.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::):
2010-07-08 Alexey Proskuryakov <ap@apple.com>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=41886
Shorten access control failure explanation messages
* loader/CrossOriginAccessControl.cpp:
(WebCore::passesAccessControlCheck):
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
Removed "response header field" parts from error text - it's long, but doesn't add much
to header field name.
* platform/network/ResourceErrorBase.cpp:
* platform/network/ResourceErrorBase.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFail):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::preflightFailure):
Renamed the constant for domain. WebCore shouldn't be creating errors observable by WebKit
clients, because it can't create a platform error, and cannot load a localized string.
We don't treat cross origin access check failures as true loading failures, so we don't tell
clients about these.
2010-07-08 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
Mac OS X media controls should have a way to adjust volume incrementally
https://bugs.webkit.org/show_bug.cgi?id=41718
<rdar://problem/5679472>
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle MediaVolumeSliderMuteButtonPart.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::pseudoId): Handle PseudoMediaControlsVolumeSliderMuteButton.
(WebCore::nameToPseudoTypeMap): Define mediaControlsVolumeSliderMuteButton.
(WebCore::CSSSelector::extractPseudoType): Handle PseudoMediaControlsVolumeSliderMuteButton.
* css/CSSSelector.h:
(WebCore::CSSSelector::): Define PseudoMediaControlsVolumeSliderMuteButton.
* css/CSSValueKeywords.in: Define media-volume-slider-mute-button.
* css/mediaControls.css:
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): New.
* css/mediaControlsQuickTime.css:
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Add "overflow: visible"
so volume slider pop-up will be visible.
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Make
mute button 14x12 instead of 15x14 so it matches the size in the volume slider.
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
New.
* platform/ThemeTypes.h: Define MediaVolumeSliderMuteButtonPart.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlInputElement::MediaControlInputElement): Handle MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
(WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Add ButtonLocation
parameter both mute buttons can be created.
(WebCore::MediaControlMuteButtonElement::create): Ditto.
* rendering/MediaControlElements.h: Define MediaVolumeSliderMuteButton and ButtonLocation.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::styleDidChange): Update volume slider mute button.
(WebCore::RenderMedia::createMuteButton): Pass ButtonLocation parameter to MediaControlMuteButtonElement::create.
(WebCore::RenderMedia::createVolumeSliderMuteButton): New.
(WebCore::RenderMedia::updateControls): Deal with volume slider mute button.
(WebCore::RenderMedia::updateVolumeSliderContainer): Don't assume all ports want to position
the volume slider in the same place, call new volumeSliderOffsetFromMuteButton theme function.
(WebCore::RenderMedia::forwardEvent): Handle volume slider mute button.
* rendering/RenderMedia.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint): Handle MediaVolumeSliderMuteButtonPart.
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): New, return location previously hard
coded in RenderMedia::updateVolumeSliderContainer.
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Deal with the volume slider thumb.
(WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): New, call the WKSI paint function
for this button.
(WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
(WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
(WebCore::RenderThemeMac::shouldRenderMediaControlPart): Draw the volume slider parts when
using the new controller UI for a movie that has audio.
(WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): New, position the volume slider
directly above the mute button.
* rendering/style/RenderStyleConstants.h: Define MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
2010-07-08 Antonio Gomes <tonikitoo@webkit.org>
Unreviewed complementary fix for r62815
One last time change made me blind to a "!" in a if statment.
* editing/EditorCommand.cpp:
(WebCore::executeToggleStyle):
2010-07-07 Ojan Vafai <ojan@chromium.org>
Reviewed by Darin Adler.
Regression: Selection anchor + focus swap when arrow keys after setBaseAndExtent
https://bugs.webkit.org/show_bug.cgi?id=32605
Only have selections be non-directional when they are set via the mouse.
Otherwise, all selections are directional.
Test: editing/selection/extend-forward-after-set-base-and-extent.html
* WebCore.base.exp:
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection):
* editing/SelectionController.h:
(WebCore::SelectionController::setSelection):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestWordFromMouseEvent):
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::updateSelectionForMouseDrag):
2010-07-08 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Ojan Vafai.
Refactor platform dependent editing behavior code out of Settings (part II)
https://bugs.webkit.org/show_bug.cgi?id=39854
Mac port is currently the only port relying on a style to be present on the start
of a selection to consider the style as applied or not. All other ports
have to have the style present in all text node of the selection for such.
Patch makes situations that depend on this check like this to be controlled by
the EditingBehavior class.
Refactoring, so no new tests needed.
* editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
* editing/EditorCommand.cpp:
(WebCore::executeToggleStyle):
2010-07-08 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add stubbed out PluginView class
https://bugs.webkit.org/show_bug.cgi?id=41879
Export functions needed by WebKit2.
* WebCore.exp.in:
2010-07-08 Ben Murdoch <benm@google.com>
Reviewed by Pavel Feldman.
Fix build break in V8ConsoleCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=40825
No new tests as just fixing a build break.
* bindings/v8/custom/V8ConsoleCustom.cpp: Guard profilesAccessorGetter
appropriately.
2010-07-08 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Pass Page to BackForwardControllerClient::createBackForwardList since it
may be called before implementations of BackForwardControllerClient have
access to a Page.
* history/BackForwardController.cpp:
(WebCore::BackForwardController::BackForwardController):
* history/BackForwardControllerClient.h:
2010-07-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62778.
http://trac.webkit.org/changeset/62778
https://bugs.webkit.org/show_bug.cgi?id=41866
Broke svg/W3C-SVG-1.1/text-intro-05-t.svg in debug (Requested
by pfeldman on #webkit).
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::~TextRunWalker):
2010-07-08 Vitaly Repeshko <vitalyr@chromium.org>
Reviewed by Pavel Feldman.
Fix adoptRef usage violation in IDBObjectStoreRequest
https://bugs.webkit.org/show_bug.cgi?id=41869
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
2010-07-08 Sam Weinig <sam@webkit.org>
Another chromium build fix.
* history/BackForwardListChromium.cpp:
(WebCore::BackForwardListImpl::goBack):
(WebCore::BackForwardListImpl::goForward):
(WebCore::BackForwardListImpl::backListWithLimit):
(WebCore::BackForwardListImpl::forwardListWithLimit):
(WebCore::BackForwardListImpl::containsItem):
(WebCore::BackForwardListImpl::removeItem):
2010-07-08 Sam Weinig <sam@webkit.org>
Fix Chromium build.
* WebCore.gyp/WebCore.gyp:
2010-07-08 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
Convert BackForwardList to an abstract base class and add BackForwardListImpl
as the concrete implementation of it.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* history/BackForwardController.cpp:
(WebCore::BackForwardController::BackForwardController):
* history/BackForwardController.h:
* history/BackForwardList.cpp: Removed.
* history/BackForwardList.h:
(WebCore::BackForwardList::~BackForwardList):
(WebCore::BackForwardList::isBackForwardListImpl):
(WebCore::BackForwardList::BackForwardList):
* history/BackForwardListChromium.cpp:
* history/BackForwardListImpl.cpp: Copied from WebCore/history/BackForwardList.cpp.
* history/BackForwardListImpl.h: Copied from WebCore/history/BackForwardList.h.
(WebCore::BackForwardListImpl::isBackForwardListImpl):
2010-07-08 Vitaly Repeshko <vitalyr@chromium.org>
Reviewed by Pavel Feldman.
Fix adoptRef usage violations (mostly in chromium)
https://bugs.webkit.org/show_bug.cgi?id=41863
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::wrapNativeNodeFilter):
* bindings/v8/V8NodeFilterCondition.h:
(WebCore::V8NodeFilterCondition::create):
* bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
(WebCore::getNamedItems):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::getNamedItems):
* bindings/v8/custom/V8HTMLFormElementCustom.cpp:
(WebCore::V8HTMLFormElement::namedPropertyGetter):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::V8HTMLSelectElement::namedPropertyGetter):
* bindings/v8/custom/V8NamedNodesCollection.h:
(WebCore::V8NamedNodesCollection::create):
(WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
* storage/IDBDatabaseRequest.cpp:
(WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
* storage/IndexedDatabaseRequest.cpp:
(WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
2010-07-08 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Silence a few noisy build rules.
* GNUmakefile.am:
2010-07-08 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Canvas putImageData() resets painter state
https://bugs.webkit.org/show_bug.cgi?id=41827
Use drawImage() to copy pixels in putImageData() instead of QPixmap::operator=
Test: fast/canvas/canvas-state-intact-after-putImageData.html
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::putImageData):
2010-07-08 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Do not invoke shortcuts popup upon bare '?' if it's typed
into an input field.
https://bugs.webkit.org/show_bug.cgi?id=41760
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):
2010-07-08 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kent Tamura.
[WINCE] Buildfix for EventHandler
https://bugs.webkit.org/show_bug.cgi?id=41829
SM_MENUDROPALIGNMENT isn't supported on WinCE.
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEventForKey):
2010-07-08 Xiaomei Ji <xji@chromium.org>
Reviewed by David Levin.
Fix characters with unicode-bidi-mirror property are not correctly
mirrored in Linux.
https://bugs.webkit.org/show_bug.cgi?id=41305
Since harfbuzz does not do mirroring, chromium should iterate each
character in the string and mirror it if needed before passing the
string to harfbuzz for shaping.
Test: fast/text/international/bidi-mirror-he-ar.html
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::~TextRunWalker):
2010-07-08 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis & Dirk Schulze.
SVG text transformed incorrectly when a transform and gradient applied
https://bugs.webkit.org/show_bug.cgi?id=41563
When rendering filled/stroked text with a gradient, RenderSVGResourceGradient creates a mask image,
renders the text into the image, and then clips the current context against that image buffer,
and filling a rect afterwards. This happened in the wrong coordinate space so far. Don't actually
try to compute the right transformation matrix (which failed), but extract it directly from the
GraphicsContext and apply this transformation to the mask image context.
Fixes pixellation in svg/batik/text/textEffect3.svg and makes the new test svg/custom/text-rotated-gradient.svg pass.
Only affects CoreGraphics platforms.
Test: svg/custom/text-rotated-gradient.svg
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::absoluteTransformFromContext):
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
2010-07-07 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Crash when re-entering message loop
https://bugs.webkit.org/show_bug.cgi?id=41697
A Chromium-specific test case will be submitted into Chromium shortly.
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
* page/PageGroupLoadDeferrer.h:
(WebCore::PageGroupLoadDeferrer::nextDeferrer):
2010-07-07 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: skip breakpoints when script is already paused
https://bugs.webkit.org/show_bug.cgi?id=41768
Test: inspector/debugger-no-nested-pause.html
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::handleV8DebugEvent):
2010-07-08 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
WebCore/benchmarks/parser/html-parser.html spends a lot of time in deprecatedParseURL
https://bugs.webkit.org/show_bug.cgi?id=41807
Wow. This was an awful bug. We were always taking the slow case
every time we parsed a URL. This is about a 10% speedup on our
parsing benchmark, and might cause as much as a 1% speedup for Apple's
PLT (even though I can't run that).
We still spend a lot of time in deprecatedParseURL. We might consider
inlining it if its being kept around much longer.
No behavioral change, just fixing a broken optimization.
* css/CSSHelper.cpp:
(WebCore::deprecatedParseURL):
- We only need to strip characters <= '\r', not >.
2010-07-08 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: factor out common part of debugger tests
https://bugs.webkit.org/show_bug.cgi?id=41836
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::recompileAllJSFunctions): postpone script recompilation if JS stack is not empty.
2010-07-08 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kent Tamura.
Buildfix for !ENABLE(SVG_ANIMATION) after r51567.
https://bugs.webkit.org/show_bug.cgi?id=41803
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
2010-07-07 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Nate Chapin.
[V8] Fix document wrapper memory leak in bindings.
https://bugs.webkit.org/show_bug.cgi?id=41771
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::WrapInShadowObject): Do not create static persistent handle
to shadowConstructor because it keeps the first context alive forever.
2010-07-07 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Enable smooth pixmap transforms by default
https://bugs.webkit.org/show_bug.cgi?id=41774
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::setImageInterpolationQuality):
2010-07-07 Jesus Sanchez-Palencia <jesus@webkit.org>
Reviewed by Antti Koivisto.
[Qt] Missing include to build QtWebKit with WebKit2 in MediaPlayerPrivatePhonon.cpp
https://bugs.webkit.org/show_bug.cgi?id=41767
* platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add Logging.h include
2010-07-07 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Move v8-related script offset conversion to DebuggerScript.js
https://bugs.webkit.org/show_bug.cgi?id=41755
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
2010-07-07 Nicolas Weber <thakis@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=41580
Fix rendering of radial gradients in skia if both points of the
gradient are the same and r0 > 0.
Test: fast/gradients/radial-centered.html
* platform/graphics/skia/GradientSkia.cpp:
(WebCore::Gradient::platformGradient):
2010-06-18 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
https://bugs.webkit.org/show_bug.cgi?id=26526
Add support for input events (oninput) to contentEditable elements
Made a default event handler on the Node to dispatch an input event when
webkitEditableContentChanged arrived.
Test: fast/events/event-input-contentEditable.html
* dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
2010-07-07 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
https://bugs.webkit.org/show_bug.cgi?id=41823
* platform/network/android/ResourceHandleAndroid.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously): Use adoptRef and new instead
of allocating an object on the stack.
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously): Use create instead of
allocating an object on the stack.
2010-07-07 Joseph Pecoraro <joepeck@webkit.org>
Rubber-stamped by Pavel Feldman.
Web Inspector: All RefPtr arguments and return values should be changed to PassRefPtr according to common practice.
https://bugs.webkit.org/show_bug.cgi?id=41759
* inspector/CodeGeneratorInspector.pm:
2010-07-07 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area
https://bugs.webkit.org/show_bug.cgi?id=41810
Test: platform/mac/accessibility/selected-text-range-for-empty-textarea.html
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2010-07-07 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: Data table heuristics: assume data table if at least one row or column of TH cells exist
https://bugs.webkit.org/show_bug.cgi?id=41806
Test: platform/mac/accessibility/table-with-row-col-of-headers.html
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2010-07-07 Mark Rowe <mrowe@apple.com>
Fix the build.
Xcode decided to change the reference type from "Relative to Build Product" to "Relative to Group"
when I moved the file between folders. That's incredibly confusing so I'll file a bug against Xcode.
* WebCore.xcodeproj/project.pbxproj:
2010-07-07 Mark Rowe <mrowe@apple.com>
Fix the MathML build.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Fix a typo in a variable name.
2010-07-07 James Hawkins <jhawkins@chromium.org>
Reviewed by Dimitri Glazkov.
Move setSuggestedValue() and suggestedValue() back to public as it's
now used by WebInputElement.
https://bugs.webkit.org/show_bug.cgi?id=41785
No new tests, as the method is only being used by Chromium's WebKit
API.
* html/HTMLInputElement.h:
2010-07-07 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Sam Weinig.
Clean up the project file slightly.
Remove obsolete .exp files, add the new .exp.in file, and move ExportFileGenerator.cpp in to the Exports collection.
* WebCore.xcodeproj/project.pbxproj:
2010-07-07 James Robinson <jamesr@chromium.org> and Vincent Scheib <schieb@chromium.org>
Reviewed by Dimitri Glazkov.
WebCore::GLES2Context should allow creating onscreen and offscreen contexts
https://bugs.webkit.org/show_bug.cgi?id=41492
You should be able to create a GLES2Context for rendering both on screen
and off screen (to a texture). Chromium's layer renderer (used for compositing)
does the former. Currently WebGL does the latter by side stepping the
WebCore::GLES2Context API completely. Longer term it should move over to using this.
* platform/chromium/GLES2Context.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initGL):
2010-07-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Document::ownerElement() should return an HTMLFrameOwnerElement
https://bugs.webkit.org/show_bug.cgi?id=41789
Change return type of RenderLayerCompositor::enclosingIFrameElement() to
HTMLFrameOwnerElement*. No behavioral changes.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
(WebCore::RenderLayerCompositor::enclosingIFrameElement):
* rendering/RenderLayerCompositor.h:
2010-07-07 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Add reverseFind to Vector and deploy in HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=41778
This patch moves reverseFind from begin an
HTMLFormattingElementList-specific concept to begin a general Vector
concept. Also, instead of using Entry as the type for operator==, we
now use elements directly. The old code compiled because the Entry
constructor wasn't explicit, which means we were churning refs on every
comparison!
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::find):
(WebCore::HTMLFormattingElementList::bookmarkFor):
(WebCore::HTMLFormattingElementList::insertAt):
(WebCore::HTMLFormattingElementList::remove):
* html/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::Entry::operator==):
(WebCore::HTMLFormattingElementList::Entry::operator!=):
2010-07-07 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Turn on adoptRef assertion for RefCounted
https://bugs.webkit.org/show_bug.cgi?id=41547
The WebCore part of this fixes all the assertions I saw in testing.
* html/FileReader.cpp:
(WebCore::FileReader::readAsBinaryString): Added null checks.
Callers from JavaScript can pass the wrong type, which becomes null.
(WebCore::FileReader::readAsText): Ditto.
(WebCore::FileReader::readAsDataURL): Ditto.
* html/FileStreamClient.h: Removed unneeded include.
* html/FileStreamProxy.cpp:
(WebCore::FileStreamProxy::FileStreamProxy): Made inline and moved
some of the code, including the ref, into the create function.
(WebCore::FileStreamProxy::create): Moved some of the code from
the constructor here. It's safe to ref once the object has been
created and adopted.
* html/FileStreamProxy.h: Changed create function to no longer be
inlined. Also removed an unneeded include.
* page/EventSource.cpp:
(WebCore::EventSource::EventSource): Made inline, changed arguments
and moved code that involves the need to ref this object into the
create function. Also moved failure handling out there since it's
cleaner to have a function that fails than a constructor. For
example, the function can return 0.
(WebCore::EventSource::create): Moved some of the code from the
constructor here.
* page/EventSource.h: Removed unneeded includes. Made the
creation function non-inline. Changed the arguments to the constructor.
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync): Made inline. Moved
code that requires ref'ing this object out to the create function.
(WebCore::StorageAreaSync::create): Moved some of the code from the
constructor here.
* storage/StorageAreaSync.h: Removed unneeded includes. Changed
the type of one of the constructor arguments from String to
const String&.
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::SharedWorker): Made inline. Moved most of
the setup code out of here into the create function.
(WebCore::SharedWorker::create): Moved the code here.
* workers/SharedWorker.h: Removed unneeded includes. Made the
create function non-inline. Marked the toSharedWorker override private
to catch people doing an unnecessary virtual function call if they
already have a SharedWorker*.
* workers/Worker.cpp:
(WebCore::Worker::Worker): Made inline. Moved most of the setup code
out of here into the create function.
(WebCore::Worker::create): Moved the code here.
* workers/Worker.h: Made the create function non-inline. Changed
the arguments to the constructor.
2010-07-07 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: when a node's role changes, the AX tree might need to be updated
https://bugs.webkit.org/show_bug.cgi?id=41784
Test: platform/mac/accessibility/update-children-when-aria-role-changes.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::updateAccessibilityRole):
2010-07-07 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: when an element uses role="text" but no aria-label, it should default to textUnderElement()
https://bugs.webkit.org/show_bug.cgi?id=41780
Test: platform/mac/accessibility/static-text-role-uses-text-under-element.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::stringValue):
Fallback to textUnderElement() if text() does not return any explicitly set text.
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
Remove erroneous check to ignore text elements that didn't have a explicit text value.
2010-07-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Document::ownerElement() should return an HTMLFrameOwnerElement
https://bugs.webkit.org/show_bug.cgi?id=41789
Change the return type of Document::ownerElement() to an HTMLFrameOwnerElement, for better
type checking. No behavioral changes.
* accessibility/mac/AccessibilityObjectWrapper.mm:
* dom/Document.cpp:
(WebCore::Document::ownerElement):
* dom/Document.h:
* editing/SelectionController.cpp:
* rendering/RenderBoxModelObject.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderView.cpp:
2010-07-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
REGRESSION: GMail becomes blank after closing other tabs
https://bugs.webkit.org/show_bug.cgi?id=40421
RenderLayerCompositor's attach/detachRootPlatformLayer methods use
setNeedsStyleRecalc() in order to trigger acclerated compositing layers
to be hooked together across iframe boundaries. However, it was possible
for these to get called while inside of Document::recalcStyle(), which
is bad because it can cause the recalc to fail to get processed.
Fix this by using the existing queuePostAttachCallback() functionality
to delay the call to setNeedsStyleRecalc() if post-attach callbacks
are suspended (indicating that we're inside recalcStyle()).
No new tests because I wasn't able to make a test that shows the problem.
* dom/ContainerNode.h: Make queuePostAttachCallback() public.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::postAttachCallbacksAreSuspended): Added; returns
whether s_attachDepth is non-zero.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call scheduleNeedsStyleRecalc()
instead of setNeedsStyleRecalc().
(WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto.
(WebCore::needsStyleRecalcCallback): Here we call setNeedsStyleRecalc().
(WebCore::RenderLayerCompositor::scheduleNeedsStyleRecalc):
(WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
* rendering/RenderLayerCompositor.h: Add scheduleNeedsStyleRecalc().
2010-07-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Incorrect compositing order with negative z-index
https://bugs.webkit.org/show_bug.cgi?id=38959
When painting the contents of compositing layers whose phase is "GraphicsLayerPaintBackground"
(indicating that they are used for the background of elements with negative z-index children),
we need to paint the non-composited negative-z-order descendants at the end of the background phase, so
they appear behind composited negative-z-order descendants.
Test: compositing/z-order/negative-z-index.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
2010-07-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Incorrect compositing order with negative z-index
https://bugs.webkit.org/show_bug.cgi?id=38959
Prerequisite: adopt new paintList() method that was added when painting compositing layer contents.
No behavioral changes.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
2010-07-07 Adam Barth <abarth@webkit.org>
Unreviewed.
Fix ASSERT in Eric's previous patch. I think he tested his patch in
Release and not Debug.
* html/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::Entry::Entry):
(WebCore::HTMLFormattingElementList::findIndex):
2010-07-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Grease the TreeBuilder's lightning
https://bugs.webkit.org/show_bug.cgi?id=41756
Brings the new TreeBuilder from 7s to 3s on the parser benchmark.
This makes performance comparable to the old parser.
We have not begun to fight! There is so much fat left on these bones.
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::find):
(WebCore::HTMLFormattingElementList::bookmarkFor):
(WebCore::HTMLFormattingElementList::insertAt):
(WebCore::HTMLFormattingElementList::remove):
* html/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::findIndex):
2010-07-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTreeBuilder is way too slow
https://bugs.webkit.org/show_bug.cgi?id=41754
This takes us from 14s to 7s on our parsing benchmark.
That's still much slower than the old tree builder, but there
is a huge amount of fat left to trim.
Vector<T> wasn't able to inline all the Entry functions when
they were buried in the cpp. Turns out the active formatting elements
list is very hot.
I'm not sure Vector<T> is going to be the right data structure for us
in the end, but it has done alright for bring-up.
* html/HTMLFormattingElementList.cpp:
* html/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::Entry::Entry):
(WebCore::HTMLFormattingElementList::Entry::~Entry):
(WebCore::HTMLFormattingElementList::Entry::isMarker):
(WebCore::HTMLFormattingElementList::Entry::element):
(WebCore::HTMLFormattingElementList::Entry::replaceElement):
(WebCore::HTMLFormattingElementList::Entry::operator==):
(WebCore::HTMLFormattingElementList::Entry::operator!=):
2010-07-06 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
More OwnPtr work, including making clear set the pointer to 0 before deletion
https://bugs.webkit.org/show_bug.cgi?id=41727
* WebCore.exp.in: Updated.
* css/CSSSelector.h:
(WebCore::CSSSelector::RareData::RareData): Use adoptPtr.
(WebCore::CSSSelector::createRareData): Ditto.
* dom/SpaceSplitString.h:
(WebCore::SpaceSplitString::SpaceSplitString): Ditto.
(WebCore::SpaceSplitString::set): Ditto.
* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame): Ditto.
(WebCore::CachedFrame::setCachedFramePlatformData): Ditto.
* history/CachedFrame.h: Use PassOwnPtr.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::CallCacheListenerTask::create): Use adoptPtr.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
* platform/PurgeableBuffer.h:
(WebCore::PurgeableBuffer::create): Ditto.
* platform/graphics/GlyphMetricsMap.h:
(WebCore::::locatePageSlowCase): Ditto.
* platform/graphics/GraphicsLayer.h:
(WebCore::AnimationValue::AnimationValue): Ditto.
(WebCore::TransformAnimationValue::TransformAnimationValue): Ditto.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayer::create): Ditto.
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::boundsForGlyph): Ditto.
* platform/mac/PurgeableBufferMac.cpp:
(WebCore::PurgeableBuffer::create): Ditto.
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::setHorizontalOverflowPositions): Ditto.
(WebCore::InlineFlowBox::setVerticalOverflowPositions): Ditto.
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::floats): Ditto.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::inheritAnimations): Ditto.
(WebCore::InheritedFlags::inheritTransitions): Ditto.
* rendering/style/SVGRenderStyleDefs.h: Use PassOwnPtr.
2010-07-07 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
Add basic piping for BackForwardControllerClient.
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* history/BackForwardController.cpp:
(WebCore::BackForwardController::BackForwardController):
* history/BackForwardControllerClient.h:
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2010-07-07 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed build fix after r62577.
[EFL] build fix after r62577
https://bugs.webkit.org/show_bug.cgi?id=41764
No new functionality so no new tests.
2010-07-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] Scrollbars sometimes go dead and stop scrolling the view
https://bugs.webkit.org/show_bug.cgi?id=41711
Rework the setGtkAdjustment function slightly, make it have an
early return, and be more readable.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setGtkAdjustments):
2010-07-07 Kristian Monsen <kristianm@google.com>
Reviewed by Steve Block.
Updating Android to use the UserGestureIndicator class instead of Android specific code.
The rest of the changes are in parts of the Android port which are yet to be upstreamed.
No change in behavior, so no new test.
* platform/network/android/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
2010-07-07 Andy Estes <aestes@apple.com>
Reviewed by Adam Barth.
Allow a beforeload listener to prevent loading of images in <object> tags.
https://bugs.webkit.org/show_bug.cgi?id=41027
<rdar://problem/8120596>
Tests: fast/dom/beforeload/image-object-before-load-innerHTML.html
fast/dom/beforeload/image-object-before-load.html
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::attach): Do not call
RenderImage::setCachedImage() at the end of attach(). Instead, allow
this to happen conditionally after beforeload is dispatched.
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Render fallback
content if an object's load was cancelled.
2010-07-06 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
<use> on <font-face> causes crashes, if SVGUseElement gets detached
https://bugs.webkit.org/show_bug.cgi?id=41621
Do not call removeFromMappedElementSheet() from the SVGFontFaceElement destructor,
as that can potentially cause the element to be reattached while destructing.
In order to fix the crash in the testcase, the order of calling the base-class detach
method in SVGUseElement and the instance/shadow tree destruction has to be reversed,
matching the order in removedFromDocument().
Test: svg/custom/use-font-face-crash.svg
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::~SVGFontFaceElement): Remove removeFromMappedElementSheet() call.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::detach): Reverse order of calling base-class detach method and instance/shadow tree destruction.
2010-07-07 Steve Block <steveblock@google.com>
Reviewed by Adam Barth.
document.createEvent() should support DeviceOrientationEvent
https://bugs.webkit.org/show_bug.cgi?id=41618
Tests: fast/dom/DeviceOrientation/create-event.html
* dom/Document.cpp:
(WebCore::Document::createEvent):
2010-07-07 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: show functions from internal browser scripts on the call stack if they
are there.
https://bugs.webkit.org/show_bug.cgi?id=41762
* English.lproj/localizedStrings.js:
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.prototype.update):
2010-07-07 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: All RefPtr arguments and return values should be
changed to PassRefPtr whenever it is possible according to common practice.
https://bugs.webkit.org/show_bug.cgi?id=41759
* inspector/CodeGeneratorInspector.pm:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::pushGCEventRecords):
(WebCore::InspectorTimelineAgent::didInstallTimer):
(WebCore::InspectorTimelineAgent::didRemoveTimer):
(WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
(WebCore::InspectorTimelineAgent::willSendResourceRequest):
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
(WebCore::InspectorTimelineAgent::didMarkTimeline):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createXHRLoadData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createMarkTimelineData):
(WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
* inspector/TimelineRecordFactory.h:
2010-07-07 Antti Koivisto <koivisto@iki.fi>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Initial WebKit2 implementation
https://bugs.webkit.org/show_bug.cgi?id=40233
Export some event conversion functions needed for WebKit2.
* platform/PlatformKeyboardEvent.h:
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::keyIdentifierForQtKeyCode):
(WebCore::windowsKeyCodeForKeyEvent):
2010-07-06 Steve Block <steveblock@google.com>
Reviewed by Adam Barth.
DeviceOrientationEventConstructor should be exposed at window.DeviceOrientationEvent
https://bugs.webkit.org/show_bug.cgi?id=41685
Test: fast/dom/Window/window-properties-device-orientation.html
fast/dom/DeviceOrientation/window-property.txt
* page/DOMWindow.idl:
2010-07-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62645.
http://trac.webkit.org/changeset/62645
https://bugs.webkit.org/show_bug.cgi?id=41757
"Broken inspector tests on several platforms" (Requested by
eseidel on #webkit).
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
(WebInspector.ScriptsPanel.prototype._showScriptOrResource):
(WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._addBreakpoint):
2010-07-07 Steve Block <steveblock@google.com>
Reviewed by Adam Barth.
JavaInstanceV8 needs to push a local reference frame to avoid table overflow.
https://bugs.webkit.org/show_bug.cgi?id=41516
This change is required to help prevent the Java virtual machine from
running out of local references. The Java virtual machine supports only
a limited number of local references. Normally, local references are
cleared when the native method returns.
This change adds calls to PushLocalFrame() and PopLocalFrame() around
each invocation of a method on JavaInstance. These calls instruct the
virtual machine to clear local references when the frame is popped.
This means that in the case where many calls to JavaInstance methods
are made within the same native call, local references are cleared as
soon as they are no longer needed, thus conserving references.
This change mirrors exactly JavaInstanceJSC.
No new tests.
* bridge/jni/v8/JavaInstanceV8.cpp:
(JavaInstance::virtualBegin):
(JavaInstance::virtualEnd):
* bridge/jni/v8/JavaInstanceV8.h:
2010-07-06 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Inspector should remember the size of sidebars set by the user
https://bugs.webkit.org/show_bug.cgi?id=19207
* inspector/front-end/AbstractTimelinePanel.js:
(WebInspector.AbstractTimelinePanel):
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.rightSidebarResizerDragEnd):
* inspector/front-end/Panel.js:
(WebInspector.Panel):
(WebInspector.Panel.prototype.get toolbarItemClass):
(WebInspector.Panel.prototype.show):
(WebInspector.Panel.prototype.createSidebar):
(WebInspector.Panel.prototype.get _sidebarWidthSettingName):
(WebInspector.Panel.prototype._endSidebarDragging):
(WebInspector.Panel.prototype.updateSidebarWidth):
(WebInspector.Panel.prototype.restoreSidebarWidth):
(WebInspector.Panel.prototype.saveSidebarWidth):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._endSidebarResizeDrag):
(WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
(WebInspector.ScriptsPanel.prototype.setSidebarWidth):
* inspector/front-end/Settings.js:
(WebInspector.populateApplicationSettings):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
2010-07-05 Steve Block <steveblock@google.com>
Reviewed by Adam Barth.
DeviceOrientation should be renamed to DeviceOrientationController
https://bugs.webkit.org/show_bug.cgi?id=41608
No new tests, renaming only.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DeviceOrientation.cpp: Removed.
* dom/DeviceOrientation.h: Removed.
* dom/DeviceOrientationController.cpp: Copied from WebCore/dom/DeviceOrientation.cpp.
(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::onDeviceOrientationChange):
* dom/DeviceOrientationController.h: Copied from WebCore/dom/DeviceOrientation.h.
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::deviceOrientationController):
2010-07-07 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: do not activate all breakpoints on page reload
https://bugs.webkit.org/show_bug.cgi?id=41461
Test: inspector/debugger-breakpoints-not-activated-on-reload.html
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._addBreakpoint):
2010-07-07 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Rollout r62633 - test crashes after some last-minute modifications.
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::~SVGFontFaceElement):
2010-07-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix </html> handling in before head mode
https://bugs.webkit.org/show_bug.cgi?id=41752
Covered by html5lib/runner.html.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
2010-07-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
</div> pops too many <div> elements in body
https://bugs.webkit.org/show_bug.cgi?id=41751
Another missing return!
While tracking this down I added some debugging code to both the
open elements stack and the active formatting elements list.
I also unwrapped a very long || chain to make it more readable.
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::show):
* html/HTMLElementStack.h:
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::show):
* html/HTMLFormattingElementList.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTreeBuilder needs to handle <table><input>
https://bugs.webkit.org/show_bug.cgi?id=41744
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Teach HTMLTreeBuilder how to handle <button><button>
https://bugs.webkit.org/show_bug.cgi?id=41743
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Teach TreeBuilder how to handle <form><form>
https://bugs.webkit.org/show_bug.cgi?id=41741
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
<table> should auto-close <p> when not in quirks mode
https://bugs.webkit.org/show_bug.cgi?id=41740
This is already covered by multiple tests in html5lib/runner.html
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make "in body" character handling reconstruct active formatting elements
https://bugs.webkit.org/show_bug.cgi?id=41739
This fixes a bunch of tests, and due to some other bug in our
formatting code, regresses two. I'll fix that bug in a separate
patch.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacter):
2010-07-06 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Darin Adler.
<use> on <font-face> causes crashes, if SVGUseElement gets detached
https://bugs.webkit.org/show_bug.cgi?id=41621
Do not call removeFromMappedElementSheet() from the destructor, as the call to document()->updateStyleSelector() that can potentially
cause the element to be reattached while destructing. It's not needed at all, because removedFromDocument() is called before destruction,
which already calls removeFromMappedElementSheet() - at this point it's still safe to update the style selector.
The crash is reproducable when using <use> on <font-face>.
Test: svg/custom/use-font-face-crash.svg
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::~SVGFontFaceElement):
2010-07-07 Hayato Ito <hayato@chromium.org>
Reviewed by Darin Adler.
Rolling out 'page-break-inside:avoid' part of the r54929.
Rebased the related layout tests, which are now expected to fail, as well.
https://bugs.webkit.org/show_bug.cgi?id=41532
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
2010-07-07 Mark Rowe <mrowe@apple.com>
Fix failures in a handful of Java-related tests.
* WebCore.exp.in: Remove an extraneous ENABLE_ from an #if so that the condition
evalutes to true when we expect it to.
2010-07-06 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: provide line numbers for inline styles.
https://bugs.webkit.org/show_bug.cgi?id=41691
Test: inspector/styles-source-lines-inline.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseSheet):
* css/CSSParser.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::parseString):
(WebCore::CSSStyleSheet::parseStringAtLine):
* css/CSSStyleSheet.h:
* dom/StyleElement.cpp:
(WebCore::StyleElement::process):
(WebCore::StyleElement::createSheet):
* dom/StyleElement.h:
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement):
(WebCore::HTMLStyleElement::finishParsingChildren):
* html/HTMLStyleElement.h:
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForRule):
* inspector/front-end/DOMAgent.js:
(WebInspector.CSSStyleDeclaration.parseRule):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.else.linkifyUncopyable):
(WebInspector.StylePropertiesSection):
2010-07-06 Dan Bernstein <mitz@apple.com>
Reviewed by Jon Honeycutt.
<rdar://problem/8163651> Wrong value type being supplied for kCTTypesetterOptionForcedEmbeddingLevel key
No change in behavior, so no new test.
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Use CFNumber instances
as the values of the kCTTypesetterOptionForcedEmbeddingLevel key, instead of CFBooleans.
2010-07-06 Mark Rowe <mrowe@apple.com>
Fix production builds on Mac OS X.
* DerivedSources.make: Don't try and generate the export file during the installhdrs build phase.
It's not useful until much later in the build process, and it's not possible to generate it until
after the tool has been compiled anyway.
* WebCore.xcodeproj/project.pbxproj: Tweak how the ICU and forwarding headers are copied so that it
works in production builds once more.
2010-07-06 Steve Falkenburg <sfalken@apple.com>
Reviewed by Simon Fraser.
Expose URL matching from WebUserContentURLPattern
https://bugs.webkit.org/show_bug.cgi?id=41726
<rdar://problem/7910144>
* WebCore.exp.in: Export UserContentURLPattern::matches for use in WebKit.
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix <nobr><nobr> case in HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41735
We were both not handling <nobr> correctly, as well as
never hitting the <nobr> case because our formatting
elements check was overzealous.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement start table tag in table mode
https://bugs.webkit.org/show_bug.cgi?id=41736
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
* html/HTMLTreeBuilder.h:
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement "act as if the banana has been peeled" (for lack of a better term)
https://bugs.webkit.org/show_bug.cgi?id=41734
The spec has a tricky passage that says "whenever a node would be
inserted into the current node, it must instead be foster parented."
This patch attempts to implement that requirement.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::fosterParent):
* html/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
(WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::~RedirectToFosterParentGuard):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
* html/HTMLTreeBuilder.h:
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix </optgroup> in "in select" mode
https://bugs.webkit.org/show_bug.cgi?id=41733
I had to add a oneBelowTop() accessor.
I added some ASSERTs after looking at the fragment case
documentation. I'm now convinced that top() and oneBeforeTop()
should never be NULL, so we just ASSERT they aren't.
This is a very obscure corner of the HTML spec, but at least
we have a test for it. This makes one more html5lib test pass.
* html/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSite::oneBelowTop):
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::topRecord):
(WebCore::HTMLElementStack::top):
(WebCore::HTMLElementStack::oneBelowTop):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix "in row" "Anything else" handling of end tags
https://bugs.webkit.org/show_bug.cgi?id=41731
I also fixed </br> handling to follow the spec more closely
since it implementation was old and didn't use all our
new processFake* hotness.
This is already covered by 3 tests, however we don't
pass them yet, due to lack of table foster parenting
code (which Adam is working on as we speak).
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
2010-07-06 Mark Rowe <mrowe@apple.com>
Fix clean builds on Mac OS X.
Since "Copy Forwarding and ICU Headers" was split in to a separate target
from the WebCore framework it no longer had automatica access to the
PRIVATE_HEADERS_FOLDER_PATH variable. This caused it to copy the header
files in to the wrong location. Fix that by giving PRIVATE_HEADERS_FOLDER_PATH
its correct value and ensuring that the path exists.
* WebCore.xcodeproj/project.pbxproj:
2010-07-06 Sam Weinig <sam@webkit.org>
Fix Gtk build.
* GNUmakefile.am:
2010-07-06 Mark Rowe <mrowe@apple.com>
Tiger build fix.
Don't use WebCore's LDFLAGS when building WebCoreExportFileGenerator.
* WebCore.xcodeproj/project.pbxproj:
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
"In cell" does not correctly handle <td><tr> or <td><td>
https://bugs.webkit.org/show_bug.cgi?id=41729
This change is mostly cleanup to try and prevent forgetting
tag name checks in the future by using inlines to reduce
copy/paste code.
3 little bugs in InCellMode:
- Missing trTag from the long or statement (reason for the cleanup)
- Used || instead of &&
- Forgot to reprocess the tag after closeTheCell()
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move fosterParent to HTMLConstructionSite
https://bugs.webkit.org/show_bug.cgi?id=41728
This paves the way for handling the default case of InTableMode
properly.
* html/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::fosterParent):
* html/HTMLConstructionSite.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-06 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Move HTMLConstructionSite to its own file. No behavior change.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
(WebCore::HTMLNames::hasImpliedEndTag):
(WebCore::HTMLConstructionSite::attach):
(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLConstructionSite::~HTMLConstructionSite):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
(WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
* html/HTMLConstructionSite.h: Copied from WebCore/html/HTMLTreeBuilder.h.
* html/HTMLTreeBuilder.cpp:
* html/HTMLTreeBuilder.h:
2010-07-06 Mark Rowe <mrowe@apple.com>
Build fix.
The path to the generated file needs to be relative to the built product directory,
not to the project file.
* WebCore.xcodeproj/project.pbxproj:
2010-07-06 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
<http://webkit.org/b/41725> REGRESSION(r62283): No longer possible to build for Tiger from SnowLeopard due to export file shenanigans
Change how the exports file is generated. Rather than having the logic for which symbols
to include be encoded in a Makefile that concatenated separate files, the logic is now
encoded as #if's in the base exports file. This ensures that the exact same preprocessor
settings are used when determining which symbols to export as when compiling the code that
defines the symbols.
* DerivedSources.make: Remove logic that determines which export files to concatenate.
Replace with an invocation of WebCoreExportFileGenerator.
* WebCore.3DRendering.exp: Removed.
* WebCore.AcceleratedCompositing.exp: Removed.
* WebCore.ClientBasedGeolocation.exp: Removed.
* WebCore.ContextMenus.exp: Removed.
* WebCore.DashboardSupport.exp: Removed.
* WebCore.DragSupport.exp: Removed.
* WebCore.Geolocation.exp: Removed.
* WebCore.Inspector.exp: Removed.
* WebCore.JNI.exp: Removed.
* WebCore.NPAPI.exp: Removed.
* WebCore.OrientationEvents.exp: Removed.
* WebCore.PluginHostProcess.exp: Removed.
* WebCore.ProtectionSpaceAuthCallback.exp: Removed.
* WebCore.SVG.Animation.exp: Removed.
* WebCore.SVG.Filters.exp: Removed.
* WebCore.SVG.ForeignObject.exp: Removed.
* WebCore.SVG.exp: Removed.
* WebCore.Tiger.exp: Removed.
* WebCore.Video.exp: Removed.
* WebCore.VideoProxy.exp: Removed.
* WebCore.exp.in: Renamed from WebCore/WebCore.base.exp. Merge the individual .exp
files in, wrapping the appropriate parts with the necessary #if's.
* WebCore.xcodeproj/project.pbxproj:
* make-exports-file-generator: Added.
2010-07-06 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=41723
Add BackForwardController class
- Add BackForwardController which currently only forwards to the existing
BackForwardList implementation. This is a first step toward allowing
for a proxying BackForwardList implementation.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.base.exp:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* history/BackForwardController.cpp: Added.
(WebCore::BackForwardController::BackForwardController):
(WebCore::BackForwardController::~BackForwardController):
* history/BackForwardController.h: Added.
(WebCore::BackForwardController::client):
(WebCore::BackForwardController::list):
* history/BackForwardControllerClient.h: Added.
(WebCore::BackForwardControllerClient::~BackForwardControllerClient):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::backForwardList):
(WebCore::Page::goBack):
(WebCore::Page::goForward):
(WebCore::Page::canGoBackOrForward):
(WebCore::Page::goBackOrForward):
(WebCore::Page::getHistoryLength):
* page/Page.h:
2010-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Unreviewed.
Fixes regression on API test by disabling the scrollbars before
configuring the adjustments.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setGtkAdjustments):
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add support for <li>, <dd> and <dt> nested tag closing
https://bugs.webkit.org/show_bug.cgi?id=41720
li, dd, and dt have nearly identical logic in HTML5, so I
attempted to make them share as much code as possible.
This fixes a bunch of subtests for html5lib/runner.html
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
* html/HTMLTreeBuilder.h:
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Factor HTMLConstructionSite out of HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41716
The HTMLContructionSite is the model object on which the
HTMLTreeBuilder (a controller) acts.
No behavior change. I'll move this class into its own file in a
followup patch.
* html/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::at):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLConstructionSite::HTMLConstructionSite):
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
(WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::closeTheCell):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
(WebCore::HTMLTreeBuilder::findFosterParentFor):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLConstructionSite::insertDoctype):
(WebCore::HTMLConstructionSite::insertComment):
(WebCore::HTMLConstructionSite::insertCommentOnDocument):
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
(WebCore::HTMLConstructionSite::createElementAndAttachToCurrent):
(WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLBodyElement):
(WebCore::HTMLConstructionSite::insertElement):
(WebCore::HTMLConstructionSite::insertSelfClosingElement):
(WebCore::HTMLConstructionSite::insertFormattingElement):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
(WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
(WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
(WebCore::HTMLTreeBuilder::generateImpliedEndTags):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLConstructionSite::currentElement):
(WebCore::HTMLConstructionSite::openElements):
(WebCore::HTMLConstructionSite::activeFormattingElements):
(WebCore::HTMLConstructionSite::head):
(WebCore::HTMLConstructionSite::form):
(WebCore::HTMLConstructionSite::releaseForm):
(WebCore::HTMLConstructionSite::setForm):
(WebCore::HTMLConstructionSite::fragmentScriptingPermission):
(WebCore::HTMLConstructionSite::attach):
2010-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] Scrollbars sometimes go dead and stop scrolling the view
https://bugs.webkit.org/show_bug.cgi?id=41711
Fixes GtkScrolledWindow scrollbars not actually scrolling the page
in certain conditions. No tests because it is hard to reproduce,
and depends on interaction with a widget that is outside of the
WebView, which is tricky.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setGtkAdjustments):
2010-07-06 Darin Adler <darin@apple.com>
Reviewed by Geoffrey Garen.
Simplify access to element attribute map, removing unneeded functions
https://bugs.webkit.org/show_bug.cgi?id=41703
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement): Use the
attributeMap function instead of the mappedAttributes function.
(WebCore::CSSStyleSelector::styleForElement): Ditto.
* dom/Element.cpp:
(WebCore::Element::~Element): Renamed namedAttrMap to m_attributeMap.
(WebCore::Element::removeAttribute): Ditto.
(WebCore::Element::getAttribute): Ditto.
(WebCore::Element::setAttribute): Ditto.
(WebCore::Element::setAttributeMap): Ditto.
(WebCore::Element::hasAttributes): Ditto.
(WebCore::Element::createAttributeMap): Ditto.
(WebCore::Element::insertedIntoDocument): Ditto.
(WebCore::Element::removedFromDocument): Ditto.
(WebCore::Element::getURLAttribute): Ditto.
* dom/Element.h: Removed unneeded virtual attributes function.
Made read-only argument to attributes function default to false.
(Later, we'll eliminate this.) Renamed namedAttrMap to m_attributeMap
and made it private instead of protected.
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged): Use attributeMap function
instead of namedAttrMap data member or mappedAttributes function.
(WebCore::StyledElement::classAttributeChanged): Ditto.
(WebCore::StyledElement::parseMappedAttribute): Ditto.
* dom/StyledElement.h: Removed mappedAttributes function and changed
callers to use attributeMap function instead.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setInputType): Use attributeMap instead of
mappedAttributes.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
2010-07-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add a build rule that removes the old generated Obj-C bindings for PluginArray and MimeTypeArray.
* DerivedSources.make:
2010-07-06 Adam Barth <abarth@webkit.org>
Unreviewed.
Make the remaining insertion modes explicit.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-06 Alexey Proskuryakov <ap@apple.com>
Not reviewed, fixing a simple copy/paste mistake.
https://bugs.webkit.org/show_bug.cgi?id=41156
Cross origin XMLHttpRequest should log the reason why connection failed
Covered by xmlhttprequest/access-control-basic-non-simple-deny-cached.html
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): Fix incorrectly
copy/pasted header field name.
2010-07-06 Xan Lopez <xlopez@igalia.com>
GTK+ fixes for the DOM plug-in renaming Apocalypse.
* GNUmakefile.am:
2010-07-06 Anders Carlsson <andersca@apple.com>
Yet another Windows build fix.
* DerivedSources.cpp:
2010-07-06 Anders Carlsson <andersca@apple.com>
Fix Windows build.
* WebCore.vcproj/WebCore.vcproj:
2010-07-06 Anders Carlsson <andersca@apple.com>
More build fixes.
* WebCore.gypi:
* WebCore.pro:
2010-07-06 Anders Carlsson <andersca@apple.com>
Try to fix Qt build.
* WebCore.pro:
2010-07-06 Anders Carlsson <andersca@apple.com>
Attempt to fix GTK+ build.
* GNUmakefile.am:
2010-07-06 Adam Barth <abarth@webkit.org>
Address reviewer comments from https://bugs.webkit.org/show_bug.cgi?id=41671
Deploy isTableBodyContextTag where possible. No behavior change.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
2010-07-06 Anders Carlsson <andersca@apple.com>
Build fixes.
* WebCore.gypi:
* bindings/js/JSBindingsAllInOne.cpp:
2010-07-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
DOM plug-in related renames
https://bugs.webkit.org/show_bug.cgi?id=41709
This is in preparation for using "Plugin" for something other than a DOM object.
MimeType => DOMMimeType
MimeTypeArray => DOMMimeTypeArray
Plugin => DOMPlugin
PluginArray => DOMPluginArray
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp: Added.
(WebCore::JSDOMMimeTypeArray::canGetItemsForName):
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp: Added.
(WebCore::JSDOMPluginArray::canGetItemsForName):
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp: Added.
(WebCore::JSDOMPlugin::canGetItemsForName):
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSMimeTypeArrayCustom.cpp: Removed.
* bindings/js/JSPluginArrayCustom.cpp: Removed.
* bindings/js/JSPluginCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
* page/DOMWindow.idl:
* page/Navigator.cpp:
(WebCore::Navigator::plugins):
(WebCore::Navigator::mimeTypes):
* page/Navigator.h:
* page/Navigator.idl:
* plugins/DOMMimeType.cpp: Added.
(WebCore::DOMMimeType::DOMMimeType):
(WebCore::DOMMimeType::~DOMMimeType):
(WebCore::DOMMimeType::type):
(WebCore::DOMMimeType::suffixes):
(WebCore::DOMMimeType::description):
(WebCore::DOMMimeType::enabledPlugin):
* plugins/DOMMimeType.h: Added.
(WebCore::DOMMimeType::create):
(WebCore::DOMMimeType::mimeClassInfo):
* plugins/DOMMimeType.idl: Added.
* plugins/DOMMimeTypeArray.cpp: Added.
(WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
(WebCore::DOMMimeTypeArray::~DOMMimeTypeArray):
(WebCore::DOMMimeTypeArray::length):
(WebCore::DOMMimeTypeArray::item):
(WebCore::DOMMimeTypeArray::canGetItemsForName):
(WebCore::DOMMimeTypeArray::namedItem):
(WebCore::DOMMimeTypeArray::getPluginData):
* plugins/DOMMimeTypeArray.h: Added.
(WebCore::DOMMimeTypeArray::create):
(WebCore::DOMMimeTypeArray::disconnectFrame):
* plugins/DOMMimeTypeArray.idl: Added.
* plugins/DOMPlugin.cpp: Added.
(WebCore::DOMPlugin::DOMPlugin):
(WebCore::DOMPlugin::~DOMPlugin):
(WebCore::DOMPlugin::name):
(WebCore::DOMPlugin::filename):
(WebCore::DOMPlugin::description):
(WebCore::DOMPlugin::length):
(WebCore::DOMPlugin::item):
(WebCore::DOMPlugin::canGetItemsForName):
(WebCore::DOMPlugin::namedItem):
* plugins/DOMPlugin.h: Added.
(WebCore::DOMPlugin::create):
(WebCore::DOMPlugin::pluginInfo):
* plugins/DOMPlugin.idl: Added.
* plugins/DOMPluginArray.cpp: Added.
(WebCore::DOMPluginArray::DOMPluginArray):
(WebCore::DOMPluginArray::~DOMPluginArray):
(WebCore::DOMPluginArray::length):
(WebCore::DOMPluginArray::item):
(WebCore::DOMPluginArray::canGetItemsForName):
(WebCore::DOMPluginArray::namedItem):
(WebCore::DOMPluginArray::refresh):
(WebCore::DOMPluginArray::pluginData):
* plugins/DOMPluginArray.h: Added.
(WebCore::DOMPluginArray::create):
(WebCore::DOMPluginArray::disconnectFrame):
* plugins/DOMPluginArray.idl: Added.
* plugins/MimeType.cpp: Removed.
* plugins/MimeType.h: Removed.
* plugins/MimeType.idl: Removed.
* plugins/MimeTypeArray.cpp: Removed.
* plugins/MimeTypeArray.h: Removed.
* plugins/MimeTypeArray.idl: Removed.
* plugins/Plugin.cpp: Removed.
* plugins/Plugin.h: Removed.
* plugins/Plugin.idl: Removed.
* plugins/PluginArray.cpp: Removed.
* plugins/PluginArray.h: Removed.
* plugins/PluginArray.idl: Removed.
2010-07-06 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=41156
Cross origin XMLHttpRequest should log the reason why connection failed
Covered by multiple existing tests.
* loader/CrossOriginAccessControl.cpp:
(WebCore::passesAccessControlCheck):
* loader/CrossOriginAccessControl.h:
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCacheItem::parse):
(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
(WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
* loader/CrossOriginPreflightResultCache.h:
Functions that check requests now take a string argument for error explanation.
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Make an informative error
if crossOriginRequestPolicy is DenyCrossOriginRequests. This doesn't currently go anywhere,
since XMLHttpRequest is the only client that logs from didFail(), and it of course supports
cross origin requests.
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Make an informative
error when trying to e.g. send a cross origin XMLHttpRequest to ftp://.
(WebCore::DocumentThreadableLoader::didReceiveResponse): Pass error explanation from cross
origin access control code.
(WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
* loader/DocumentThreadableLoader.h: preflightFailure() now takes arguments.
* platform/network/ResourceErrorBase.cpp:
* platform/network/ResourceErrorBase.h:
Added a constant for WebKit error domain.
* xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFail): Report the error to console.
One day we'll be able to also provide script file and line number here, so it's best to
pass error all the way down to XHR for reporting.
2010-07-06 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: convert script offset to webkit format in v8 ScriptDebugServer
https://bugs.webkit.org/show_bug.cgi?id=41696
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement InTableBodyMode
https://bugs.webkit.org/show_bug.cgi?id=41671
In the process of implementing this patch, Eric and I discussed some of
the high-level organization of the HTMLTreeBuilder class. We'd like to
split it up into smaller pieces. In the meantime, I've reordered some
of the declarations in the header to make the relations between the
different kinds of functions clearer.
* html/HTMLElementStack.cpp:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* html/HTMLTreeBuilder.h:
2010-07-06 Leandro Pereira <leandro@profusion.mobi>
Unreviewed build fix.
[EFL] Generate code for RemoteInspector.
* CMakeLists.txt:
2010-07-06 Varun Jain <varunjain@chromium.org>
Reviewed by Oliver Hunt.
Implementing CURVE_TO_CUBIC specification for SVG Path Segments. Currently,
curves specified in relative cordinates such as using createCurvetoCubicRel()
javascript function are not displayed.
SVG CurvetoCubic Path not implemented for relative cordinates
https://bugs.webkit.org/show_bug.cgi?id=41294
Test: svg/custom/svg-curve-with-relative-cordinates.html
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::toPathData):
2010-07-06 Alexey Proskuryakov <ap@apple.com>
Roll out patch for https://bugs.webkit.org/show_bug.cgi?id=41348 "Remove global variables
from XSLTProcessorLibxslt.cpp", as it causes crashes on buildbot.
* xml/XSLTProcessor.h:
(WebCore::XSLTProcessor::xslStylesheet):
(WebCore::XSLTProcessor::XSLTProcessor):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
(WebCore::setXSLTLoadCallBack):
(WebCore::xsltStylesheetPointer):
(WebCore::XSLTProcessor::transformToString):
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add processing for "in cell" mode and end tag processing for "in row"
https://bugs.webkit.org/show_bug.cgi?id=41688
I added several new table tests, not all of which pass yet.
Remaining failures exist due to lack of full "in table body" mode
support, which Adam has an outstanding patch for.
I believe all of the various branches added by this change are
covered now by our tests.
* html/HTMLElementStack.cpp:
- Added QualifiedName versions of inScope functions.
Using tagName.localName() is wrong for non-HTML elements,
in preparation for supporting foreign content we should centralize
our handling of QualifiedName in these functions instead of
sprinkling more .localName() calls around the code.
(WebCore::HTMLElementStack::inScope):
(WebCore::HTMLElementStack::inListItemScope):
(WebCore::HTMLElementStack::inTableScope):
* html/HTMLElementStack.h:
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::Entry::operator==):
(WebCore::HTMLFormattingElementList::Entry::operator!=):
- Calling element() on markers will assert, so use m_element.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::closeTheCell):
- Implemented per the spec.
(WebCore::HTMLTreeBuilder::processStartTag):
- Use isTableBodyContextTag where possible.
- Add InCellMode.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
- Use isTableBodyContextTag where possible.
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
- This code is needed from at least two callsites.
(WebCore::HTMLTreeBuilder::processEndTag):
- Add InCellMode and InRowMode
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* html/HTMLTreeBuilder.h:
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make <a> auto-close any parent <a> tag
https://bugs.webkit.org/show_bug.cgi?id=41684
I first fixed <a> to auto-close surrounding <a> tags.
That caused about 3 more test passes and one new test failure.
The test failure was due to <marque> not adding a marker
to the active formatting elements.
So I made a one-line change to fix <marque>. However that hit an
ASSERT due to a bug in indexOfFirstUnopenFormattingElement.
Fixing indexOfFirstUnopenFormattingElement fixed another bunch of
Adoption Agency related tests (clearly this was the second typo
which was causing all the adoption agency failures).
However fixing <marque> and indexOfFirstUnopenFormattingElement,
added yet another failure due to missing support for </p>
automatically adding an implicit <p> tag. Fixing </p> finally
got the tests to a stable (all improving) state.
In the end, these 4 minor (and very well tested) tweaks fixed a total
of 9 subtests in html5lib/runner.html.
Another subtest progressed, but did not fully pass due to missing
<table> foster-parenting support.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
2010-07-02 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez
[GStreamer] can't seek past maxTimeLoaded value
https://bugs.webkit.org/show_bug.cgi?id=40526
Extended the seekable range to the whole media. This allows video
played with progressive download to be seeked past the current
buffered position.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
2010-07-06 Andreas Wictor <andreas.wictor@xcerion.com>
Reviewed by Alexey Proskuryakov.
Remove global variables from XSLTProcessorLibxslt.cpp
https://bugs.webkit.org/show_bug.cgi?id=41348
Remove the globalProcessor and globalDocLoader global variables
by using the _private field that exists on most libxml structs.
No new tests, existing tests covers this.
* xml/XSLTProcessor.h:
(WebCore::XSLTProcessor::sourceNode):
(WebCore::XSLTProcessor::XSLTProcessor):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::registredXSLTProcessors):
(WebCore::registredXSLStyleSheets):
(WebCore::docLoaderFunc):
(WebCore::xsltStylesheetPointer):
(WebCore::XSLTProcessor::transformToString):
2010-07-06 Darin Adler <darin@apple.com>
Fix Cairo build.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::createPlatformShadow): Removed unnneded release
in code that passes a PassOwnPtr to another PassOwnPtr.
2010-07-06 Darin Adler <darin@apple.com>
Fix Chromium build.
* platform/graphics/skia/SkiaUtils.cpp:
(WebCore::scratchContext): Use leakPtr instead of release.
2010-07-06 Martin Robinson <mrobinson@igalia.com>
Unreviewed.
Build fix after r62549.
* GNUmakefile.am: Generate RemoteInspector files by manually listing
them instead of building them into libWebCoreJS.la.
2010-07-06 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Add adoptPtr and leakPtr functions for OwnPtr and PassOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=41320
Made code changes required because of the change to the release function.
The equivalent to the old release function is now named leakPtr and
should be used sparingly. The new release function returns a PassOwnPtr.
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData): Changed code to call
leakPtr instead of release.
* css/CSSParser.cpp:
(WebCore::CSSParser::addProperty): Ditto.
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::getFontData): Removed unneeded type
casting. Not sure why this changed the type to FontData* and then
casted back to SimpleFontData*.
* css/MediaQuery.cpp:
(WebCore::MediaQuery::MediaQuery): Removed call to release on a
PassOwnPtr, since the data member is now an OwnPtr.
(WebCore::MediaQuery::~MediaQuery): Removed now-unneeded delete.
* css/MediaQuery.h: Changed m_expressions to be an OwnPtr.
* html/HTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken): Use assignment instead
of the set function since there are no raw pointers involved.
* loader/CachedResource.cpp:
(WebCore::CachedResource::makePurgeable): Ditto.
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCache::appendEntry): Use
leakPtr instead of release, and also add FIXME about deleting the
old value if the original and URL are already in the map. I
believe dealing with this FIXME may fix a storage leak.
* loader/CrossOriginPreflightResultCache.h: Change the argument
to be PassOwnPtr instead of a raw pointer, since this function
does take ownership.
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
Use assignment instead of the set function since there are no raw
pointers involved.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::startIconLoader): Ditto.
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::decode): Ditto.
(WebCore::TextResourceDecoder::flush): Ditto.
* page/DOMTimer.cpp:
(WebCore::DOMTimer::fired): Use OwnPtr instead of an explicit
delete.
* platform/CrossThreadCopier.h: Removed explicit code that tried
to copy PassOwnPtr in a complicated way. It did nothing different
from just returning the PassOwnPtr. This presumably was done because
PassRefPtr has issues when copied cross-thread, but there are no
similar issues for PassOwnPtr. Someone with more experience than I
might be able to remove the specialization altogether, because
CrossThreadCopierPassThrough does the right thing in this case.
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::adoptPurgeableBuffer): Changed argument to
be a PassOwnPtr.
(WebCore::SharedBuffer::releasePurgeableBuffer): Changed result to
be a PassOwnPtr.
* platform/SharedBuffer.h: Updated for changes above.
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource): Changed one site
to use assignment instead of the set function since there are no raw
pointers involved. Changed another site to use leakPtr instead
of release.
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient): Use assignment
instead of the set function since there are no raw pointers involved.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setContent): Use leakPtr instead of release.
(WebCore::RenderStyle::setBoxShadow): Ditto.
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::DefaultSharedWorkerRepository::connectToWorker):
Removed unneeded call to release function in a code path that passes
a PassOwnPtr to a function that takes a PassOwnPtr.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::setTimeout): Changed argument type to PassOwnPtr.
(WebCore::WorkerContext::setInterval): Ditto.
* workers/WorkerContext.h: Updated for changes above.
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
Removed unneeded call to release function in code paths that pass
a PassOwnPtr to a function that takes a PassOwnPtr.
2010-07-06 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
WebInspector: generator part of the patch for bug 40675.
On the way to Remote Debugging we want to support JSON serialization
on both sides of WebInspector transport.
As far as InspectorFrontend class is a simple proxy to WebInspector
it would be better to generate it from an IDL file.
We have generator infrastructure for binding and will reuse it for
new generator.
https://bugs.webkit.org/show_bug.cgi?id=41692
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/rule_binding.py:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/IDLParser.pm:
* bindings/scripts/generate-bindings.pl:
* inspector/CodeGeneratorInspector.pm: Added.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::startTimelineProfiler):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/InspectorFrontend2.idl: Added.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
* inspector/InspectorTimelineAgent.h:
2010-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Rubber-stamped by Xan Lopez.
[GTK] Crashes when going back with page cache in unknown circunstances
https://bugs.webkit.org/show_bug.cgi?id=41710
Also NULL-check document, in hopes of fixing this hard to
reproduce crash that we are getting reported quite a bit.
* page/FrameView.cpp:
(WebCore::FrameView::windowClipRect):
2010-07-05 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: On the way to Remote Debuging we want to support JSON
serialization on both sides of WebInspector transport. As far as
InspectorFrontend class is a simple proxy to WebInspector it would
be better to generate it from an IDL file. We have generator
infostructure for binding and will reuse it for new generator.
https://bugs.webkit.org/show_bug.cgi?id=40675
* bindings/js/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::stackTrace):
* bindings/js/ScriptCallStack.h:
* bindings/v8/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::stackTrace):
* bindings/v8/ScriptCallStack.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::addRecordToTimeline):
* inspector/InspectorFrontend.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::pushGCEventRecords):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willDispatchEvent):
(WebCore::InspectorTimelineAgent::willLayout):
(WebCore::InspectorTimelineAgent::willRecalculateStyle):
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::willWriteHTML):
(WebCore::InspectorTimelineAgent::didWriteHTML):
(WebCore::InspectorTimelineAgent::didInstallTimer):
(WebCore::InspectorTimelineAgent::didRemoveTimer):
(WebCore::InspectorTimelineAgent::willFireTimer):
(WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
(WebCore::InspectorTimelineAgent::willLoadXHR):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
(WebCore::InspectorTimelineAgent::willSendResourceRequest):
(WebCore::InspectorTimelineAgent::willReceiveResourceData):
(WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
(WebCore::InspectorTimelineAgent::didMarkTimeline):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createXHRLoadData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createMarkTimelineData):
(WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
* inspector/TimelineRecordFactory.h:
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement InColgroupMode
https://bugs.webkit.org/show_bug.cgi?id=41663
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* html/HTMLTreeBuilder.h:
2010-07-06 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Implement bookmarking for HTML5 Adoption Agency algorithm
https://bugs.webkit.org/show_bug.cgi?id=41659
Was easier than I expected it to be.
Fixes a bunch of html5lib/runner.html tests.
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::bookmarkFor):
(WebCore::HTMLFormattingElementList::insertAt):
* html/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
(WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
(WebCore::HTMLFormattingElementList::Bookmark::elementBefore):
(WebCore::HTMLFormattingElementList::Bookmark::elementAfter):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement more of InTableMode
https://bugs.webkit.org/show_bug.cgi?id=41652
By the time we got around to landing this patch, it turns out to be
just a bit of cleanup (the functional changes where landed already.)
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-06 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62529.
http://trac.webkit.org/changeset/62529
https://bugs.webkit.org/show_bug.cgi?id=41661
http/tests/inspector/resource-har-conversion.html is broken
(Requested by yutak on #webkit).
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addResource):
(WebCore::InspectorController::removeResource):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::cachedResource):
(WebCore::InspectorResource::type):
(WebCore::InspectorResource::resourceData):
* inspector/InspectorResource.h:
(WebCore::InspectorResource::):
(WebCore::InspectorResource::create):
* inspector/front-end/Resource.js:
(WebInspector.Resource.Type.toString):
(WebInspector.Resource.prototype.set type):
(WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshRequestHeaders):
(WebInspector.ResourceView.prototype._refreshResponseHeaders):
(WebInspector.ResourceView.prototype._refreshHeaders):
* inspector/front-end/inspector.css:
(.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
(WebInspector.updateResource):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::disconnect):
(WebCore::WebSocketChannel::didOpen):
(WebCore::WebSocketChannel::didClose):
(WebCore::WebSocketChannel::processBuffer):
* websockets/WebSocketChannel.h:
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement InCaptionMode
https://bugs.webkit.org/show_bug.cgi?id=41660
Implementing this mode also turned up a subtle bug in the adoption
agency code.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
- We're supposed to reutrn the first *unopened* formatting element.
The old code returned the first *opened* formatting element.
* html/HTMLTreeBuilder.h:
2010-07-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement defaut cases for InTableMode
https://bugs.webkit.org/show_bug.cgi?id=41656
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
* html/HTMLTreeBuilder.h:
2010-07-05 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVGRenderContainer forces too many kids to relayout
https://bugs.webkit.org/show_bug.cgi?id=15391
Fixing a long-standing performance issue. We should only ever need to relayout container children when the parent bounds change.
The bounds of a container can only change, if the outermost RenderSVGRoot container uses relative length values and its size changes.
This can either happen when the window resizes for standalone SVG documents, or if an enclosing RenderBox changes width/height values.
Only relayout container children if the container has selfNeedsLayout() true, or if the parent bounds change.
Lively Kernel doesn't do any relayouts anymore, except if you change the Safari window size, this is a great progression.
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout): No need to special case Path updates, if the element uses relative lengths. SVGRenderSupport now handles this case.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout): Fix some style issues.
* rendering/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::setDrawsContents): Inlined for speed.
(WebCore::RenderSVGContainer::drawsContents): Ditto.
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::RenderSVGRoot): Initialize m_isLayoutSizeChanged to false.
(WebCore::RenderSVGRoot::layout): Set m_isLayoutSizeChanged=true when the RenderSVGRoot size changes during layout.
(WebCore::RenderSVGRoot::calcViewport): Remove hasRelativeLengths() special case.
* rendering/RenderSVGRoot.h:
(WebCore::RenderSVGRoot::isLayoutSizeChanged): New function, which returns true during layout() if the outermost <svg> size changes.
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calcViewport): Cleanup code, and remove obsolete hasRelativeLengths() special case.
* rendering/SVGRenderSupport.cpp:
(WebCore::svgRootTreeObject): Added helper function, that returns the RenderSVGRoot for a given RenderObject.
(WebCore::SVGRenderSupport::layoutChildren): Remove FIXME, only relayout container children, if the parent bounds change and the child uses relative lengths.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::updateRelativeLengthsInformation): Implemented this function. Keeps track of relative lengths elements, so that the
hasRelativeLengths() information is always up2date.
* svg/SVGStyledElement.h:
(WebCore::SVGStyledElement::hasRelativeLengths): Don't call the virtual selfHasRelativeLengths() information, just return wheter m_elementsWithRelativeLengths is not empty.
2010-07-05 Yuzo Fujishima <yuzo@google.com>
Reviewed by Dan Bernstein.
Fix for Bug 41509 - Ranges for @font-face unicode-range must be separated by commas
https://bugs.webkit.org/show_bug.cgi?id=41509
Test: fast/css/font-face-multiple-ranges-for-unicode-range.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceUnicodeRange):
2010-07-05 Yuta Kitamura <yutak@chromium.org>
Reviewed by Pavel Feldman.
Add WebSocket resource type to Web Inspector.
When a new WebSocket connection is established, a line for that connection
will appear in Web Inspector's Resources tab. If the resource name is
clicked, the details of handshake request and response will be shown.
Web Inspector: WebSocket in Resources tab
https://bugs.webkit.org/show_bug.cgi?id=40768
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addResource): WebSocket resource does not
have an associated loader, thus frame might be null. Need to check it.
(WebCore::InspectorController::removeResource): Ditto.
(WebCore::InspectorController::didCreateWebSocket):
(WebCore::InspectorController::willSendWebSocketHandshakeRequest):
(WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorController::didCloseWebSocket):
* inspector/InspectorController.h:
* inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
because WebSocket does not have a loader and we need to allow null for
these variables.
(WebCore::createReadableStringFromBinary):
(WebCore::InspectorResource::InspectorResource):
(WebCore::InspectorResource::create): Factory function of
regular (non-WebSocket) resources.
(WebCore::InspectorResource::createWebSocket): Factory function of
WebSocket resources.
(WebCore::InspectorResource::updateWebSocketRequest):
(WebCore::InspectorResource::updateWebSocketResponse):
(WebCore::InspectorResource::updateScriptObject):
(WebCore::InspectorResource::cachedResource):
(WebCore::InspectorResource::type):
(WebCore::InspectorResource::resourceData):
* inspector/InspectorResource.h:
(WebCore::InspectorResource::):
(WebCore::InspectorResource::markWebSocket):
* inspector/front-end/Resource.js:
(WebInspector.Resource.Type.toString):
(WebInspector.Resource.prototype.set type):
(WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshRequestHeaders):
(WebInspector.ResourceView.prototype._refreshResponseHeaders):
(WebInspector.ResourceView.prototype._refreshHeaders):
* inspector/front-end/inspector.css:
(.resources-category-websockets, .resources-category-other):
(.resources-category-websockets .resources-graph-bar):
(.resources-category-websockets.resource-cached .resources-graph-bar):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
(WebInspector.updateResource):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::disconnect):
(WebCore::WebSocketChannel::didOpen):
(WebCore::WebSocketChannel::didClose):
(WebCore::WebSocketChannel::processBuffer):
(WebCore::WebSocketChannel::identifier):
* websockets/WebSocketChannel.h:
2010-07-05 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix Chromium build.
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::fillResourceList):
(WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
2010-07-05 Adam Barth <abarth@webkit.org>
Unreviewed.
Move processStartTagForInBody to its own function.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
* html/HTMLTreeBuilder.cpp.orig: Added.
* html/HTMLTreeBuilder.h:
2010-07-05 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix one more notImplemented in h1-h6 start tag handling
https://bugs.webkit.org/show_bug.cgi?id=41654
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-05 Eric Seidel <eric@webkit.org>
Unreviewed. Just fixing proess to process.
Clearly Adam and I can't spell. Thankfully MikeSmith can.
Add <isindex> support, per HTML5
https://bugs.webkit.org/show_bug.cgi?id=41650
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::processFakeEndTag):
(WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
(WebCore::HTMLTreeBuilder::processStartTag):
* html/HTMLTreeBuilder.h:
2010-07-05 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add <isindex> support, per HTML5
https://bugs.webkit.org/show_bug.cgi?id=41650
Covered by html5lib/runner.html including a new
isindex.dat test suite.
* html/HTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
- Support passing attributes to the constructor.
(WebCore::AtomicHTMLToken::name):
(WebCore::AtomicHTMLToken::setName):
(WebCore::AtomicHTMLToken::getAttributeItem):
(WebCore::AtomicHTMLToken::attributes):
(WebCore::AtomicHTMLToken::takeAtributes):
- Reduces ref-churn, and makes it possible for callers
to modify attributes w/o affecting future uses of the attributes.
(WebCore::AtomicHTMLToken::usesName):
- Used by ASSERTS.
(WebCore::AtomicHTMLToken::usesAttributes):
- Used by ASSERTS.
* html/HTMLTreeBuilder.cpp:
(WebCore::convertToOldStyle):
- Can't be const, now that we use takeAttributes()
(WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
(WebCore::HTMLTreeBuilder::proesssFakeStartTag):
- New function. I'm not sure this is the perfect design
(I'd kinda like AtomicHTMLToken to be copyable so we can
have create functions for it), but this makes the callsites
using fake tokens much more readable.
(WebCore::HTMLTreeBuilder::proesssFakeEndTag):
(WebCore::HTMLTreeBuilder::processFakeCharacters):
(WebCore::HTMLTreeBuilder::attributesForIsindexInput):
(WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::insertScriptElement):
- Use takeAttributes() for less ref-churn.
(WebCore::HTMLTreeBuilder::createElement): ditto
(WebCore::HTMLTreeBuilder::finished):
- Remove bogus use of AtomicHTMLToken constructor which
wasn't even being used now that we support emitting EOF tokens
from the Tokenizer directly.
* html/HTMLTreeBuilder.h:
2010-07-05 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
ASSERT that we're processing the correct type of token
https://bugs.webkit.org/show_bug.cgi?id=41647
Making these asserts work required a small (non-observable) tweak to
some old code.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
2010-07-05 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement in select in table
https://bugs.webkit.org/show_bug.cgi?id=41646
This mode is mostly a fall-through to the InSelectMode.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-05 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement basic text node coalescing
https://bugs.webkit.org/show_bug.cgi?id=41623
This patch isn't the end-all, be-all of text node coalescing, but it's
a good start.
* dom/CharacterData.cpp:
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::appendData):
* dom/CharacterData.h:
- Added a new method to dance around mutation events.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertTextNode):
2010-07-05 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement InSelectMode
https://bugs.webkit.org/show_bug.cgi?id=41627
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-05 Fady Samuel <fsamuel@chromium.org>
Reviewed by Darin Adler.
Fixed a svg crash when setting class of an svg ellipse object.
Altering the CSS class of an attached SVG element causes WebKit to crash
https://bugs.webkit.org/show_bug.cgi?id=40857
Test: svg/css/svg-ellipse-render-crash.html
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged):
2010-07-05 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
Reproducible crash with Optimize Legibility extension
https://bugs.webkit.org/show_bug.cgi?id=41585
Test: fast/css/text-rendering-priority.html
Moved the text-rendering CSS property to the “high priority” group, because applying it
during style selection invalidates the font.
* css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.
2010-07-05 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
optimizeLegibility doesn't play nice with fonts that do not have a space glyph
https://bugs.webkit.org/show_bug.cgi?id=41599
No test because none of the fonts available to DumpRenderTree are missing a space glyph.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::findNextLineBreak): When the font does not map the space character
to a glyph, a fallback font is used for space. Therefore, wordTrailingSpaceWidth must be
initialized with the width of a space as measured by the Font rather than with the cached
space width.
2010-07-05 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Implement HTML5's "reset insertion mode appropriately"
https://bugs.webkit.org/show_bug.cgi?id=41628
This has some minimal testing. One from my previous
</table> patch, and a few from the main suite.
Mostly resetInsertionModeAppropriately isn't used yet
but we're about to add a bunch of states which do use it
and our test coverage will expand further as we do.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
* html/HTMLTreeBuilder.h:
2010-07-04 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add </table> support for "in table" insertion mode
https://bugs.webkit.org/show_bug.cgi?id=41591
resetInsertionModeAppropriately isn't implemented yet, however
I've added a test for the usage I added.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTag):
* html/HTMLTreeBuilder.h:
2010-07-05 Joseph Pecoraro <joepeck@webkit.org>
Unreviewed build fix for r62503.
Chromium missing method. Filed bug 41632 to track.
* loader/appcache/ApplicationCacheHost.h:
(WebCore::ApplicationCacheHost::applicationCache):
2010-07-05 Joseph Pecoraro <joepeck@webkit.org>
Unreviewed build fix for r62503.
Missed GTK's build file.
* GNUmakefile.am:
2010-07-05 Joseph Pecoraro <joepeck@webkit.org>
Unreviewed build fix for r62503.
Pass a blank ResourceResponse instead of passing 0.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::createResourceHandle):
2010-07-05 Joseph Pecoraro <joepeck@webkit.org>
Unreviewed build fix for r62503.
Forward declare ApplicationCache for Chromium.
* loader/appcache/ApplicationCacheHost.h:
2010-07-05 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Pavel Feldman.
WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
https://bugs.webkit.org/show_bug.cgi?id=24529
Parts of this patch were written by Kavita Kanetkar <kkanetkar@chromium.org>.
Part 2: Pulling ApplicationCache Resources to Display in the Inspector.
The InspectorApplicationCacheAgent gathers the information it
needs and forwards it on to the inspector.
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::fillResourceList): get information about the resources.
(WebCore::InspectorApplicationCacheAgent::getApplicationCaches): gathers all the information from the ApplicationCacheHost.
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h: defines structures to hold information about caches and resources.
(WebCore::InspectorApplicationCacheAgent::ApplicationCacheInfo::ApplicationCacheInfo):
(WebCore::InspectorApplicationCacheAgent::ResourceInfo::ResourceInfo):
(WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
* loader/appcache/ApplicationCacheHost.h:
(WebCore::ApplicationCacheHost::applicationCacheForInspector): new convention, public cache accessor for the inspector.
(WebCore::ApplicationCacheHost::documentLoader): added const.
The User Interface uses a DataGrid, like Cookies.
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView.prototype._update):
(WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
(WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
(WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.numberCompare):
(WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.localeCompare):
(WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
The usual frontend pull workflow, except this goes through
InspectorApplicationCacheAgent instead of InspectorController.
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::getApplicationCaches):
(WebCore::InspectorBackend::inspectorApplicationCacheAgent):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::didGetApplicationCaches):
* inspector/InspectorFrontend.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.hasChildNodes): style fix.
(WebInspector.DOMAgent.prototype.nodeForId): style fix.
(WebInspector.ApplicationCache.getApplicationCachesAsync): pull.
(WebInspector.Cookies.getCookiesAsync):
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.updateManifest):
(WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
(WebInspector._addAppCacheDomain):
(WebInspector.reset):
Miscellaneous. Localized Strings and fixes.
* English.lproj/localizedStrings.js: "Type", "%s (%s)"
* inspector/InspectorController.cpp:
(WebCore::InspectorController::deleteCookie):
* inspector/InspectorController.h:
2010-07-04 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Pavel Feldman.
WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
https://bugs.webkit.org/show_bug.cgi?id=24529
Part 1: Backend -> Frontend Messages. ApplicationCache Status and Connectivity Status.
This patch adds an InspectorApplicationCacheAgent to monitor application
cache changes, starts a UI in the Storage panel, handles the boilerplate
of adding new files.
Added an agent to encapsulate and handle the application cache logic.
This is similar to the timeline agent.
* inspector/InspectorApplicationCacheAgent.cpp: Added.
(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
(WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
(WebCore::InspectorApplicationCacheAgent::updateNetworkState):
* inspector/InspectorApplicationCacheAgent.h: Added.
InspectorController owns an InspectorApplicationCacheAgent. This
handles its lifetime management.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend): create the agent with a frontend.
(WebCore::InspectorController::disconnectFrontend): remove the agent when closing.
(WebCore::InspectorController::releaseFrontendLifetimeAgents):
* inspector/InspectorController.h:
User Interface for ApplicationCache in the StoragePanel. This follows
very closely to Cookies, it will have a sortable table of items. The
status bar contains connectivity and application cache status
indicators which update when backend messages are received. There
are some stubs which the next part will implement.
* inspector/front-end/ApplicationCacheItemsView.js: Added.
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems): refresh, delete, connectivity, application cache status.
(WebInspector.ApplicationCacheItemsView.prototype.show):
(WebInspector.ApplicationCacheItemsView.prototype.hide):
(WebInspector.ApplicationCacheItemsView.prototype.updateStatus): this is the application cache status indicator.
(WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState): this is the online/offline connectivity indicator.
(WebInspector.ApplicationCacheItemsView.prototype._update):
(WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
(WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
(WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
(WebInspector.ApplicationCacheItemsView.prototype.resize):
(WebInspector.ApplicationCacheItemsView.prototype._deleteButtonClicked):
(WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
(WebInspector.ApplicationCacheItemsView.prototype._refreshButtonClicked):
The usual dispatch flow from the backend, to the frontend, to the
panel, and then to the visible view. Some slight refactoring to
eliminate duplicated code.
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::updateDOMStorage):
(WebCore::InspectorFrontend::didGetApplicationCaches):
(WebCore::InspectorFrontend::updateApplicationCacheStatus):
* inspector/InspectorFrontend.h:
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addApplicationCache):
(WebInspector.StoragePanel.prototype.showDatabase):
(WebInspector.StoragePanel.prototype.showDOMStorage):
(WebInspector.StoragePanel.prototype.showCookies):
(WebInspector.StoragePanel.prototype.showApplicationCache):
(WebInspector.StoragePanel.prototype._genericViewSetup):
(WebInspector.StoragePanel.prototype.updateApplicationCacheStatus):
(WebInspector.StoragePanel.prototype.updateNetworkState):
(WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
(WebInspector.ApplicationCacheSidebarTreeElement):
(WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
(WebInspector.ApplicationCacheSidebarTreeElement.prototype.get mainTitle):
(WebInspector.ApplicationCacheSidebarTreeElement.prototype.set mainTitle):
(WebInspector.ApplicationCacheSidebarTreeElement.prototype.get subtitle):
(WebInspector.ApplicationCacheSidebarTreeElement.prototype.set subtitle):
* inspector/front-end/inspector.js:
(WebInspector.dispatch.delayDispatch):
(WebInspector.dispatch):
(WebInspector._addAppCacheDomain):
(WebInspector.addDOMStorage):
(WebInspector.updateDOMStorage):
Notify the InspectorApplicationCacheAgent on application cache changes
or specifics. Notify the InspectorController on generic resource events.
That is because ApplicationCacheController is a ResourceClient and needs
to trigger the resource events normally handled by ResourceLoader.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::inspectorUpdateApplicationCacheStatus): helper method to prevent duplicated code.
(WebCore::ApplicationCacheGroup::setNewestCache): status change.
(WebCore::ApplicationCacheGroup::makeObsolete): status change.
(WebCore::ApplicationCacheGroup::update): status change.
(WebCore::ApplicationCacheGroup::createResourceHandle): resource event.
(WebCore::ApplicationCacheGroup::willSendRequest): resource event.
(WebCore::ApplicationCacheGroup::didReceiveResponse): resource event.
(WebCore::ApplicationCacheGroup::didReceiveData): resource event.
(WebCore::ApplicationCacheGroup::didFinishLoading): resource event.
(WebCore::ApplicationCacheGroup::didFail): resource event.
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest): resource event.
(WebCore::ApplicationCacheGroup::manifestNotFound): status change.
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): status change.
(WebCore::ApplicationCacheGroup::setUpdateStatus): single access point for status changes.
* loader/appcache/ApplicationCacheGroup.h:
* page/Page.cpp:
(WebCore::networkStateChanged): connectivity status change.
Final inspector details to add the new file, style new elements,
images, and localized strings.
* inspector/front-end/inspector.css:
(.application-cache-sidebar-tree-item .icon):
(.timeline-records-counter, .storage-application-cache-status, .storage-application-cache-connectivity):
(.storage-application-cache-status-icon, .storage-application-cache-connectivity-icon):
(.status-bar-divider):
(.storage-application-cache-status, .storage-application-cache-connectivity):
* inspector/front-end/inspector.html:
* inspector/front-end/Images/applicationCache.png: Added.
* English.lproj/localizedStrings.js: "APPLICATION CACHE", "No Application Cache information available.", "Online", "Offline"
Updated build files.
* CMakeLists.txt:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/front-end/WebKit.qrc:
2010-07-05 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add basic <col> support to the treebuilder
https://bugs.webkit.org/show_bug.cgi?id=41590
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-05 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add basic "in row" mode to support <td> and <th> insertion
https://bugs.webkit.org/show_bug.cgi?id=41588
Also fixed <td> or <th> as a direct child of <table>.
Most of this was covered by html5lib/runner.html tests,
but I had to add a new tables01.dat to cover the <th> cases.
* html/HTMLElementStack.cpp:
(WebCore::HTMLNames::isTableRowScopeMarker):
(WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-05 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Finish implementing "any other end tag" for "in body" mode
https://bugs.webkit.org/show_bug.cgi?id=41582
I believe I found a "bug" in the HTML5 spec when writing this:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=10080
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
* html/HTMLTreeBuilder.h:
2010-07-05 Martin Robinson <mrobinson@igalia.com>
Unreviewed.
Add a missing slash to the list of generated sources. This
was missing from a previous build fix.
* GNUmakefile.am:
2010-07-05 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joseph Pecoraro.
Web Inspector: preserve scroll positions in source frame when switching between panes.
https://bugs.webkit.org/show_bug.cgi?id=41620
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.hide):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.set visible):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.hide):
2010-07-05 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dirk Schulze.
IE SVG test fails
https://bugs.webkit.org/show_bug.cgi?id=41619
Make SVGSVGElement.createSVGTransform create a SVGTransform with the
right type, thereby fixing the IE test.
Test: svg/custom/svg-createsvgtransform-type.html
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::createSVGTransform):
2010-07-05 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: computed style pane is not updated when styles pane is collapsed.
https://bugs.webkit.org/show_bug.cgi?id=41615
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.updateStyles):
2010-07-05 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Logic to track whether elements are using relative lengths is incomplete
https://bugs.webkit.org/show_bug.cgi?id=41566
Add logic to all SVG elements which create renderes to expose a method
"bool selfHasRelativeLengths()", that returns whether the element uses relative
lengths (eg. <rect x="50%"...). This will be used soon to avoid relayouts of
container children, when the bounds have not changed.
A new method SVGStyledElement::updateRelativeLengthsInformation() is added,
which is called from the various svgAttributeChanged() methods and insertedIntoDocument/removedFromDocument.
It will be implemented in a follow-up patch. This patch does not affect any test behaviour related
to relayouting. As SVGFilterElement finally got a proper svgAttributeChanged() method, it now
properly invalidates clients on attribute changes - covered by a new test.
Tests: svg/custom/relative-sized-inner-svg.xhtml
svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml
svg/filters/filter-width-update.svg
* rendering/RenderPath.cpp:
(WebCore::RenderPath::layout): Rename hasRelativeValues to hasRelativeLengths.
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout): Ditto.
(WebCore::RenderSVGRoot::calcViewport): Ditto.
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calcViewport): Ditto
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren): Ditto.
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged): Call updateRelativeLengthsInformation() if any attribute which may contain relative lengths changes.
(WebCore::SVGCircleElement::selfHasRelativeLengths): Ditto. Same for all other SVG*Elements below.
* svg/SVGCircleElement.h:
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
(WebCore::SVGEllipseElement::selfHasRelativeLengths):
* svg/SVGEllipseElement.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::svgAttributeChanged):
(WebCore::SVGFilterElement::selfHasRelativeLengths):
* svg/SVGFilterElement.h:
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::svgAttributeChanged):
(WebCore::SVGForeignObjectElement::selfHasRelativeLengths):
* svg/SVGForeignObjectElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged):
(WebCore::SVGImageElement::selfHasRelativeLengths):
* svg/SVGImageElement.h:
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged):
(WebCore::SVGLineElement::selfHasRelativeLengths):
* svg/SVGLineElement.h:
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::svgAttributeChanged):
(WebCore::SVGLinearGradientElement::selfHasRelativeLengths):
* svg/SVGLinearGradientElement.h:
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::svgAttributeChanged):
(WebCore::SVGMarkerElement::selfHasRelativeLengths):
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::svgAttributeChanged):
(WebCore::SVGMaskElement::selfHasRelativeLengths):
* svg/SVGMaskElement.h:
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::svgAttributeChanged):
(WebCore::SVGPatternElement::selfHasRelativeLengths):
* svg/SVGPatternElement.h:
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::svgAttributeChanged):
(WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
(WebCore::SVGRectElement::selfHasRelativeLengths):
* svg/SVGRectElement.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::selfHasRelativeLengths):
* svg/SVGSVGElement.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::insertedIntoDocument): Call updateRelativeLengthsInformation().
(WebCore::SVGStyledElement::removedFromDocument): Ditto.
(WebCore::SVGStyledElement::updateRelativeLengthsInformation): Not implemented so far. Will land in a follow-up patch, together with the render tree changes.
* svg/SVGStyledElement.h:
(WebCore::SVGStyledElement::hasRelativeLengths): Devirtualized. For now, just call selfHasRelativeLengths() - this will change in a follow-up patch.
(WebCore::SVGStyledElement::updateRelativeLengthsInformation):
(WebCore::SVGStyledElement::selfHasRelativeLengths): Renamed from hasRelativeValues().
* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::svgAttributeChanged):
(WebCore::SVGSymbolElement::selfHasRelativeLengths):
* svg/SVGSymbolElement.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::selfHasRelativeLengths):
* svg/SVGTextContentElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::svgAttributeChanged):
(WebCore::SVGTextPathElement::insertedIntoDocument): Call right base class' method. Skipped one in the hierachy before.
(WebCore::SVGTextPathElement::selfHasRelativeLengths):
* svg/SVGTextPathElement.h:
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::svgAttributeChanged):
(WebCore::listContainsRelativeValue): New helper funtion that checks wheter a SVGLengthList contains relative lengths.
(WebCore::SVGTextPositioningElement::selfHasRelativeLengths):
* svg/SVGTextPositioningElement.h:
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::insertedIntoDocument): Call right base class' method. Skipped on in the hierachy before.
(WebCore::SVGUseElement::removedFromDocument): Ditto.
(WebCore::SVGUseElement::svgAttributeChanged):
(WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateRelativeLengthsInformation() after building the shadow tree.
(WebCore::SVGUseElement::selfHasRelativeLengths): Same as all other methods, except that it includes the shadow tree root element.
* svg/SVGUseElement.h:
2010-07-05 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Problem with copying a code from Scripts panel.
https://bugs.webkit.org/show_bug.cgi?id=40432
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._getSelection):
(WebInspector.TextViewer.prototype._selectionToPosition):
2010-07-05 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze / Darin Adler.
Node.cloneNode does not work on SVG nodes
https://bugs.webkit.org/show_bug.cgi?id=41421
Be sure to synchronize animated SVG properties before checking whether NamedNodeMap exists.
When creating a SVG element from JS, and setting all attributes via SVG DOM, and not using setAttribute
the NamedNodeMap does not exist. When cloning such an element, be sure to synchronize SVG <-> XML DOM
attributes before attempting to clone, otherwhise the SVG animated properties are lost while cloning.
Test: svg/custom/clone-element-with-animated-svg-properties.html
* dom/Element.cpp:
(WebCore::Element::cloneElementWithoutChildren):
2010-07-05 Antti Koivisto <koivisto@iki.fi>
Revert unplanned project file change.
* WebCore.pri:
* WebCore.pro:
2010-07-05 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Darin Adler.
Memory corruption with SVG <use> element
https://bugs.webkit.org/show_bug.cgi?id=40994
Fix race condition in svgAttributeChanged. Never call svgAttributeChanged() from attributeChanged()
when we're synchronizing SVG attributes. It leads to either unnecessary extra work being done or
crashes. Especially together with <polyline>/<polygon> which always synchronize the SVGAnimatedPoints
datastructure with the points attribute, no matter if there are changes are not. This should be
furhter optimized, but this fix is sane and fixes the root of the evil races.
Test: svg/custom/use-property-synchronization-crash.svg
* svg/SVGElement.cpp:
(WebCore::SVGElement::attributeChanged):
2010-07-05 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: remove v8-specific code dealing with getOwnPropertyNames from InjectedScript.js
https://bugs.webkit.org/show_bug.cgi?id=41595
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-07-04 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dirk Schulze.
SVG polygons should draw polygons up to the first parsing error
https://bugs.webkit.org/show_bug.cgi?id=41140
Render polygons up until the first parsing error.
Test: svg/custom/poly-parsing-error.html
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::parseMappedAttribute):
2010-07-04 Alice Liu <alice.liu@apple.com>
Reviewed by Dan Bernstein.
Crash reading past end of block in UniscribeController::shapeAndPlaceItem
https://bugs.webkit.org/show_bug.cgi?id=41554
Test: platform/win/fast/text/uniscribe-item-boundary-crash.html
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem):
Don't look one past the end of str. Instead look to the next item, if applicable.
2010-07-04 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add basic "in table body" mode to support <tr> insertion
https://bugs.webkit.org/show_bug.cgi?id=41587
This also adds a (currently untestable?)
popUntilTableBodyScopeMarker code path.
Any tags which would be between a tbody a <tr> would end up
foster parented outside the <table>. I think the spec was
just being over-cautious with popUntilTableBodyScopeMarker.
* html/HTMLElementStack.cpp:
(WebCore::HTMLNames::isTableScopeMarker):
(WebCore::HTMLNames::isTableBodyScopeMarker):
(WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2010-07-04 Anders Carlsson <andersca@apple.com>
Fix Windows build.
* WebCore.vcproj/WebCore.vcproj:
2010-07-04 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTreeBuilder needs an adoption agency
https://bugs.webkit.org/show_bug.cgi?id=41453
Fix Qt Minimal build. SVGNames.h should always
be generated, even when SVG is off, however that's
not how things currently work.
* html/HTMLTreeBuilder.cpp:
2010-07-04 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add a very basic InTable insertion mode
https://bugs.webkit.org/show_bug.cgi?id=41581
There is still a bunch of low-hanging fruit left for this
mode, but even this most-basic support lets us pass 6 more tests. :)
It's a progression, ship it! :)
* html/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isListItemScopeMarker):
(WebCore::HTMLNames::isTableScopeMarker):
(WebCore::HTMLElementStack::popUntilTableScopeMarker):
* html/HTMLElementStack.h:
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::appendMarker):
* html/HTMLFormattingElementList.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
* html/HTMLTreeBuilder.h:
2010-07-01 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTreeBuilder needs an adoption agency
https://bugs.webkit.org/show_bug.cgi?id=41453
This changes some test results, but only makes the simplest
adoption agency cases pass. I think the code is likely
very close, but further iteration to make this change larger
seems counter-productive. I recommend we check in this
progression and work from here.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::addChildCommon):
- Make sure callers don't assume this will reparent.
(WebCore::ContainerNode::parserAddChild):
- Update comment to document lack of reparenting behavior.
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::ElementRecord::ElementRecord):
(WebCore::HTMLElementStack::ElementRecord::~ElementRecord):
(WebCore::HTMLElementStack::ElementRecord::replaceElement):
(WebCore::HTMLElementStack::ElementRecord::isAbove):
- Added for debugging.
(WebCore::HTMLElementStack::pushHTMLHtmlElement):
(WebCore::HTMLElementStack::insertAbove):
- Needed for the adoption agency.
(WebCore::HTMLElementStack::topRecord):
(WebCore::HTMLElementStack::bottom):
(WebCore::HTMLElementStack::removeHTMLHeadElement):
(WebCore::HTMLElementStack::remove):
(WebCore::HTMLElementStack::find):
(WebCore::HTMLElementStack::topmost):
(WebCore::HTMLElementStack::contains):
(WebCore::HTMLElementStack::htmlElement):
(WebCore::HTMLElementStack::headElement):
(WebCore::HTMLElementStack::bodyElement):
(WebCore::HTMLElementStack::pushCommon):
(WebCore::HTMLElementStack::removeNonTopCommon):
- Fix the name to match top/bottom.
* html/HTMLElementStack.h:
(WebCore::HTMLElementStack::ElementRecord::element):
(WebCore::HTMLElementStack::ElementRecord::next):
(WebCore::HTMLElementStack::ElementRecord::releaseNext):
(WebCore::HTMLElementStack::ElementRecord::setNext):
* html/HTMLFormattingElementList.cpp:
(WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
(WebCore::HTMLFormattingElementList::contains):
(WebCore::HTMLFormattingElementList::find):
(WebCore::HTMLFormattingElementList::remove):
* html/HTMLFormattingElementList.h:
(WebCore::HTMLFormattingElementList::isEmpty):
(WebCore::HTMLFormattingElementList::size):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
- Part of the Adoption Agency algorithm.
(WebCore::HTMLTreeBuilder::findFosterParentFor):
- Used to move mis-nested content out of tables.
This doesn't seem to work quite right yet.
(WebCore::HTMLTreeBuilder::reparentChildren):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
- The ridiculously long/complicated adoption agency algorithm from HTML5.
(WebCore::HTMLTreeBuilder::processEndTag):
* html/HTMLTreeBuilder.h:
2010-07-04 Justin Schuh <jschuh@chromium.org>
Reviewed by Darin Adler.
Remove custom src bindings for HTMLFrameElement and HTMLIFrameElement
https://bugs.webkit.org/show_bug.cgi?id=41578
Remove bindings obsoleted by: http://trac.webkit.org/changeset/59866
No new tests because behavior is not changed.
* Android.jscbindings.mk:
* Android.v8bindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSHTMLFrameElementCustom.cpp:
* bindings/js/JSHTMLIFrameElementCustom.cpp: Removed.
* bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
* bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Removed.
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
2010-07-03 Adam Barth <abarth@webkit.org>
Reviewed by Maciej Stachowiak.
Implement AfterAfterFramesetMode
https://bugs.webkit.org/show_bug.cgi?id=41561
This mode is almost unobservable. The main way to observe it seems to
be seeing where comment nodes get attached to the DOM.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-03 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
WebGLRenderingContext::vertexAttrib* leads to possible out-of-range vector member visit
https://bugs.webkit.org/show_bug.cgi?id=41572
* html/canvas/WebGLRenderingContext.cpp: Fix the out-of-range vector member visit, also refactor the code.
(WebCore::WebGLRenderingContext::vertexAttrib1f):
(WebCore::WebGLRenderingContext::vertexAttrib1fv):
(WebCore::WebGLRenderingContext::vertexAttrib2f):
(WebCore::WebGLRenderingContext::vertexAttrib2fv):
(WebCore::WebGLRenderingContext::vertexAttrib3f):
(WebCore::WebGLRenderingContext::vertexAttrib3fv):
(WebCore::WebGLRenderingContext::vertexAttrib4f):
(WebCore::WebGLRenderingContext::vertexAttrib4fv):
(WebCore::WebGLRenderingContext::vertexAttribfImpl):
(WebCore::WebGLRenderingContext::vertexAttribfvImpl):
* html/canvas/WebGLRenderingContext.h: Helper function declaration.
2010-07-03 Jeremy Orlow <jorlow@chromium.org>
Ugh. Have to put the destructor in the .h file since the .ccp isn't compiled yet.
* storage/IDBKey.h:
(WebCore::IDBKey::~IDBKey):
2010-07-03 Jeremy Orlow <jorlow@chromium.org>
Build fix. Forgot destructor.
* storage/IDBKey.cpp:
(WebCore::IDBKey::~IDBKey):
2010-06-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Dumitru Daniliuc.
Support for keys and in-memory storage for IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=41252
It'll take some time to get data persistence working for IndexedDB,
so until then, we'll just store everything in an in memory tree.
The tree uses WTF::AVLTree and is a template so that it can be used by
object stores (IDBKey -> SerializedScriptValue) and indexes (IDBKey ->
IDBKey). This class will be used in a subsequent patch.
Also add an IDBKey type that represents one of these keys. We use a
custom toJS function in a way similar to IDBAny to convert from WebCore
to a JS value. For converting the other way, we have to teach the code
generators what to do (unfortunately). This is done in a way similar
to serialized script value. Unlike serialized script value, IDBKey is
in WebCore and only a helper function is JS engine specific.
This code is not accessable from layout tests. (Will fix in
https://bugs.webkit.org/show_bug.cgi?id=41250) The bindings tests
show us that the generated bindings are what we expect.
* ForwardingHeaders/wtf/AVLTree.h: Added.
* bindings/js/IDBBindingUtilities.cpp: Added.
(WebCore::createIDBKeyFromValue):
* bindings/js/IDBBindingUtilities.h: Added.
* bindings/js/JSIDBKeyCustom.cpp: Added.
(WebCore::toJS):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::idbKey):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_idb_key):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj idbKey:]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::idbKeyCallback):
(WebCore::):
* bindings/v8/IDBBindingUtilities.cpp: Added.
(WebCore::createIDBKeyFromValue):
* bindings/v8/IDBBindingUtilities.h: Added.
* bindings/v8/custom/V8IDBKeyCustom.cpp: Added.
(WebCore::toV8):
* storage/IDBCallbacks.h:
* storage/IDBKey.cpp: Added.
(WebCore::IDBKey::IDBKey):
(WebCore::IDBKey::~IDBKey):
* storage/IDBKey.h: Added.
(WebCore::IDBKey::create):
(WebCore::IDBKey::):
(WebCore::IDBKey::type):
(WebCore::IDBKey::string):
(WebCore::IDBKey::number):
* storage/IDBKey.idl: Added.
* storage/IDBKeyTree.h: Added.
(WebCore::IDBKeyTree::create):
(WebCore::IDBKeyTree::AVLTreeAbstractor::get_less):
(WebCore::IDBKeyTree::AVLTreeAbstractor::set_less):
(WebCore::IDBKeyTree::AVLTreeAbstractor::get_greater):
(WebCore::IDBKeyTree::AVLTreeAbstractor::set_greater):
(WebCore::IDBKeyTree::AVLTreeAbstractor::get_balance_factor):
(WebCore::IDBKeyTree::AVLTreeAbstractor::set_balance_factor):
(WebCore::IDBKeyTree::AVLTreeAbstractor::null):
(WebCore::IDBKeyTree::AVLTreeAbstractor::compare_key_node):
(WebCore::IDBKeyTree::AVLTreeAbstractor::compare_node_node):
(WebCore::::IDBKeyTree):
(WebCore::::~IDBKeyTree):
(WebCore::::AVLTreeAbstractor::compare_key_key):
(WebCore::::get):
(WebCore::::insert):
(WebCore::::remove):
2010-07-03 Jon Honeycutt <jhoneycutt@apple.com>
The missing plug-in indicator should be clickable
https://bugs.webkit.org/show_bug.cgi?id=41550
<rdar://problem/8132162>
From an original patch by Kevin Decker.
Reviewed by Darin Adler.
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
If the renderer is a RenderEmbeddedWidget showing the missing plug-in
indicator, and the event is a click even, call the ChromeClient's
missingPluginButtonClicked() function.
* page/ChromeClient.h:
(WebCore::ChromeClient::missingPluginButtonClicked):
Declare missingPluginButtonClicked(), and stub the default
implementation.
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
Initialize m_showsMissingPluginIndicator.
(WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
Assert that we're not currently showing any replacement text. Set
m_showsMissingPluginIndicator after setting the replacement text.
(WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator):
Add the same assert as above.
* rendering/RenderEmbeddedObject.h:
(WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
Getter for m_showsMissingPluginIndicator.
2010-07-02 Oliver Hunt <oliver@apple.com>
Reviewed by Geoffrey Garen.
Move BOM handling out of the lexer and parser
https://bugs.webkit.org/show_bug.cgi?id=41539
Update WebCore to ensure that SourceProviders don't
produce strings with BOMs in them.
* bindings/js/ScriptSourceProvider.h:
(WebCore::ScriptSourceProvider::ScriptSourceProvider):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::StringSourceProvider):
* loader/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
(WebCore::CachedScript::script):
* loader/CachedScript.h:
(WebCore::CachedScript::):
CachedScript now stores decoded data with the BOMs stripped,
and caches the presence of BOMs across memory purges.
2010-07-03 Xan Lopez <xlopez@igalia.com>
Include DerivedSources/WebCore before DerivedSources/
Recently DerivedSources generation was changed, with some files no
longer being generated in the toplevel DerivedSources
directory. Since that directory is first in the -I flags the build
can be broken in some cases by including old files unless a 'make
clean' is done. Change the -I order to fix the build in the 32 bit
Release bot.
* GNUmakefile.am:
2010-07-03 Erik Arvidsson <arv@chromium.org>
Reviewed by Ojan Vafai.
Fix issue where a contextmenu event was reporting the wrong target if
the context menu was shown due to pressing the context menu key
(or Shift+F10).
Split sendContextMenuForEvent into one case for keyboard events and use
that when the contextmenu event should be dispatched due to a keypress.
For the keboard case we now use the focused node as the target for the
event and use the clipped rect to determine the position of the menu.
https://bugs.webkit.org/show_bug.cgi?id=38129
Use manual test since DRT does not handle context menu keys.
* manual-tests/win/contextmenu-key.html: Added.
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
* page/EventHandler.h:
2010-07-03 Dirk Schulze <krit@webkit.org>
Unreviewed sort of Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-07-03 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Port Widget
https://bugs.webkit.org/show_bug.cgi?id=41538
Make Widget a dummy class. WebKit Brew MP uses the full screen mode
and does not use the window system introduced in Brew MP.
* platform/Widget.h:
* platform/brew/WidgetBrew.cpp: Added.
(WebCore::Widget::Widget):
(WebCore::Widget::~Widget):
(WebCore::Widget::frameRect):
(WebCore::Widget::setFrameRect):
(WebCore::Widget::setFocus):
(WebCore::Widget::setCursor):
(WebCore::Widget::show):
(WebCore::Widget::hide):
(WebCore::Widget::paint):
(WebCore::Widget::setIsSelected):
2010-07-03 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement AfterFramesetMode
https://bugs.webkit.org/show_bug.cgi?id=41560
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement InFramesetMode
https://bugs.webkit.org/show_bug.cgi?id=41559
Pretty straighforward. We still don't handle character tokens
correctly.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Handle <frameset> InBody
https://bugs.webkit.org/show_bug.cgi?id=41558
Handling the <frameset> tag in the InBody mode is somewhat delicate.
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::popHTMLBodyElement):
(WebCore::HTMLElementStack::popUntil):
(WebCore::HTMLElementStack::popCommon):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Special handling of <rp> and <rt> tags
https://bugs.webkit.org/show_bug.cgi?id=41557
So sayeth the spec.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement special optgroup processing
https://bugs.webkit.org/show_bug.cgi?id=41556
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Handle <image> in new parser
https://bugs.webkit.org/show_bug.cgi?id=41555
This patch is kind of goofy but apparently how the world works.
* html/HTMLToken.h:
(WebCore::AtomicHTMLToken::setName):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-02 Kwang Yul Seo <skyul@company100.net>
Reviewed by Alexey Proskuryakov.
Remove extra semicolon at the end of HTMLTreeBuilder::attach
https://bugs.webkit.org/show_bug.cgi?id=41546
This is not critical, but the extra semicolon at the end of HTMLTreeBuilder::attach
causes a warning in RVCT.
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::attach):
2010-07-02 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Darin Adler.
Performance::disconnectFrame() needs to disconnect its children
https://bugs.webkit.org/show_bug.cgi?id=41533
No new tests because no new functionality.
* page/Performance.cpp:
(WebCore::Performance::disconnectFrame):
2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Sam Weinig.
Checking if WTF_USE_JSC is defined before redefining it in config.h
https://bugs.webkit.org/show_bug.cgi?id=41530
* config.h:
2010-07-02 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Dimitri Glazkov.
Add vendor prefix to window.performance
https://bugs.webkit.org/show_bug.cgi?id=41525
No new tests because window.performance tests not landed yet.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::webkitPerformance):
* page/DOMWindow.h:
(WebCore::DOMWindow::optionalWebkitPerformance):
* page/DOMWindow.idl:
2010-07-02 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Oliver Hunt.
Minor fix: Diffuse constant is float (not integer)
https://bugs.webkit.org/show_bug.cgi?id=10412
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
2010-07-02 Martin Robinson <mrobinson@igalia.com>
Unreviewed.
Build fix for GTK+. Try to force a rebuild of the HTMLNames.h
file first by touching HTMLTagNames.in.
* html/HTMLTagNames.in:
2010-07-02 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Oliver Hunt.
RGB colors should be clamped to the 0-255 range
https://bugs.webkit.org/show_bug.cgi?id=39482
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#colors
Test: fast/canvas/canvas-color-clamping.html
* css/CSSParser.cpp:
(WebCore::parseColorInt):
(WebCore::CSSParser::parseColor):
(WebCore::parseColorIntFromValue):
(WebCore::CSSParser::parseColorParameters):
2010-07-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62410.
http://trac.webkit.org/changeset/62410
https://bugs.webkit.org/show_bug.cgi?id=41549
accursed last minute changes (Requested by olliej on #webkit).
* bindings/js/ScriptSourceProvider.h:
(WebCore::ScriptSourceProvider::ScriptSourceProvider):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::StringSourceProvider):
* loader/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
(WebCore::CachedScript::script):
* loader/CachedScript.h:
2010-07-02 Martin Robinson <mrobinson@igalia.com>
Unreviewed.
Further Build fix for GTK+. Also include HTMLElementFactory.h in
the list of dependencies.
* GNUmakefile.am:
2010-07-02 Martin Robinson <mrobinson@igalia.com>
Unreviewed.
Build fix for GTK+. *Names.{cpp,h} targets should now include the
header files. Also adds the header files to the generated sources list.
* GNUmakefile.am:
2010-07-02 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Darin Fisher.
DB clean up.
https://bugs.webkit.org/show_bug.cgi?id=41404
1. Made all DatabaseTasks internal classes of Database and made
the Database methods called by those tasks private.
2. Removed the Database::stop{ed}() methods.
3. Removed the code that kept track of open databases from
ScriptExecutionContext (no longer needed).
4. Made minor changes to Database::closeImmediately() to make it
possible for DatabaseThread to call that method instead of
close().
5. Minor fix to DatabaseTracker: addOpenDatabase() should call
OriginQuotaManager::addDatabase() if the origin quota manager
is not tracking this origin.
6. Removed Database::performPolicyChecks(). We already update the
DB size after each transaction, and we enforce a max size for
the DB at the beginning of each transaction.
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::stopDatabases):
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::hasOpenDatabases):
* storage/Database.cpp:
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::markAsDeletedAndClose):
(WebCore::Database::close):
(WebCore::Database::closeImmediately):
* storage/Database.h:
* storage/DatabaseTask.cpp:
(WebCore::DatabaseTask::performTask):
(WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::Database::DatabaseOpenTask::doPerformTask):
(WebCore::Database::DatabaseOpenTask::debugTaskName):
(WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
(WebCore::Database::DatabaseCloseTask::doPerformTask):
(WebCore::Database::DatabaseCloseTask::debugTaskName):
(WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
(WebCore::Database::DatabaseTransactionTask::doPerformTask):
(WebCore::Database::DatabaseTransactionTask::debugTaskName):
(WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
(WebCore::Database::DatabaseTableNamesTask::doPerformTask):
(WebCore::Database::DatabaseTableNamesTask::debugTaskName):
* storage/DatabaseTask.h:
(WebCore::Database::DatabaseOpenTask::create):
(WebCore::Database::DatabaseCloseTask::create):
(WebCore::Database::DatabaseTransactionTask::create):
(WebCore::Database::DatabaseTableNamesTask::create):
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThread):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::addOpenDatabase):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::executeSQL):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
2010-07-02 Oliver Hunt <oliver@apple.com>
Reviewed by Geoffrey Garen.
Move BOM handling out of the lexer and parser
https://bugs.webkit.org/show_bug.cgi?id=41539
Update WebCore to ensure that SourceProviders don't
produce strings with BOMs in them.
* bindings/js/ScriptSourceProvider.h:
(WebCore::ScriptSourceProvider::ScriptSourceProvider):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::StringSourceProvider):
* loader/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
(WebCore::CachedScript::script):
* loader/CachedScript.h:
(WebCore::CachedScript::):
CachedScript now stores decoded data with the BOMs stripped,
and caches the presence of BOMs across memory purges.
2010-07-02 Sam Weinig <sam@webkit.org>
Add missing symbol to exports file.
* WebCore.base.exp:
2010-07-02 Abhishek Arya <inferno@chromium.org>
Reviewed by Darin Fisher.
Remove the extra setFailed() call in JPEG decoder to prevent
re-using an already freed object.
https://bugs.webkit.org/show_bug.cgi?id=41487
Test: fast/images/large-size-image-crash.html
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
2010-07-02 Peter Beverloo <peter@lvp-media.com>
Reviewed by Maciej Stachowiak.
Add the HTML5 <mark> element. Text content of the element will have
a yellow background color and black text.
Test: fast/html/mark-element.html
Tests for <p> closing, phrasing child content and residual style.
* css/html.css:
(mark):
* html/HTMLElement.cpp:
(WebCore::inlineTagList):
* html/HTMLTagNames.in:
* html/LegacyHTMLTreeBuilder.cpp:
(WebCore::LegacyHTMLTreeBuilder::getNode):
(WebCore::LegacyHTMLTreeBuilder::isInline):
(WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
2010-07-02 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Fix issues in boundary situations for WebGLRenderingContext::drawArrays/drawElements
https://bugs.webkit.org/show_bug.cgi?id=41473
* WebCore.gypi: Add CheckedInt.h.
* WebCore.xcodeproj/project.pbxproj: Add CheckedInt.h.
* html/canvas/CheckedInt.h: Added support of safe integer operations.
(mozilla::CheckedInt_internal::integer_type_manually_recorded_info::):
(mozilla::CheckedInt_internal::is_unsupported_type::):
(mozilla::CheckedInt_internal::):
(mozilla::CheckedInt_internal::integer_traits::):
(mozilla::CheckedInt_internal::integer_traits::min):
(mozilla::CheckedInt_internal::integer_traits::max):
(mozilla::CheckedInt_internal::has_sign_bit):
(mozilla::CheckedInt_internal::binary_complement):
(mozilla::CheckedInt_internal::is_in_range):
(mozilla::CheckedInt_internal::is_add_valid):
(mozilla::CheckedInt_internal::is_sub_valid):
(mozilla::CheckedInt_internal::is_mul_valid):
(mozilla::CheckedInt_internal::is_div_valid):
(mozilla::CheckedInt::CheckedInt):
(mozilla::CheckedInt::value):
(mozilla::CheckedInt::valid):
(mozilla::CheckedInt::operator -):
(mozilla::CheckedInt::operator ==):
(mozilla::CheckedInt::operator !=):
(mozilla::operator /):
(mozilla::cast_to_CheckedInt_impl::run):
(mozilla::):
(mozilla::cast_to_CheckedInt):
(mozilla::operator ==):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateIndexArrayConservative): Fix a bug against 0-size buffer situation.
(WebCore::WebGLRenderingContext::drawArrays): Deal with overflows and count==0 situation.
(WebCore::WebGLRenderingContext::drawElements): Deal with count==0 situation.
2010-07-02 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
linkProgram should fail when vertex/fragment shaders are not both present
https://bugs.webkit.org/show_bug.cgi?id=41380
Test: fast/canvas/webgl/program-test.html
* html/canvas/WebGLProgram.cpp: Add flag for link failure due to missing shaders.
(WebCore::WebGLProgram::WebGLProgram):
* html/canvas/WebGLProgram.h: Add interface for linkFailure flag.
(WebCore::WebGLProgram::isLinkFailureFlagSet):
(WebCore::WebGLProgram::setLinkFailureFlag):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getProgramParameter): Intercept when linkFailureFlag is set.
(WebCore::WebGLRenderingContext::linkProgram): Check if there are missing shaders and don't link if yes.
* html/canvas/WebGLShader.cpp: Cache shader type.
(WebCore::WebGLShader::WebGLShader):
* html/canvas/WebGLShader.h: Ditto.
(WebCore::WebGLShader::getType):
2010-07-02 Qi Zhang <qi.2.zhang@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Failed on http://philip.html5.org/tests/canvas/suite/tests/2d.drawImage.negativesource.html
Support negative width and height in canvas image draw
* platform/graphics/FloatRect.h:
* platform/graphics/qt/FloatRectQt.cpp:
(WebCore::FloatRect::normalized):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
2010-06-24 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Alexey Proskuryakov.
REGRESSION: Enter does not trigger submit of forms when focus is on select.
https://bugs.webkit.org/show_bug.cgi?id=39532
Restore behavior where hitting "Enter" on a select element attempts to submit
form implicitly.
* dom/SelectElement.cpp:
(WebCore::SelectElement::menuListDefaultEventHandler): Added htmlForm argument,
and attempting to submit implicitly.
(WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
(WebCore::SelectElement::defaultEventHandler): Plumbed through htmlForm argument.
* dom/SelectElement.h: Added htmlForm argument to method declaration.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::defaultEventHandler): Changed to provide submitting form
as the argument.
2010-07-02 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Support indeterminate checkbox for Linux, and a small fix for Windows
https://bugs.webkit.org/show_bug.cgi?id=41508
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintCheckbox):
Use dedicated images for indeterminate states.
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::determineClassicState):
Do not use DFCS_CHECKED in a case of indeterminate state in
order to have consistent appearance of indeterminate checkbox.
2010-07-02 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Gustavo Noronha Silva.
Fixes https://bugs.webkit.org/show_bug.cgi?id=41323.
Provides an implementation of the 'squiggle' used for
bad grammar or spelling, based on the Pango logic used
by the GTK builds.
No new tests. Covered by LayoutTests/editing/spelling
* WebCore.vcproj/WebCore.vcproj: Add new file holding underline
implementation, set to build only for WinCairo port.
* platform/graphics/cairo/DrawErrorUnderline.cpp: Added.
(drawErrorUnderline): New file containing the squiggle drawing
logic based on the Pango implementation. Placed in its own file
to isolate licenses.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
Have WinCairo build call new 'drawErrorUnderline' implementation.
2010-07-02 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Separate DerivedSources per-project
https://bugs.webkit.org/show_bug.cgi?id=41109
Generate WebCore derived sources in <builddir>/DerivedSources/WebCore.
* GNUmakefile.am:
2010-07-02 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Implement OpenGL ES 2.0 semantics for vertex attribute 0
https://bugs.webkit.org/show_bug.cgi?id=41300
Test: fast/canvas/webgl/gl-bind-attrib-location-test.html
fast/canvas/webgl/gl-vertex-attrib.html
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::numActiveAttribLocations): const.
(WebCore::WebGLProgram::getActiveAttribLocation): const.
(WebCore::WebGLProgram::isUsingVertexAttrib0): Determine whether vertex attrib 0 is used by the program.
* html/canvas/WebGLProgram.h: Declare isUsingVertexAttrib0.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with vertex attrib 0.
(WebCore::WebGLRenderingContext::disableVertexAttribArray): Ditto.
(WebCore::WebGLRenderingContext::drawArrays): Ditto.
(WebCore::WebGLRenderingContext::drawElements): Ditto.
(WebCore::WebGLRenderingContext::getVertexAttrib): Use cached value instead of calling glGetVertexAtrtrib.
(WebCore::WebGLRenderingContext::vertexAttrib1f): Validate input, deal with vertex attrib 0.
(WebCore::WebGLRenderingContext::vertexAttrib1fv): Ditto.
(WebCore::WebGLRenderingContext::vertexAttrib2f): Ditto.
(WebCore::WebGLRenderingContext::vertexAttrib2fv): Ditto.
(WebCore::WebGLRenderingContext::vertexAttrib3f): Ditto.
(WebCore::WebGLRenderingContext::vertexAttrib3fv): Ditto.
(WebCore::WebGLRenderingContext::vertexAttrib4f): Ditto.
(WebCore::WebGLRenderingContext::vertexAttrib4fv): Ditto.
(WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
(WebCore::WebGLRenderingContext::handleNPOTTextures): Move isGLES2Compliant() to caller.
(WebCore::WebGLRenderingContext::vertexAttribImpl): Helper for vertexAttribNfv.
(WebCore::WebGLRenderingContext::initVertexAttrib0): Initialize vertex attrib 0.
(WebCore::WebGLRenderingContext::simulateVertexAttrib0): Simulate vertex attrib 0.
(WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): Restore states after simulating vertex attrib 0.
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): Tracking full vertex attrib states.
(WebCore::WebGLRenderingContext::VertexAttribState::initValue): Init value to [0,0,0,1].
2010-07-02 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Need to validate the size of the incoming arrays for uniform* functions
https://bugs.webkit.org/show_bug.cgi?id=41383
* html/canvas/WebGLRenderingContext.cpp: Validate input array size.
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::validateUniformParameters):
(WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
* html/canvas/WebGLRenderingContext.h: Add helper functions.
2010-07-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear
The implementation of PathQt's addArcTo() was not float-safe and also had
a case where it drew an 'infinite' line, which is not part of the spec.
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto
We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder()
also had the same problem, and was refactored a bit in the process of fixing
the bug.
Initial patch by Andreas Kling.
https://bugs.webkit.org/show_bug.cgi?id=41412
* platform/graphics/qt/PathQt.cpp:
2010-07-02 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
https://bugs.webkit.org/show_bug.cgi?id=41511
Tests: fast/events/popup-blocked-from-fake-user-gesture.html
http/tests/inspector/change-iframe-src.html
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
from the call stack. Get event directly from hidden property to avoid unnecessary checks.
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::invokeEventHandler):
* bindings/v8/V8HiddenPropertyName.h:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::eventAccessorGetter):
(WebCore::V8DOMWindow::eventAccessorSetter):
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix tokenization of <!----->
https://bugs.webkit.org/show_bug.cgi?id=41505
I noticed this error when browsing through the HTML5lib failures.
We're adding an extra character to the comment token, contrary to what
the spec says to do.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement processFakePEndTagIfPInScope
https://bugs.webkit.org/show_bug.cgi?id=41503
This is a common idiom because <p> likes to close itself.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
(WebCore::HTMLTreeBuilder::processStartTag):
* html/HTMLTreeBuilder.h:
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement AfterAfterBodyMode
https://bugs.webkit.org/show_bug.cgi?id=41501
In implementing this mode, I noticed a bug in the character processing
of the AfterBodyMode, which I fixed by adding a break statement. Also,
to get one of the new tests to pass, I needed to implement one
notImplemented() in the InBody insertion mode. Yay for testing.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
2010-07-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62371.
http://trac.webkit.org/changeset/62371
https://bugs.webkit.org/show_bug.cgi?id=41515
"Breaks media/controls-drag-timebar.html on 32-Bit Release"
(Requested by philn-tp on #webkit).
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
2010-06-28 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GStreamer] can't seek past maxTimeLoaded value
https://bugs.webkit.org/show_bug.cgi?id=40526
Extended the seekable range to the whole media. This allows video
played with progressive download to be seeked past the current
buffered position.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement AfterBodyMode for HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=41500
In the coarse of implementing this state, I ran into an ASSERT in how
</br> tags where handled, which I fixed. Technically, that could be a
separate patch, but it seemed harmless to include it here (with tests).
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement):
* html/HTMLTreeBuilder.h:
2010-07-02 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Handle <base> and friends in AfterHeadMode
https://bugs.webkit.org/show_bug.cgi?id=41502
Implement notImplemented() per spec.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
2010-07-01 Oliver Hunt <oliver@apple.com>
Build fix
* dom/Document.h:
2010-07-01 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej Stachowiak.
Add a FixedArray template to encapsulate fixed length arrays
https://bugs.webkit.org/show_bug.cgi?id=41506
Add forwarding header, and replace a few fixed length arrays
with the new FixedArray type.
* ForwardingHeaders/wtf/FixedArray.h: Added.
* dom/Document.h:
* platform/graphics/GlyphMetricsMap.h:
2010-07-01 Simon Fraser <simon.fraser@apple.com>
No review.
Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly().
* WebCore.AcceleratedCompositing.exp:
2010-07-01 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Dimitri Glazkov.
Add window.performance.navigation namespace
https://bugs.webkit.org/show_bug.cgi?id=41442
Adds window.performance.navigation namespace consisting of ".type"
and ".redirectCount". As part of this change, I renmaed "NavigationTiming"
to just "Timing" to avoid confusion.
No new tests because tests will be added in a subsequent patch when
functionality is added.
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/Navigation.cpp: Added.
(WebCore::Navigation::Navigation):
(WebCore::Navigation::frame):
(WebCore::Navigation::disconnectFrame):
(WebCore::Navigation::type):
(WebCore::Navigation::redirectCount):
* page/Navigation.h: Added.
(WebCore::Navigation::create):
* page/Navigation.idl: Added.
* page/NavigationTiming.cpp: Removed.
* page/NavigationTiming.h: Removed.
* page/NavigationTiming.idl: Removed.
* page/Performance.cpp:
(WebCore::Performance::navigation):
(WebCore::Performance::timing):
* page/Performance.h:
* page/Performance.idl:
* page/Timing.cpp: Added.
(WebCore::Timing::Timing):
(WebCore::Timing::frame):
(WebCore::Timing::disconnectFrame):
(WebCore::Timing::navigationStart):
* page/Timing.h: Added.
(WebCore::Timing::create):
* page/Timing.idl: Added.
2010-07-01 Daniel Cheng <dcheng@chromium.org>
Reviewed by Jian Li.
[chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types
https://bugs.webkit.org/show_bug.cgi?id=41493
ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always
be non-empty if url is valid.
No new tests.
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::writeURL):
2010-07-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Clamp color stops passed to QGradient to 1.0
[https://bugs.webkit.org/show_bug.cgi?id=41484
Fixes an issue where color stops would be silently dropped from radial gradients.
* platform/graphics/qt/GradientQt.cpp:
(WebCore::Gradient::platformGradient):
2010-07-01 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTokenizer should ASSERT that it never emits a null character
https://bugs.webkit.org/show_bug.cgi?id=41448
No functional change, thus no tests. These ASSERTs would have
caught the coding error which caused the trouble in bug 41436
(which was fixed by bug 41439).
* html/HTMLToken.h:
(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginCharacter):
(WebCore::HTMLToken::beginDOCTYPE):
(WebCore::HTMLToken::appendToName):
(WebCore::HTMLToken::appendToComment):
(WebCore::HTMLToken::appendToAttributeName):
(WebCore::HTMLToken::appendToAttributeValue):
(WebCore::HTMLToken::appendToPublicIdentifier):
(WebCore::HTMLToken::appendToSystemIdentifier):
2010-07-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
Canvas: Don't paint with empty radial gradients
https://bugs.webkit.org/show_bug.cgi?id=41190
If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fillRect):
* platform/graphics/Gradient.h:
(WebCore::Gradient::isZeroSize):
2010-07-01 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Add interface for network platform to pass up timing information
https://bugs.webkit.org/show_bug.cgi?id=41437
The Web Timing feature requires the network platform to expose detailed
timing information for the main resource. This patch adds that data to
the ResourceResponseBase. Since the 82 bytes of information is only
needed for the main resource, it is a RefPtr to avoid using the memory
for other resource types.
No new tests because no new functionality.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/network/ResourceLoadTiming.h: Added.
(WebCore::ResourceLoadTiming::create):
(WebCore::ResourceLoadTiming::deepCopy):
(WebCore::ResourceLoadTiming::operator==):
(WebCore::ResourceLoadTiming::operator!=):
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):
(WebCore::ResourceResponseBase::resourceLoadTiming):
(WebCore::ResourceResponseBase::setResourceLoadTiming):
(WebCore::ResourceResponseBase::compare):
* platform/network/ResourceResponseBase.h:
2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62321.
http://trac.webkit.org/changeset/62321
https://bugs.webkit.org/show_bug.cgi?id=41494
Broke the non-win builds. (Requested by dumi on #webkit).
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::addOpenDatabase):
(WebCore::ScriptExecutionContext::removeOpenDatabase):
(WebCore::ScriptExecutionContext::stopDatabases):
* dom/ScriptExecutionContext.h:
* storage/Database.cpp:
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::markAsDeletedAndClose):
(WebCore::ContextRemoveOpenDatabaseTask::create):
(WebCore::ContextRemoveOpenDatabaseTask::performTask):
(WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
(WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
(WebCore::Database::close):
(WebCore::Database::closeImmediately):
(WebCore::Database::stop):
(WebCore::Database::performPolicyChecks):
* storage/Database.h:
(WebCore::Database::):
(WebCore::Database::stopped):
* storage/DatabaseTask.cpp:
(WebCore::DatabaseTask::performTask):
(WebCore::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseOpenTask::doPerformTask):
(WebCore::DatabaseOpenTask::debugTaskName):
(WebCore::DatabaseCloseTask::DatabaseCloseTask):
(WebCore::DatabaseCloseTask::doPerformTask):
(WebCore::DatabaseCloseTask::debugTaskName):
(WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
(WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
(WebCore::DatabaseTransactionTask::doPerformTask):
(WebCore::DatabaseTransactionTask::debugTaskName):
(WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
(WebCore::DatabaseTableNamesTask::doPerformTask):
(WebCore::DatabaseTableNamesTask::debugTaskName):
* storage/DatabaseTask.h:
(WebCore::DatabaseOpenTask::create):
(WebCore::DatabaseCloseTask::create):
(WebCore::DatabaseTransactionTask::create):
(WebCore::DatabaseTableNamesTask::create):
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThread):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::addOpenDatabase):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::executeSQL):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
2010-07-01 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Stop using GdkRegion in 3.x mode
https://bugs.webkit.org/show_bug.cgi?id=41463
Make us compile without using GdkRegion, since it's gone from GTK+
3.x.
* platform/graphics/IntRect.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::cairo_region_shrink):
(WebCore::Font::drawComplexText):
* platform/gtk/GtkPluginWidget.cpp:
(WebCore::GtkPluginWidget::paint):
* platform/gtk/RenderThemeGtk.h:
* platform/gtk/ScrollbarGtk.cpp:
(ScrollbarGtk::paint):
2010-06-30 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Darin Fisher.
DB clean up.
https://bugs.webkit.org/show_bug.cgi?id=41404
1. Made all DatabaseTasks internal classes of Database and made
the Database methods called by those tasks private.
2. Removed the Database::stop{ed}() methods.
3. Removed the code that kept track of open databases from
ScriptExecutionContext (no longer needed).
4. Made minor changes to Database::closeImmediately() to make it
possible for DatabaseThread to call that method instead of
close().
5. Minor fix to DatabaseTracker: addOpenDatabase() should call
OriginQuotaManager::addDatabase() if the origin quota manager
is not tracking this origin.
6. Removed Database::performPolicyChecks(). We already update the
DB size after each transaction, and we enforce a max size for
the DB at the beginning of each transaction.
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::stopDatabases):
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::hasOpenDatabases):
* storage/Database.cpp:
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::markAsDeletedAndClose):
(WebCore::Database::close):
(WebCore::Database::closeImmediately):
* storage/Database.h:
* storage/DatabaseTask.cpp:
(WebCore::DatabaseTask::performTask):
(WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::Database::DatabaseOpenTask::doPerformTask):
(WebCore::Database::DatabaseOpenTask::debugTaskName):
(WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
(WebCore::Database::DatabaseCloseTask::doPerformTask):
(WebCore::Database::DatabaseCloseTask::debugTaskName):
(WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
(WebCore::Database::DatabaseTransactionTask::doPerformTask):
(WebCore::Database::DatabaseTransactionTask::debugTaskName):
(WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
(WebCore::Database::DatabaseTableNamesTask::doPerformTask):
(WebCore::Database::DatabaseTableNamesTask::debugTaskName):
* storage/DatabaseTask.h:
(WebCore::Database::DatabaseOpenTask::create):
(WebCore::Database::DatabaseCloseTask::create):
(WebCore::Database::DatabaseTransactionTask::create):
(WebCore::Database::DatabaseTableNamesTask::create):
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThread):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::addOpenDatabase):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::executeSQL):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
2010-07-01 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Support indeterminate checkbox for Windows
https://bugs.webkit.org/show_bug.cgi?id=41444
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::determineState):
Check isIndeterminate() and set an appropriate flag value.
2010-07-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=41488
<rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor
Test: plugins/js-from-destroy.html
* loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active
document loader.
2010-07-01 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8113003> Correctly fire beforeload events for images
added to the DOM using .innerHTML.
https://bugs.webkit.org/show_bug.cgi?id=40919
Test: fast/dom/beforeload/image-before-load-innerHTML.html
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous
image beforeload events immediately after parsing a document fragment.
Let the events fire later, giving the fragment time to potentially be
inserted into the document.
2010-07-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths
https://bugs.webkit.org/show_bug.cgi?id=41192
If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now
move to the (first) control point before adding the curve.
Spec links:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::quadraticCurveTo):
(WebCore::CanvasRenderingContext2D::bezierCurveTo):
2010-07-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Canvas element cannot have negative width or height (HTML5 spec 4.8.11)
https://bugs.webkit.org/show_bug.cgi?id=39149
If assigned a negative value, it should default to 300 for width and 150 for height.
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width
Test: fast/canvas/canvas-negative-size.html
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::reset):
2010-07-01 Darin Adler <darin@apple.com>
Reviewed by Steve Falkenburg.
Turn on adoptRef assertion for TreeShared.
* platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs.
Actually, I used LOOSE_REF_COUNTED by accident in a few places, but
removing them all now.
* rendering/ShadowElement.cpp:
(WebCore::ShadowBlockElement::create): Added adoptRef. This was a
storage leak before, probably recently introduced r61324.
(WebCore::ShadowInputElement::create): Ditto.
2010-07-01 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Only include the geolocation IDL in the GObject DOM bindings set
if geolocation is enabled.
* GNUmakefile.am:
2010-07-01 Timothy Hatcher <timothy@apple.com>
Provide a WebView preference to disable DNS prefetching.
https://bugs.webkit.org/show_bug.cgi?id=28825
rdar://problem/7181249
Reviewed by Darin Adler.
* WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled.
* dom/Document.cpp:
(WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled().
* page/Settings.cpp:
(WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true.
(WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled.
* page/Settings.h:
(WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled.
2010-07-01 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Get accelerated compositing working with webkit2
https://bugs.webkit.org/show_bug.cgi?id=41084
Step 2: add a method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit
batched changes non-recursively. This allows us to use GraphicsLayer in places where we
don't want to kick off a recursive commit of the entire tree.
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly):
* platform/graphics/mac/GraphicsLayerCA.h:
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly):
* WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2.
2010-07-01 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Get accelerated compositing working with webkit2
https://bugs.webkit.org/show_bug.cgi?id=41084
Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING)
is defined.
Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore.
* DerivedSources.make:
* WebCore.AcceleratedCompositing.exp: Added.
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
2010-07-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
Test: plugins/write-xssauditor-from-destroy.html
Fix specific known cases that also crash in same process case. I don't know if there is
any rule for when documentLoader should be checked for being null, it looks like a mess.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::referrer):
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::findInRequest):
2010-07-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
The HTML5 canvas 2d.drawImage.zerocanvas test does not pass
https://bugs.webkit.org/show_bug.cgi?id=40271
Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height.
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y)
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
2010-07-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Oliver Hunt.
[Qt] Canvas: clip() should use non-zero winding rule
https://bugs.webkit.org/show_bug.cgi?id=41466
Use non-zero winding number rule when clipping a GraphicsContext from canvas.
Fixes appearance of the "pill" in the web inspector.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::canvasClip):
2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62246.
http://trac.webkit.org/changeset/62246
https://bugs.webkit.org/show_bug.cgi?id=41470
"Worker tests are broken in Chromium" (Requested by yurys on
#webkit).
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::processingUserGesture):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::invokeEventHandler):
* bindings/v8/V8HiddenPropertyName.h:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::eventAccessorGetter):
(WebCore::V8DOMWindow::eventAccessorSetter):
2010-07-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
Canvas: Exception erroneously thrown for drawImage() when image.complete=false
https://bugs.webkit.org/show_bug.cgi?id=33968
Do nothing in drawImage() if called with an image whose 'complete'
attribute is false, or a video whose readyState is either HAVE_NOTHING
or HAVE_METADATA.
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
Test: fast/canvas/canvas-drawImage-incomplete.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
2010-07-01 Justin Schuh <jschuh@chromium.org>
Reviewed by Dan Bernstein.
Prevent crash on counter destruction
https://bugs.webkit.org/show_bug.cgi?id=40032
Added counter destruction to RenderWidget::destroy()
Test: fast/css/counters/destroy-counter-crash.html
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::destroy):
2010-07-01 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed build fix after r62215.
No new functionality, so no new tests.
* CMakeLists.txt: Add missing files and re-sort.
2010-07-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Remove an unneeded assert.
This assert is triggered for example while showing the falling leaves demo.
GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input
pointer is null. Looking at the uses of this method it seems like
it is expected to return null if a null pointer is given to it.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::toGraphicsLayerQtImpl):
2010-06-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix qmake vcproj generation for QtWebKit.
qmake use TARGET=/LIBS+= -lTARGET to create dependencies
between projects in a subdir template.
Since when compiling outside of Qt we hijack the target name of
QtWebKit to add the configuration and version suffix to the binary
filename, qmake can't establish the WebCore project as a dependency
to QtTestBrowser.
This patch makes sure that the target is not hijacked on the
first of the three passes where the dependencies are determined.
* WebCore.pro:
2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVGRenderStyle::diff() is missing
https://bugs.webkit.org/show_bug.cgi?id=41455
Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ.
Figure out when to repaint, and as last resort do a relayout.
Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff):
* rendering/style/SVGRenderStyle.h:
2010-07-01 Antti Koivisto <koivisto@iki.fi>
Revert accidental commit.
* platform/network/qt/ResourceRequestQt.cpp:
(WebCore::ResourceRequest::toNetworkRequest):
2010-07-01 Patrick Gansterer <paroga@paroga.com>
Reviewed by Nikolas Zimmermann.
Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
https://bugs.webkit.org/show_bug.cgi?id=40984
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::finishRenderSVGContent):
2010-07-04 Patrick Gansterer <paroga@paroga.com>
Reviewed by Dirk Schulze.
Buildfix for !ENABLE(FILTERS) after r62238.
https://bugs.webkit.org/show_bug.cgi?id=41456
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::prepareToRenderSVGContent):
2010-07-01 MORITA Hajime <morrita@google.com>
Unreviewed build fix.
* rendering/RenderInputSpeech.cpp:
(WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
* rendering/RenderInputSpeech.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintInputFieldSpeechButton):
* rendering/RenderTheme.h:
2010-07-01 Satish Sampath <satish@chromium.org>
Reviewed by Kent Tamura.
Rendering the speech button in input elements.
https://bugs.webkit.org/show_bug.cgi?id=40984
The button currently has only one state and rendered as an image on all platforms. Subsequent
patches will add user input handling and more states + rendering code to the button. The
button's appearance can be customized by individual ports in their RenderTheme implementation
if required.
Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html
platform/mac/fast/forms/input-appearance-searchandspeech.html
platform/mac/fast/forms/input-appearance-speechbutton.html
* GNUmakefile.am:
* Resources/inputSpeech.png: Added.
* Resources/inputSpeech.tiff: Added. Used by the Mac implementation.
* WebCore.gypi:
* WebCore.pro:
* WebCore.qrc:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/qt/ImageQt.cpp:
(loadResourcePixmap): Load the speech button images for Qt port.
* rendering/RenderInputSpeech.cpp: Added.
(WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions.
(WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
* rendering/RenderInputSpeech.h: Added.
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::forwardEvent):
(WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button.
(WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
(WebCore::RenderTheme::paintInputFieldSpeechButton):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of
speech button when enabled.
2010-07-01 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Xan Lopez.
[GTK] Extra nullcheck needed at SelectionControllerGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=41447
Extra null check added.
* editing/gtk/SelectionControllerGtk.cpp:
(WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2010-07-01 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Adam Barth.
[v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
https://bugs.webkit.org/show_bug.cgi?id=41350
Tests: fast/events/popup-blocked-from-fake-user-gesture.html
http/tests/inspector/change-iframe-src.html
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
from the call stack. Get event directly from hidden property to avoid unnecessary checks.
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::invokeEventHandler):
* bindings/v8/V8HiddenPropertyName.h:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::eventAccessorGetter):
(WebCore::V8DOMWindow::eventAccessorSetter):
2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox()
https://bugs.webkit.org/show_bug.cgi?id=41450
strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container,
instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container
which has a resource applied and contains a children which also has a resource applied.
Doesn't affect any test results.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::objectBoundingBox):
(WebCore::RenderSVGContainer::strokeBoundingBox):
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain.
(WebCore::RenderSVGRoot::strokeBoundingBox): Ditto.
(WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
* rendering/RenderSVGRoot.h:
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBox):
* rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation.
2010-07-01 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Nikolas Zimmermann.
Implementing feConvolveMatrix svg filter
https://bugs.webkit.org/show_bug.cgi?id=5861
The implementation is optimized for speed, and uses
multiple algorithms for different parts of the image.
See SVGFEConvolveMatrixElement.cpp for a detailed
description.
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::build):
* svg/graphics/filters/SVGFEConvolveMatrix.cpp:
(WebCore::clampRGBAValue):
(WebCore::FEConvolveMatrix::fastSetInteriorPixels):
(WebCore::FEConvolveMatrix::getPixelValue):
(WebCore::FEConvolveMatrix::fastSetOuterPixels):
(WebCore::FEConvolveMatrix::setInteriorPixels):
(WebCore::FEConvolveMatrix::setOuterPixels):
(WebCore::FEConvolveMatrix::apply):
* svg/graphics/filters/SVGFEConvolveMatrix.h:
(WebCore::FEConvolveMatrix::uniteChildEffectSubregions):
2010-07-01 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Abstract 'a'-'z' checks into a function
https://bugs.webkit.org/show_bug.cgi?id=41438
Hopefully this version is more readable.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
2010-07-01 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore
https://bugs.webkit.org/show_bug.cgi?id=41345
Apparently whether an HTML entity requires a trailing semicolon varies
depending on the entity. The full table is in the spec:
http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references
I believe branch added in this patch is accurate. At some point, I'll
add a full test suite for all the named entities.
* html/HTMLEntityParser.cpp:
(WebCore::consumeHTMLEntity):
2010-07-01 Eric Seidel <eric@webkit.org>
Unreviewed. Fix paste-o in Gtk build file.
Split out HTMLFormattingElementList into its own file
https://bugs.webkit.org/show_bug.cgi?id=41440
* GNUmakefile.am:
2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Eric Seidel & Dirk Schulze.
Performance regression for setting content of <text> in SVG
https://bugs.webkit.org/show_bug.cgi?id=36564
Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting.
Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set.
Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect.
And as RenderSVGRoot never carries shadow or opacity it was completly useless.
RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case.
These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in
the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000.
50 runs without the patch: ~ 520.8ms
50 runs with the patch : ~ 501.8ms
The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text>
element withs clippers applied, is very cheap now.
Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed
of the cache - just like all other resources are handled, simplifying the code.
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paint):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::paint):
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::prepareToRenderSVGContent):
(WebCore::SVGRenderSupport::finishRenderSVGContent):
* rendering/SVGRenderSupport.h:
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::paint):
2010-07-01 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Split out HTMLFormattingElementList into its own file
https://bugs.webkit.org/show_bug.cgi?id=41440
No functional changes, thus no tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
(WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
* html/HTMLTreeBuilder.h:
2010-07-01 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
BogusCommentState should come in from the cold
https://bugs.webkit.org/show_bug.cgi?id=41439
The BogusCommentState has always been wrong. The proximate issue is
that it didn't handle resuming correctly when parsing a partial input
stream. Now that we have EOF working properly, we can actually
implement this state correctly.
We need to distinguish when we enter this state from when we continue
in this state. We could do that with a branch for each character, but
it seemed easier to split the state in two, even though that leaves us
with one more state in our tokenizer than we have in the HTML5 spec.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::):
2010-06-30 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLTokenizer's whitespace checks are very redundant
https://bugs.webkit.org/show_bug.cgi?id=41434
This patch adds isTokenizerWhitespace, which replaces a lot of
redundant logic in nextToken.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
2010-06-30 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Crash when uploading document to Google Docs
https://bugs.webkit.org/show_bug.cgi?id=40795
Fix bug where the local file wasn't opened (for POSTing)
if it were the first element in the form.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::FormDataIODevice::FormDataIODevice):
(WebCore::FormDataIODevice::moveToNextElement):
(WebCore::FormDataIODevice::openFileForCurrentElement):
* platform/network/qt/QNetworkReplyHandler.h:
2010-06-30 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Implement generateImpliedEndTags and deploy to steps which were blocked on it
https://bugs.webkit.org/show_bug.cgi?id=41432
This fixes one subtest in html5lib/runner.html and positively
effects a couple others.
More code sharing will be needed here. For the moment
we're using copy/paste code, but that will soon be shared.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
(WebCore::HTMLTreeBuilder::generateImpliedEndTags):
* html/HTMLTreeBuilder.h:
2010-06-30 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed buildfix after r62196 and r62214.
* html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of
!ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h.
2010-06-30 Sam Weinig <sam@webkit.org>
Really fix the windows build.
* bindings/js/JSBindingsAllInOne.cpp:
2010-06-30 Sam Weinig <sam@webkit.org>
Another Chromium build fix.
* page/DOMWindow.idl:
2010-06-30 Sam Weinig <sam@webkit.org>
Fix Chromium build.
* WebCore.gyp/WebCore.gyp:
2010-06-30 Sam Weinig <sam@webkit.org>
Fix Windows build.
* bindings/js/JSBindingsAllInOne.cpp:
2010-06-30 Sam Weinig <sam@webkit.org>
Fix Gtk build.
* GNUmakefile.am:
2010-06-29 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Patch for https://bugs.webkit.org/show_bug.cgi?id=41146
<rdar://problem/8126069>
Implement the .dataset DOM property
Tests: fast/dom/dataset-xhtml.xhtml
fast/dom/dataset.html
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMStringMapCustom.cpp: Added.
(WebCore::JSDOMStringMap::canGetItemsForName):
(WebCore::JSDOMStringMap::nameGetter):
(WebCore::JSDOMStringMap::getOwnPropertyNames):
(WebCore::JSDOMStringMap::deleteProperty):
(WebCore::JSDOMStringMap::putDelegate):
* bindings/js/JSDOMStringMapCustom.h: Added.
* dom/DOMStringMap.cpp: Added.
(WebCore::DOMStringMap::~DOMStringMap):
* dom/DOMStringMap.h: Added.
(WebCore::DOMStringMap::DOMStringMap):
* dom/DOMStringMap.idl: Added.
* dom/DatasetDOMStringMap.cpp: Added.
(WebCore::isValidAttributeName):
(WebCore::convertAttributeNameToPropertyName):
(WebCore::propertyNameMatchesAttributeName):
(WebCore::isValidPropertyName):
(WebCore::convertPropertyNameToAttributeName):
(WebCore::DatasetDOMStringMap::ref):
(WebCore::DatasetDOMStringMap::deref):
(WebCore::DatasetDOMStringMap::getNames):
(WebCore::DatasetDOMStringMap::item):
(WebCore::DatasetDOMStringMap::contains):
(WebCore::DatasetDOMStringMap::setItem):
(WebCore::DatasetDOMStringMap::deleteItem):
* dom/DatasetDOMStringMap.h: Added.
(WebCore::DatasetDOMStringMap::create):
(WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
* dom/Element.cpp:
(WebCore::Element::dataset):
* dom/Element.h:
* dom/Element.idl:
* dom/ElementRareData.h:
* page/DOMWindow.idl:
2010-06-30 Darin Adler <darin@apple.com>
More Qt build fix.
* html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around
include of SVGNames.h too.
2010-06-30 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Add assertion, off by default, for when you forget to do adoptRef
https://bugs.webkit.org/show_bug.cgi?id=41422
* platform/TreeShared.h: Added code to require adoption and assert if
you don't call adoptRef. For now, it is turned off because of the
LOOSE_TREE_SHARED define in this header. Later we can turn it on
once we get everything working without asserting. Note also that it
only works for objects with an initial reference count of 1.
2010-06-30 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
https://bugs.webkit.org/show_bug.cgi?id=41429
* html/HTMLElementStack.cpp:
2010-06-30 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add new popUntil(tagName) function and deploy
https://bugs.webkit.org/show_bug.cgi?id=41405
Add a new popUntil function to share some common code
between states. There is more code to share here, but this
is a start.
I also filled in a couple similar states to these with the
hope of sharing more code, but decided to wait for a later
patch.
No test changes, since this code doesn't do enough yet to
pass any more subtests. Lack of generateImpliedEndTags is the main
blocking issue.
* html/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::popUntil):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
2010-06-30 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Unit test for DOM insertion methods
https://bugs.webkit.org/show_bug.cgi?id=40495
Fix typo in custom function detection method.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-06-30 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Implement HTML5 "in scope" algorithm and attempt to use it
https://bugs.webkit.org/show_bug.cgi?id=41402
Implemented the 4 needed "in scope" functions for HTML5.
3 for the different sets of scope markers, and one for
doing exact element comparisons instead of tag name searches.
I deployed inScope("body") for </body> and </html> in InBody.
Adds two new (expected) failures, since we're now
switching out of InBody to AfterBody when seeing
</html>. We don't implement AfterBody yet, so
the rest of the content after </html> is ignored.
* html/HTMLElementStack.cpp:
(WebCore::inScopeCommon):
(WebCore::HTMLElementStack::inScope):
(WebCore::HTMLElementStack::inListItemScope):
(WebCore::HTMLElementStack::inTableScope):
* html/HTMLElementStack.h:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
* html/HTMLTreeBuilder.h:
2010-06-30 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Split HTMLElementStack out into its own file
https://bugs.webkit.org/show_bug.cgi?id=41399
No functional change, thus no tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLElementStack.cpp: Added.
(WebCore::HTMLElementStack::ElementRecord::ElementRecord):
(WebCore::HTMLElementStack::ElementRecord::element):
(WebCore::HTMLElementStack::ElementRecord::next):
(WebCore::HTMLElementStack::ElementRecord::releaseNext):
(WebCore::HTMLElementStack::ElementRecord::setNext):
(WebCore::HTMLElementStack::HTMLElementStack):
(WebCore::HTMLElementStack::~HTMLElementStack):
(WebCore::HTMLElementStack::popHTMLHeadElement):
(WebCore::HTMLElementStack::pop):
(WebCore::HTMLElementStack::pushHTMLHtmlElement):
(WebCore::HTMLElementStack::pushHTMLHeadElement):
(WebCore::HTMLElementStack::pushHTMLBodyElement):
(WebCore::HTMLElementStack::push):
(WebCore::HTMLElementStack::top):
(WebCore::HTMLElementStack::removeHTMLHeadElement):
(WebCore::HTMLElementStack::remove):
(WebCore::HTMLElementStack::contains):
(WebCore::HTMLElementStack::inScope):
(WebCore::HTMLElementStack::htmlElement):
(WebCore::HTMLElementStack::headElement):
(WebCore::HTMLElementStack::bodyElement):
(WebCore::HTMLElementStack::pushCommon):
(WebCore::HTMLElementStack::popCommon):
(WebCore::HTMLElementStack::removeNonFirstCommon):
* html/HTMLElementStack.h: Added.
* html/HTMLTreeBuilder.h:
2010-06-30 Kenneth Russell <kbr@google.com>
Reviewed by Oliver Hunt.
WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f)
https://bugs.webkit.org/show_bug.cgi?id=38040
Changed custom ArrayBufferView constructors to create a
fully-initialized, zero-length array when called with zero
arguments. This is the simplest fix which works identically in
both the JSC and V8 bindings.
Test: fast/canvas/webgl/array-buffer-view-crash.html
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::constructArrayBufferView):
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore::constructWebGLArray):
2010-06-30 Victor Wang <victorw@chromium.org>
Reviewed by Darin Fisher.
[chromium] update webcore gyp to use v8 dll for chromium multi dll build.
https://bugs.webkit.org/show_bug.cgi?id=41376
* WebCore.gyp/WebCore.gyp:
2010-06-30 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Dimitri Glazkov.
[Chromium] Add OOP font loading to FontPlatformDataChromiumMac.
On OS X, with font management software installed. Fonts
can reside in an arbitrary path on disk which is blocked by
Chromium's sandbox.
This change adds hooks to FontPlaformData which allow cross-process
font loading in case of need.
https://bugs.webkit.org/show_bug.cgi?id=41148
Not possible to test - requires sandboxing which DRT doesn't support.
* WebCore.gypi:
* platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added.
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::~FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::setFont):
(WebCore::FontPlatformData::roundsGlyphAdvances):
(WebCore::FontPlatformData::allowsLigatures):
(WebCore::FontPlatformData::description):
2010-06-30 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Dan Bernstein.
Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm
* Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm
* Fix a typo in FontPlatformDataMac.mm
https://bugs.webkit.org/show_bug.cgi?id=41152
No behavior changes so no new tests.
* platform/graphics/mac/FontPlatformDataMac.mm:
(WebCore::FontPlatformData::description):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::copyFontTableForTag):
2010-06-30 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk
https://bugs.webkit.org/show_bug.cgi?id=41407
Only disallow calling SetWindow more than once if we're using Flash 9 or older.
This fixes resizing of YouTube videos via the player's own button.
Removed copy-pasted logic in PluginViewGtk since the issue only exists
when running Flash with a non-Gtk toolkit.
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):
* plugins/PluginQuirkSet.h:
(WebCore::):
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt.
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::setNPWindowIfNeeded):
2010-06-30 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Antti Koivisto.
[Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects
https://bugs.webkit.org/show_bug.cgi?id=41406
NPRect has right/bottom instead of width/height.
This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::setNPWindowIfNeeded):
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::setNPWindowIfNeeded):
* plugins/symbian/PluginViewSymbian.cpp:
(WebCore::PluginView::setNPWindowIfNeeded):
2010-06-30 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Simon Fraser.
Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable
https://bugs.webkit.org/show_bug.cgi?id=41160
Patch addresses the problem of spatial navigation not work properly with nested
inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks
if a give node is descendant of a given document or any parent of it.
Test: fast/events/spatial-navigation/snav-iframe-nested.html
* page/FocusController.cpp:
(WebCore::FocusController::deepFindFocusableNodeInDirection):
* page/SpatialNavigation.cpp:
(WebCore::isNodeDeepDescendantOfDocument):
* page/SpatialNavigation.h:
2010-06-30 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLTokenizer should use fewer macros
https://bugs.webkit.org/show_bug.cgi?id=41397
Macros are sadness. Inline functions are the new hotness.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::processEntity):
(WebCore::HTMLTokenizer::emitAndResumeIn):
(WebCore::HTMLTokenizer::emitAndReconsumeIn):
(WebCore::HTMLTokenizer::emitEndOfFile):
(WebCore::HTMLTokenizer::flushBufferedEndTag):
(WebCore::HTMLTokenizer::flushEmitAndResumeIn):
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::bufferCharacter):
(WebCore::HTMLTokenizer::bufferCodePoint):
(WebCore::HTMLTokenizer::bufferParseError):
(WebCore::HTMLTokenizer::bufferCurrentToken):
(WebCore::HTMLTokenizer::bufferEndOfFile):
* html/HTMLTokenizer.h:
2010-06-30 Justin Schuh <jschuh@chromium.org>
Reviewed by Adam Barth.
Remove dead binding code
https://bugs.webkit.org/show_bug.cgi?id=41388
Removed BindingElement because it was obsoleted by r59866.
* WebCore.gypi:
* bindings/generic/BindingElement.h: Removed.
* bindings/v8/SerializedScriptValue.cpp:
* bindings/v8/V8Binding.h:
* bindings/v8/custom/V8DatabaseCustom.cpp:
* bindings/v8/custom/V8DatabaseSyncCustom.cpp:
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2010-06-30 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTokenizer needs EndOfFile support
https://bugs.webkit.org/show_bug.cgi?id=41344
EndOfFile support uncovered a bug in our implementation of finish().
finish() may be called more than once if the first call does not
result in end() being called (and parsing thus actually stopping).
SegmentedString::close() should have ASSERTed that it was not already
closed when close() is called. I've added such an assert now.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::finish):
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::close):
* platform/text/SegmentedString.h:
2010-06-29 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTMLTokenizer needs EndOfFile support
https://bugs.webkit.org/show_bug.cgi?id=41344
We're using \0 as the EndOfFile marker as HTML5 replaces
all other \0 with \0xFFFD. Added some special case logic
to InputStreamPreprocessor::peek not to replace \0 when
its being used at the end of a stream.
This fixed 60 subtests in html5lib/runner.html.
There are still at least two states (BogusCommentState and
CDATASectionState) which do not have proper EOF support.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::finishWasCalled):
* html/HTMLInputStream.h:
(WebCore::HTMLInputStream::markEndOfFile):
(WebCore::HTMLInputStream::haveSeenEndOfFile):
* html/HTMLToken.h:
(WebCore::HTMLToken::makeEndOfFile):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::emitEndOfFile):
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
(WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
2010-06-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Teach HTML5TreeBuilder how to merge attributes from extra html/body elements
https://bugs.webkit.org/show_bug.cgi?id=41337
Had to teach ElementStack to store pointers to html, head, and body
elements.
This fixed a few tests in LayoutTests/html5lib.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
(WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement):
(WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent):
(WebCore::HTMLTreeBuilder::insertHTMLHtmlElement):
(WebCore::HTMLTreeBuilder::insertHTMLHeadElement):
(WebCore::HTMLTreeBuilder::insertHTMLBodyElement):
(WebCore::HTMLTreeBuilder::insertElement):
(WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
(WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::ElementStack::ElementStack):
(WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement):
(WebCore::HTMLTreeBuilder::ElementStack::pop):
(WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement):
(WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement):
(WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement):
(WebCore::HTMLTreeBuilder::ElementStack::push):
(WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement):
(WebCore::HTMLTreeBuilder::ElementStack::remove):
(WebCore::HTMLTreeBuilder::ElementStack::htmlElement):
(WebCore::HTMLTreeBuilder::ElementStack::headElement):
(WebCore::HTMLTreeBuilder::ElementStack::bodyElement):
(WebCore::HTMLTreeBuilder::ElementStack::pushCommon):
(WebCore::HTMLTreeBuilder::ElementStack::popCommon):
(WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon):
2010-06-30 José Millán Soto <jmillan@igalia.com>
Reviewed by Xan Lopez.
[Gtk] Text attributes not exposed
https://bugs.webkit.org/show_bug.cgi?id=25528
Implemented the get_run_attributes and get_default_attributes
functions for the ATK_TEXT role.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(getAttributeSetForAccessibilityObject):
(compareAttribute):
(attributeSetDifference):
(accessibilityObjectLength):
(getAccessibilityObjectForOffset):
(getRunAttributesFromAccesibilityObject):
(webkit_accessible_text_get_run_attributes):
(webkit_accessible_text_get_default_attributes):
2010-06-30 Yuta Kitamura <yutak@chromium.org>
Reviewed by Alexey Proskuryakov.
Fix Sec-WebSocketKey{1,2} headers.
According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header
should not start or end with a space.
WebSocket: Malformed handshake headers in a worker due to rand_s failing
https://bugs.webkit.org/show_bug.cgi?id=41327
No new tests. ASSERT should catch the problem.
* websockets/WebSocketHandshake.cpp:
(WebCore::generateSecWebSocketKey):
2010-06-30 Yuzo Fujishima <yuzo@google.com>
Reviewed by Dan Bernstein.
Fix for Bug 41339 - unicode-range property only with a descending range
causes a crash
https://bugs.webkit.org/show_bug.cgi?id=41339
Test: fast/css/font-face-descending-unicode-range.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceUnicodeRange):
2010-06-29 Abhinav Mithal <abhinav.mithal@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian
https://bugs.webkit.org/show_bug.cgi?id=37303
* plugins/symbian/PluginViewSymbian.cpp:
(WebCore::PluginView::platformDestroy):
2010-06-29 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Implement getAttachedShaders
https://bugs.webkit.org/show_bug.cgi?id=31172
* bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders().
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders().
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders().
(WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name.
* html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders().
* html/canvas/WebGLRenderingContext.idl: Ditto.
* platform/graphics/GraphicsContext3D.h: Ditto.
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders().
2010-06-29 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
REGRESSION: [Chromium] <progress> appearance on windows looks not good
https://bugs.webkit.org/show_bug.cgi?id=41343
RenderThemeChromiumWin::paintProgressBar() should return false,
which indicates the widget is painted.
Test: fast/dom/HTMLProgressElement/progress-element.html
* rebaselined with a wrong expectation.
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::paintProgressBar):
2010-06-29 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Fix http/tests/local/blob/send-data-blob.html on Windows
https://bugs.webkit.org/show_bug.cgi?id=41228
Fix a regression bug in the line-conversion code.
Rewrite the line-conversion function with simpler functions to
make it less error prone.
No new tests as this is for bug fixes.
* platform/BlobItem.cpp:
(WebCore::StringBlobItem::convertToCString):
2010-06-29 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Darin Fisher.
Implementing DatabaseSync::openDatabaseSync().
https://bugs.webkit.org/show_bug.cgi?id=40607
1. Moved some common code from Database to AbstractDatabase.
2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't
need to interact with DatabaseThread.
3. Removed the m_creationCallback field, since it's only needed in
the openDatabase{Sync} methods.
* storage/AbstractDatabase.cpp:
(WebCore::retrieveTextResultFromDatabase):
(WebCore::setTextValueInDatabase):
(WebCore::guidMutex):
(WebCore::guidToVersionMap):
(WebCore::updateGuidVersionMap):
(WebCore::guidToDatabaseMap):
(WebCore::guidForOriginAndName):
(WebCore::AbstractDatabase::databaseInfoTableName):
(WebCore::AbstractDatabase::AbstractDatabase):
(WebCore::AbstractDatabase::closeDatabase):
(WebCore::AbstractDatabase::version):
(WebCore::AbstractDatabase::performOpenAndVerify):
(WebCore::AbstractDatabase::scriptExecutionContext):
(WebCore::AbstractDatabase::securityOrigin):
(WebCore::AbstractDatabase::stringIdentifier):
(WebCore::AbstractDatabase::displayName):
(WebCore::AbstractDatabase::estimatedSize):
(WebCore::AbstractDatabase::fileName):
(WebCore::AbstractDatabase::databaseVersionKey):
(WebCore::AbstractDatabase::getVersionFromDatabase):
(WebCore::AbstractDatabase::setVersionInDatabase):
(WebCore::AbstractDatabase::versionMatchesExpected):
(WebCore::AbstractDatabase::setExpectedVersion):
(WebCore::AbstractDatabase::disableAuthorizer):
(WebCore::AbstractDatabase::enableAuthorizer):
(WebCore::AbstractDatabase::setAuthorizerReadOnly):
(WebCore::AbstractDatabase::lastActionChangedDatabase):
(WebCore::AbstractDatabase::lastActionWasInsert):
(WebCore::AbstractDatabase::resetDeletes):
(WebCore::AbstractDatabase::hadDeletes):
(WebCore::AbstractDatabase::resetAuthorizer):
* storage/AbstractDatabase.h:
(WebCore::AbstractDatabase::opened):
(WebCore::AbstractDatabase::isNew):
(WebCore::AbstractDatabase::databaseDebugName):
* storage/Database.cpp:
(WebCore::DatabaseCreationCallbackTask::create):
(WebCore::DatabaseCreationCallbackTask::performTask):
(WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::version):
(WebCore::Database::openAndVerifyVersion):
(WebCore::Database::close):
(WebCore::Database::stop):
(WebCore::Database::performOpenAndVerify):
* storage/Database.h:
(WebCore::Database::sqliteDatabase):
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::create):
(WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
(WebCore::DatabaseAuthorizer::denyBasedOnTableName):
* storage/DatabaseAuthorizer.h:
* storage/DatabaseSync.cpp:
(WebCore::DatabaseSync::openDatabaseSync):
(WebCore::DatabaseSync::DatabaseSync):
(WebCore::DatabaseSync::~DatabaseSync):
(WebCore::DatabaseSync::markAsDeletedAndClose):
(WebCore::CloseSyncDatabaseOnContextThreadTask::create):
(WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
(WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
(WebCore::DatabaseSync::closeImmediately):
* storage/DatabaseSync.h:
* storage/DatabaseTask.cpp:
(WebCore::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseOpenTask::doPerformTask):
* storage/DatabaseTask.h:
(WebCore::DatabaseOpenTask::create):
2010-06-29 François Sausset <sausset@gmail.com>
Reviewed by Darin Adler.
Fix a bug when a msubsup element is inside a mrow element
https://bugs.webkit.org/show_bug.cgi?id=36525
Test: mathml/presentation/subsup.xhtml
* mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::stretchToHeight):
2010-06-29 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
uniformmatrix* should generate INVALID_VALUE with transpose = true
https://bugs.webkit.org/show_bug.cgi?id=41235
Test: fast/canvas/webgl/gl-uniformmatrix4fv.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead.
(WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto.
(WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto.
(WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*().
* html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters().
2010-06-29 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView
https://bugs.webkit.org/show_bug.cgi?id=40398
Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store
parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView.
More cleanly separated the unpacking and packing phases of user-supplied pixel data
in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling
of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added
validation of the amount of data passed to texImage2D and texSubImage2D. Modified
fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha
tests for relevant source formats; added new test which exercises all combinations
of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel
store parameters.
Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::validateTexFuncData):
* html/canvas/WebGLRenderingContext.h:
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::extractImageData):
(WebCore::GraphicsContext3D::extractTextureData):
(WebCore::GraphicsContext3D::flipVertically):
(WebCore::doUnpackingAndPacking):
(WebCore::computeIncrementParameters):
(WebCore::doPacking):
(WebCore::GraphicsContext3D::packPixels):
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::):
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::getImageData):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::getImageData):
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-06-29 Patrick Gansterer <paroga@paroga.com>
Reviewed by Dirk Schulze.
Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667.
https://bugs.webkit.org/show_bug.cgi?id=41367
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT).
2010-06-29 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Buildfix after r62118.
https://bugs.webkit.org/show_bug.cgi?id=41365
* rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h.
2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62052.
http://trac.webkit.org/changeset/62052
https://bugs.webkit.org/show_bug.cgi?id=41357
Causes crashes in JSLazyEventListener::initializeFunction (see
bug 41352) (Requested by aroben on #webkit).
* bindings/js/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/js/ScriptEventListener.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/v8/ScriptEventListener.h:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::parseMappedAttribute):
2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62129.
http://trac.webkit.org/changeset/62129
https://bugs.webkit.org/show_bug.cgi?id=41362
Needed to roll out r62052 (see bug 41357) (Requested by aroben
on #webkit).
* bindings/js/ScriptEventListener.cpp:
(WebCore::createWindowAttributeEventListener):
2010-06-29 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Speculative fix for <rdar://problem/8071558> CrashTracer: [USER]
2300+ crashes in Safari at com.apple.WebCore:
WebCore::FrameView::scheduleRelayout + 352
Unfortunately, we don't have a reproducible case for this bug, and
therefore, we do not have a layout test either. It is pretty clear
from the logs that m_frame->settings() is null in
FrameView::scheduleRelayout() in the crashing case.
m_frame->settings() is null whenever page is null. Everywhere else
in FrameView.cpp we null-check either page or settings before using
settings. It seems plausible to me that scheduleRelayout could be
called when page is null, so the fix is just to add null-checks.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::scheduleRelayout):
2010-06-29 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7975842> Certain text is repeated after using splitText()
Tests: fast/text/setData-dirty-lines.html
fast/text/splitText-dirty-lines.html
* dom/CharacterData.cpp:
(WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than
setText(), because only the former correctly dirties line boxes.
* dom/Text.cpp:
(WebCore::Text::splitText): Ditto.
2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r62073.
http://trac.webkit.org/changeset/62073
https://bugs.webkit.org/show_bug.cgi?id=41359
Necessary to fix chromium build when r62052 is rolled out.
(Requested by dave_levin on #webkit).
* bindings/v8/ScriptEventListener.h:
2010-06-29 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing
methods to set the contents of a GraphicsLayer with a platform specific WebGL
Layer, and to update the contents of the WebGL Layer when needed.
https://bugs.webkit.org/show_bug.cgi?id=41243
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsToWebGL):
* platform/graphics/chromium/GraphicsLayerChromium.h:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::removeAllSublayers):
No need to call setNeedsCommit() from here as the previous call to
layer->removeFromSuperlayer() will have that effect (and we only need
to notify the owner if there were actually any sublayers removed).
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::create):
(WebCore::WebGLLayerChromium::updateTextureContents):
(WebCore::WebGLLayerChromium::setContext):
2010-06-29 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Nikolas Zimmermann.
Buildfix for --minimal build after r62052
https://bugs.webkit.org/show_bug.cgi?id=41338
* bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added.
(WebCore::createWindowAttributeEventListener):
2010-06-29 Brent Fulgham <bfulgham@webkit.org>
Build fix. Not reviewd.
CGColor is only used for PLATFORM(CG). Conditionalize include
to correct build failure for WinCairo.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
Conditionalize use of CGColor.
2010-06-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Clean up the source lists in the GNUMakefile.am files
https://bugs.webkit.org/show_bug.cgi?id=41229
Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate
the source lists.
* GNUmakefile.am:
2010-06-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] DragDataGtk should use DataObjectGtk as the platformDragData
https://bugs.webkit.org/show_bug.cgi?id=40307
Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk
contains all the information necessary to keep track of drops in progress.
* platform/DragData.h: Use a DataObjectGtk* as the platform drag data.
* platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::containsFiles): Retrieve information via platformDragData.
(WebCore::DragData::asFilenames): Ditto.
(WebCore::DragData::containsPlainText): Ditto.
(WebCore::DragData::asPlainText): Ditto.
(WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData.
(WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData.
(WebCore::DragData::containsURL): Ditto.
(WebCore::DragData::asURL): Ditto.
(WebCore::DragData::asFragment): Ditto.
2010-06-29 Adam Langley <agl@chromium.org>
Build fix. Not reviewd.
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::setupPaint):
The name of the Skia function changed between writing this patch and
commiting it.
2010-06-29 Adam Langley <agl@chromium.org>
Reviewed by Kent Tamura.
[chromium] Support forced autohinting.
https://bugs.webkit.org/show_bug.cgi?id=40493
Freetype (the typical font rendering on Linux) includes an 'autohinter':
an algorithm for hinting glyph shapes without using the embedded hinting
bytecode in a font.
Some people prefer the autohinter's results, so we support forcing its
use.
This change also fixes a bug where two FontPlatformData structures would
compare equal, even if their rendering styles were different.
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::setupPaint):
In order to compare FontPlatformData structures we need to make sure
that they are initialised.
(WebCore::FontPlatformData::operator==):
* platform/graphics/chromium/FontRenderStyle.h:
(WebCore::FontRenderStyle::FontRenderStyle):
(WebCore::FontRenderStyle::operator==):
This fixes the case where two FontPlatformData structures, differing
only by rendering style, would compare equal.
2010-06-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Unreviewed, Symbian build fix.
Add more directories to USERINCLUDE so that they get included
before the Symbian system headers.
This is a workaround to some toolchain problems; bug 31273 is used to
find a better solution.
No new tests as there is no new functionality.
* WebCore.pro:
2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Cleanup SVGRenderSupport
https://bugs.webkit.org/show_bug.cgi?id=41347
Remove SVGRenderBase base class from all SVG renderers. It was meant as temporary solution until all SVG renderers inherit from RenderSVGModelObject,
though this is not going to happen. RenderSVGModelObject inherits from RenderObject, making it impossible to inherit eg. RenderSVGImage from it, as
it already indirectly inherits from RenderObject, through RenderImage. Other examples are RenderForeignObject (RenderBlock inheritance),
RenderSVGInlineText (RenderText inheritance) etc.
Rename SVGRenderBase to SVGRenderSupport, just like the file is named, remove all free functions, and make them all static functions in SVGRenderSupport.
We can still share code between all SVG renderers, but don't need a special base class for all renderers -> shrink size of all SVG renderers.
Doesn't affect any test.
* rendering/RenderBox.cpp: Remove localTransform() override, not needed at all.
* rendering/RenderBox.h: Ditto.
* rendering/RenderForeignObject.cpp: s/SVGRenderBase/SVGRenderSupport/
(WebCore::RenderForeignObject::paint):
(WebCore::RenderForeignObject::clippedOverflowRectForRepaint):
(WebCore::RenderForeignObject::computeRectForRepaint):
(WebCore::RenderForeignObject::nodeAtFloatPoint):
(WebCore::RenderForeignObject::mapLocalToContainer):
* rendering/RenderPath.cpp:
(WebCore::BoundingRectStrokeStyleApplier::strokeStyle): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
(WebCore::RenderPath::paint): s/SVGRenderBase/SVGRenderSupport/
(WebCore::RenderPath::nodeAtFloatPoint): Ditto.
(WebCore::RenderPath::updateCachedBoundaries): Ditto.
* rendering/RenderSVGBlock.h: Remove SVGRenderBase inheritance.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
(WebCore::RenderSVGContainer::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
(WebCore::RenderSVGContainer::objectBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
(WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
(WebCore::RenderSVGContainer::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
* rendering/RenderSVGHiddenContainer.cpp:
(WebCore::RenderSVGHiddenContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint): prepareToRenderSVGContent/finishRenderSVGContent are static functions in SVGRenderSupport now.
(WebCore::RenderSVGImage::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
(WebCore::RenderSVGImage::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
(WebCore::RenderSVGImage::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
(WebCore::RenderSVGImage::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
(WebCore::RenderSVGImage::computeRectForRepaint): Ditto.
(WebCore::RenderSVGImage::mapLocalToContainer): Ditto.
* rendering/RenderSVGImage.h: Remove SVGRenderBase inheritance.
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::objectBoundingBox): findTextRootObject is a static function in SVGRenderSupport now.
(WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
(WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
(WebCore::RenderSVGInline::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
(WebCore::RenderSVGInline::computeRectForRepaint): Ditto,.
(WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
(WebCore::RenderSVGInline::absoluteQuads): findTextRootObject is a static function in SVGRenderSupport now.
* rendering/RenderSVGInline.h: Remove SVGRenderBase inheritance.
* rendering/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
(WebCore::RenderSVGModelObject::computeRectForRepaint): Ditto.
(WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
(WebCore::RenderSVGModelObject::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
* rendering/RenderSVGModelObject.h: Remove SVGRenderBase inheritance.
* rendering/RenderSVGResource.cpp:
(WebCore::invalidatePaintingResource): Moved here from SVGRenderSupport (static inline helper function).
(WebCore::RenderSVGResource::invalidateAllResourcesOfRenderer): Moved here from SVGRenderSupport and renamed from deregisterFromResources.
* rendering/RenderSVGResource.h: Expose invalidateAllResourcesOfRenderer function.
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::createClipData): renderSubtreeToImage is a static function in SVGRenderSupport now.
(WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient): findTextRootObject is a static function in SVGRenderSupport now.
(WebCore::clipToTextMask): Ditto.
(WebCore::RenderSVGResourceGradient::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
(WebCore::RenderSVGResourceGradient::postApplyResource): findTextRootObject is a static function in SVGRenderSupport now.
* rendering/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::createMaskImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
(WebCore::clampImageBufferSizeToViewport): Moved here from SVGRenderSupport.
(WebCore::RenderSVGResourcePattern::createTileImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
* rendering/RenderSVGResourceSolidColor.cpp:
(WebCore::RenderSVGResourceSolidColor::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout): layoutChildren is a static function in SVGRenderSupport now.
(WebCore::RenderSVGRoot::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
(WebCore::RenderSVGRoot::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
(WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
* rendering/RenderSVGRoot.h: Remove localTransform() override, no longer needed. Remove SVGRenderBase inheritance.
(WebCore::RenderSVGRoot::objectBoundingBox): Inlined for speeed.
(WebCore::RenderSVGRoot::strokeBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
(WebCore::RenderSVGText::computeRectForRepaint): Ditto.
(WebCore::RenderSVGText::mapLocalToContainer): Ditto.
(WebCore::RenderSVGText::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
(WebCore::RenderSVGText::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
(WebCore::RenderSVGText::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
(WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): pointInClippingArea is a static function in SVGRenderSupport now.
* rendering/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
* rendering/SVGRenderSupport.cpp: Make it impossible to construct the class. Remove virtual destructor, made all methods static.
(WebCore::SVGRenderSupport::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
(WebCore::SVGRenderSupport::computeRectForRepaint): Ditto.
(WebCore::SVGRenderSupport::mapLocalToContainer): Ditto.
(WebCore::SVGRenderSupport::prepareToRenderSVGContent): Ditto.
(WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
(WebCore::SVGRenderSupport::renderSubtreeToImage): Made static.
(WebCore::SVGRenderSupport::computeContainerBoundingBox): Ditto.
(WebCore::SVGRenderSupport::layoutChildren): Ditto.
(WebCore::SVGRenderSupport::isOverflowHidden): s/SVGRenderBase/SVGRenderSupport/
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
(WebCore::SVGRenderSupport::pointInClippingArea): Made static.
(WebCore::SVGRenderSupport::dashArrayFromRenderingStyle): Ditto.
(WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto.
(WebCore::SVGRenderSupport::findTextRootObject): Ditto.
* rendering/SVGRenderSupport.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle): dashArrayFromRenderingStyle is a static function in SVGRenderSupport now.
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::paint): s/SVGRenderBase/SVGRenderSupport/
* rendering/SVGRootInlineBox.h: Remove SVGRenderBase inheritance.
* svg/SVGFEImageElement.cpp: Add RenderObject.h include, otherwhise it won't build anymore.
(WebCore::SVGFEImageElement::build): renderSubtreeToImage is a static function in SVGRenderSupport now.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::svgAttributeChanged): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2010-06-21 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[PNG decoder] direct access to jmpbuf is deprecated in libpng >= 1.4.0beta103
https://bugs.webkit.org/show_bug.cgi?id=40907
Define a JMPBUF macro to cope with deprecation of the jmpbuf
attribute in libpng >= 1.4.
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::decodingFailed):
(WebCore::PNGImageReader::decode):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
2010-06-29 Kristian Amlie <kristian.amlie@nokia.com>
Reviewed by Simon Hausmann.
[Qt/Symbian] Fixed deployment paths for WebKit declarative plugin.
* WebCore.pro:
2010-06-29 Yury Semikhatsky <yurys@chromium.org>
Unreviewed: Chromium Win and Mac build fix.
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Move PaintInfo/PaintPhase into their own headers, out of RenderObject
https://bugs.webkit.org/show_bug.cgi?id=41342
1) Move enums PaintPhase/PaintBehaviorFlags and the PaintBehaviour typedef from RenderObject into PaintPhase.h.
Move PaintInfo from RenderObject into PaintInfo.h. Replace s/RenderObject::PaintInfo/PaintInfo/ throughout WebCore/.
Also move the OverlapTestRequestMap typedef into PaintInfo.h, and replace s/RenderObject::OverlapTestRequestMap/OverlapTestRequestMap/ everywhere.
2) Move "RenderObject* paintingRootForChildren(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
and modify it to take a renderer: "void updatePaintingRootForChildren(const RenderObject* renderer)".
This changes a common idiom:
- info.paintingRoot = paintingRootForChildren(paintInfo);
+ info.updatePaintingRootForChildren(this);
We save resetting the paintingRoot to 0 if it was 0 already and thus do less work.
3) Move "bool shouldPaintWithinRoot(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
and modify it to take a renderer: "bool shouldPaintWithinRoot(const RenderObject* renderer) const".
This changes a common idiom:
- if (!shouldPaintWithinRoot(paintInfo))
+ if (!paintInfo.shouldPaintWithinRoot(this))
4) Move "void applyTransformToPaintInfo(RenderObject::PaintInfo&, const AffineTransform& localToChildTransform)"
from SVGRenderSupport to PaintInfo and rename it to "applyTransform", guarded with ENABLE(SVG) blocks.
This changes a common idiom:
- applyTransformToPaintInfo(childPaintInfo, localToParentTransform());
+ childPaintInfo.applyTransform(localToParentTransform());
Add PaintInfo.h / PaintPhase.h to all build systems that list headers.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/android/RenderThemeAndroid.cpp:
(WebCore::getCanvasFromInfo):
(WebCore::RenderThemeAndroid::paintCheckbox):
(WebCore::RenderThemeAndroid::paintButton):
(WebCore::RenderThemeAndroid::paintRadio):
(WebCore::RenderThemeAndroid::paintTextField):
(WebCore::RenderThemeAndroid::paintTextArea):
(WebCore::RenderThemeAndroid::paintSearchField):
(WebCore::RenderThemeAndroid::paintCombo):
(WebCore::RenderThemeAndroid::paintMenuList):
(WebCore::RenderThemeAndroid::paintMenuListButton):
* platform/android/RenderThemeAndroid.h:
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintThemePart):
(WebCore::RenderThemeEfl::paintCheckbox):
(WebCore::RenderThemeEfl::paintRadio):
(WebCore::RenderThemeEfl::paintButton):
(WebCore::RenderThemeEfl::paintMenuList):
(WebCore::RenderThemeEfl::paintTextField):
(WebCore::RenderThemeEfl::paintTextArea):
(WebCore::RenderThemeEfl::paintSearchFieldDecoration):
(WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
(WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
(WebCore::RenderThemeEfl::paintSearchField):
* platform/efl/RenderThemeEfl.h:
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::paintMozillaGtkWidget):
(WebCore::RenderThemeGtk::paintCheckbox):
(WebCore::RenderThemeGtk::paintRadio):
(WebCore::RenderThemeGtk::paintButton):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::paintTextField):
(WebCore::RenderThemeGtk::paintTextArea):
(WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::RenderThemeGtk::paintSearchField):
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::paintSliderThumb):
(WebCore::RenderThemeGtk::paintMediaFullscreenButton):
(WebCore::RenderThemeGtk::paintMediaMuteButton):
(WebCore::RenderThemeGtk::paintMediaPlayButton):
(WebCore::RenderThemeGtk::paintMediaSeekBackButton):
(WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
(WebCore::RenderThemeGtk::paintMediaSliderTrack):
(WebCore::RenderThemeGtk::paintMediaSliderThumb):
(WebCore::RenderThemeGtk::paintProgressBar):
* platform/gtk/RenderThemeGtk.h:
* platform/haiku/RenderThemeHaiku.cpp:
(WebCore::RenderThemeHaiku::paintCheckbox):
(WebCore::RenderThemeHaiku::paintRadio):
(WebCore::RenderThemeHaiku::paintMenuList):
* platform/haiku/RenderThemeHaiku.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::StylePainter::StylePainter):
(WebCore::RenderThemeQt::paintCheckbox):
(WebCore::RenderThemeQt::paintRadio):
(WebCore::RenderThemeQt::paintButton):
(WebCore::RenderThemeQt::paintTextField):
(WebCore::RenderThemeQt::paintTextArea):
(WebCore::RenderThemeQt::paintMenuList):
(WebCore::RenderThemeQt::paintMenuListButton):
(WebCore::RenderThemeQt::paintProgressBar):
(WebCore::RenderThemeQt::paintSliderTrack):
(WebCore::RenderThemeQt::paintSliderThumb):
(WebCore::RenderThemeQt::paintSearchField):
(WebCore::RenderThemeQt::paintSearchFieldCancelButton):
(WebCore::RenderThemeQt::paintSearchFieldDecoration):
(WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeQt::paintMediaFullscreenButton):
(WebCore::RenderThemeQt::paintMediaMuteButton):
(WebCore::RenderThemeQt::paintMediaPlayButton):
(WebCore::RenderThemeQt::paintMediaSeekBackButton):
(WebCore::RenderThemeQt::paintMediaSeekForwardButton):
(WebCore::RenderThemeQt::paintMediaCurrentTime):
(WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
(WebCore::RenderThemeQt::paintMediaSliderTrack):
(WebCore::RenderThemeQt::paintMediaSliderThumb):
* platform/qt/RenderThemeQt.h:
* platform/wx/RenderThemeWx.cpp:
(WebCore::RenderThemeWx::paintCheckbox):
(WebCore::RenderThemeWx::paintRadio):
(WebCore::RenderThemeWx::paintButton):
(WebCore::RenderThemeWx::paintTextField):
(WebCore::RenderThemeWx::paintMenuList):
(WebCore::RenderThemeWx::paintMenuListButton):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
* rendering/EllipsisBox.h:
* rendering/InlineBox.cpp:
(WebCore::InlineBox::paint):
* rendering/InlineBox.h:
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
(WebCore::InlineFlowBox::paintFillLayers):
(WebCore::InlineFlowBox::paintFillLayer):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
(WebCore::InlineFlowBox::paintTextDecorations):
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
* rendering/InlineTextBox.h:
* rendering/PaintInfo.h: Added.
(WebCore::PaintInfo::PaintInfo):
(WebCore::PaintInfo::updatePaintingRootForChildren):
(WebCore::PaintInfo::shouldPaintWithinRoot):
(WebCore::PaintInfo::applyTransform):
* rendering/PaintPhase.h: Added.
(WebCore::):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::paintEllipsisBoxes):
(WebCore::clipOutPositionedObjects):
(WebCore::RenderBlock::layoutColumns):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMask):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::paint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::performOverlapTests):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::paintPaginatedChildLayer):
(WebCore::RenderLayer::paintChildLayerIntoColumns):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint):
* rendering/RenderLineBoxList.h:
* rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaControls::paintMediaControlsPart):
* rendering/RenderMediaControls.h:
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaMuteButton):
(WebCore::paintMediaPlayButton):
(WebCore::paintMediaSlider):
(WebCore::paintMediaSliderThumb):
(WebCore::paintMediaVolumeSlider):
(WebCore::paintMediaVolumeSliderThumb):
(WebCore::paintMediaTimelineContainer):
(WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
* rendering/RenderMediaControlsChromium.h:
* rendering/RenderObject.h:
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):
* rendering/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::draw):
* rendering/RenderSVGResourceMarker.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paint):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::paint):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paintObject):
(WebCore::RenderTable::paintBoxDecorations):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paint):
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
(WebCore::RenderTableCell::paintBoxDecorations):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::paintMeter):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::paintCheckbox):
(WebCore::RenderTheme::paintRadio):
(WebCore::RenderTheme::paintButton):
(WebCore::RenderTheme::paintInnerSpinButton):
(WebCore::RenderTheme::paintOuterSpinButton):
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintMenuList):
(WebCore::RenderTheme::paintMenuListButton):
(WebCore::RenderTheme::paintProgressBar):
(WebCore::RenderTheme::paintSliderTrack):
(WebCore::RenderTheme::paintSliderThumb):
(WebCore::RenderTheme::paintSearchField):
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldDecoration):
(WebCore::RenderTheme::paintSearchFieldResultsDecoration):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
(WebCore::RenderTheme::paintMediaFullscreenButton):
(WebCore::RenderTheme::paintMediaPlayButton):
(WebCore::RenderTheme::paintMediaMuteButton):
(WebCore::RenderTheme::paintMediaSeekBackButton):
(WebCore::RenderTheme::paintMediaSeekForwardButton):
(WebCore::RenderTheme::paintMediaSliderTrack):
(WebCore::RenderTheme::paintMediaSliderThumb):
(WebCore::RenderTheme::paintMediaVolumeSliderContainer):
(WebCore::RenderTheme::paintMediaVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaVolumeSliderThumb):
(WebCore::RenderTheme::paintMediaRewindButton):
(WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
(WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderTheme::paintMediaControlsBackground):
(WebCore::RenderTheme::paintMediaCurrentTime):
(WebCore::RenderTheme::paintMediaTimeRemaining):
* rendering/RenderThemeChromiumMac.h:
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
(WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
(WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
(WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
(WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintCheckbox):
(WebCore::RenderThemeChromiumSkia::paintRadio):
(WebCore::paintButtonLike):
(WebCore::RenderThemeChromiumSkia::paintButton):
(WebCore::RenderThemeChromiumSkia::paintTextField):
(WebCore::RenderThemeChromiumSkia::paintTextArea):
(WebCore::RenderThemeChromiumSkia::paintSearchField):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
(WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground):
(WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
(WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb):
(WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb):
(WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
(WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
(WebCore::RenderThemeChromiumSkia::paintMenuList):
(WebCore::RenderThemeChromiumSkia::paintMenuListButton):
(WebCore::RenderThemeChromiumSkia::paintSliderTrack):
(WebCore::RenderThemeChromiumSkia::paintSliderThumb):
(WebCore::RenderThemeChromiumSkia::paintProgressBar):
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::paintCheckbox):
(WebCore::RenderThemeChromiumWin::paintRadio):
(WebCore::RenderThemeChromiumWin::paintButton):
(WebCore::RenderThemeChromiumWin::paintTextField):
(WebCore::RenderThemeChromiumWin::paintSliderTrack):
(WebCore::RenderThemeChromiumWin::paintSliderThumb):
(WebCore::RenderThemeChromiumWin::paintMenuList):
(WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
(WebCore::RenderThemeChromiumWin::paintProgressBar):
* rendering/RenderThemeChromiumWin.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButton):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldDecoration):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::getUnzoomedRectAndAdjustCurrentContext):
(WebCore::RenderThemeMac::paintMediaFullscreenButton):
(WebCore::RenderThemeMac::paintMediaMuteButton):
(WebCore::RenderThemeMac::paintMediaPlayButton):
(WebCore::RenderThemeMac::paintMediaSeekBackButton):
(WebCore::RenderThemeMac::paintMediaSeekForwardButton):
(WebCore::RenderThemeMac::paintMediaSliderTrack):
(WebCore::RenderThemeMac::paintMediaSliderThumb):
(WebCore::RenderThemeMac::paintMediaRewindButton):
(WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
(WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderThemeMac::paintMediaControlsBackground):
(WebCore::RenderThemeMac::paintMediaCurrentTime):
(WebCore::RenderThemeMac::paintMediaTimeRemaining):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::paintCheckbox):
(WebCore::RenderThemeSafari::paintRadio):
(WebCore::RenderThemeSafari::paintButton):
(WebCore::RenderThemeSafari::paintTextField):
(WebCore::RenderThemeSafari::paintCapsLockIndicator):
(WebCore::RenderThemeSafari::paintTextArea):
(WebCore::RenderThemeSafari::paintMenuList):
(WebCore::RenderThemeSafari::paintMenuListButtonGradients):
(WebCore::RenderThemeSafari::paintMenuListButton):
(WebCore::RenderThemeSafari::paintSliderTrack):
(WebCore::RenderThemeSafari::paintSliderThumb):
(WebCore::RenderThemeSafari::paintSearchField):
(WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
(WebCore::RenderThemeSafari::paintSearchFieldDecoration):
(WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
(WebCore::RenderThemeSafari::paintMediaFullscreenButton):
(WebCore::RenderThemeSafari::paintMediaMuteButton):
(WebCore::RenderThemeSafari::paintMediaPlayButton):
(WebCore::RenderThemeSafari::paintMediaSeekBackButton):
(WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
(WebCore::RenderThemeSafari::paintMediaSliderTrack):
(WebCore::RenderThemeSafari::paintMediaSliderThumb):
* rendering/RenderThemeSafari.h:
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintButton):
(WebCore::RenderThemeWin::paintTextField):
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::paintMenuListButton):
(WebCore::RenderThemeWin::paintSliderTrack):
(WebCore::RenderThemeWin::paintSliderThumb):
(WebCore::RenderThemeWin::paintSearchField):
(WebCore::RenderThemeWin::paintSearchFieldCancelButton):
(WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeWin::paintSearchFieldResultsButton):
(WebCore::RenderThemeWin::paintMediaFullscreenButton):
(WebCore::RenderThemeWin::paintMediaMuteButton):
(WebCore::RenderThemeWin::paintMediaPlayButton):
(WebCore::RenderThemeWin::paintMediaSeekBackButton):
(WebCore::RenderThemeWin::paintMediaSeekForwardButton):
(WebCore::RenderThemeWin::paintMediaSliderTrack):
(WebCore::RenderThemeWin::paintMediaSliderThumb):
(WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
* rendering/RenderThemeWin.h:
(WebCore::RenderThemeWin::paintCheckbox):
(WebCore::RenderThemeWin::paintRadio):
(WebCore::RenderThemeWin::paintTextArea):
(WebCore::RenderThemeWin::paintSearchFieldDecoration):
* rendering/RenderThemeWince.cpp:
(WebCore::RenderThemeWince::paintButton):
(WebCore::RenderThemeWince::paintTextField):
(WebCore::RenderThemeWince::paintMenuList):
(WebCore::RenderThemeWince::paintMenuListButton):
(WebCore::RenderThemeWince::paintSearchField):
(WebCore::RenderThemeWince::paintSearchFieldCancelButton):
(WebCore::RenderThemeWince::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeWince::paintSearchFieldResultsButton):
(WebCore::RenderThemeWince::paintSliderTrack):
(WebCore::RenderThemeWince::paintSliderThumb):
(WebCore::RenderThemeWince::paintMediaFullscreenButton):
(WebCore::RenderThemeWince::paintMediaMuteButton):
(WebCore::RenderThemeWince::paintMediaPlayButton):
(WebCore::RenderThemeWince::paintMediaSeekBackButton):
(WebCore::RenderThemeWince::paintMediaSeekForwardButton):
(WebCore::RenderThemeWince::paintMediaSliderTrack):
(WebCore::RenderThemeWince::paintMediaSliderThumb):
* rendering/RenderThemeWince.h:
(WebCore::RenderThemeWince::paintCheckbox):
(WebCore::RenderThemeWince::paintRadio):
(WebCore::RenderThemeWince::paintTextArea):
(WebCore::RenderThemeWince::paintSearchFieldDecoration):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paintEllipsisBox):
(WebCore::RootInlineBox::paintCustomHighlight):
(WebCore::RootInlineBox::paint):
(WebCore::RootInlineBox::fillLineSelectionGap):
* rendering/RootInlineBox.h:
* rendering/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::paint):
* rendering/SVGInlineFlowBox.h:
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paint):
* rendering/SVGInlineTextBox.h:
* rendering/SVGMarkerLayoutInfo.cpp:
(WebCore::SVGMarkerLayoutInfo::drawMarkers):
* rendering/SVGMarkerLayoutInfo.h:
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderBase::prepareToRenderSVGContent):
(WebCore::SVGRenderBase::finishRenderSVGContent):
(WebCore::renderSubtreeToImage):
* rendering/SVGRenderSupport.h:
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::paint):
* rendering/SVGRootInlineBox.h:
2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Sort Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Provide floating-point support for text selection framework
https://bugs.webkit.org/show_bug.cgi?id=40665
Rename 'glyphScale' to 'horizontalGlyphStretch' upon Dans' request.
Also guard the variables in ENABLE(SVG) blocks. Initialize variable to 1 instead of 1.0f, as that's the new style rule.
No functional changes, thus no new tests.
* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::horizontalGlyphStretch):
(WebCore::TextRun::setHorizontalGlyphStretch):
(WebCore::TextRun::spacingDisabled):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance):
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::offsetForPosition):
2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
REGRESSION: text-shadow CSS applied to SVG no longer works
https://bugs.webkit.org/show_bug.cgi?id=40960
Readd text-shadow support, this time supporting multiple shadows.
It's not exactly like HTML, because SVG draws fill/stroke phases seperated - the png shows the difference.
Tests: svg/css/text-shadow-multiple.xhtml
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::applyShadowToGraphicsContext): Refactored from paintTextWithShadows(), so SVG can reuse.
(WebCore::paintTextWithShadows): Use refactored applyShadowToGraphicsContext() function.
* rendering/InlineTextBox.h:
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintTextWithShadows): Added.
(WebCore::SVGInlineTextBox::paintText): Call paintTextWithShadows() instead of directly drawing the text.
* rendering/SVGInlineTextBox.h:
2010-06-29 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: show actual breakpoint position in UI.
When user sets breakpoint from UI, javascript engine may actually set
it on a different line. If so, move breakpoint to the correct position
in frontend.
https://bugs.webkit.org/show_bug.cgi?id=40781
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::dispatchDidPause):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::currentCallFrame):
* bindings/v8/ScriptDebugServer.h:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::setBreakpoint):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::setBreakpoint):
(WebCore::InspectorController::removeBreakpoint):
(WebCore::InspectorController::didParseSource):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::didSetBreakpoint):
* inspector/InspectorFrontend.h:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
(WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
(WebInspector.BreakpointManager.prototype.setBreakpoint):
(WebInspector.BreakpointManager.prototype.restoredBreakpoint):
(WebInspector.BreakpointManager.prototype.removeBreakpoint):
(WebInspector.BreakpointManager.prototype._setBreakpoint):
(WebInspector.BreakpointManager.prototype._removeBreakpoint):
(WebInspector.BreakpointManager.prototype._setBreakpointOnBackend.didSetBreakpoint):
(WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
(WebInspector.Breakpoint.prototype.set enabled):
(WebInspector.Breakpoint.prototype.set condition):
* inspector/front-end/InspectorBackendStub.js:
(.WebInspector.InspectorBackendStub.prototype.setBreakpoint):
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._addBreakpoint):
2010-06-29 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Catch toString() exceptions in all DB-related code.
https://bugs.webkit.org/show_bug.cgi?id=41297
* bindings/v8/custom/V8BindingMacros.h:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::openDatabaseCallback):
* bindings/v8/custom/V8DatabaseCustom.cpp:
(WebCore::V8Database::changeVersionCallback):
* bindings/v8/custom/V8DatabaseSyncCustom.cpp:
(WebCore::V8DatabaseSync::changeVersionCallback):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::V8SQLTransaction::executeSqlCallback):
* bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
(WebCore::V8SQLTransactionSync::executeSqlCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::V8WorkerContext::openDatabaseCallback):
(WebCore::V8WorkerContext::openDatabaseSyncCallback):
2010-06-29 Herczeg Zoltan <zherczeg@webkit.org>
Rubber-stamped by Nikolas Zimmermann.
Windows build fix.
https://bugs.webkit.org/show_bug.cgi?id=5861
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::build):
2010-06-29 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Nikolas Zimmermann.
Add ConvolveMatrix SVG filter effect
https://bugs.webkit.org/show_bug.cgi?id=5861
The patch was originally started by Dirk Schulze,
and the .cpp and .h files are mostly his work.
I updated the build systems and do some minor updates
to the source files as well. The patch does not contain
the implementation of the filter: this is intended,
and will be landed in a follow-up patch.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm:
(WebCore::createElementClassMap):
* bindings/objc/DOMSVG.h:
* page/DOMWindow.idl:
* svg/SVGAllInOne.cpp:
* svg/SVGFEConvolveMatrixElement.cpp: Added.
(WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
(WebCore::SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement):
(WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
(WebCore::SVGFEConvolveMatrixElement::setOrder):
(WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
(WebCore::SVGFEConvolveMatrixElement::build):
* svg/SVGFEConvolveMatrixElement.h: Added.
* svg/SVGFEConvolveMatrixElement.idl: Added.
* svg/graphics/filters/SVGFEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::FEConvolveMatrix):
(WebCore::FEConvolveMatrix::create):
(WebCore::FEConvolveMatrix::kernelSize):
(WebCore::FEConvolveMatrix::setKernelSize):
(WebCore::FEConvolveMatrix::targetOffset):
(WebCore::FEConvolveMatrix::setTargetOffset):
(WebCore::operator<<):
(WebCore::FEConvolveMatrix::externalRepresentation):
* svg/graphics/filters/SVGFEConvolveMatrix.h:
(WebCore::):
* svg/svgattrs.in:
* svg/svgtags.in:
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 tree builder shouldn't ASSERT on HTML5lib test suite
https://bugs.webkit.org/show_bug.cgi?id=41335
Sketch out the EndTag handling for InBodyMode.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::ElementStack::inScope):
(WebCore::HTMLTreeBuilder::clearActiveFormatingElementsUpToLastMarker):
(WebCore::HTMLTreeBuilder::generateImpliedEndTags):
2010-06-28 David Levin <levin@chromium.org>
Reviewed by NOBODY (chromium build fix).
* rendering/RenderObject.h: Add missing forward declaration.
2010-06-28 Adam Barth <abarth@webkit.org>
Unreviewed.
I accidently gave up my ref and tried to dereference a null pointer.
This code is keeping an extra ref that it doesn't need, but that fact
was somewhat hidden before.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::addChildCommon):
(WebCore::ContainerNode::parserAddChild):
(WebCore::ContainerNode::legacyParserAddChild):
* dom/ContainerNode.h:
2010-06-28 Adam Barth <abarth@webkit.org>
Unreviewed.
Refactor common code into addChildCommon
https://bugs.webkit.org/show_bug.cgi?id=41326
Eric asked that we share the common code between these codepaths.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::addChildCommon):
(WebCore::ContainerNode::parserAddChild):
(WebCore::ContainerNode::addChild):
* dom/ContainerNode.h:
2010-06-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
https://bugs.webkit.org/show_bug.cgi?id=41319
Restructure the code to not use in-band data, which is what
got us in trouble with a signed/unsigned mismatch before.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
(WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
* html/HTMLTreeBuilder.h:
2010-06-28 Daniel Bates <dbates@rim.com>
Unreviewed, attempt to fix Qt bots.
Attempt to fix the build after changeset 62079 <http://trac.webkit.org/changeset/62079>
(https://bugs.webkit.org/show_bug.cgi?id=41324).
Rename some more call sites that were missed in the initial landing.
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):
(WebCore::XMLDocumentParser::parseDtd):
2010-06-28 Daniel Bates <dbates@rim.com>
Unreviewed, build fix.
Change return type of method HTMLTreeBuilder::reconstructTheActiveFormattingElements()
from int to unsigned.
Attempt to fix the build after changeset 62077 <https://trac.webkit.org/changeset/62077>
(https://bugs.webkit.org/show_bug.cgi?id=41319).
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::indexOfLastOpenFormattingElementOrMarker):
(WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
* html/HTMLTreeBuilder.h:
2010-06-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Rename ContainerNode::addChild to legacyParserAddChild to indicate its parser-only intended use
https://bugs.webkit.org/show_bug.cgi?id=41324
A bunch of places in the code were calling ContainerNode::addChild.
I don't think they actually want to be doing that, as it has special
form-related handling which is part of LegacyHTMLTreeBuilder.
No functional changes, thus no tests.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::legacyParserAddChild):
* dom/ContainerNode.h:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
* dom/Node.cpp:
(WebCore::Node::legacyParserAddChild):
* dom/Node.h:
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::legacyParserAddChild):
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::legacyParserAddChild):
* html/HTMLTableRowElement.h:
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::legacyParserAddChild):
* html/HTMLTableSectionElement.h:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable):
(WebCore::HTMLViewSourceDocument::addSpanWithClassName):
(WebCore::HTMLViewSourceDocument::addLine):
(WebCore::HTMLViewSourceDocument::addText):
(WebCore::HTMLViewSourceDocument::addLink):
2010-06-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
https://bugs.webkit.org/show_bug.cgi?id=41319
This is basically a direct transcription of HTML5 TreeBuilder spec:
http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#list-of-active-formatting-elements
This code is covered by various tests in html5lib/runner which we
can't run yet due to other asserts. Adam and I are working on
getting rid of those ASSERTS so that this (and other code) will
be better tested shortly.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertFormatingElement):
(WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::ElementStack::contains):
(WebCore::HTMLTreeBuilder::FormatingElementEntry::FormatingElementEntry):
(WebCore::HTMLTreeBuilder::FormatingElementEntry::):
(WebCore::HTMLTreeBuilder::FormatingElementEntry::isMarker):
(WebCore::HTMLTreeBuilder::FormatingElementEntry::element):
(WebCore::HTMLTreeBuilder::FormatingElementEntry::replaceElement):
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix ASSERT so we can run more HTML5lib tests
https://bugs.webkit.org/show_bug.cgi?id=41325
We can't call Node::addChild because that function contains a bunch of
logic from the old parser. Instead, this patch creates a new version
of addChild that's does less validating (that's the tree builder's
job).
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::parserAddChild):
* dom/ContainerNode.h:
* dom/Node.cpp:
(WebCore::Node::parserAddChild):
* dom/Node.h:
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::attach):
2010-06-28 David Levin <levin@chromium.org>
Reviewed by NOBODY (chromium build fix).
* bindings/v8/ScriptEventListener.h: Changed forward declaration
to correspond to the code change doing in r62052.
2010-06-28 Brady Eidson <beidson@apple.com>
Reviewed by Alexey Proskuryakov.
Support for https://bugs.webkit.org/show_bug.cgi?id=40484
In working on adding beforeProcess, it becomes necessary for JSLazyEventListeners to always know what their
original Node* was, even if it was a window event listener.
For HTMLFrameSet, HTMLBody, and SVGSVG elements, a second form of createAttributeEventListener was used that
took a Frame* argument and didn't set the original Node* on the JSLazyEventListener.
This patch changes that form of the function to createWindowAttributeEventListener, and passes the Node* along
for later use by the beforeProcess mechanism.
No new tests. (No change in behavior)
* bindings/js/ScriptEventListener.cpp:
(WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
of a Frame*, and figures out the Frame* itself internally.
* bindings/js/ScriptEventListener.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
of a Frame*, and figures out the Frame* itself internally. Note that V8LazyEventListener doesn't allow us to
pass the Element* argument in so this beforeprocess feature won't fully work on V8 builds until this is changed.
* bindings/v8/ScriptEventListener.h:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute): Use createWindowAttributeEventListener instead.
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseMappedAttribute): Ditto.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::parseMappedAttribute): Ditto. Also add some missing copyright dates that `svn log` proves
should be there.
2010-06-28 John Gregg <johnnyg@google.com>
Reviewed by Kent Tamura.
add ENABLE_DIRECTORY_UPLOAD build support
https://bugs.webkit.org/show_bug.cgi?id=41100
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* WebCore.pri:
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Don't use the new tree builder for fragments
https://bugs.webkit.org/show_bug.cgi?id=41316
We need to walk before we can run. After this change, we can run the
runner.html tests (with the ASSERT caveat).
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
The new tree builder should actually finish building the tree
https://bugs.webkit.org/show_bug.cgi?id=41314
Again, this patch makes progress on runner.html, but I haven't removed
the ASSERT yet.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::finished):
* html/HTMLTreeBuilder.h:
2010-06-28 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Eric Seidel.
Fix a race condition that can happen when using DBs in workers.
https://bugs.webkit.org/show_bug.cgi?id=41105
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::addOpenDatabase):
* storage/DatabaseTracker.h:
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add text nodes to the DOM
https://bugs.webkit.org/show_bug.cgi?id=41306
Actually add some text nodes to the DOM when parsing a document. We're
going to need to do something fancier here eventually, but this gets us
past the error we're seeing currently in runner.html.
Unfortunately, this patch "regresses" runner.html in the sense that we
now hit an assert, but it's still an improvement... I'll update the
HTML5 expectations once we get past the assert.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::insertTextNode):
* html/HTMLTreeBuilder.h:
2010-06-28 Beth Dakin <bdakin@apple.com>
Build fix for non-PATH_BASED_BORDER_RADIUS_DRAWING platforms.
* rendering/RenderBoxModelObject.cpp:
2010-06-28 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Use HTML5-conformant gradient interpolation mode
https://bugs.webkit.org/show_bug.cgi?id=41298
Change the Qt Gradient implementation to use ComponentInterpolation mode.
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#colors-and-styles
* platform/graphics/qt/GradientQt.cpp:
(WebCore::Gradient::platformGradient):
2010-06-28 Beth Dakin <bdakin@apple.com>
Reviewed by Sam Weinig.
Fix for https://bugs.webkit.org/show_bug.cgi?id=9197 CSS3: Borders
with border-radius and double, groove, or ridge styles should look
better
This patch re-works border radius painting to stroke paths instead
of arcs.
Added new function clipConvexPolygon(). Added static
addConvexPolygonToContext so that code can be shared between
drawConvexPolygon() and clipConvexPolygon().
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::addConvexPolygonToContext):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::clipConvexPolygon):
Shells of implementations on non-CG platforms.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::clipConvexPolygon):
This new helper function determines if the inner corners of the
border will arch in or meet at a right angle.
* rendering/RenderBoxModelObject.cpp:
(WebCore::borderWillArcInnerEdge):
This function is re-written so that, for each side of the border,
if borderWillArcInnerEdge() is true, we go down a brand new code
path of clipping to a convex polygon for the border side and then
we paint the side using the new function drawBoxSideFromPath(). If
borderWillArcInnerEdge() is false, then we call into the old
familiar drawLineForBoxSide() which relies on the rounder clip
rects we have set up to arch the outer edge of the border.
(WebCore::RenderBoxModelObject::paintBorder):
This new function does the math to figure out the convex polygon
to clip to in the case where we need to arch the inner edge of the
border. This calls into a new GraphicsContext function that is only
implemented on CG at this time. This is the reason we are keeping
around an old version of paintBorder() for now.
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):
* rendering/RenderBoxModelObject.h:
borderInnerRect() is a new convenience function called from
RenderObject and RenderBoxModelObject to determine the rect of the
inside edge of the border.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::borderInnerRect):
This new function re-works drawArcForBoxSide to draw from Paths
when appropriate instead of stroking arcs.
(WebCore::RenderObject::drawBoxSideFromPath):
Keep this around for that do not HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until
GraphicsContext::clipConvexPolygon() is implemented.
(WebCore::RenderObject::drawArcForBoxSide):
* rendering/RenderObject.h:
New function
RenderStyle::getInnerBorderRadiiForRectWithBorderWidths() gets the
inner radius values for a rect. It takes border widths a parameters
rather than using the style's border widths so that it can be used
in inner radius calculations for double and groove/ridge
calculations. The W3C corner constraining rules were moved to a
static function that can be called from both getBorderRadiiForRect
() and getInnerBorderRadiiForRectWithBorderWidths().
* rendering/style/RenderStyle.cpp:
(WebCore::constrainCornerRadiiForRect):
(WebCore::RenderStyle::getBorderRadiiForRect):
(WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
* rendering/style/RenderStyle.h:
2010-06-28 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Add support for the progress bar tag
https://bugs.webkit.org/show_bug.cgi?id=41014
Add support for rendering the progress tag for WebKit GTK+.
* GNUmakefile.am:
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
Added. Currently progress bar animations are disabled. As it looks like
there may not be a good way to support this with Mozilla's theme drawing code.
(WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
(WebCore::RenderThemeGtk::adjustProgressBarStyle): Added.
(WebCore::RenderThemeGtk::paintProgressBar): Added.
* platform/gtk/RenderThemeGtk.h: Add declarations for new methods.
* platform/gtk/gtk2drawing.c:
(moz_gtk_get_progress_widget): Expose the progress widget so that the chunk can be positioned properly.
* platform/gtk/gtkdrawing.h: Added declaration for moz_gtk_get_progress_widget.
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 Regression: Crash in insert()
https://bugs.webkit.org/show_bug.cgi?id=41281
We need to call endIfDelayed() outside of the script nesting block
because endIfDelayed() might call end(), which deletes the
HTMLDocumentParser. If we try to exit the script nesting block after
the HTMLDocumentParser has been deleted, we'll decrement unallocated
memory, which is bad times.
Moving endIfDelayed outside of the script nesting block also lets us
avoid ending if inWrite() is true. If we're inWrite(), then there's
folks above us on the stack who will crash of the HTMLDocumentParser is
deallocated. Adding this check matches the LegacyHTMLDocumentParser
and the logic in attemptToEnd, facilitating a small refactoring of the
common logic for improved readability.
I don't know of any test case that changes in behavior because of this
patch, but this bug exists on the same line of code that the reliablity
tests crashed. I'm not sure whether this patch will fix that crash,
but removing bugs (even theoretical ones) seems like a good idea.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
* html/HTMLDocumentParser.h:
(WebCore::HTMLDocumentParser::shouldDelayEnd):
2010-06-28 Eric Carlson <eric.carlson@apple.com>
Reviewed by Sam Weinig.
MediaPlayerPrivate::getSupportedTypes does not return "modern" MIME types
https://bugs.webkit.org/show_bug.cgi?id=41287
<rdar://problem/8137402>
No new test because getSupportedTypes is used privately by MediaPlayer.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::getSupportedTypes): Build hash set with both common and
modern types.
2010-06-28 James Robinson <jamesr@chromium.org>
Reviewed by Darin Adler.
REGRESSION(53790): Neopets page with mismatched elements misrenders
https://bugs.webkit.org/show_bug.cgi?id=41181
Misnested formatting tags require fixup in order to create a valid DOM. Because this takes
O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
of 5 to this algorithm to avoid hangs. This limit is too low for neopets, but a limit of
7 is sufficient. This raises the limit to 10 to have a bit of breathing room. HTML5
defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
but doesn't specify any particular iteration limit.
* html/LegacyHTMLTreeBuilder.cpp:
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
The new tree builder needs to call attach() on elements it attaches to
the DOM
https://bugs.webkit.org/show_bug.cgi?id=41293
Apparently Nodes expect to have their attach() method called when they
are attached to the DOM. The new tree builder is happy to oblige.
Making this call requires some fancy footwork with RefPtr/PassRefPtr to
avoid extra ref churn while keeping each function small.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::insertDoctype):
(WebCore::HTMLTreeBuilder::insertComment):
(WebCore::HTMLTreeBuilder::insertCommentOnDocument):
(WebCore::HTMLTreeBuilder::insertElement):
(WebCore::HTMLTreeBuilder::insertSelfClosingElement):
(WebCore::HTMLTreeBuilder::insertScriptElement):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::attach):
2010-06-28 Xan Lopez <xlopez@igalia.com>
Fix distcheck.
* GNUmakefile.am:
2010-06-28 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Index validation caches buffer size information too aggressively
https://bugs.webkit.org/show_bug.cgi?id=41092
Test: fast/canvas/webgl/index-validation-with-resized-buffer.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateRenderingState):
- Compute the number of valid elements each time based on the latched buffer.
(WebCore::WebGLRenderingContext::vertexAttribPointer):
- Do not cache the buffer size, only the attributes used to
compute the number of required elements.
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
- Ditto.
2010-06-28 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Replace single treat-as-space characters with normal space
https://bugs.webkit.org/show_bug.cgi?id=41278
This keeps Qt from attempting glyph substitution and loading a bunch
of extra fonts when encountering &nbsp; entities.
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::floatWidthForComplexText):
2010-06-28 Robin Cao <robin.cao@torchmobile.com.cn>
Reviewed by Dan Bernstein.
canvas fillText with @font-face crashes
https://bugs.webkit.org/show_bug.cgi?id=35486
The font object in CanvasRenderingContext2D may become invalid at some point.
Override recalcStyle() in HTMLCanvasElement, and update the font object from there if needed.
A test already exists: canvas/philip/tests/2d.text.draw.fontface.repeat.html
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::recalcStyle):
* html/HTMLCanvasElement.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::updateFont):
* html/canvas/CanvasRenderingContext2D.h:
2010-06-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed build fix.
[EFL] Build fix for latest version of Ecore library.
Ecore recently changed return type of callbacks from int to Eina_Bool.
No new functionality, so no new tests.
* platform/efl/SharedTimerEfl.cpp:
(WebCore::timerEvent): Return Eina_Bool instead of int.
2010-06-28 Xan Lopez <xlopez@igalia.com>
Fix build with GTK+ older than 2.18
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::visibleContentRect):
2010-06-28 Xan Lopez <xlopez@igalia.com>
Reviewed by Adam Barth.
[GTK] Push NULL context on every DOM bindings entry point
https://bugs.webkit.org/show_bug.cgi?id=39967
Update GObject DOM bindings to push the NULL context on every API
entry point, and update bindings test results.
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2010-06-28 Martin Robinson <martin.james.robinson@gmail.com>
Reviewed by Adam Roben.
[WinCairo] Text box backgrounds do not render in partially opaque layers
https://bugs.webkit.org/show_bug.cgi?id=41113
Tests:
manual-tests/partially-opaque-text-input.html
* platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContext::releaseWindowsContext):
When restoring a context which does not support alpha blending, manually
set the alpha channel of the HBITMAP to fully opaque. This will effectively
ignore the alpha channel of the HBITMAP, which is necessary because GDI
drawing functions set the alpha value to be fully transparent (0).
2010-06-28 Martin Robinson <martin.james.robinson@gmail.com>
Reviewed by Adam Roben.
[WinCairo] Rendering of themed elements on a layer with opacity produces nothing
https://bugs.webkit.org/show_bug.cgi?id=41111
Tests:
manual-tests/partially-opaque-form-elements.html
* platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContext::releaseWindowsContext):
Preform a cairo_save() and a cairo_restore() around code modifying the transformation
matrix of the Cairo surface. Also set the destination coordinates before adjusting
the transformation matrix scale, so that the destination coordinates are not scaled
as well.
2010-06-28 Sam Magnuson <smagnuson@netflix.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] GraphicsLayerQt delay seems unnecessary.
https://bugs.webkit.org/show_bug.cgi?id=40846
Test: compositing/animation/busy-indicator.html
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::recache):
(WebCore::GraphicsLayerQtImpl::flushChanges):
(WebCore::GraphicsLayerQt::setContentsToImage):
(WebCore::GraphicsLayerQt::addAnimation):
2010-06-28 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Until now we were adding the event listeners for a given object in
the wrap method, since that's the first moment we have accoss to
the core WebCore object. The problem is that we only install the
listeners that the topmost class in the class hierarchy needs (eg,
HTMLParagrahElement for a P element), when most of the actual
event attributes are defined in the base classes (Node, Element,
...).
To fix this set the core object as a construct/write-only property
on the wrapper GObject, and set the eventlisteners in the cGObject
'construct' method, chaining up through all the class hierarchy
until the end. This way we'll get all the eventlisteners defined
in all the superclasses of our object, which is what we want.
* bindings/gobject/WebKitDOMObject.cpp:
(webkit_dom_object_get_property):
(webkit_dom_object_set_property):
(webkit_dom_object_class_init):
* bindings/scripts/CodeGeneratorGObject.pm:
* dom/Node.idl:
2010-06-28 Xan Lopez <xlopez@igalia.com>
Fix GTK+ build.
* platform/gtk/RenderThemeGtk.cpp:
2010-06-28 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Does not compile with -DGSEAL_ENABLE
https://bugs.webkit.org/show_bug.cgi?id=37851
Fix build with GSEAL enabled.
* GNUmakefile.am:
* platform/gtk/GtkVersioning.h:
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::paintMozillaGtkWidget):
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::systemColor):
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::platformRemoveChild):
(WebCore::ScrollView::visibleContentRect):
* platform/gtk/gtk2drawing.c:
(ensure_toggle_button_widget):
(ensure_combo_box_widgets):
(ensure_combo_box_entry_widgets):
(ensure_tree_header_cell_widget):
(moz_gtk_button_paint):
(moz_gtk_toggle_paint):
(calculate_button_inner_rect):
(calculate_arrow_rect):
(moz_gtk_scrollbar_button_paint):
(moz_gtk_scrollbar_trough_paint):
(moz_gtk_scrollbar_thumb_paint):
(moz_gtk_spin_paint):
(moz_gtk_spin_updown_paint):
(moz_gtk_scale_paint):
(moz_gtk_scale_thumb_paint):
(moz_gtk_gripper_paint):
(moz_gtk_hpaned_paint):
(moz_gtk_vpaned_paint):
(moz_gtk_entry_paint):
(moz_gtk_treeview_paint):
(moz_gtk_tree_header_sort_arrow_paint):
(moz_gtk_treeview_expander_paint):
(moz_gtk_expander_paint):
(moz_gtk_combo_box_paint):
(moz_gtk_downarrow_paint):
(moz_gtk_combo_box_entry_button_paint):
(moz_gtk_container_paint):
(moz_gtk_toggle_label_paint):
(moz_gtk_toolbar_paint):
(moz_gtk_toolbar_separator_paint):
(moz_gtk_tooltip_paint):
(moz_gtk_resizer_paint):
(moz_gtk_frame_paint):
(moz_gtk_progressbar_paint):
(moz_gtk_progress_chunk_paint):
(moz_gtk_get_tab_thickness):
(moz_gtk_tab_paint):
(moz_gtk_tabpanels_paint):
(moz_gtk_tab_scroll_arrow_paint):
(moz_gtk_menu_bar_paint):
(moz_gtk_menu_popup_paint):
(moz_gtk_menu_separator_paint):
(moz_gtk_menu_item_paint):
(moz_gtk_menu_arrow_paint):
2010-06-28 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Add support for GTK+3
https://bugs.webkit.org/show_bug.cgi?id=41253
Adapt build system for 3.x support.
* GNUmakefile.am:
2010-06-28 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: properties of scope variables are flattened while on a breakpoint.
https://bugs.webkit.org/show_bug.cgi?id=41214
Test: inspector/debugger-proto-property.html
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor): object proxy with non-empty path cannot be scope proxy.
2010-06-28 MORITA Hajime <morrita@google.com>
Unreviewed attempt to fix windows build.
* page/DOMWindow.idl:
2010-06-22 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
<progress> should be styled with -webkit-progress-bar-value
https://bugs.webkit.org/show_bug.cgi?id=40823
Fixed to peek styles of the shadow node pseudo class to fallback
to non-styled painting.
* css/html.css:
(progress): Added defaul background-color.
(progress::-webkit-progress-bar-value): Added defaul background-color.
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::shouldHaveParts):
(WebCore::RenderProgress::updatePartsState):
Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
2010-06-28 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Kent Tamura.
GCC suggest parentheses around && within ||
https://bugs.webkit.org/show_bug.cgi?id=41245
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Don't dump contents of <script> elements in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=41277
Apparently we need to tell each element when we start and stop parsing
its children. If we don't do this, we see the contents of every script
and style element in dumpAsText LayoutTests. (This patch is *well*
covered by LayoutTests.)
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::ElementStack::pop):
(WebCore::HTMLTreeBuilder::ElementStack::push):
2010-06-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make it possible to test the new HTML5 TreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41276
Adam was concerned that someone might make their port
depend on this setting (I guess we had some trouble with that
with the HTML5Parser setting), so I littered the code with warnings.
test-html5-parser now tests this code path.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::finished):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setHTML5TreeBuilderEnabled_DO_NOT_USE):
(WebCore::Settings::html5TreeBuilderEnabled):
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make the html5lib runner.html not assert
https://bugs.webkit.org/show_bug.cgi?id=41273
This patch gets us closer to being able to run the parser tests. We
still don't get parsing correct, but at least we don't assert. :)
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::insertCommentOnDocument):
* html/HTMLTreeBuilder.h:
2010-06-28 Eric Seidel <eric@webkit.org>
Unreviewed. Attempt to fix Chromium and Qt builders.
Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
https://bugs.webkit.org/show_bug.cgi?id=41141
No functional changes, thus no tests.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerLineNumber):
(WebCore::ScriptController::eventHandlerColumnNumber):
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::stopParsing):
2010-06-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add support for parsing attributes
https://bugs.webkit.org/show_bug.cgi?id=41272
This patch lets use parse the following document:
<script src="data:text/javascript,alert('PASS')"></script>
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
(WebCore::HTMLTreeBuilder::insertScriptElement):
(WebCore::HTMLTreeBuilder::createElement):
2010-06-28 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites
https://bugs.webkit.org/show_bug.cgi?id=41141
By splitting ScriptableDocumentParser and DecodedDataDocumentParser
out from DocumentParser we've made the DocumentParser and
RawDataDocumentParser classes simpler.
No functional change, thus no tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerLineNumber):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::checkLoaded):
* dom/Document.cpp:
(WebCore::Document::scriptableDocumentParser):
(WebCore::Document::open):
(WebCore::Document::implicitOpen):
(WebCore::Document::implicitClose):
(WebCore::Document::removePendingSheet):
* dom/Document.h:
(WebCore::Document::parser):
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::DocumentParser):
* dom/DocumentParser.h:
(WebCore::DocumentParser::asScriptableDocumentParser):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::finishWasCalled):
* dom/ScriptableDocumentParser.cpp: Copied from WebCore/html/HTMLEntityParser.h.
(WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
* dom/ScriptableDocumentParser.h: Added.
(WebCore::ScriptableDocumentParser::isExecutingScript):
(WebCore::ScriptableDocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::ScriptableDocumentParser::xssAuditor):
(WebCore::ScriptableDocumentParser::setXSSAuditor):
(WebCore::ScriptableDocumentParser::processingContentWrittenByScript):
(WebCore::ScriptableDocumentParser::asScriptableDocumentParser):
* dom/ViewportArguments.cpp:
(WebCore::parserLineNumber):
(WebCore::reportViewportWarning):
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
* html/HTMLDocumentParser.h:
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
(WebCore::LegacyHTMLDocumentParser::parseTag):
* html/LegacyHTMLDocumentParser.h:
(WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
* html/LegacyHTMLTreeBuilder.cpp:
(WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
* loader/DocumentLoader.cpp:
* loader/DocumentWriter.cpp:
* loader/TextDocument.cpp:
(WebCore::TextDocumentParser::TextDocumentParser):
(WebCore::TextDocumentParser::finish):
* svg/SVGDocumentExtensions.cpp:
(WebCore::parserLineNumber):
(WebCore::reportMessage):
(WebCore::SVGDocumentExtensions::reportWarning):
(WebCore::SVGDocumentExtensions::reportError):
2010-06-27 Steve Falkenburg <sfalken@apple.com>
Reviewed by Mark Rowe.
WebKit2 build exceeds address space on 32-bit Windows builders
https://bugs.webkit.org/show_bug.cgi?id=41270
Add all-in-one file for render-related SVG files.
Clean up other all-in-one files by adding missing files, excluding matching files from the vcproj.
Reduces release WebCore.lib size by 10% (160MB).
* DerivedSources.cpp:
* WebCore.vcproj/WebCore.vcproj:
* bindings/js/JSBindingsAllInOne.cpp:
* html/HTMLElementsAllInOne.cpp:
* rendering/RenderSVGAllInOne.cpp: Added.
2010-06-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Sketch out the InBodyMode for the tree builder
https://bugs.webkit.org/show_bug.cgi?id=41271
This gives us some basic behavior for the InBodyMode. I've implemented
some of the easier logic. The more complicated logic will be in
subsequent patches.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::insertFormatingElement):
(WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
* html/HTMLTreeBuilder.h:
2010-06-25 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Improve default value handling for page format properties.
Default page size and orientation have been hard-coded.
Instead, pass default page size and margins to
WebCore::Document::pageSizeAndMarginsInPixels to handle auto page size
and margins specified as percentages.
Return margins instead of page rect.
https://bugs.webkit.org/show_bug.cgi?id=41150
* WebCore.base.exp:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyPageSizeProperty):
(WebCore::CSSStyleSelector::pageSizeFromName):
* css/html.css:
(@page):
* dom/Document.cpp:
(WebCore::Document::pageSizeAndMarginsInPixels):
* dom/Document.h:
* page/PrintContext.cpp:
(WebCore::PrintContext::pageProperty):
(WebCore::PrintContext::pageSizeAndMarginsInPixels):
* page/PrintContext.h:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::pageSizeType):
(WebCore::InheritedFlags::setPageSizeType):
(WebCore::InheritedFlags::resetPageSizeType):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(WebCore::):
2010-06-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Clean up some loose ends in HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=41265
This patch cleans up a few loose ends in HTML5 tree builder.
Technically, we could do each of these as individual patches, but that
didn't seem worth while.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
- Add missing break before default case statement. I don't think
this change is observable.
(WebCore::HTMLTreeBuilder::processComment):
- Originally I thought that comments had special processing in the
InHeadNoscriptMode, but it turns out that when you unwind the
definitions, it amounts to exactly the same thing.
(WebCore::HTMLTreeBuilder::processEndOfFile):
- Add missing break before default case statement. I don't think
this change is observable.
(WebCore::HTMLTreeBuilder::insertComment):
- Eliminate one unnecessary ref/deref pair.
(WebCore::HTMLTreeBuilder::insertSelfClosingElement):
- When we insert self-closing elements, there's no reason to push
them onto the stack of open elements just to pop them off again.
This change saves a malloc/free pair as well as a ref/deref pair.
Go team.
* html/HTMLTreeBuilder.h:
- Remove unused function.
2010-06-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement remaining StartTag processing for InHeadNoscriptMode
https://bugs.webkit.org/show_bug.cgi?id=41264
The InHeadNoscriptMode processes some start tags "as if" the tree
builder were in the InHeadMode. This is an idiom we'll see more of
later. My approach is this patch is to factor all the logic for
processing start tags in the InHeadMode into a separate function that
can be called from both locations. This seems cleaner than just
splitting out the parts that are actually used by both modes.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processStartTagForInHead):
(WebCore::HTMLTreeBuilder::insertSelfClosingElement):
* html/HTMLTreeBuilder.h:
2010-06-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add support for <title> and <style> elements
https://bugs.webkit.org/show_bug.cgi?id=41263
These elements use the generic RCDATA and RawText algorithms,
respectively.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
(WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
2010-06-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Actually insert Doctype elements
https://bugs.webkit.org/show_bug.cgi?id=41262
This code is pretty much the same as in the old tree builder.
* html/HTMLToken.h:
(WebCore::AtomicHTMLToken::publicIdentifier):
(WebCore::AtomicHTMLToken::systemIdentifier):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::insertDoctype):
2010-06-27 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Canvas: Ignore calls to drawImage() with non-finite parameters
https://bugs.webkit.org/show_bug.cgi?id=38929
This also fixes a Qt assert when using the raster graphics system.
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
2010-06-27 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
editing/execCommand/copy-without-selection.html fails on Qt after r61637
https://bugs.webkit.org/show_bug.cgi?id=41025
The problem was that when getting data back via Clipboard::getData(),
the String::String(const char*, int) constructor was called
with UTF-16 data.
The solution is to use QMimeData's text() and setText() for "text/plain".
setText() which makes sure Qt passes the string in proper format to the
system clipboard. (The previous implementation would convert it to UTF-8)
text() makes sure that the correct encoding is used (UTF-16) and that
we get back whatever we originally put in there.
* platform/qt/ClipboardQt.cpp:
(WebCore::isTextMimeType):
(WebCore::ClipboardQt::getData):
(WebCore::ClipboardQt::setData):
2010-06-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 tree builder should be able to execute inline scripts
https://bugs.webkit.org/show_bug.cgi?id=41257
This patch implements enough machinery so that we can execute inline
scripts in extremely simple documents such as the following:
<html>
<script>
alert(1);
</script>
To get this to work, I had to flesh out a surprising amount of the data
structures for processing the <head>. No tests because this is
already covered by most LayoutTests.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::insertComment):
(WebCore::HTMLTreeBuilder::insertElement):
(WebCore::HTMLTreeBuilder::insertScriptElement):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::ElementRecord::ElementRecord):
(WebCore::HTMLTreeBuilder::ElementRecord::element):
(WebCore::HTMLTreeBuilder::ElementRecord::next):
(WebCore::HTMLTreeBuilder::ElementRecord::releaseNext):
(WebCore::HTMLTreeBuilder::ElementRecord::setNext):
(WebCore::HTMLTreeBuilder::ElementStack::pop):
(WebCore::HTMLTreeBuilder::ElementStack::push):
(WebCore::HTMLTreeBuilder::ElementStack::top):
(WebCore::HTMLTreeBuilder::ElementStack::remove):
(WebCore::HTMLTreeBuilder::currentElement):
2010-06-26 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
beforeProcess event needs to fire before inline scripts/stylesheets take effect
<rdar://problem/8084335> and https://bugs.webkit.org/show_bug.cgi?id=40484
This patch adds the Event, the onBeforeProcess attribute, and hooks the attribute up in a few places.
Besides that, no change in behavior.
Layout tests will come with the actual implementations as a followup to this patch.
Project file nonsense:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Scaffolding for the event itself:
* dom/BeforeProcessEvent.cpp: Added.
(WebCore::BeforeProcessEvent::text):
(WebCore::BeforeProcessEvent::setText):
* dom/BeforeProcessEvent.h: Added.
(WebCore::BeforeProcessEvent::create):
(WebCore::BeforeProcessEvent::initBeforeProcessEvent):
(WebCore::BeforeProcessEvent::BeforeProcessEvent):
* dom/BeforeProcessEvent.idl: Added.
* dom/EventNames.h:
Respect the onBeforeProcess attribute:
* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded):
* dom/Document.h:
(WebCore::Document::):
* html/HTMLAttributeNames.in:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::parseMappedAttribute):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseMappedAttribute):
2010-06-26 Darin Adler <darin@apple.com>
Try to fix Chromium build by adding back function used only by Chromium WebKit.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultChecked): Added back.
* html/HTMLInputElement.h: Added defaultChecked function.
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::httpEquiv): Added back.
* html/HTMLMetaElement.h: Added httpEquiv function.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::defaultSelected): Added back.
* html/HTMLOptionElement.h: Added defaultSelected function.
* rendering/style/StyleRareNonInheritedData.h: Fixed incorrect struct vs. class
here as seen in warnings on Chromium Windows bot.
2010-06-26 Darin Adler <darin@apple.com>
Try to fix Windows build by adding back function used only by Windows WebKit.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::label): Added back.
* html/HTMLOptionElement.h: Added label function.
2010-06-26 Darin Adler <darin@apple.com>
Try to fix Qt build by adding back function used only by Qt WebKit.
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::content): Added back.
* html/HTMLMetaElement.h: Added content function.
2010-06-26 Darin Adler <darin@apple.com>
* html/HTMLFormElement.h: Removed stray character that got in here before landing.
2010-06-26 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Add more use of reflection, remove unused functions
https://bugs.webkit.org/show_bug.cgi?id=41255
Also noticed that HTMLDirectoryElement was missing its create function
and added that so the element will get the correct class.
* html/HTMLBaseFontElement.idl: Use reflection for the size attribute
in the Objective-C code path too.
* html/HTMLSelectElement.idl: Use reflection for disabled and autofocus
attributes. Also removed spaces and indenting to match other IDL files.
* html/HTMLStyleElement.idl: Use reflection for disabled attribute.
* html/HTMLTableCellElement.idl: Use reflection for noWrap attribute.
* html/HTMLTextAreaElement.idl: Use reflection for disabled, autofocus,
readOnly, and required attributes.
* html/HTMLUListElement.idl: Use reflection for compact attribute.
* html/HTMLDirectoryElement.cpp:
(WebCore::HTMLDirectoryElement::HTMLDirectoryElement): Made inline.
(WebCore::HTMLDirectoryElement::create): Added.
* html/HTMLDirectoryElement.h:
Added create, made constructor private, removed unused functions.
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseMappedAttribute): Removed code to
set unused m_media data member.
* html/HTMLStyleElement.h:
Removed unused functions and m_media data member. Also made some
functions private.
* html/HTMLAppletElement.cpp:
* html/HTMLAppletElement.h:
* html/HTMLAreaElement.cpp:
* html/HTMLAreaElement.h:
* html/HTMLBaseFontElement.cpp:
* html/HTMLBaseFontElement.h:
* html/HTMLButtonElement.cpp:
* html/HTMLButtonElement.h:
* html/HTMLDListElement.cpp:
* html/HTMLDListElement.h:
* html/HTMLDivElement.cpp:
* html/HTMLDivElement.h:
* html/HTMLFontElement.cpp:
* html/HTMLFontElement.h:
* html/HTMLFormControlElement.cpp:
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
* html/HTMLFormElement.h:
* html/HTMLFrameElement.cpp: Also removed an incorrect FIXME comment
here after I did a little research to disprove it.
* html/HTMLFrameElement.h:
* html/HTMLFrameSetElement.cpp:
* html/HTMLFrameSetElement.h:
* html/HTMLHRElement.cpp:
* html/HTMLHRElement.h:
* html/HTMLHeadElement.cpp:
* html/HTMLHeadElement.h:
* html/HTMLHeadingElement.cpp:
* html/HTMLHeadingElement.h:
* html/HTMLHtmlElement.cpp:
* html/HTMLHtmlElement.h:
* html/HTMLImageElement.cpp:
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
* html/HTMLInputElement.h:
* html/HTMLIsIndexElement.cpp:
* html/HTMLIsIndexElement.h:
* html/HTMLLIElement.cpp:
* html/HTMLLIElement.h:
* html/HTMLLabelElement.cpp:
* html/HTMLLabelElement.h:
* html/HTMLLegendElement.cpp:
* html/HTMLLegendElement.h:
* html/HTMLLinkElement.cpp:
* html/HTMLLinkElement.h:
* html/HTMLMapElement.cpp:
* html/HTMLMapElement.h:
* html/HTMLMenuElement.cpp:
* html/HTMLMenuElement.h:
* html/HTMLMetaElement.cpp:
* html/HTMLMetaElement.h:
* html/HTMLModElement.cpp:
* html/HTMLModElement.h:
* html/HTMLOListElement.cpp:
* html/HTMLOListElement.h:
* html/HTMLObjectElement.cpp:
* html/HTMLObjectElement.h:
* html/HTMLOptGroupElement.cpp:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.cpp:
* html/HTMLOptionElement.h:
* html/HTMLParagraphElement.cpp:
* html/HTMLParagraphElement.h:
* html/HTMLParamElement.cpp:
* html/HTMLParamElement.h:
* html/HTMLPlugInElement.cpp:
* html/HTMLPlugInElement.h:
* html/HTMLPreElement.cpp:
* html/HTMLPreElement.h:
* html/HTMLQuoteElement.cpp:
* html/HTMLQuoteElement.h:
* html/HTMLScriptElement.cpp:
* html/HTMLScriptElement.h:
* html/HTMLTableCaptionElement.cpp:
* html/HTMLTableCaptionElement.h:
* html/HTMLTableCellElement.cpp:
* html/HTMLTableCellElement.h:
* html/HTMLTableColElement.cpp:
* html/HTMLTableColElement.h:
* html/HTMLTableElement.cpp:
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.cpp:
* html/HTMLTableRowElement.h:
* html/HTMLTextAreaElement.cpp:
* html/HTMLTextAreaElement.h:
* html/HTMLUListElement.cpp:
* html/HTMLUListElement.h:
* html/HTMLVideoElement.cpp:
* html/HTMLVideoElement.h:
Removed unused functions.
2010-06-26 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Exclude line numbers for sources which are not from the network.
https://bugs.webkit.org/show_bug.cgi?id=41060
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::write):
2010-06-25 Antonio Gomes <tonikitoo@webkit.org>
Unreviewed complementary fix for r61818. It added StaticHashSetListNode.cpp|h to the system,
but did not added it to chromium build system.
* WebCore.gypi:
2010-06-26 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: ScripsPanel.prototype.editScriptSource uses old addBreakpoint signature.
https://bugs.webkit.org/show_bug.cgi?id=41247
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.removeBreakpoint):
(WebInspector.Breakpoint.prototype.set enabled):
(WebInspector.Breakpoint.prototype.set condition):
* inspector/front-end/Object.js:
(WebInspector.Object.prototype.addEventListener):
(WebInspector.Object.prototype.removeEventListener):
(WebInspector.Object.prototype.removeAllListeners):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
(WebInspector.ScriptsPanel.prototype.editScriptSource):
2010-06-26 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Dimitri Glazkov.
Add a guarded window.performance.timing binding which is disabled by default.
https://bugs.webkit.org/show_bug.cgi?id=38924
This is where Web Timing support will be implemented. Web Timing is a
draft spec for exposing load times to web pages. It will be enabled
once the spec and implementaiton are solidified. See:
http://dev.w3.org/2006/webapi/WebTiming/
No new tests because guarded behind a #DEFINE. Will add tests as
functionality is landed.
* Android.mk:
* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::performance):
* page/DOMWindow.h:
(WebCore::DOMWindow::optionalPerformance):
* page/DOMWindow.idl:
* page/NavigationTiming.cpp: Added.
(WebCore::NavigationTiming::NavigationTiming):
(WebCore::NavigationTiming::frame):
(WebCore::NavigationTiming::disconnectFrame):
(WebCore::NavigationTiming::navigationStart):
* page/NavigationTiming.h: Added.
(WebCore::NavigationTiming::create):
* page/NavigationTiming.idl: Added.
* page/Performance.cpp: Added.
(WebCore::Performance::Performance):
(WebCore::Performance::frame):
(WebCore::Performance::disconnectFrame):
(WebCore::Performance::timing):
* page/Performance.h: Added.
(WebCore::Performance::create):
* page/Performance.idl: Added.
2010-06-25 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
activeTexture wrongly generates error with legal input.
https://bugs.webkit.org/show_bug.cgi?id=41227
Test: fast/canvas/webgl/texture-active-bind.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::activeTexture): Fix the upper limit test for test units.
2010-06-25 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=41061
Make sure Chromium's ScriptController::processingUserGesture follows the JSC's behavior.
Set right value in UserGestureIndicator when handling events in PopupMenuList in chromium.
Test: fast/events/popup-when-select-change.html
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::processingUserGesture):
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupContainer::handleMouseDownEvent):
(WebCore::PopupContainer::handleMouseMoveEvent):
(WebCore::PopupContainer::handleMouseReleaseEvent):
(WebCore::PopupContainer::handleWheelEvent):
(WebCore::PopupContainer::handleKeyEvent):
2010-06-25 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Make PendingScript hold a CachedResourceClient open for its lifetime
https://bugs.webkit.org/show_bug.cgi?id=40968
This replaces the mechanism introduced in r61374 with a simpler
appraoch for preventing unexpected purges: always keep a client open.
This approach will allow deferred scripts to add a client after
the resource may have already been loaded without having to worry about
the buffer being purged in the meantime.
No new tests because making a CachedResource purse itself is not
testable from a LayoutTest.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::watchForLoad):
(WebCore::HTMLDocumentParser::notifyFinished):
* html/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::isPendingScriptReady):
(WebCore::HTMLScriptRunner::executePendingScript):
(WebCore::HTMLScriptRunner::watchForLoad):
(WebCore::HTMLScriptRunner::stopWatchingForLoad):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::requestScript):
(WebCore::HTMLScriptRunner::PendingScript::~PendingScript):
(WebCore::HTMLScriptRunner::PendingScript::releaseElementAndClear):
(WebCore::HTMLScriptRunner::PendingScript::setCachedScript):
(WebCore::HTMLScriptRunner::PendingScript::cachedScript):
* html/HTMLScriptRunner.h:
(WebCore::HTMLScriptRunner::PendingScript::PendingScript):
(WebCore::HTMLScriptRunner::PendingScript::watchingForLoad):
(WebCore::HTMLScriptRunner::PendingScript::setWatchingForLoad):
(WebCore::HTMLScriptRunner::PendingScript::notifyFinished):
* html/HTMLScriptRunnerHost.h:
2010-06-25 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
getUniform will not work for fetching uniform array elements
https://bugs.webkit.org/show_bug.cgi?id=34508
Test: fast/canvas/webgl/gl-uniform-arrays.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::attachShader): Generate correct errors.
(WebCore::WebGLRenderingContext::getUniform): Dealing with array elements.
(WebCore::WebGLRenderingContext::useProgram): Deal with program==null.
(WebCore::WebGLRenderingContext::validateProgram): Generate correct errors.
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::useProgram): Deal with program==null.
2010-06-25 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Bring set/get state functions to GLES2 conformance
https://bugs.webkit.org/show_bug.cgi?id=41095
Tests: fast/canvas/webgl/gl-enable-enum-test.html
fast/canvas/webgl/gl-enum-tests.html
* html/canvas/WebGLRenderingContext.cpp: Check input parameters according to GLES2 spec.
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::isEnabled):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::validateBlendEquation):
(WebCore::WebGLRenderingContext::validateCapability):
* html/canvas/WebGLRenderingContext.h: Add helper function declaration.
2010-06-25 Sterling Swigart <sswigart@google.com>
Reviewed by David Levin.
Callback code generation fixed so that now string parameters are converted to JSString
using the jsString method instead of the toJS method which would not compile.
https://bugs.webkit.org/show_bug.cgi?id=41119
* bindings/scripts/CodeGeneratorJS.pm: Now generates jsString for String parameters in callbacks.
* bindings/scripts/test/JS/JSTestCallback.cpp: Fixed test for above.
(WebCore::JSTestCallback::callbackWithClass2Param): Ditto.
2010-06-25 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
A buffer should be bound to one target in its lifetime
https://bugs.webkit.org/show_bug.cgi?id=41108
Test: fast/canvas/webgl/buffer-bind-test.html
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::WebGLBuffer): Init target to 0.
(WebCore::WebGLBuffer::associateBufferData): Remove target parameter, use one byteLength member.
(WebCore::WebGLBuffer::associateBufferSubData): Ditto.
(WebCore::WebGLBuffer::byteLength): Ditto.
(WebCore::WebGLBuffer::setTarget): Set target.
* html/canvas/WebGLBuffer.h: Cache target in the WebGLBuffer object, use one byteLength member.
(WebCore::WebGLBuffer::getTarget):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bindBuffer): Check if a buffer is bound to another target; set buffer object internal target.
(WebCore::WebGLRenderingContext::bufferData): Remove target parameter and use the WebGLBuffer cached target instead.
(WebCore::WebGLRenderingContext::bufferSubData): Ditto.
(WebCore::WebGLRenderingContext::validateElementArraySize): Ditto.
(WebCore::WebGLRenderingContext::validateIndexArrayConservative): Ditto.
(WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
2010-06-25 Dean Jackson <dino@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=41188
Animations should not require 0% and 100% keyframes
When we are generating the animation lists in CSSStyleSelector,
rather than bail if we notice that "from" or "to" are missing, we
now generate synthetic keyframes for those cases.
Tests: animations/missing-from-to-transforms.html
animations/missing-from-to.html
WebCore/manual-tests/animation-with-transition.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForKeyframe):
Moved individual keyframe generation into a new function.
(WebCore::CSSStyleSelector::keyframeStylesForAnimation):
Call the new function above for regular keyframes, and
also check for missing keyframes and generate them if
necessary.
* css/CSSStyleSelector.h:
2010-06-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
We should parse <html>
https://bugs.webkit.org/show_bug.cgi?id=41239
This patch is hard to test, but I think this patch lets us parse a
document consisting of only an <html> start tag.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
(WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::ElementStack::push):
2010-06-25 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/8000667> Certain text is repeated before and after a line break
Test: fast/text/bidi-explicit-embedding-past-end.html
* platform/text/BidiResolver.h:
(WebCore::::createBidiRunsForLine): Committing explicit embedding past the end of the range
creates BidiRuns up to the end of the range, so at that point, we can stop iterating.
2010-06-25 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
https://bugs.webkit.org/show_bug.cgi?id=41202
Hit the Windoze with the compile bat.
* WebCore.vcproj/WebCore.vcproj:
2010-06-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTMLTreeBuilder should branch first on token type and then on insertion mode
https://bugs.webkit.org/show_bug.cgi?id=41232
This is different than how the spec is written, but it lets us remove a
lot of redudancy in the algorithm. We might even want to pull some of
the branches on token name outside the insertion mode branch, but I'll
leave that for a future patch.
Although this looks like a big patch, it's mostly just a mechanical
switch permutation.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::processDoctypeToken):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processComment):
(WebCore::HTMLTreeBuilder::processCharacter):
(WebCore::HTMLTreeBuilder::processEndOfFile):
(WebCore::HTMLTreeBuilder::processDefaultForInitialMode):
(WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
(WebCore::HTMLTreeBuilder::processDefaultForBeforeHeadMode):
(WebCore::HTMLTreeBuilder::processDefaultForInHeadMode):
(WebCore::HTMLTreeBuilder::processDefaultForInHeadNoscriptMode):
(WebCore::HTMLTreeBuilder::processDefaultForAfterHeadMode):
* html/HTMLTreeBuilder.h:
2010-06-25 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Tree builder doesn't need to return a Node
https://bugs.webkit.org/show_bug.cgi?id=41225
The old tree builder returned the newly inserted Node, but the new tree
builder doesn't need to do that as far as I can tell. Removing the
return value cuts down on a bunch of accounting.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::insertDoctype):
(WebCore::HTMLTreeBuilder::insertComment):
(WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
(WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
(WebCore::HTMLTreeBuilder::insertScriptElement):
* html/HTMLTreeBuilder.h:
2010-06-25 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
getParameter(COLOR_WRITEMASK) needs to return Array
https://bugs.webkit.org/show_bug.cgi?id=40437
* bindings/js/JSWebGLRenderingContextCustom.cpp: Handling bool array.
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Handling bool array.
(WebCore::toV8Object):
* html/canvas/WebGLGetInfo.cpp: Handling bool array.
(WebCore::WebGLGetInfo::WebGLGetInfo):
(WebCore::WebGLGetInfo::getBoolArray):
* html/canvas/WebGLGetInfo.h: Handling bool array.
(WebCore::WebGLGetInfo::):
* html/canvas/WebGLRenderingContext.cpp: Handling bool array.
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getBooleanArrayParameter):
* html/canvas/WebGLRenderingContext.h: Handling bool array.
2010-06-25 Evan Stade <estade@chromium.org>
Reviewed by Darin Fisher.
[chromium linux] Improve look of scrollbars
https://bugs.webkit.org/show_bug.cgi?id=35775
This will affect layout pixel tests, which will need to be rebaselined.
* platform/Scrollbar.cpp: need the buttons to be invalidated when the
thumb moves as they paint differently if the thumb is at the top or
bottom
(WebCore::Scrollbar::updateThumbPosition):
(WebCore::Scrollbar::updateThumbProportion):
* platform/chromium/ScrollbarThemeChromium.cpp:
(WebCore::ScrollbarThemeChromium::trackRect): share code between
linux/windows
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
(WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
(WebCore::outlineColor): up the contrast
(WebCore::ScrollbarThemeChromiumLinux::paintButton): add custom button
drawing implementation
(WebCore::ScrollbarThemeChromiumLinux::buttonSize): add buttons
* platform/chromium/ScrollbarThemeChromiumWin.cpp: share code between
linux/windows
* rendering/RenderThemeChromiumLinux.cpp: improve stock colors to get
better contrast and integration with stock chrome theme
2010-06-25 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter
https://bugs.webkit.org/show_bug.cgi?id=41202
The silly thing about this patch is that none of the
RawDataDocumentParser subclasses actually use any of the
data passed to them via appendBytes.
This makes the relationship between DocumentWriter and
DocumentParser slightly more confusing, however I think this
DocumentParser API is slightly nicer.
Next step is to split DecodedDataDocumentParser out from
DocumentParser, and then the base DocumentParser won't know
anything about decoding or SegmentedString.
No functional change, thus no tests.
* WebCore.xcodeproj/project.pbxproj:
* dom/DocumentParser.h:
* dom/RawDataDocumentParser.h:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
(WebCore::DocumentWriter::createDecoderIfNeeded):
(WebCore::DocumentWriter::reportDataRecieved):
(WebCore::DocumentWriter::addData):
* loader/DocumentWriter.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::appendBytes):
* loader/MediaDocument.cpp:
(WebCore::MediaDocumentParser::appendBytes):
* loader/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes):
* loader/SinkDocument.cpp:
(WebCore::SinkDocumentParser::SinkDocumentParser):
(WebCore::SinkDocumentParser::appendBytes):
(WebCore::SinkDocument::createParser):
2010-06-25 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Split DocumentParser::write into separate append and insert calls
https://bugs.webkit.org/show_bug.cgi?id=41197
Unfortunately this is still somewhat confusing as
"insert" means "insert this data at the current
insertion point and run the parser synchronously
unless we're in a nested write call" and "append"
means "append this data to the end and run the
parser if not in a nested call or until possibly yielding".
This at least makes clearer which document parsers implement
which behavior, and paves the way for moving the decoding
logic into DocumentParser from DocumentWriter.
No functional changes, thus no tests.
* dom/Document.cpp:
(WebCore::Document::write):
* dom/DocumentParser.h:
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::insert):
(WebCore::RawDataDocumentParser::append):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::insert):
(WebCore::XMLDocumentParser::append):
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::resumeParsing):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::parseDocumentFragment):
* html/HTMLDocumentParser.h:
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::insert):
(WebCore::LegacyHTMLDocumentParser::append):
* html/LegacyHTMLDocumentParser.h:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
(WebCore::DocumentWriter::addData):
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::append):
* loader/TextDocument.cpp:
(WebCore::TextDocumentParser::insert):
(WebCore::TextDocumentParser::append):
(WebCore::TextDocumentParser::finish):
2010-06-25 Daniel Cheng <dcheng@chromium.org>
Reviewed by Darin Fisher.
[chromium] Add new stubs for querying platform drag-and-drop and copy-and-paste data.
This change adds new stubs for querying for data in a clipboard or drag operation. This is
so adding support for more data types in clipboard/drag operations doesn't become
increasingly expensive, since we currently copy all the drag data we need every time a new
web drop target is entered. It also adds a new mechanism to write back to the system
clipboard that isn't tied to one data type.
https://bugs.webkit.org/show_bug.cgi?id=40540
No new tests since we're just adding new ChromiumBridge APIs. When we switch to it, it will
be covered by the existing tests.
* platform/chromium/ChromiumBridge.h:
* platform/chromium/PasteboardPrivate.h:
(WebCore::PasteboardPrivate::):
2010-06-25 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Xan Lopez.
[Gtk] Implement atk_table_get_column_header
https://bugs.webkit.org/show_bug.cgi?id=30896
Implemented get_column_header and modified get_row_header
accordingly to keep them both coherent among themselves.
Based on a previous patch by Joanmarie Diggs.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_table_get_column_header):
(webkit_accessible_table_get_row_header):
2010-06-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Pasteboard code does not take into account the nil character when getting and setting markup/netscape-url data
https://bugs.webkit.org/show_bug.cgi?id=41221
Take into account null-terminator when getting and setting markup and
Netscape URL pasteboard types. This means that if the selection data
contains the null terminator, it won't be included in the final String.
When setting the pasteboard data the null terminator is now included to
match the behavior of other applications.
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents):
Create the markup string after using g_strndup to protect against non-null-terminated
strings. Use String::fromUTF8 here to ensure that the string is not longer than the
first null-terminator. Also fix a small indentation issue.
(WebCore::PasteboardHelper::fillSelectionData):
Always include the null-terminator when setting pasteboard data manually. This matches
the behavior of other browser applications.
2010-06-25 Sam Magnuson <smagnuson@netflix.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] When any geometry change happens to a node it will resize the
backing cache
https://bugs.webkit.org/show_bug.cgi?id=40378
Continue to grow the cache, but never toss it. When the pixmap
cache gets too big it will be lost and created at the right size
next time.
No new tests: this is an optimization.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::recache):
(WebCore::GraphicsLayerQtImpl::paint):
(WebCore::GraphicsLayerQtImpl::flushChanges):
2010-06-25 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=41019
Canvas: Remember verified clean origins for drawImage()
Made CanvasRenderingContext2D cache the KURLs of clean origins
for fast repeated lookup.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::checkOrigin):
* html/canvas/CanvasRenderingContext2D.h:
2010-06-25 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] HTTP 307 after a 303 after a POST re-sends POST data from the original request
https://bugs.webkit.org/show_bug.cgi?id=35301
Qt needs to use ResourceRequest::request()->httpMethod()) in order to determine
the appropriate method for a 307 redirect request.
When deciding if it needs to override a POST method with a GET method during a
redirect chain, QNetworkReplyHandler needs to check the HTTP method stored
in ResourceRequest::request()->httpMethod(). This will always contain the
original request method in a redirect chain and, more importantly, is the
method that will be used for the request created from the redirect
if it is not overridden.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2010-06-25 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Removed a one-line method that only had one internal caller.
* rendering/RenderBlock.h: Removed bidiReorderLine()
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren): Moved the implementation of
bidiReorderLine() inline here.
2010-06-25 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Take a KURL parameter in Document's constructor.
This will remove the one case where Document::url()
and FrameLoader::url() are not equal, allowing us to
remove FrameLoader::url().
https://bugs.webkit.org/show_bug.cgi?id=41166
Refactor only, no new tests.
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
(WebCore::DOMImplementation::createHTMLDocument):
* dom/DOMImplementation.h:
* dom/Document.cpp:
(WebCore::Document::Document): Call setURL() if a frame or a non-empty KURL is specified.
(WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
of m_frame->loader()->url() for initializing the SecurityOrigin.
* dom/Document.h:
(WebCore::Document::create):
(WebCore::Document::createXHTML):
* html/HTMLDocument.cpp:
* html/HTMLDocument.h: Add KURL parameter to create() and constructor.
* html/HTMLViewSourceDocument.cpp:
* html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
* loader/CachedFont.cpp:
(WebCore::CachedFont::ensureSVGFontData):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
(WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
redundant Document::setURL() call.
* loader/DocumentWriter.h:
* loader/FTPDirectoryDocument.cpp:
* loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
* loader/ImageDocument.cpp:
* loader/ImageDocument.h: Add KURL parameter to create() and constructor.
* loader/MediaDocument.cpp:
* loader/MediaDocument.h: Add KURL parameter to create() and constructor.
* loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
* loader/PluginDocument.cpp:
* loader/PluginDocument.h: Add KURL parameter to create() and constructor.
* loader/SinkDocument.cpp:
* loader/SinkDocument.h: Add KURL parameter to create() and constructor.
* loader/TextDocument.cpp:
* loader/TextDocument.h: Add KURL parameter to create() and constructor.
* svg/SVGDocument.cpp:
* svg/SVGDocument.h: Add KURL parameter to create() and constructor.
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
2010-06-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61812.
http://trac.webkit.org/changeset/61812
https://bugs.webkit.org/show_bug.cgi?id=41216
breaks Chromium workers tests (Requested by mnaganov on
#webkit).
* storage/AbstractDatabase.cpp:
* storage/AbstractDatabase.h:
* storage/Database.cpp:
(WebCore::Database::databaseInfoTableName):
(WebCore::guidMutex):
(WebCore::guidToVersionMap):
(WebCore::updateGuidVersionMap):
(WebCore::guidToDatabaseMap):
(WebCore::databaseVersionKey):
(WebCore::DatabaseCreationCallbackTask::create):
(WebCore::DatabaseCreationCallbackTask::performTask):
(WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::openAndVerifyVersion):
(WebCore::retrieveTextResultFromDatabase):
(WebCore::Database::getVersionFromDatabase):
(WebCore::setTextValueInDatabase):
(WebCore::Database::setVersionInDatabase):
(WebCore::Database::versionMatchesExpected):
(WebCore::Database::close):
(WebCore::Database::disableAuthorizer):
(WebCore::Database::enableAuthorizer):
(WebCore::Database::setAuthorizerReadOnly):
(WebCore::Database::lastActionChangedDatabase):
(WebCore::Database::lastActionWasInsert):
(WebCore::Database::resetDeletes):
(WebCore::Database::hadDeletes):
(WebCore::guidForOriginAndName):
(WebCore::Database::resetAuthorizer):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::performCreationCallback):
(WebCore::Database::version):
(WebCore::Database::setExpectedVersion):
(WebCore::Database::stringIdentifier):
(WebCore::Database::displayName):
(WebCore::Database::estimatedSize):
(WebCore::Database::fileName):
* storage/Database.h:
(WebCore::Database::scriptExecutionContext):
(WebCore::Database::opened):
(WebCore::Database::isNew):
(WebCore::Database::databaseDebugName):
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
(WebCore::DatabaseAuthorizer::denyBasedOnTableName):
* storage/DatabaseAuthorizer.h:
(WebCore::DatabaseAuthorizer::create):
* storage/DatabaseSync.cpp:
(WebCore::DatabaseSync::databaseInfoTableName):
(WebCore::DatabaseSync::openDatabaseSync):
(WebCore::DatabaseSync::DatabaseSync):
(WebCore::DatabaseSync::~DatabaseSync):
(WebCore::DatabaseSync::version):
(WebCore::DatabaseSync::changeVersion):
(WebCore::DatabaseSync::transaction):
(WebCore::DatabaseSync::scriptExecutionContext):
* storage/DatabaseSync.h:
(WebCore::DatabaseSync::databaseDebugName):
* storage/DatabaseTask.cpp:
(WebCore::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseOpenTask::doPerformTask):
* storage/DatabaseTask.h:
(WebCore::DatabaseOpenTask::create):
2010-06-25 Lei Zheng <lzheng@chromium.org>
Reviewed by Dimitri Glazkov.
Add a flag to the ResourceResponse for tracking if a request was fetched when
Alternate-protocol is available.
https://bugs.webkit.org/show_bug.cgi?id=41001
No new tests. (This is just a setter and getter.)
* platform/network/chromium/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::wasAlternateProtocolAvailable):
(WebCore::ResourceResponse::setWasAlternateProtocolAvailable):
2010-06-25 Lyon Chen <liachen@rim.com>
Reviewed by Darin Adler.
InspectorCSSStore.cpp is not surrounded with ENABLE(INSPECTOR)
https://bugs.webkit.org/show_bug.cgi?id=41004
Surround InspectorCSSStore.cpp code with ENABLE(INSPECTOR) so it will not
break the build when INSPECTOR is disabled.
* inspector/InspectorCSSStore.cpp:
2010-06-25 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Simon Hausmann.
[Qt] WebGL: missing file
https://bugs.webkit.org/show_bug.cgi?id=40998
Added a missing file to WebCore.pro
No new tests; build fix
* WebCore.pro:
2010-06-25 Adam Roben <aroben@apple.com>
Windows build fix
* WebCore.vcproj/WebCore.vcproj: Added a missing </File> tag.
2010-06-25 Alex Milowski <alex@milowski.com>
Reviewed by Kenneth Rohde Christiansen.
This patch changes the vertical alignment to rely upon baseline
alignment for all MathML rendering. This fixes a number of layout
issues and the implementation is much more clean.
Also, this patch adds a horizontal green line in the debug layout
so you can see the top padding of any RenderMathMLBlock instance.
Test: mathml/presentation/row-alignment.xhtml
* css/mathml.css:
* mathml/RenderMathMLBlock.cpp:
* mathml/RenderMathMLFraction.cpp:
* mathml/RenderMathMLFraction.h:
* mathml/RenderMathMLOperator.cpp:
* mathml/RenderMathMLOperator.h:
* mathml/RenderMathMLRoot.cpp:
* mathml/RenderMathMLRow.cpp:
* mathml/RenderMathMLRow.h:
* mathml/RenderMathMLSquareRoot.cpp:
* mathml/RenderMathMLSubSup.cpp:
* mathml/RenderMathMLUnderOver.cpp:
2010-06-25 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Can't see source when hitting debugger statement in evaled source
https://bugs.webkit.org/show_bug.cgi?id=41058
Test: inspector/debugger-pause-in-eval-script.html
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::sourceParsed): use lexical global object to figure out
where the script is compiled. Otherwise scripts typed in Web Inspector console will
be treated as ones evaluated in the context of Web Inspector and won't appear in the
scripts list.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didParseSource): cache script sources for eval's too.
2010-06-25 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Use a descriptive string in FileChooser when multiple files can
be selected.
https://bugs.webkit.org/show_bug.cgi?id=40943
EFL port has no tests yet, so no new tests.
* platform/efl/FileChooserEfl.cpp:
(WebCore::FileChooser::basenameForWidth):
2010-06-25 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
SVG Text Highlighting not yet supported (in Safari)
https://bugs.webkit.org/show_bug.cgi?id=41200
Add text match marker highlighting support for SVG text - searching for SVG text in Safari now paints the nice yellow highlighting rect, and the
white rectangles for all text matches. Behaves exactly like HTML text, but respecting SVGs per-character/per-chunk transformations,
allowing to highlight textPaths, tspans with absolute per-character positions etc..
Only manually testable, thus no new tests.
* rendering/InlineBox.h: Expose calculateBoundaries() in non-SVG builds as well, now used by InlineTextBox too.
* rendering/InlineTextBox.h: Add calculateBoundaries(), which will be used to refactor some code in RenderText, see below.
(WebCore::InlineTextBox::calculateBoundaries): Just return a IntRect(x(), y(), width(), height()) here.
(WebCore::RenderObject::isSVGInlineText):
* rendering/RenderSVGInlineText.h:
(WebCore::RenderSVGInlineText::isSVGInlineText): Return true for isSVGInlineText(), return false for isSVGText() (default in RenderObject.h)
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paint): Only paint box decorations in PaintPhase(Child)BlockBackground, exit afterwards just like RenderBlock does.
Otherwise the white text match marker rectangle gets drawn over the yellow highlight that Safari draws.
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::paint): Accept a new painting phase: PaintPhaseSelection, used by Safari when drawing the yellow highlight rect.
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteQuads): Use calculateBoundaries() instead of IntRect(x(), y(), width(), height()). SVG provides different boundaries here.
(WebCore::RenderText::absoluteQuadsForRange): Ditto. This is the main change, leading to correct text highlight placement.
* rendering/SVGInlineFlowBox.cpp: Add assertion that painting is not disabled, for consistency. Change paint phase assertion to include PaintPhaseSelection.
(WebCore::SVGInlineFlowBox::paint):
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::selectionRectForTextChunkPart): Refactored from selectionRect(), to share code between selectionRect/computeTextMatchMarkerRect.
(WebCore::SVGInlineTextBox::selectionRect): Use new helper function selectionRectForTextChunkPart().
(WebCore::SVGInlineTextBox::paint): Ditto. Call new computeTextMatchMarkerRect() function.
(WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Implemented similar to HTML, but respecting SVGs concept of text chunk parts.
(WebCore::SVGInlineTextBox::paintText): In PaintPhaseSelection, only paint selected text, not anything before/after the selection start/end.
(WebCore::SVGInlineTextBox::calculateBoundaries): Early exit, if m_chunkTransformation is identity.
* rendering/SVGInlineTextBox.h: Added "bool paintSelectedTextOnly" to paintText() and add new computeTextMatchMarkerRect(RenderStyle*) function.
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::paint): Change paint phase assertion to include PaintPhaseSelection.
2010-06-25 John Gregg <johnnyg@google.com>
Reviewed by Darin Fisher.
Notification should expose ltr/rtl as TextDirection, not String
https://bugs.webkit.org/show_bug.cgi?id=40871
No new tests; existing test covers this, just renaming a method.
* notifications/Notification.h:
(WebCore::Notification::direction):
2010-06-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61842.
http://trac.webkit.org/changeset/61842
https://bugs.webkit.org/show_bug.cgi?id=41208
It broke Windows build (Requested by Ossy_ on #webkit).
* ForwardingHeaders/wtf/win/OwnPtrWin.h: Removed.
2010-06-25 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Remove unneeded whitespace from svgtags.in.
https://bugs.webkit.org/show_bug.cgi?id=40912
make_names.pl throws an error at non-empty lines
when using cl.exe as preprocessor.
* svg/svgtags.in:
2010-06-25 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis.
Split up isSVGText() in isSVGText() / isSVGInlineText()
https://bugs.webkit.org/show_bug.cgi?id=41204
Introduce isSVGInlineText(), to provide a safe mechanism to differentiate between RenderSVGText / RenderSVGInlineText.
No change in functionality, thus no new tests.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::shouldPreserveNewline): s/isSVGText/isSVGInlineText/
(WebCore::RenderBlock::findNextLineBreak): Ditto.
* rendering/RenderObject.h:
(WebCore::RenderObject::isSVGInlineText): Return false, by default.
* rendering/RenderSVGInlineText.h:
(WebCore::RenderSVGInlineText::isSVGInlineText): Return true here, don't return true anymore for isSVGText().
* rendering/RenderText.cpp:
(WebCore::RenderText::setTextInternal): s/isSVGText/isSVGInlineText/
* rendering/RenderTreeAsText.cpp: Remove hack, now that we can properly differentiate between RenderSVGText / RenderSVGInlineText.
(WebCore::write):
2010-06-25 Kwang Yul Seo <skyul@company100.net>
Reviewed by Adam Barth.
Change OwnPtrCommon to include platform-specific headers
https://bugs.webkit.org/show_bug.cgi?id=40279
Adding new type to OwnPtrCommon needlessly causes all ports to do full rebuilds.
Change OwnPtrCommon to include platform-specific headers to avoid all ports rebuilds.
* ForwardingHeaders/wtf/win: Added.
* ForwardingHeaders/wtf/win/OwnPtrWin.h: Added.
2010-06-25 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Barth.
Implement TextCodecs for WinCE port.
https://bugs.webkit.org/show_bug.cgi?id=32169
Originally written by Yong Li <yong.li@torchmobile.com>
* platform/graphics/FontCache.h:
* platform/graphics/wince/FontCacheWince.cpp:
(WebCore::FontCache::getMultiLanguageInterface):
* platform/text/wince/TextCodecWinCE.cpp: Added.
(WebCore::codePageCharsets):
(WebCore::knownCharsets):
(WebCore::supportedCharsets):
(WebCore::languageManager):
(WebCore::addCharset):
(WebCore::LanguageManager::LanguageManager):
(WebCore::getCodePage):
(WebCore::newTextCodecWinCE):
(WebCore::TextCodecWinCE::TextCodecWinCE):
(WebCore::TextCodecWinCE::~TextCodecWinCE):
(WebCore::TextCodecWinCE::registerBaseEncodingNames):
(WebCore::TextCodecWinCE::registerBaseCodecs):
(WebCore::TextCodecWinCE::registerExtendedEncodingNames):
(WebCore::TextCodecWinCE::registerExtendedCodecs):
(WebCore::getCodePageFlags):
(WebCore::findFirstNonAsciiCharacter):
(WebCore::decode):
(WebCore::TextCodecWinCE::decode):
(WebCore::TextCodecWinCE::encode):
(WebCore::TextCodecWinCE::enumerateSupportedEncodings):
* platform/text/wince/TextCodecWinCE.h: Added.
2010-06-24 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dirk Schulze.
Bug 40880 - SVG properties fill and stroke do not accept system colors
https://bugs.webkit.org/show_bug.cgi?id=40880
Handle css system colors in fill and stroke properties.
Test: svg/css/rect-system-color.xhtml
* css/CSSParser.cpp: Remove comment and unneeded if condition
(WebCore::CSSParser::parseValue):
* css/SVGCSSParser.cpp: Allow css system colors
(WebCore::CSSParser::parseSVGValue):
2010-06-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make DocumentParser API private on subclasses to catch misuse bugs
https://bugs.webkit.org/show_bug.cgi?id=41186
This already found one bug:
https://bugs.webkit.org/show_bug.cgi?id=41187
Added a new HTMLDocumentParaser::parseDocumentFragment so that
DocumentFragment.cpp does not need to use private methods.
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::parseHTML):
* dom/XMLDocumentParser.h:
(WebCore::XMLDocumentParser::setIsXHTMLDocument):
(WebCore::XMLDocumentParser::isXHTMLDocument):
(WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
(WebCore::XMLDocumentParser::isXHTMLMPDocument):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::parseDocumentFragment):
* html/HTMLDocumentParser.h:
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::parseDocumentFragment):
* html/LegacyHTMLDocumentParser.h:
(WebCore::LegacyHTMLDocumentParser::forceSynchronous):
(WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript):
* html/LegacyHTMLTreeBuilder.cpp:
(WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
* loader/TextDocument.cpp:
2010-05-28 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha.
[GStreamer] multiple video sink support
https://bugs.webkit.org/show_bug.cgi?id=39472
Playbin2 video-sink is now a bin containing a tee element capable
of dispatching the buffers to multiple video sinks. By default
only our webkit video sink is used. This will allow
GStreamerGWorld to add support for autovideosink in the future.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::naturalSize):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2010-06-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Sketch out AfterHeadMode for tree builder
https://bugs.webkit.org/show_bug.cgi?id=41191
This mode is fairly similar to the others. I needed to change some of
the types around w.r.t. Nodes/Elements.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::insertElement):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::ElementStack::push):
(WebCore::HTMLTreeBuilder::ElementStack::remove):
2010-06-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Sketch out InHeadNoscriptMode for tree builder
https://bugs.webkit.org/show_bug.cgi?id=41189
Lots of notImplemented() calls in this state. I need to figure how to
delegate handling of a token from one state to another.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processToken):
2010-06-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Sketch out InHeadMode for tree builder
https://bugs.webkit.org/show_bug.cgi?id=41184
This state is relatively straightforward. We introduce the stack of
open elements to track that notion in the spec. The old tree builder
has a nice data structure for that, which we'll probably steal, but I'd
like to see what the full API is first.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::insertCharacter):
(WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
(WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
(WebCore::HTMLTreeBuilder::insertScriptElement):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::ElementStack::pop):
(WebCore::HTMLTreeBuilder::ElementStack::top):
2010-06-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Sketch out BeforeHeadMode tree builder state
https://bugs.webkit.org/show_bug.cgi?id=41183
This makes procesToken recursive, which might not be the best idea.
Also, we can now make fake AtomicHTMLTokens for use by the algorithm.
* html/HTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::insertElement):
* html/HTMLTreeBuilder.h:
2010-06-22 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by David Hyatt.
Add a NodeList-derivated wrapper class for a ListHashSet.
https://bugs.webkit.org/show_bug.cgi?id=41081
StaticHashSetList will work as a wrapper to ListHashSet objects that are
aimed to be exposed to the DOM.
As a use case, the rect based HitTest (bug 40197) will store the retrieved nodes
in a ListHashSet. It is going to be exposed to the DOM through are nodesFromRect
of Document returning a NodeList (i.e. StatisHashSetList) wrapping a ListHashSet.
No new tests.
2010-06-24 Cris Neckar <cdn@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
https://bugs.webkit.org/show_bug.cgi?id=40798
Catches error in row callback for libPNG when extra rows are returned.
Test: fast/images/png-extra-row-crash.html
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable):
2010-06-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Clean up and document DocumentWriter::replaceDocument code path
https://bugs.webkit.org/show_bug.cgi?id=41182
No functional changes, thus no tests.
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
- Remove comment which could be misleading.
2010-06-23 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Implementing DatabaseSync::openDatabaseSync().
https://bugs.webkit.org/show_bug.cgi?id=40607
Moved some common code from Database to AbstractDatabase. Made
performOpenAndVerify() virtual, since DatabaseSync doesn't need to
interact with DatabaseThread. Removed the m_creationCallback
field, since it's only needed in the openDatabase{Sync} methods.
* storage/AbstractDatabase.cpp:
(WebCore::retrieveTextResultFromDatabase):
(WebCore::setTextValueInDatabase):
(WebCore::guidMutex):
(WebCore::guidToVersionMap):
(WebCore::updateGuidVersionMap):
(WebCore::guidToDatabaseMap):
(WebCore::guidForOriginAndName):
(WebCore::AbstractDatabase::databaseInfoTableName):
(WebCore::AbstractDatabase::AbstractDatabase):
(WebCore::AbstractDatabase::closeDatabase):
(WebCore::AbstractDatabase::version):
(WebCore::AbstractDatabase::performOpenAndVerify):
(WebCore::AbstractDatabase::scriptExecutionContext):
(WebCore::AbstractDatabase::securityOrigin):
(WebCore::AbstractDatabase::stringIdentifier):
(WebCore::AbstractDatabase::displayName):
(WebCore::AbstractDatabase::estimatedSize):
(WebCore::AbstractDatabase::fileName):
(WebCore::AbstractDatabase::databaseVersionKey):
(WebCore::AbstractDatabase::getVersionFromDatabase):
(WebCore::AbstractDatabase::setVersionInDatabase):
(WebCore::AbstractDatabase::versionMatchesExpected):
(WebCore::AbstractDatabase::setExpectedVersion):
(WebCore::AbstractDatabase::disableAuthorizer):
(WebCore::AbstractDatabase::enableAuthorizer):
(WebCore::AbstractDatabase::setAuthorizerReadOnly):
(WebCore::AbstractDatabase::lastActionChangedDatabase):
(WebCore::AbstractDatabase::lastActionWasInsert):
(WebCore::AbstractDatabase::resetDeletes):
(WebCore::AbstractDatabase::hadDeletes):
(WebCore::AbstractDatabase::resetAuthorizer):
* storage/AbstractDatabase.h:
(WebCore::AbstractDatabase::opened):
(WebCore::AbstractDatabase::isNew):
(WebCore::AbstractDatabase::databaseDebugName):
* storage/Database.cpp:
(WebCore::DatabaseCreationCallbackTask::create):
(WebCore::DatabaseCreationCallbackTask::performTask):
(WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::version):
(WebCore::Database::openAndVerifyVersion):
(WebCore::Database::close):
(WebCore::Database::stop):
(WebCore::Database::performOpenAndVerify):
* storage/Database.h:
(WebCore::Database::sqliteDatabase):
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::create):
(WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
(WebCore::DatabaseAuthorizer::denyBasedOnTableName):
* storage/DatabaseAuthorizer.h:
* storage/DatabaseSync.cpp:
(WebCore::DatabaseSync::openDatabaseSync):
(WebCore::DatabaseSync::DatabaseSync):
(WebCore::DatabaseSync::changeVersion):
(WebCore::DatabaseSync::transaction):
(WebCore::DatabaseSync::markAsDeletedAndClose):
(WebCore::CloseSyncDatabaseOnContextThreadTask::create):
(WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
(WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
(WebCore::DatabaseSync::closeImmediately):
* storage/DatabaseSync.h:
* storage/DatabaseTask.cpp:
(WebCore::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseOpenTask::doPerformTask):
* storage/DatabaseTask.h:
(WebCore::DatabaseOpenTask::create):
2010-06-24 Steve Falkenburg <sfalken@apple.com>
Windows build fix.
* platform/network/cf/AuthenticationCF.h:
2010-06-24 Martin Robinson <mrobinson@igalia.com>
Unreviewed. Build fix.
Fix the build after r61798.
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents):
2010-06-24 Alexey Proskuryakov <ap@apple.com>
Reviewed by Brady Eidson.
https://bugs.webkit.org/show_bug.cgi?id=41178
Timed refresh in subframes isn't stopped when going into b/f cache
Test: fast/history/timed-refresh-in-cached-frame.html
* history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Top frame's stopLoading()
won't help cached subframes; stop loading from here.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading): Don't stop loading in child frames. This didn't work
for cached frames due to frame tree having been already desonstructed, and it's not necessary
in non-cached case because stopLoading() will be called for subframes via
FrameLoader::detachFromParent() and closeURL().
(WebCore::FrameLoader::pageHidden): This was a second code path that dispatched pagehide
event - it's no longer needed, because everything goes through FrameLoader::stopLoading().
(WebCore::FrameLoader::commitProvisionalLoad): Don't call pageHidden(), the code for adding
frame to b/f cache will do everything.
* loader/FrameLoader.h: Removed pageHidden().
2010-06-24 Eric Seidel <eric@webkit.org>
Unreviewed. Fix the build. I am a bad man.
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
2010-06-24 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
Build fix for building against GTK+ 3.x.
No new tests as functionality has not changed.
* platform/gtk/GtkVersioning.h:
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents):
(WebCore::PasteboardHelper::fillSelectionData):
2010-06-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Clean up and document DocumentWriter::replaceDocument code path
https://bugs.webkit.org/show_bug.cgi?id=41182
No functional change, thus no test.
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):
* loader/DocumentWriter.h:
2010-06-24 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
https://bugs.webkit.org/show_bug.cgi?id=40939
rdar://problem/7996172
Export -[MediaElement playbackRate];
* WebCore.Video.exp:
2010-06-21 Evan Martin <evan@chromium.org>
Reviewed by Adam Barth.
[chromium] overlapping characters in complex text
https://bugs.webkit.org/show_bug.cgi?id=40966
We need to clear all the buffers we hand to Harfbuzz before we use them.
While I'm here, refactor the code slightly to make its behavior more
clear and correct (previously, we would repeatedly double our buffer
size when we could have just sized it correctly on the second try).
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::nextScriptRun):
(WebCore::TextRunWalker::createGlyphArrays):
(WebCore::TextRunWalker::shapeGlyphs):
2010-06-24 Adele Peterson <adele@apple.com>
Reviewed by Sam Weinig.
Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
https://bugs.webkit.org/show_bug.cgi?id=41085
Covered by existing tests.
* editing/EditorCommand.cpp:
(WebCore::executePasteAsPlainText): Added.
(WebCore::createCommandMap): Added pasteAsPlainText command.
2010-06-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Sketch out BeforeHTMLMode state
https://bugs.webkit.org/show_bug.cgi?id=41133
In this patch, we switch the TreeBuidler over to using AtomicHTMLTokens
and sketch out another state. These states don't actually do anything
yet, I'm still just getting the structure of the spec into the code so
we can implement the details incrementally.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::insertDoctype):
(WebCore::HTMLTreeBuilder::insertComment):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::parseError):
2010-06-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add AtomicHTMLToken
https://bugs.webkit.org/show_bug.cgi?id=41131
We need an atomized version of the token for use in the tree builder.
Eventually, we should make the existing HTMLToken an internal detail of
the HTMLTokenizer. This new AtomicHTMLToken should be also be more
easily cached between the preload scanner and the tree builder.
* html/HTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
(WebCore::AtomicHTMLToken::type):
(WebCore::AtomicHTMLToken::name):
(WebCore::AtomicHTMLToken::selfClosing):
(WebCore::AtomicHTMLToken::attributes):
(WebCore::AtomicHTMLToken::characters):
(WebCore::AtomicHTMLToken::comment):
(WebCore::AtomicHTMLToken::publicIdentifier):
(WebCore::AtomicHTMLToken::systemIdentifier):
(WebCore::AtomicHTMLToken::forceQuirks):
* html/HTMLTreeBuilder.cpp:
(WebCore::convertToOldStyle):
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
2010-06-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add RawDataDocumentParser to get rid of a bunch of copy/paste code in DocumentParser subclasses
https://bugs.webkit.org/show_bug.cgi?id=41136
I think this is likely far from the final design,
however this is almost entirely minus lines which is a
good thing.
The original authors of these DocumentParser subclasses
seem to have just copied the files whole, as they all
had the same includes, many of which were unnecessary for
some of the files.
I think eventually the FrameLoader will call a virtual
DocumentParser::appendData which will in turn decode
and call another write/appendData call. In the case
of these RawDataDocumentParsers, they will just override
the low-level appendData call instead of needing
DocumentWriter to have a special if based on
DocumentParser::wantsRawData.
No functional change, thus no tests.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* dom/DocumentParser.h:
(WebCore::DocumentParser::writeRawData):
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::ImageDocumentParser):
(WebCore::ImageDocumentParser::finish):
* loader/MediaDocument.cpp:
(WebCore::MediaDocumentParser::MediaDocumentParser):
(WebCore::MediaDocumentParser::writeRawData):
* loader/PluginDocument.cpp:
(WebCore::PluginDocumentParser::PluginDocumentParser):
* loader/SinkDocument.cpp:
(WebCore::SinkDocument::createParser):
2010-06-23 Peter Kasting <pkasting@google.com>
Reviewed by Adam Barth.
REGRESSION (r61619): Memory corruption in open-source ICO decoder
https://bugs.webkit.org/show_bug.cgi?id=41107
* platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::processInfoHeader): Fix memory corruption.
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::processDirectoryEntries): Handle sizing failure correctly (though failure should be impossible).
2010-06-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61783.
http://trac.webkit.org/changeset/61783
https://bugs.webkit.org/show_bug.cgi?id=41179
Caused a couple of test failures (Requested by japhet on
#webkit).
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
* dom/DOMImplementation.h:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::initSecurityContext):
* dom/Document.h:
(WebCore::Document::create):
(WebCore::Document::createXHTML):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::HTMLDocument):
* html/HTMLDocument.h:
(WebCore::HTMLDocument::create):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
* html/HTMLViewSourceDocument.h:
(WebCore::HTMLViewSourceDocument::create):
* loader/CachedFont.cpp:
(WebCore::CachedFont::ensureSVGFontData):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument):
(WebCore::DocumentWriter::begin):
* loader/DocumentWriter.h:
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
* loader/FTPDirectoryDocument.h:
(WebCore::FTPDirectoryDocument::create):
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::ImageDocument):
* loader/ImageDocument.h:
(WebCore::ImageDocument::create):
* loader/MediaDocument.cpp:
(WebCore::MediaDocument::MediaDocument):
* loader/MediaDocument.h:
(WebCore::MediaDocument::create):
* loader/PlaceholderDocument.h:
(WebCore::PlaceholderDocument::create):
(WebCore::PlaceholderDocument::PlaceholderDocument):
* loader/PluginDocument.cpp:
(WebCore::PluginDocument::PluginDocument):
* loader/PluginDocument.h:
(WebCore::PluginDocument::create):
* loader/SinkDocument.cpp:
(WebCore::SinkDocument::SinkDocument):
* loader/SinkDocument.h:
(WebCore::SinkDocument::create):
* loader/TextDocument.cpp:
(WebCore::TextDocument::TextDocument):
* loader/TextDocument.h:
(WebCore::TextDocument::create):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::SVGDocument):
* svg/SVGDocument.h:
(WebCore::SVGDocument::create):
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
2010-06-24 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Small code cleanup in RenderThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=40989
Reduce the amount of duplicated code slightly and prepare this section for
future improvements, such as sharing the clipping rectangle calculation with
the slow path.
No new tests as functionality has not changed.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::paintMozillaGtkWidget): Small code cleanup.
2010-06-24 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Take a KURL parameter in Document's constructor.
This will remove the one case where Document::url()
and FrameLoader::url() are not equal, allowing us to
remove FrameLoader::url().
https://bugs.webkit.org/show_bug.cgi?id=41166
Refactor only, no new tests.
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument): Take a KURL and pass it through to Document.
(WebCore::DOMImplementation::createHTMLDocument):
* dom/DOMImplementation.h:
* dom/Document.cpp:
(WebCore::Document::Document): Call setURL() for non-empty KURL input parameters.
(WebCore::Document::initSecurityContext): m_url is now initialized, so use it instead
of m_frame->loader()->url() for initializing the SecurityOrigin.
* dom/Document.h:
(WebCore::Document::create):
(WebCore::Document::createXHTML):
* html/HTMLDocument.cpp:
* html/HTMLDocument.h: Add KURL parameter to create() and constructor.
* html/HTMLViewSourceDocument.cpp:
* html/HTMLViewSourceDocument.h: Add KURL parameter to create() and constructor.
* loader/CachedFont.cpp:
(WebCore::CachedFont::ensureSVGFontData):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument): Take a KURL and pass it through to Document.
(WebCore::DocumentWriter::begin): Pass existing url parameter to constructors, and remove
redundant Document::setURL() call.
* loader/DocumentWriter.h:
* loader/FTPDirectoryDocument.cpp:
* loader/FTPDirectoryDocument.h: Add KURL parameter to create() and constructor.
* loader/ImageDocument.cpp:
* loader/ImageDocument.h: Add KURL parameter to create() and constructor.
* loader/MediaDocument.cpp:
* loader/MediaDocument.h: Add KURL parameter to create() and constructor.
* loader/PlaceholderDocument.h: Add KURL parameter to create() and constructor.
* loader/PluginDocument.cpp:
* loader/PluginDocument.h: Add KURL parameter to create() and constructor.
* loader/SinkDocument.cpp:
* loader/SinkDocument.h: Add KURL parameter to create() and constructor.
* loader/TextDocument.cpp:
* loader/TextDocument.h: Add KURL parameter to create() and constructor.
* svg/SVGDocument.cpp:
* svg/SVGDocument.h: Add KURL parameter to create() and constructor.
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
2010-06-24 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/8044645> and https://bugs.webkit.org/show_bug.cgi?id=41082
Webarchives will null main resource cause a repro crash.
Test: webarchive/loading/mainresource-null-mimetype-crash.html
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createResource): Fail to create the archive resource if the main resource's
mime type is null.
2010-06-24 Damian Kaleta <dkaleta@apple.com>
Reviewed by Sam Weinig.
Provide a way to obtain the rendered rectangle for box elements.
* WebCore.base.exp: Export the symbol so we can see it in WebKit.
* dom/Node.cpp:
(WebCore::Node::renderRect): Added new ethod that will return a rendered rectangle for box elements.
* dom/Node.h: Ditto.
2010-06-24 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Create specialized classes for Transform,
Image and WebGL layers to replace the rather monolithic LayerChromium class.
Layers can now own the GL texture they use for backing store and a different
shading program can be used by the compositor for each layer type. WebGL layers
are not yet hooked up to GraphicsContext3D.
https://bugs.webkit.org/show_bug.cgi?id=41106
* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore::GraphicsLayerChromium::):
* platform/graphics/chromium/ImageLayerChromium.cpp: Added.
(WebCore::ImageLayerChromium::create):
(WebCore::ImageLayerChromium::ImageLayerChromium):
(WebCore::ImageLayerChromium::setContents):
(WebCore::ImageLayerChromium::updateTextureContents):
* platform/graphics/chromium/ImageLayerChromium.h: Added.
(WebCore::ImageLayerChromium::drawsContent):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::create):
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::updateTextureContents):
(WebCore::LayerChromium::updateTextureRect):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::drawsContent):
(WebCore::LayerChromium::ownsTexture):
(WebCore::LayerChromium::textureId):
(WebCore::LayerChromium::setShaderProgramId):
(WebCore::LayerChromium::shaderProgramId):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::createLayerShader):
(WebCore::ShaderProgram::ShaderProgram):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::useShaderProgram):
(WebCore::LayerRendererChromium::drawTexturedQuad):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::drawDebugBorder):
(WebCore::LayerRendererChromium::updateLayersRecursive):
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::bindCommonAttribLocations):
(WebCore::LayerRendererChromium::initializeSharedGLObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::):
* platform/graphics/chromium/TransformLayerChromium.cpp: Added.
(WebCore::TransformLayerChromium::create):
(WebCore::TransformLayerChromium::TransformLayerChromium):
* platform/graphics/chromium/TransformLayerChromium.h: Added.
(WebCore::TransformLayerChromium::drawsContent):
* platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
(WebCore::WebGLLayerChromium::textureId):
(WebCore::WebGLLayerChromium::updateTextureContents):
(WebCore::WebGLLayerChromium::setContext):
* platform/graphics/chromium/WebGLLayerChromium.h: Added.
(WebCore::WebGLLayerChromium::drawsContent):
(WebCore::WebGLLayerChromium::ownsTexture):
(WebCore::WebGLLayerChromium::shaderProgramId):
(WebCore::WebGLLayerChromium::setShaderProgramId):
2010-06-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.
https://bugs.webkit.org/show_bug.cgi?id=41094
- Removed a bunch of unused methods from all over the place
- Added client callbacks for states surviving navigation
- Implemented more user-friendly stub for InspectorFrontendHost.platform
* inspector/InspectorClient.h:
(WebCore::InspectorClient::resourceTrackingWasEnabled):
(WebCore::InspectorClient::resourceTrackingWasDisabled):
(WebCore::InspectorClient::timelineProfilerWasStarted):
(WebCore::InspectorClient::timelineProfilerWasStopped):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::enableResourceTracking):
(WebCore::InspectorController::disableResourceTracking):
(WebCore::InspectorController::ensureSettingsLoaded):
(WebCore::InspectorController::startTimelineProfiler):
(WebCore::InspectorController::stopTimelineProfiler):
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/front-end/InspectorBackendStub.js:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.platform):
2010-06-23 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=41099
Assertion failure: !m_suspended when XMLHttpRequest fails
This was a general problem with load failure timer not being deferred.
Test: manual-tests/xhr-failure-behind-alert.html
* manual-tests/xhr-failure-behind-alert.html: Added.
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::fireFailure): Added an empty case for NoFailure. Reset
m_scheduledFailureType to NoFailure when firing.
(WebCore::ResourceHandle::setDefersLoading): Stop failure timer when deferring, restart when
un-deferring loads.
* platform/network/ResourceHandle.h: Renamed m_failureType to m_scheduledFailureType to
make it clear that it is only set when a timer is scheduled.
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal): Initialize m_scheduledFailureType
to NoFailure, so that we can look at it when un-deferring loads.
* platform/network/android/ResourceHandleAndroid.cpp:
(WebCore::ResourceHandle::platformSetDefersLoading):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::platformSetDefersLoading):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::platformSetDefersLoading):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::platformSetDefersLoading):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::platformSetDefersLoading):
* platform/network/soup/ResourceHandleSoup.cpp:
Platform specific parts of setDefersLoading() are now in a separate function.
2010-06-24 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: revert 61766.
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::enableResourceTracking):
(WebCore::InspectorController::disableResourceTracking):
(WebCore::InspectorController::ensureSettingsLoaded):
(WebCore::InspectorController::startTimelineProfiler):
(WebCore::InspectorController::stopTimelineProfiler):
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::setAttachedWindow):
* inspector/InspectorFrontend.h:
* inspector/front-end/InspectorBackendStub.js:
(.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.platform):
2010-06-23 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Inspector cleanup + better DevTools alignment with Inspector.
https://bugs.webkit.org/show_bug.cgi?id=41094
- Removed a bunch of unused methods from all over the place
- Added client callbacks for states surviving navigation
- Implemented more user-friendly stub for InspectorFrontendHost.platform
* inspector/InspectorClient.h:
(WebCore::InspectorClient::resourceTrackingWasEnabled):
(WebCore::InspectorClient::resourceTrackingWasDisabled):
(WebCore::InspectorClient::timelineProfilerWasStarted):
(WebCore::InspectorClient::timelineProfilerWasStopped):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::enableResourceTracking):
(WebCore::InspectorController::disableResourceTracking):
(WebCore::InspectorController::ensureSettingsLoaded):
(WebCore::InspectorController::startTimelineProfiler):
(WebCore::InspectorController::stopTimelineProfiler):
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/front-end/InspectorBackendStub.js:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.platform):
2010-06-24 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Inspector & SVG Text have problems, kids of RenderSVGText are not properly placed.
https://bugs.webkit.org/show_bug.cgi?id=41143
Simplify code path taken for SVG text in InspectorController, take the code path currently only used for RenderInline,
that just calls absoluteQuads(), and displays the result. Refactored code that all SVG renderers (except RenderSVGRoot)
take this code path -> highlighting now works as expected.
Don't use absoluteClippedOverlowRect() in the various RenderSVG*::absoluteQuads() methods, as we're loosing floating-point precision.
Instead use localToAbsoluteQuad(strokeBoundingBox()) in order to highlight the unclipped, unfiltered, etc.. region that this renderer would paint.
No new tests, as this is only manual testable - at least I didn't find any Inspector-Highlighting tests, if someone knows please mail me.
* inspector/InspectorController.cpp:
(WebCore::drawHighlightForLineBoxesOrSVGRenderer):
(WebCore::InspectorController::drawNodeHighlight):
* rendering/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::absoluteRects): ASSERT_NOT_REACHED() here. SVG should only be inspected through absoluteQuads().
* rendering/RenderSVGBlock.h: Add absoluteRects() in this base class for RenderForeignObject/RenderSVGText.
* rendering/RenderSVGHiddenContainer.cpp: Remove absoluteRects() - RenderSVGModelObject already has it.
* rendering/RenderSVGHiddenContainer.h: Ditto.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::absoluteRects): ASSERT_NOT_REACHED() here.
(WebCore::RenderSVGImage::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
* rendering/RenderSVGImage.h:
(WebCore::RenderSVGImage::objectBoundingBox): Inlined
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::absoluteQuads): Take RenderSVGText translation into account, allows inspecting <tspan>/<tref> etc.
* rendering/RenderSVGInline.h:
* rendering/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::absoluteRects): ASSERT_NOT_REACHED() here.
(WebCore::RenderSVGModelObject::absoluteQuads): Don't use absoluteClippedOverlowRect() but localToAbsoluteQuad(repaintRectInLocalCoordinates()).
* rendering/RenderSVGModelObject.h:
* rendering/RenderSVGRoot.cpp: Fix typo in license s/aint/along. Need to touch this file in order to let Mac build.
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer): Remove hack, which moved the transformState by x()/y(). Not needed anymore.
(WebCore::RenderSVGText::absoluteQuads): Proper implementation, respecting x/y translation.
* rendering/RenderSVGText.h: Reorder some functions.
* rendering/SVGRenderSupport.h: Removed last virtual function strokeBoundingBox().
2010-06-24 Kent Tamura <tkent@chromium.org>
Unreviewed. Build fix for Tiger.
* platform/mac/ThemeMac.mm:
(WebCore::setControlSize):
2010-06-24 Kent Tamura <tkent@chromium.org>
Unreviewed. Build fix for Tiger.
* platform/mac/ThemeMac.mm:
(WebCore::setControlSize):
(WebCore::ThemeMac::inflateControlPaintRect):
2010-06-24 Kent Tamura <tkent@chromium.org>
Unreviewed. Build fix for Chromium Mac.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isSpeechEnabled):
2010-06-24 Simon Hausmann <simon.hausmann@nokia.com>
Unreviewed Symbian build fix.
The QML WebKit integration needs to be part of QtWebKit.sis
* WebCore.pro: Deploy qmlwebkitplugin.dll.
2010-06-24 Satish Sampath <satish@chromium.org>
Reviewed by Kent Tamura.
Add a speech button to input elements, no rendering or actions yet.
Speech Input: Add a speech button to text input element (no rendering or actions yet)
https://bugs.webkit.org/show_bug.cgi?id=40925
No new tests. Will create a layout test in a subsequent patch.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSSelector.cpp:
(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):
* css/CSSSelector.h:
(WebCore::CSSSelector::):
* css/CSSValueKeywords.in:
* css/html.css:
(input::-webkit-input-speech-button):
* dom/InputElement.h:
* html/HTMLAttributeNames.in:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isSpeechEnabled):
* html/HTMLInputElement.h:
* platform/ThemeTypes.h:
(WebCore::):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::nodeAtPoint):
(WebCore::RenderTextControlSingleLine::forwardEvent):
(WebCore::RenderTextControlSingleLine::styleDidChange):
(WebCore::RenderTextControlSingleLine::hasControlClip):
(WebCore::RenderTextControlSingleLine::controlClipRect):
(WebCore::RenderTextControlSingleLine::textBlockWidth):
(WebCore::RenderTextControlSingleLine::preferredContentWidth):
(WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
(WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
(WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
(WebCore::RenderTextControlSingleLine::clientPaddingRight):
* rendering/RenderTextControlSingleLine.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::InputFieldSpeechButtonElement::create):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
* rendering/TextControlInnerElements.h:
* rendering/style/RenderStyleConstants.h:
(WebCore::):
2010-06-24 Kent Tamura <tkent@chromium.org>
Reviewed by Adam Barth.
[Mac] The upper button of <input type=number> has no visual effect on click
https://bugs.webkit.org/show_bug.cgi?id=38380
Because we have no ways to draw an NSStepperCell with its up button
highlighted, use HIThemeDrawButton() instead.
Test: platform/mac/fast/forms/input-appearance-spinbutton-up.html
* platform/mac/ThemeMac.mm:
(WebCore::controlSizeFromPixelSize):
New function. Made from a part of setControlSize().
(WebCore::setControlSize):
(WebCore::convertControlStatesToThemeDrawState):
(WebCore::paintStepper): Use HITheme API instead of NSStepperCell.
(WebCore::ThemeMac::inflateControlPaintRect):
Use controlSizeFromPixelSize().
2010-06-24 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: implement layout tests for debugger
https://bugs.webkit.org/show_bug.cgi?id=40774
Test: inspector/debugger-pause-on-debugger-statement.html
* bindings/js/ScriptDebugServer.cpp: remove unused obsolete code that deals with global listeners.
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::removeListener):
(WebCore::ScriptDebugServer::dispatchFunctionToListeners):
(WebCore::ScriptDebugServer::pauseIfNeeded):
(WebCore::ScriptDebugServer::didAddListener):
(WebCore::ScriptDebugServer::didRemoveListener):
* bindings/js/ScriptDebugServer.h:
* platform/mac/EventLoopMac.mm:
(WebCore::EventLoop::cycle): wait at most 10ms for new event, otherwise layout tests would
hang because in their case there may be no events ever.
2010-06-24 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Fixed evaluation & logging of null values in console.
Changed handling of null and undefined in ScriptValue::toString()
to match JSC bindings (i.e. "null" and "undefined" instead of "").
https://bugs.webkit.org/show_bug.cgi?id=40980
* bindings/v8/ScriptValue.cpp:
(WebCore::ScriptValue::toString):
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-06-24 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: live edit doesn't work when resource tracking is off
https://bugs.webkit.org/show_bug.cgi?id=41076
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._sourceIDForLine): implement this method for ScriptView,
it's needed for editLine to work.
2010-06-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Sketch out InitialMode of HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=41126
Transliterated from the spec. Currently doesn't do anything. Mostly
an experiment to see where this goes.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::insertDoctype):
(WebCore::HTMLTreeBuilder::insertComment):
* html/HTMLTreeBuilder.h:
2010-06-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add all the HTML5 tree builder insertion modes
https://bugs.webkit.org/show_bug.cgi?id=41124
These are just copied verbatim from the spec. No tests because these
don't do anything yet.
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::):
2010-06-23 Eric Seidel <eric@webkit.org>
Unreviewed. Fix namespace indent. Just whitespace changes.
* dom/DocumentParser.h:
(WebCore::DocumentParser::~DocumentParser):
(WebCore::DocumentParser::isExecutingScript):
(WebCore::DocumentParser::stopParsing):
(WebCore::DocumentParser::processingData):
(WebCore::DocumentParser::wantsRawData):
(WebCore::DocumentParser::writeRawData):
(WebCore::DocumentParser::wellFormed):
(WebCore::DocumentParser::lineNumber):
(WebCore::DocumentParser::columnNumber):
(WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::DocumentParser::htmlTreeBuilder):
(WebCore::DocumentParser::asHTMLDocumentParser):
(WebCore::DocumentParser::inViewSourceMode):
(WebCore::DocumentParser::setInViewSourceMode):
(WebCore::DocumentParser::document):
(WebCore::DocumentParser::xssAuditor):
(WebCore::DocumentParser::setXSSAuditor):
(WebCore::DocumentParser::DocumentParser):
2010-06-23 Eric Seidel <eric@webkit.org>
Unreviewed. Speculative build fix for Qt.
Move Document* down onto DocumentParser, since every DocumentParser needs one.
https://bugs.webkit.org/show_bug.cgi?id=41117
XMLDocumentParserQt is a huge pile of donkey barf.
I can't believe I ever r+'d the creation of this pile of
copy/paste code.
I clearly missed removing m_doc from this code as well and thus
broke Qt.
We really need to fix both XMLDocumentParserLibxml2 and
XMLDocumentParserQt not to be so poorly abstracted so
that if we're going to have two of them they can at least
share some code.
* dom/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::~XMLDocumentParser):
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::doEnd):
(WebCore::XMLDocumentParser::parse):
(WebCore::XMLDocumentParser::startDocument):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseEndElement):
(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):
(WebCore::XMLDocumentParser::parseDtd):
2010-06-23 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move Document* down onto DocumentParser, since every DocumentParser needs one.
https://bugs.webkit.org/show_bug.cgi?id=41117
This eliminated the need for document() on HTMLDocumentParser.
This paves the way for more code sharing between various
DocumentParser subclasses.
* dom/DocumentParser.h:
(WebCore::DocumentParser::inViewSourceMode):
(WebCore::DocumentParser::setInViewSourceMode):
(WebCore::DocumentParser::document):
(WebCore::DocumentParser::DocumentParser):
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::isWMLDocument):
(WebCore::XMLDocumentParser::pushCurrentNode):
(WebCore::XMLDocumentParser::popCurrentNode):
(WebCore::XMLDocumentParser::clearCurrentNodeStack):
(WebCore::XMLDocumentParser::enterText):
(WebCore::XMLDocumentParser::end):
(WebCore::XMLDocumentParser::insertErrorMessageBlock):
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::~XMLDocumentParser):
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::startDocument):
(WebCore::XMLDocumentParser::internalSubset):
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
* html/HTMLDocumentParser.h:
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
(WebCore::LegacyHTMLDocumentParser::begin):
(WebCore::LegacyHTMLDocumentParser::scriptHandler):
(WebCore::LegacyHTMLDocumentParser::scriptExecution):
(WebCore::LegacyHTMLDocumentParser::parseTag):
(WebCore::LegacyHTMLDocumentParser::continueProcessing):
(WebCore::LegacyHTMLDocumentParser::willWriteHTML):
(WebCore::LegacyHTMLDocumentParser::didWriteHTML):
(WebCore::LegacyHTMLDocumentParser::write):
(WebCore::LegacyHTMLDocumentParser::stopParsing):
(WebCore::LegacyHTMLDocumentParser::timerFired):
(WebCore::LegacyHTMLDocumentParser::end):
(WebCore::LegacyHTMLDocumentParser::processToken):
(WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
(WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
(WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
* html/LegacyHTMLDocumentParser.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentParser::ImageDocumentParser):
(WebCore::ImageDocumentParser::imageDocument):
(WebCore::ImageDocumentParser::write):
(WebCore::ImageDocumentParser::writeRawData):
(WebCore::ImageDocumentParser::finish):
(WebCore::ImageDocumentParser::finishWasCalled):
(WebCore::ImageDocumentParser::isWaitingForScripts):
(WebCore::ImageDocument::createParser):
* loader/MediaDocument.cpp:
(WebCore::MediaDocumentParser::MediaDocumentParser):
(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocumentParser::finish):
(WebCore::MediaDocumentParser::finishWasCalled):
* loader/PluginDocument.cpp:
(WebCore::PluginDocumentParser::PluginDocumentParser):
(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocumentParser::writeRawData):
(WebCore::PluginDocumentParser::finish):
(WebCore::PluginDocumentParser::finishWasCalled):
* loader/SinkDocument.cpp:
(WebCore::SinkDocumentParser::SinkDocumentParser):
* loader/TextDocument.cpp:
(WebCore::TextDocumentParser::TextDocumentParser):
(WebCore::TextDocumentParser::write):
(WebCore::TextDocumentParser::finish):
(WebCore::TextDocumentParser::finishWasCalled):
2010-06-23 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Start to clean up DocumentParser interface
https://bugs.webkit.org/show_bug.cgi?id=41114
The first of many cleanups needed to the DocumentParser
interface. Rename executingScript() to isExecutingScript()
and make it return a bool instead of an int. Also added a
FIXME to XMLDocumentParser about implementing it and did
some minor other cleanup to the XMLDocumentParser header.
No functional change, thus no tests.
* dom/Document.cpp:
(WebCore::Document::open):
* dom/DocumentParser.h:
(WebCore::DocumentParser::isExecutingScript):
* dom/XMLDocumentParser.h:
(WebCore::XMLDocumentParser::wellFormed):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::isExecutingScript):
* html/HTMLDocumentParser.h:
* html/LegacyHTMLDocumentParser.h:
(WebCore::LegacyHTMLDocumentParser::isExecutingScript):
2010-06-22 Maciej Stachowiak <mjs@apple.com>
Reviewed by Simon Fraser.
Implement IDL attribute for HTML5 hidden
https://bugs.webkit.org/show_bug.cgi?id=41039
Test: fast/html/hidden-attr-dom.html
* html/HTMLElement.idl: Just add to the IDL file. [Reflect] takes
care of the rest.
2010-06-23 Joanmarie Diggs <joanmarie.diggs@gmail.com>
Reviewed by Chris Fleizach.
[Gtk] nameFromChildren is obsolete
https://bugs.webkit.org/show_bug.cgi?id=36128
Look to the AtkText interface implemented by the objects in
question.
Test: platform/gtk/accessibility/name-from-label.html
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_get_name):
(webkit_accessible_table_get_column_description):
(webkit_accessible_table_get_row_description):
2010-06-23 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Port FileSystem
https://bugs.webkit.org/show_bug.cgi?id=34323
Port FileSystem with IFileMgr interface.
* platform/FileSystem.h:
* platform/brew/FileSystemBrew.cpp: Added.
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::pathByAppendingComponent):
(WebCore::fileSystemRepresentation):
(WebCore::canonicalPath):
(WebCore::makeAllDirectories):
(WebCore::homeDirectoryPath):
(WebCore::pathGetFileName):
(WebCore::directoryName):
(WebCore::openTemporaryFile):
(WebCore::closeFile):
(WebCore::writeToFile):
(WebCore::unloadModule):
(WebCore::listDirectory):
2010-06-23 Alexendar Pavlov <apavlov@chromium.org>
Reviewed by David Hyatt.
Swap checks in Position::isCandidate so that the less expensive
nodeIsUserSelectNode (node && node->renderer() &&
node->renderer()->style()->userSelect() == SELECT_NONE) came first.
(Was Web Inspector: Hangup when expanding elements with enormous
text node content in Elements panel).
https://bugs.webkit.org/show_bug.cgi?id=35926
* dom/Position.cpp:
(WebCore::Position::isCandidate):
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::isCandidate):
2010-06-23 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Add PopupMenu implementation
https://bugs.webkit.org/show_bug.cgi?id=40226
Delegate PopupMenu handling to ChromeClientBrew.
* page/brew/ChromeClientBrew.h: Added.
* platform/PopupMenu.h:
* platform/brew/PopupMenuBrew.cpp: Added.
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
2010-06-23 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Implement format conversions in texImage2D and texSubImage2D taking HTML data
https://bugs.webkit.org/show_bug.cgi?id=40319
Generalized code supporting premultiplication of alpha and
vertical flip to pack texture data into requested format and type.
Handled incoming image data of various formats, RGBA and BGRA in
particular, both to reduce the number of temporary copies during
texture upload and to support premultiplying alpha for the
texImage2D and texSubImage2D entry points taking ArrayBufferView
in a subsequent bug. Added test case exercising all combinations
of format/type combinations, premultiplication of alpha, and
Image/ImageData upload. (Incorporated pnglib.js under
fast/canvas/webgl/resources/ to be able to generate Image elements
programmatically.) Tested in Safari on Mac OS X and in Chromium on
Mac OS X, Windows and Linux.
Test: fast/canvas/webgl/tex-image-with-format-and-type.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::texImage2DImpl):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContext::validateTexFuncParameters):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
(WebCore::GraphicsContext3D::extractImageData):
(WebCore::GraphicsContext3D::flipVertically):
(WebCore::doUnpackingAndPacking):
(WebCore::doPacking):
(WebCore::GraphicsContext3D::packPixels):
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::):
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::getImageData):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::narrowInternalFormat):
(WebCore::GraphicsContext3D::texImage2D):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::getImageData):
* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):
2010-06-23 Stephen White <senorblanco@chromium.org>
Unreviewed; correcting bad patch.
In my haste to land r61710, I mistakenly landed the wrong version, in
which a chunk of code was moved. This patch moves that chunk of code
to where it was in the patch that was reviewed. Mea culpa.
* rendering/RenderBoxModelObject.cpp:
(WebCore::ImageQualityController::shouldPaintAtLowQuality):
2010-06-23 Stephen White <senorblanco@chromium.org>
Reviewed by David Hyatt.
This is a tweak to the resize algorithm introduced in r61341, and
is a fix for the regression described in
https://bugs.webkit.org/show_bug.cgi?id=41036
The goal is to bring back the some of old behaviour, without regressing
too much of the performance gains in r61341.
The old algorithm was:
- on first resize, draw in high quality and record the paint time
- if we've already drawn at this size, use the same quality as last time
- on subsequent resizes, if the resize occurs within X ms of the
previous one, draw at low quality and set a timer (one timer per
image).
- when each timer expires, draw that image at high quality
The r61341 algorithm was:
- on first resize, draw the image in low quality, add it to a list of
resized images, and set a timer (one timer for all images)
- when the timer expires, redraw all resized images in high quality
The new algorithm is:
- on first resize, if no other animated resizes are outstanding, draw in
high quality and set the timer (one timer for all images)
- if any images have been resized to two different sizes in the last
X ms, draw all resized images in low quality and kick the timer
forward
- when the timer expires, if any animated resizes occured, redraw all
resized images in high quality, and reset the flag
This should cause GUIMark and the IE9 demos to have good performance
after the first frame, while other pages with only static resizes
should be unaffected.
* rendering/RenderBoxModelObject.cpp:
Change the LastPaintTimeMap to a LastPaintSizeMap: we now record the
last size an image was resized to, rather than the time it was painted
(the time actually became redundant in r61341 when I added the
check for m_timer.isActive(): we only care if anything is resizing
while the timer is active).
(WebCore::ImageQualityController::ImageQualityController):
Add an initializer for the m_animatedResizeIsActive flag.
(WebCore::ImageQualityController::objectDestroyed):
Reset the m_animatedResizeIsActive flag if this was the last object
in the list.
(WebCore::ImageQualityController::highQualityRepaintTimerFired):
Only repaint all the images if there was an animated resize (otherwise,
everything is already high quality).
(WebCore::ImageQualityController::shouldPaintAtLowQuality):
Implement the above algorithm.
2010-06-23 Abhishek Arya <inferno@chromium.org>
Reviewed by Kenneth Rohde Christiansen.
Bad cast after DOM mutation in RenderMenuList
https://bugs.webkit.org/show_bug.cgi?id=40828
Firing the onchange event on select which changes its size > 1 causes the select
object to change from a menulist to a listbox. However, when propogating the events,
we do a bad cast assuming the object will remain a menulist. Added proper checks to
make sure we check the renderer after the onchange is fired and propogate the event
based on correct object type.
Test: fast/events/select-onchange-crash.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::setSelectedIndex):
2010-06-23 Andy Estes <aestes@apple.com>
Reviewed by Alexey Proskuryakov.
<rdar://problem/8107855> Prevent a crash in WebCore when removing an
object element with an invalid data URL in in a listener to its
beforeload event.
https://bugs.webkit.org/show_bug.cgi?id=41054
Tests: fast/dom/beforeload/remove-bad-object-in-beforeload-listener.html
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderFallbackContent): Exit early if the
object element is not in the document.
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::updateWidget): If RenderWidget::destroy()
was called during processing of onbeforeload, do not proceed with loading
the object.
2010-06-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[gtk] web fonts not loaded properly in scribd html5 reader
https://bugs.webkit.org/show_bug.cgi?id=38758
Drop filling the pattern with default values, because this
restricts the matching more than we want.
* platform/graphics/cairo/FontCacheCairo.cpp:
(WebCore::FontCache::createFontPlatformData):
2010-06-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[gtk] web fonts not loaded properly in scribd html5 reader
https://bugs.webkit.org/show_bug.cgi?id=38758
Also special-case `sans' amd `mono', which are aliases commonly
used in GTK+ applications.
* platform/graphics/cairo/FontCacheCairo.cpp:
(WebCore::isWellKnownFontName):
2010-06-23 Justin Schuh <jschuh@chromium.org>
Unreviewed, rolling out r61695.
http://trac.webkit.org/changeset/61695
https://bugs.webkit.org/show_bug.cgi?id=40798
61695 broke all the Linux builds.
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable):
2010-06-23 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Darin Adler.
Fix PluginViewNone.cpp compilation for ports that also compile PluginView.cpp
https://bugs.webkit.org/show_bug.cgi?id=37939
* plugins/PluginViewNone.cpp:
(WebCore::PluginView::handleFocusInEvent):
(WebCore::PluginView::handleFocusOutEvent):
(WebCore::PluginView::keepAlive):
(WebCore::PluginView::privateBrowsingStateChanged):
(WebCore::PluginView::setJavaScriptPaused):
2010-06-23 Cris Neckar <cdn@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Out of bounds write in WebCore::PNGImageDecoder::rowAvailable
https://bugs.webkit.org/show_bug.cgi?id=40798
Catches error in row callback for libPNG when extra rows are returned.
Test: fast/images/png-extra-row-crash.html
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable):
2010-06-23 James Robinson <jamesr@chromium.org>
Reviewed by Dan Bernstein.
Do not set needsLayout when the style attribute changes on an SVG element
https://bugs.webkit.org/show_bug.cgi?id=40366
SVGSVGElement::svgAttributeChanged was incorrectly calling renderer()->setNeedsLayout(true)
whenever the styleAttr changed on its element. This could happen during layout in some
circumstances due to lazy style attribute synchronization. When it did, it could cause the
layout flags to become inconsistent. See the test case for details.
Changes to an element's style attribute always mark an element as needing layout anyway so
this call was redundant.
Test: fast/repaint/svg-layout-root-style-attr-update.html
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::isKnownAttribute):
2010-06-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
r61215 broke Acid3
https://bugs.webkit.org/show_bug.cgi?id=41034
The code added in r61215, which tests whether the root renderer will fill
the entire viewport, should not run for subframes. So bail from
RenderView::paintBoxDecorations() if document()->ownerElement() is not null.
The old code was trying to do this by checking 'elt', but that ends up as
null after the for loop above.
We can also bail early if the is no FrameView().
Test: fast/frames/paint-iframe-background.html
* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
2010-06-23 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: do not reset profiles panel on navigation.
https://bugs.webkit.org/show_bug.cgi?id=41068
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::resetProfilesPanel):
* inspector/InspectorFrontend.h:
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype.populateInterface):
(WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
(WebInspector.ProfilesPanel.prototype._reset):
(WebInspector.ProfilesPanel.prototype._clearProfiles):
* inspector/front-end/inspector.js:
(WebInspector.resetProfilesPanel):
2010-06-23 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: InspectorController should be added only once as ScriptDebugListener to
ScriptDebugServer.
https://bugs.webkit.org/show_bug.cgi?id=41070
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::enableDebuggerFromFrontend):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel): don't call InspectorBackend.enableDebugger if debugger is always enabled,
InspectorController will do this on its side when the front end is connected.
2010-06-23 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Clear breakpoints before restoring them, not after.
https://bugs.webkit.org/show_bug.cgi?id=41071
* inspector/InspectorController.cpp:
(WebCore::InspectorController::enableDebuggerFromFrontend):
2010-06-23 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Do not render the full frame when there is some elements with fixed positioning
https://bugs.webkit.org/show_bug.cgi?id=33150
Do not render the full frame when there is some elements with fixed positioning
https://bugs.webkit.org/show_bug.cgi?id=33150
The frame view take into acount the list of fixed object when scrolling
the view. If the number of object is lower than a certain threshold, the pixel
are blitted, and the invalidated area updated.
* page/FrameView.cpp:
(WebCore::FrameView::addFixedObject):
(WebCore::FrameView::removeFixedObject):
(WebCore::FrameView::scrollContentsFastPath):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::scrollContentsFastPath):
* platform/ScrollView.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::repaintRectIncludingDescendants):
* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleWillChange):
2010-06-23 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Fix displaying of several CPU profiles with the same name.
https://bugs.webkit.org/show_bug.cgi?id=40992
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
2010-06-23 Adam Barth <abarth@webkit.org>
Unreviewed. clean-header-guards that were made dirty by recent
renames.
* html/HTMLDocumentParser.h:
* html/HTMLPreloadScanner.h:
* html/HTMLTokenizer.h:
* html/HTMLTreeBuilder.h:
* html/LegacyHTMLDocumentParser.h:
* html/LegacyHTMLTreeBuilder.h:
* html/LegacyPreloadScanner.h:
2010-06-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename LegacyHTMLTreeConstructor to LegacyHTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41053
There was some debate about whether to call this class (and the
non-legacy version) "tree builder" or "tree constructor". Maciej
pointed out that other implementations (including Mozilla and HTML5Lib)
call it a tree builder. The path of least resistance seems to be call
it that for now.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
* dom/DocumentParser.h:
(WebCore::DocumentParser::htmlTreeConstructor):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::htmlTreeConstructor):
* html/HTMLDocumentParser.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
* html/HTMLInputElement.cpp:
* html/HTMLMeterElement.cpp:
* html/HTMLProgressElement.cpp:
* html/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
* html/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::legacyTreeConstructor):
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
* html/LegacyHTMLDocumentParser.h:
(WebCore::LegacyHTMLDocumentParser::htmlTreeConstructor):
* html/LegacyHTMLTreeBuilder.cpp: Copied from WebCore/html/LegacyHTMLTreeConstructor.cpp.
(WebCore::LegacyHTMLTreeBuilder::LegacyHTMLTreeBuilder):
(WebCore::LegacyHTMLTreeBuilder::~LegacyHTMLTreeBuilder):
(WebCore::LegacyHTMLTreeBuilder::reset):
(WebCore::LegacyHTMLTreeBuilder::setCurrent):
(WebCore::LegacyHTMLTreeBuilder::limitDepth):
(WebCore::LegacyHTMLTreeBuilder::insertNodeAfterLimitDepth):
(WebCore::LegacyHTMLTreeBuilder::parseToken):
(WebCore::LegacyHTMLTreeBuilder::parseDoctypeToken):
(WebCore::LegacyHTMLTreeBuilder::insertNode):
(WebCore::LegacyHTMLTreeBuilder::handleError):
(WebCore::LegacyHTMLTreeBuilder::textCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::commentCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::headCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::bodyCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::framesetCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::formCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::isindexCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::selectCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::ddCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::dtCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::rpCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::rtCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::nestedCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::nestedPCloserCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::nestedStyleCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::tableCellCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::tableSectionCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::noembedCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::noframesCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::noscriptCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::pCloserCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::pCloserStrictCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::mapCreateErrorCheck):
(WebCore::LegacyHTMLTreeBuilder::getNode):
(WebCore::LegacyHTMLTreeBuilder::allowNestedRedundantTag):
(WebCore::LegacyHTMLTreeBuilder::processCloseTag):
(WebCore::LegacyHTMLTreeBuilder::isHeadingTag):
(WebCore::LegacyHTMLTreeBuilder::isInline):
(WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
(WebCore::LegacyHTMLTreeBuilder::isAffectedByResidualStyle):
(WebCore::LegacyHTMLTreeBuilder::handleResidualStyleCloseTagAcrossBlocks):
(WebCore::LegacyHTMLTreeBuilder::reopenResidualStyleTags):
(WebCore::LegacyHTMLTreeBuilder::pushBlock):
(WebCore::LegacyHTMLTreeBuilder::popBlock):
(WebCore::LegacyHTMLTreeBuilder::popOneBlockCommon):
(WebCore::LegacyHTMLTreeBuilder::popOneBlock):
(WebCore::LegacyHTMLTreeBuilder::moveOneBlockToStack):
(WebCore::LegacyHTMLTreeBuilder::checkIfHasPElementInScope):
(WebCore::LegacyHTMLTreeBuilder::popInlineBlocks):
(WebCore::LegacyHTMLTreeBuilder::freeBlock):
(WebCore::LegacyHTMLTreeBuilder::createHead):
(WebCore::LegacyHTMLTreeBuilder::handleIsindex):
(WebCore::LegacyHTMLTreeBuilder::startBody):
(WebCore::LegacyHTMLTreeBuilder::finished):
(WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole):
* html/LegacyHTMLTreeBuilder.h: Copied from WebCore/html/LegacyHTMLTreeConstructor.h.
* html/LegacyHTMLTreeConstructor.cpp: Removed.
* html/LegacyHTMLTreeConstructor.h: Removed.
* html/StepRange.cpp:
* html/ValidityState.cpp:
* rendering/RenderSlider.cpp:
2010-06-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename the preload scanners
https://bugs.webkit.org/show_bug.cgi?id=41052
Renames PreloadScanner to LegacyPreloadScanner because this code is now
off by default. Also, rename HTML5PreloadScanner to
HTMLPreloadScanner. We're not calling it PreloadScanner because we've
factored out the CSSPreloadScanner and the HTMLPreloadScanner from the
original PreloadScanner.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTML5PreloadScanner.cpp: Removed.
* html/HTML5PreloadScanner.h: Removed.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/HTMLDocumentParser.h:
* html/HTMLPreloadScanner.cpp: Copied from WebCore/html/HTML5PreloadScanner.cpp.
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
(WebCore::HTMLPreloadScanner::appendToEnd):
(WebCore::HTMLPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::processToken):
(WebCore::HTMLPreloadScanner::scanningBody):
* html/HTMLPreloadScanner.h: Copied from WebCore/html/HTML5PreloadScanner.h.
* html/LegacyHTMLDocumentParser.cpp:
(WebCore::LegacyHTMLDocumentParser::scriptHandler):
(WebCore::LegacyHTMLDocumentParser::scriptExecution):
* html/LegacyHTMLDocumentParser.h:
* html/LegacyPreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
(WebCore::LegacyPreloadScanner::LegacyPreloadScanner):
(WebCore::LegacyPreloadScanner::~LegacyPreloadScanner):
(WebCore::LegacyPreloadScanner::begin):
(WebCore::LegacyPreloadScanner::end):
(WebCore::LegacyPreloadScanner::reset):
(WebCore::LegacyPreloadScanner::scanningBody):
(WebCore::LegacyPreloadScanner::write):
(WebCore::LegacyPreloadScanner::clearLastCharacters):
(WebCore::LegacyPreloadScanner::rememberCharacter):
(WebCore::LegacyPreloadScanner::lastCharactersMatch):
(WebCore::LegacyPreloadScanner::consumeEntity):
(WebCore::LegacyPreloadScanner::tokenize):
(WebCore::LegacyPreloadScanner::processAttribute):
(WebCore::LegacyPreloadScanner::emitCharacter):
(WebCore::LegacyPreloadScanner::tokenizeCSS):
(WebCore::LegacyPreloadScanner::emitTag):
(WebCore::LegacyPreloadScanner::emitCSSRule):
* html/LegacyPreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
* html/PreloadScanner.cpp: Removed.
* html/PreloadScanner.h: Removed.
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::decodeHTMLEntities):
2010-06-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Yet more HTML5 => HTML renames
https://bugs.webkit.org/show_bug.cgi?id=41051
This patch renames HTML5DocumentParser to HTMLDocumentParser and
HTML5TreeBuilder to HTMLTreeBuilder. There was some discussion about
whether to use the name HTMLTreeBuilder or HTMLTreeConstructor, but
tree builder seems to be the dominate name in other implementations.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::parseHTML):
* html/HTML5DocumentParser.cpp: Removed.
* html/HTML5DocumentParser.h: Removed.
* html/HTML5PreloadScanner.cpp:
(WebCore::HTML5PreloadScanner::scan):
(WebCore::HTML5PreloadScanner::processToken):
* html/HTML5TreeBuilder.cpp: Removed.
* html/HTML5TreeBuilder.h: Removed.
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createParser):
* html/HTMLDocumentParser.cpp: Copied from WebCore/html/HTML5DocumentParser.cpp.
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::~HTMLDocumentParser):
(WebCore::HTMLDocumentParser::begin):
(WebCore::HTMLDocumentParser::stopParsing):
(WebCore::HTMLDocumentParser::processingData):
(WebCore::HTMLDocumentParser::pumpTokenizerIfPossible):
(WebCore::HTMLDocumentParser::isScheduledForResume):
(WebCore::HTMLDocumentParser::resumeParsingAfterYield):
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeConstructor):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::willPumpLexer):
(WebCore::HTMLDocumentParser::didPumpLexer):
(WebCore::HTMLDocumentParser::write):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::attemptToEnd):
(WebCore::HTMLDocumentParser::endIfDelayed):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::finishWasCalled):
(WebCore::HTMLDocumentParser::executingScript):
(WebCore::HTMLDocumentParser::inScriptExecution):
(WebCore::HTMLDocumentParser::lineNumber):
(WebCore::HTMLDocumentParser::columnNumber):
(WebCore::HTMLDocumentParser::htmlTreeConstructor):
(WebCore::HTMLDocumentParser::isWaitingForScripts):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
(WebCore::HTMLDocumentParser::watchForLoad):
(WebCore::HTMLDocumentParser::stopWatchingForLoad):
(WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
(WebCore::HTMLDocumentParser::notifyFinished):
(WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::HTMLDocumentParser::script):
* html/HTMLDocumentParser.h: Copied from WebCore/html/HTML5DocumentParser.h.
* html/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
* html/HTMLParserScheduler.h:
* html/HTMLTreeBuilder.cpp: Copied from WebCore/html/HTML5TreeBuilder.cpp.
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::~HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::handleScriptStartTag):
(WebCore::HTMLTreeBuilder::handleScriptEndTag):
(WebCore::HTMLTreeBuilder::takeScriptToProcess):
(WebCore::HTMLTreeBuilder::adjustedLexerState):
(WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
(WebCore::HTMLTreeBuilder::processToken):
(WebCore::HTMLTreeBuilder::finished):
(WebCore::HTMLTreeBuilder::isScriptingFlagEnabled):
* html/HTMLTreeBuilder.h: Copied from WebCore/html/HTML5TreeBuilder.h.
2010-06-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
More HTML5 => HTML renames
https://bugs.webkit.org/show_bug.cgi?id=41049
This patch renames HTML5ScriptRunner, HTML5ScriptRunnerHost, and
HTML5Token to remove the "5" from their names. These clases aren't
specific to HTML5 and will be used going forward.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::scan):
* html/CSSPreloadScanner.h:
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::HTML5DocumentParser):
(WebCore::HTML5DocumentParser::notifyFinished):
* html/HTML5DocumentParser.h:
* html/HTML5PreloadScanner.cpp:
(WebCore::HTMLNames::PreloadTask::PreloadTask):
(WebCore::HTMLNames::PreloadTask::processAttributes):
(WebCore::HTML5PreloadScanner::processToken):
* html/HTML5PreloadScanner.h:
* html/HTML5ScriptRunner.cpp: Removed.
* html/HTML5ScriptRunner.h: Removed.
* html/HTML5ScriptRunnerHost.h: Removed.
* html/HTML5Token.h: Removed.
* html/HTML5TreeBuilder.cpp:
(WebCore::convertToOldStyle):
(WebCore::HTML5TreeBuilder::handleScriptEndTag):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
(WebCore::HTML5TreeBuilder::constructTreeFromToken):
(WebCore::HTML5TreeBuilder::processToken):
* html/HTML5TreeBuilder.h:
* html/HTMLScriptRunner.cpp: Copied from WebCore/html/HTML5ScriptRunner.cpp.
(WebCore::HTMLScriptRunner::HTMLScriptRunner):
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::isPendingScriptReady):
(WebCore::HTMLScriptRunner::executePendingScript):
(WebCore::HTMLScriptRunner::executeScript):
(WebCore::HTMLScriptRunner::hasScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::watchForLoad):
(WebCore::HTMLScriptRunner::stopWatchingForLoad):
(WebCore::HTMLScriptRunner::execute):
(WebCore::HTMLScriptRunner::haveParsingBlockingScript):
(WebCore::HTMLScriptRunner::executeParsingBlockingScripts):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
(WebCore::HTMLScriptRunner::requestScript):
(WebCore::HTMLScriptRunner::runScript):
* html/HTMLScriptRunner.h: Copied from WebCore/html/HTML5ScriptRunner.h.
* html/HTMLScriptRunnerHost.h: Copied from WebCore/html/HTML5ScriptRunnerHost.h.
(WebCore::HTMLScriptRunnerHost::~HTMLScriptRunnerHost):
* html/HTMLToken.h: Copied from WebCore/html/HTML5Token.h.
(WebCore::HTMLToken::HTMLToken):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::emitCharacter):
(WebCore::HTMLTokenizer::emitCurrentToken):
(WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
* html/HTMLTokenizer.h:
2010-06-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename HTML5EntityParser to HTMLEntityParser
https://bugs.webkit.org/show_bug.cgi?id=41048
Mostly the result of do-webcore-rename, but I tweaked the header guard
and the name of the free function.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTML5EntityParser.cpp: Removed.
* html/HTML5EntityParser.h: Removed.
* html/HTMLEntityParser.cpp: Copied from WebCore/html/HTML5EntityParser.cpp.
(WebCore::consumeHTMLEntity):
* html/HTMLEntityParser.h: Copied from WebCore/html/HTML5EntityParser.h.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::processEntity):
(WebCore::HTMLTokenizer::nextToken):
2010-06-22 Yuta Kitamura <yutak@chromium.org>
Reviewed by Alexey Proskuryakov.
Add a new class that stores information about WebSocket handshake response.
In the future, instances of the new class will be passed to the Web Inspector
so that it will be able to display information about WebSocket handshake
response.
WebSocket: Add WebSocketHandshakeResponse
https://bugs.webkit.org/show_bug.cgi?id=38728
Test: websocket/tests/handshake-fail-by-no-cr.html
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* websockets/WebSocketHandshake.cpp:
(WebCore::trimConsoleMessage):
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::serverHandshakeResponse):
(WebCore::WebSocketHandshake::readStatusLine): Moved from extractResponseCode.
Add more error checks and make error messages more descriptive.
(WebCore::WebSocketHandshake::readHTTPHeaders):
(WebCore::WebSocketHandshake::processHeaders):
* websockets/WebSocketHandshake.h:
* websockets/WebSocketHandshakeResponse.cpp: Added.
(WebCore::WebSocketHandshakeResponse::ChallengeResponse::ChallengeResponse):
(WebCore::WebSocketHandshakeResponse::ChallengeResponse::set):
(WebCore::WebSocketHandshakeResponse::WebSocketHandshakeResponse):
(WebCore::WebSocketHandshakeResponse::~WebSocketHandshakeResponse):
(WebCore::WebSocketHandshakeResponse::statusCode):
(WebCore::WebSocketHandshakeResponse::setStatusCode):
(WebCore::WebSocketHandshakeResponse::statusText):
(WebCore::WebSocketHandshakeResponse::setStatusText):
(WebCore::WebSocketHandshakeResponse::headerFields):
(WebCore::WebSocketHandshakeResponse::addHeaderField):
(WebCore::WebSocketHandshakeResponse::clearHeaderFields):
(WebCore::WebSocketHandshakeResponse::challengeResponse):
(WebCore::WebSocketHandshakeResponse::setChallengeResponse):
* websockets/WebSocketHandshakeResponse.h: Added.
2010-06-23 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Implement page format data programming interface.
The final goal is to implement CSS Paged Media Module Level 3 (http://dev.w3.org/csswg/css3-page/).
To begin with, this change adds methods to know:
- if page box is visible,
- the page area rectangle, and
- preferred page size.
https://bugs.webkit.org/show_bug.cgi?id=37538
Test: printing/page-format-data.html
* WebCore.base.exp:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseSizeParameter):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::applyPageSizeProperty):
(WebCore::CSSStyleSelector::pageSizeFromName):
(WebCore::CSSStyleSelector::mmLength):
(WebCore::CSSStyleSelector::inchLength):
* css/CSSStyleSelector.h:
* css/html.css:
(@page):
* dom/Document.cpp:
(WebCore::Document::isPageBoxVisible):
(WebCore::Document::pageAreaRectInPixels):
(WebCore::Document::preferredPageSizeInPixels):
* dom/Document.h:
* page/PrintContext.cpp:
(WebCore::PrintContext::isPageBoxVisible):
(WebCore::PrintContext::pageAreaRectInPixels):
(WebCore::PrintContext::preferredPageSizeInPixels):
* page/PrintContext.h:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::pageSize):
(WebCore::InheritedFlags::setPageSize):
* rendering/style/StyleRareNonInheritedData.h:
2010-06-23 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename lexer and m_lexer to tokenizer and m_tokenizer, respectively
https://bugs.webkit.org/show_bug.cgi?id=41046
This is a follow up to the recent HTML5Lexer => HTMLTokenizer rename.
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::HTML5DocumentParser):
(WebCore::HTML5DocumentParser::begin):
(WebCore::HTML5DocumentParser::pumpLexer):
(WebCore::HTML5DocumentParser::willPumpLexer):
(WebCore::HTML5DocumentParser::didPumpLexer):
(WebCore::HTML5DocumentParser::lineNumber):
(WebCore::HTML5DocumentParser::columnNumber):
* html/HTML5DocumentParser.h:
* html/HTML5PreloadScanner.cpp:
(WebCore::HTML5PreloadScanner::scan):
(WebCore::HTML5PreloadScanner::processToken):
* html/HTML5PreloadScanner.h:
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
(WebCore::HTML5TreeBuilder::handleScriptStartTag):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
* html/HTML5TreeBuilder.h:
* html/HTMLTokenizer.h:
* html/LegacyHTMLDocumentParser.h:
2010-06-23 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Eric Seidel.
Reproducible crash in com.apple.WebCore 0x01ed3784 WebCore::RenderLineBoxList::appendLineBox(WebCore::InlineFlowBox*) + 36
https://bugs.webkit.org/show_bug.cgi?id=40953
REGRESSION (r58209-58231): Memory corruption with invalid SVG
https://bugs.webkit.org/show_bug.cgi?id=40173
Fix several crashes, all related to <foreignObject> and/or invalid SVG documents.
- Only allow <svg> nodes, as direct children of a <foreignObject>, not any other "partial" SVG content.
- Assure to create RenderSVGRoot objects for <svg> nodes in <foreignObject>, treat them as "outermost SVG elements".
- Never allow any partial SVG content to appear in any document. Only <svg> elements are allowed.
Tests: svg/custom/bug45331.svg
svg/foreignObject/disallowed-svg-nodes-as-direct-children.svg
svg/foreignObject/no-crash-with-svg-content-in-html-document.svg
svg/foreignObject/svg-document-as-direct-child.svg
svg/foreignObject/svg-document-in-html-document.svg
svg/foreignObject/text-tref-02-b.svg
* dom/Element.cpp: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
(WebCore::Element::childShouldCreateRenderer): Only create a renderer for a SVG child, if we're a SVG element, or if the child is a <svg> element.
* dom/Element.h: Added childShouldCreateRenderer, with ENABLE(SVG) guards.
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::childShouldCreateRenderer): Disallow arbitary SVG content, only <svg> elements are allowed as direct children of a <foreignObject>
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::isOutermostSVG): Be sure to create RenderSVGRoot objects for <svg> elements inside <foreignObject>
2010-06-22 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename HTML5Lexer to HTMLTokenizer
https://bugs.webkit.org/show_bug.cgi?id=41045
This might be slightly confusing given that the old class was called
HTMLTokenizer, but it matches the terminology in the HTML5 spec.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::HTML5DocumentParser):
(WebCore::HTML5DocumentParser::pumpLexer):
* html/HTML5DocumentParser.h:
* html/HTML5Lexer.cpp: Removed.
* html/HTML5Lexer.h: Removed.
* html/HTML5PreloadScanner.cpp:
(WebCore::HTML5PreloadScanner::processToken):
* html/HTML5PreloadScanner.h:
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
(WebCore::HTML5TreeBuilder::handleScriptStartTag):
(WebCore::HTML5TreeBuilder::adjustedLexerState):
* html/HTML5TreeBuilder.h:
* html/HTMLTokenizer.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
(WebCore::HTMLNames::isEndTagBufferingState):
(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::~HTMLTokenizer):
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::processEntity):
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::temporaryBufferIs):
(WebCore::HTMLTokenizer::addToPossibleEndTag):
(WebCore::HTMLTokenizer::isAppropriateEndTag):
(WebCore::HTMLTokenizer::emitCharacter):
(WebCore::HTMLTokenizer::emitCodePoint):
(WebCore::HTMLTokenizer::emitParseError):
(WebCore::HTMLTokenizer::emitCurrentToken):
(WebCore::HTMLTokenizer::shouldEmitBufferedCharacterToken):
* html/HTMLTokenizer.h: Copied from WebCore/html/HTML5Lexer.h.
2010-06-22 Simon Hausmann <simon.hausmann@nokia.com>
Unreviewed Qt/Symbian build fix.
Fix "make clean" to not try to execute clean commands for
the extra targets we use to simulate "make install".
* WebCore.pro: Use no_clean in CONFIG of extra compilers.
2010-06-22 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Run clean-header-guards to fix some header guards
https://bugs.webkit.org/show_bug.cgi?id=41044
No functional changes, thus no tests.
This entire change was generated by running
clean-header-guards, and then reverting changes
to files which shouldn't be changed. Those which
are left all should be updated.
Some of these changes are just fixing 755 permissions
to be 644, since it seems various files have the wrong
execute bit which don't need it. clean-header-guards
made those (welcome) permission fixes unintentionally.
* bindings/v8/custom/V8HTMLAudioElementConstructor.h:
* bindings/v8/custom/V8HTMLImageElementConstructor.h:
* bindings/v8/custom/V8HTMLOptionElementConstructor.h:
* dom/Touch.h:
* dom/TouchList.h:
* dom/XMLDocumentParser.h:
* dom/XMLDocumentParserScope.h:
* html/HTML5DocumentParser.h:
* html/LegacyHTMLTreeConstructor.h:
* loader/CrossOriginPreflightResultCache.h:
* page/OriginAccessEntry.h:
* page/win/FrameWin.h:
* platform/ThreadTimers.h:
* platform/chromium/KeyboardCodes.h:
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
* platform/graphics/chromium/FontUtilsChromiumWin.h:
* platform/graphics/filters/FEBlend.h:
* platform/graphics/filters/FEColorMatrix.h:
* platform/graphics/filters/FEComponentTransfer.h:
* platform/graphics/filters/FEComposite.h:
* platform/graphics/gstreamer/DataSourceGStreamer.h:
* platform/graphics/gstreamer/VideoSinkGStreamer.h:
- I checked, this crazy define was not referenced
anywhere else. It's safe to change the name. :)
* platform/graphics/haiku/FontPlatformData.h:
* platform/graphics/qt/FontCustomPlatformData.h:
* platform/graphics/skia/SkiaFontWin.h:
* platform/graphics/win/GraphicsLayerCACF.h:
* platform/graphics/win/QTMovieWinTimer.h:
* platform/graphics/win/RefCountedGDIHandle.h:
* platform/graphics/win/WebLayer.h:
* platform/graphics/win/WebTiledLayer.h:
* platform/graphics/wince/FontPlatformData.h:
* platform/graphics/wx/FontPlatformData.h:
* platform/network/CredentialStorage.h:
* platform/network/cf/FormDataStreamCFNet.h:
* platform/network/curl/FormDataStreamCurl.h:
* platform/network/qt/DnsPrefetchHelper.h:
* platform/network/qt/QNetworkReplyHandler.h:
* platform/win/PlatformScrollBar.h:
* plugins/PluginDatabase.h:
* plugins/PluginPackage.h:
* plugins/PluginStream.h:
* plugins/qt/PluginContainerQt.h:
* plugins/symbian/npinterface.h:
* rendering/RenderSelectionInfo.h:
* rendering/SVGRenderSupport.h:
* storage/IDBObjectStoreImpl.h:
* svg/animation/SMILTimeContainer.h:
* wml/WMLErrorHandling.h:
2010-06-22 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename HTMLDocumentParser to LegacyHTMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=41043
As requested by Darin Adler.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::checkLoaded):
* dom/Document.cpp:
(WebCore::Document::write):
* dom/DocumentFragment.cpp:
* dom/DocumentParser.h:
(WebCore::DocumentParser::asHTMLDocumentParser):
* dom/XMLDocumentParserLibxml2.cpp:
* dom/XMLDocumentParserQt.cpp:
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::columnNumber):
* html/HTML5TreeBuilder.cpp:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createParser):
* html/HTMLDocumentParser.cpp: Removed.
* html/HTMLDocumentParser.h: Removed.
* html/HTMLFormControlElement.cpp:
* html/HTMLParserScheduler.cpp:
(WebCore::parserChunkSize):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createParser):
(WebCore::HTMLViewSourceDocument::addViewSourceToken):
* html/HTMLViewSourceDocument.h:
* html/LegacyHTMLDocumentParser.cpp: Copied from WebCore/html/HTMLDocumentParser.cpp.
(WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser):
(WebCore::LegacyHTMLDocumentParser::reset):
(WebCore::LegacyHTMLDocumentParser::begin):
(WebCore::LegacyHTMLDocumentParser::setForceSynchronous):
(WebCore::LegacyHTMLDocumentParser::processListing):
(WebCore::LegacyHTMLDocumentParser::parseNonHTMLText):
(WebCore::LegacyHTMLDocumentParser::scriptHandler):
(WebCore::LegacyHTMLDocumentParser::scriptExecution):
(WebCore::LegacyHTMLDocumentParser::parseComment):
(WebCore::LegacyHTMLDocumentParser::parseServer):
(WebCore::LegacyHTMLDocumentParser::parseProcessingInstruction):
(WebCore::LegacyHTMLDocumentParser::parseText):
(WebCore::LegacyHTMLDocumentParser::parseEntity):
(WebCore::LegacyHTMLDocumentParser::parseDoctype):
(WebCore::LegacyHTMLDocumentParser::parseTag):
(WebCore::LegacyHTMLDocumentParser::continueProcessing):
(WebCore::LegacyHTMLDocumentParser::advance):
(WebCore::LegacyHTMLDocumentParser::willWriteHTML):
(WebCore::LegacyHTMLDocumentParser::didWriteHTML):
(WebCore::LegacyHTMLDocumentParser::write):
(WebCore::LegacyHTMLDocumentParser::stopParsing):
(WebCore::LegacyHTMLDocumentParser::processingData):
(WebCore::LegacyHTMLDocumentParser::timerFired):
(WebCore::LegacyHTMLDocumentParser::end):
(WebCore::LegacyHTMLDocumentParser::finish):
(WebCore::LegacyHTMLDocumentParser::finishWasCalled):
(WebCore::LegacyHTMLDocumentParser::processToken):
(WebCore::LegacyHTMLDocumentParser::processDoctypeToken):
(WebCore::LegacyHTMLDocumentParser::~LegacyHTMLDocumentParser):
(WebCore::LegacyHTMLDocumentParser::enlargeBuffer):
(WebCore::LegacyHTMLDocumentParser::enlargeScriptBuffer):
(WebCore::LegacyHTMLDocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::LegacyHTMLDocumentParser::notifyFinished):
(WebCore::LegacyHTMLDocumentParser::executeExternalScriptsIfReady):
(WebCore::LegacyHTMLDocumentParser::executeExternalScriptsTimerFired):
(WebCore::LegacyHTMLDocumentParser::continueExecutingExternalScripts):
(WebCore::LegacyHTMLDocumentParser::isWaitingForScripts):
(WebCore::LegacyHTMLDocumentParser::setSrc):
(WebCore::parseLegacyHTMLDocumentFragment):
* html/LegacyHTMLDocumentParser.h: Copied from WebCore/html/HTMLDocumentParser.h.
(WebCore::LegacyHTMLDocumentParser::asHTMLDocumentParser):
* html/LegacyHTMLTreeConstructor.cpp:
(WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
* html/LegacyHTMLTreeConstructor.h:
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::finish):
* page/XSSAuditor.h:
2010-06-22 Shinichiro Hamaji <hamaji@chromium.org>
Unreviewed attempt to fix the windows build.
Split out HTML5DocumentParser yield/resume logic into a separate class
https://bugs.webkit.org/show_bug.cgi?id=41018
* WebCore.vcproj/WebCore.vcproj:
2010-06-22 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Split out HTML5DocumentParser yield/resume logic into a separate class
https://bugs.webkit.org/show_bug.cgi?id=41018
The HTML5DocumentParser is just the coordinator, and shouldn't have
any real parsing logic of his own. Continuing along that path, I'm
moving the when-to-yield/resume logic out into a separate class.
I could have create a new HTMLParserSchedulerHost virtual interface
to allow the HTMLParserScheduler to talk back to the
HTML5DocumentParser, but instead I just exposed the one method it
needs (resumeParsing()) as a public method. Since no code besides
HTMLDocument (and DocumentFrament) ever should know about the
HTML5DocumentParser DocumentParser subclass, no class should ever
see the resumeParsing() method anyway.
Most of this change is just moving code from HTML5DocumentParser
to the new HTMLParserScheduler.
Some of this change is wrapping previous direct access to
m_continueNextChunkTimer.isActive() with isScheduledForResume().
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::HTML5DocumentParser):
(WebCore::HTML5DocumentParser::stopParsing):
(WebCore::HTML5DocumentParser::processingData):
(WebCore::HTML5DocumentParser::pumpLexerIfPossible):
(WebCore::HTML5DocumentParser::isScheduledForResume):
(WebCore::HTML5DocumentParser::resumeParsing):
(WebCore::HTML5DocumentParser::pumpLexer):
(WebCore::HTML5DocumentParser::end):
(WebCore::HTML5DocumentParser::attemptToEnd):
(WebCore::HTML5DocumentParser::endIfDelayed):
* html/HTML5DocumentParser.h:
(WebCore::HTML5DocumentParser::document):
- Exposed for HTMLParserScheduler.
* html/HTMLParserScheduler.cpp: Added.
(WebCore::parserTimeLimit): Moved from HTML5DocumentParser.
(WebCore::parserChunkSize): ditto.
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::~HTMLParserScheduler):
(WebCore::isLayoutTimerActive):
(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
- Moved from HTML5DocumentParser.
* html/HTMLParserScheduler.h: Added.
(WebCore::HTMLParserScheduler::PumpSession::PumpSession):
- Moved from HTML5DocumentParser.
(WebCore::HTMLParserScheduler::shouldContinueParsing):
(WebCore::HTMLParserScheduler::isScheduledForResume):
2010-06-22 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: move nodeByPath from InjectedScript to InspectorBackend.
https://bugs.webkit.org/show_bug.cgi?id=40988
* inspector/InjectedScriptHost.cpp:
* inspector/InjectedScriptHost.h:
* inspector/InjectedScriptHost.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::pushNodeByPathToFrontend):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
(WebCore::InspectorDOMAgent::nodeForPath):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::didPushNodeByPathToFrontend):
* inspector/InspectorFrontend.h:
* inspector/front-end/DOMAgent.js:
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.setDocument):
* inspector/front-end/InjectedScript.js:
* inspector/front-end/InjectedScriptAccess.js:
2010-06-22 David Levin <levin@chromium.org>
Reviewed by Alexey Proskuryakov.
REGRESSION: (r47291): Upload progress events are not fired for simple cross-site XHR.
https://bugs.webkit.org/show_bug.cgi?id=39029
Specifically, WebKit should fire upload events if one or more event listeners are
registered on the XMLHttpRequestUpload object when send is called in an async manner.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest): Allow upload events to be fired when there are
handlers for them in the cross-origin simple request case.
2010-06-22 Kent Tamura <tkent@chromium.org>
Reviewed by Adam Barth.
Fix uninitialized SubframeLoader::m_containsPlugins
https://bugs.webkit.org/show_bug.cgi?id=41035
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::SubframeLoader):
Initialize m_containsPlugins with false.
2010-06-22 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Adam Barth.
Add BlobBuilder.idl to expose BlobBuilder interface
https://bugs.webkit.org/show_bug.cgi?id=40593
(Resubmitting with the correct file set.)
BlobBuilder is defined in FileAPI's FileWriter spec.
(http://dev.w3.org/2009/dap/file-system/file-writer.html)
Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.
Tests: http/tests/local/blob/send-data-blob.html
http/tests/local/blob/send-hybrid-blob.html
http/tests/local/blob/send-sliced-data-blob.html
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/BlobBuilder.cpp:
(WebCore::BlobBuilder::append):
* html/BlobBuilder.h:
* html/BlobBuilder.idl: Added.
* page/DOMWindow.idl:
2010-06-22 Kent Tamura <tkent@chromium.org>
Unreviewed, build fix for r61648.
* platform/graphics/GraphicsContext3D.h:
2010-06-22 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Kent Tamura.
Define GraphicsContext3D::platformLayer() for all remaining (non PLATFORM(MAC))
ports to get RenderLayerBacking.cpp compiling again.
https://bugs.webkit.org/show_bug.cgi?id=41026
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::platformLayer):
2010-06-22 Eric Seidel <eric@webkit.org>
Unreviewed. Rolling out http://trac.webkit.org/changeset/61638
made a few tests crash.
Make PendingScript hold a CachedResourceClient open for its lifetime
https://bugs.webkit.org/show_bug.cgi?id=40968
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::watchForLoad):
(WebCore::HTML5DocumentParser::notifyFinished):
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
(WebCore::HTML5ScriptRunner::sourceFromPendingScript):
(WebCore::HTML5ScriptRunner::isPendingScriptReady):
(WebCore::HTML5ScriptRunner::executePendingScript):
(WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
(WebCore::HTML5ScriptRunner::watchForLoad):
(WebCore::HTML5ScriptRunner::stopWatchingForLoad):
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
(WebCore::HTML5ScriptRunner::requestScript):
* html/HTML5ScriptRunner.h:
(WebCore::HTML5ScriptRunner::PendingScript::):
(WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
(WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
* html/HTML5ScriptRunnerHost.h:
2010-06-22 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for Crash when the renderer for the button in <input type="number"> goes away during event handling
https://bugs.webkit.org/show_bug.cgi?id=41013
Test: fast/forms/input-number-crash.html
* rendering/TextControlInnerElements.cpp: (WebCore::SpinButtonElement::defaultEventHandler):
Nil check the RenderBox since its possible the renderer has gone away during event handling.
2010-06-22 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Pull script line number from DocumentParser instead of pushing it to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=40649
This approach is cleaner and improves WebCore/benchmarks/parser/html-parser.html by ~2%.
Tests: fast/js/script-line-number.html
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::ScriptController):
(WebCore::ScriptController::eventHandlerLineNumber):
* bindings/js/ScriptController.h:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerLineNumber):
(WebCore::ScriptController::eventHandlerColumnNumber):
* bindings/v8/ScriptController.h:
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/v8/V8Proxy.h:
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::pumpLexer):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::processToken):
2010-06-22 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Make PendingScript hold a CachedResourceClient open for its lifetime
https://bugs.webkit.org/show_bug.cgi?id=40968
This replaces the mechanism introduced in r61374 with a simpler
approach from preventing unexpected purges; always keep a client open.
This will approach will allow deferred scripts to add a client after
the resource may have already been loaded without having to worry about
the buffer being purged in the meantime.
No new tests because making a CachedResource purge itself is not
testable from a LayoutTest.
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::watchForLoad):
(WebCore::HTML5DocumentParser::notifyFinished):
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
(WebCore::HTML5ScriptRunner::sourceFromPendingScript):
(WebCore::HTML5ScriptRunner::isPendingScriptReady):
(WebCore::HTML5ScriptRunner::executePendingScript):
(WebCore::HTML5ScriptRunner::watchForLoad):
(WebCore::HTML5ScriptRunner::stopWatchingForLoad):
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
(WebCore::HTML5ScriptRunner::requestScript):
* html/HTML5ScriptRunner.h:
(WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
(WebCore::HTML5ScriptRunner::PendingScript::~PendingScript):
(WebCore::HTML5ScriptRunner::PendingScript::setCachedScript):
(WebCore::HTML5ScriptRunner::PendingScript::cachedScript):
(WebCore::HTML5ScriptRunner::PendingScript::notifyFinished):
* html/HTML5ScriptRunnerHost.h:
2010-06-22 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fragment parsing needs to go through the HTML5 Parser code path
https://bugs.webkit.org/show_bug.cgi?id=40645
Added a new HTML5DocumentParser::parseHTMLDocumentFragment
codepath which optionally calls through to the old fragment
parsing path, now renamed parseLegacyHTMLDocumentFragment.
* dom/Element.cpp:
(WebCore::Element::createContextualFragment):
- Use document()->createDocumentFragment() instead
of DocumentFragment::create() to match other callers
(and not depend on DocumentFragment.h).
- Update call to parseHTMLDocumentFragment to use the new
HTML5 parser codepath.
* dom/MappedAttributeEntry.h:
- Add a FIXME about this horrible enum placement.
Sadly this will cause a world-rebuild for everyone.
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::HTML5DocumentParser):
(WebCore::HTML5DocumentParser::runScriptsForPausedTreeConstructor):
- The main pumpLexer function has gotten to large. Move the script
running logic into this new function.
- Handle the case where we have no m_scriptRunner (fragment case).
(WebCore::HTML5DocumentParser::pumpLexer):
- Use new runScriptsForPausedTreeConstructor().
(WebCore::HTML5DocumentParser::executingScript):
(WebCore::HTML5DocumentParser::inScriptExecution):
- New function to handle the case where m_scriptRunner is null.
(WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
- Use inScriptExecution() instead of m_scriptRunner->inScriptExecution().
(WebCore::HTML5DocumentParser::executeScript): ditto.
(WebCore::HTML5DocumentParser::notifyFinished): ditto.
(WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets): ditto.
(WebCore::shouldUseLegacyParser):
- Helper function to check the html5ParserEnabled() setting.
(WebCore::HTML5DocumentParser::parseHTMLDocumentFragment):
- Run HTML5DocumentParser in fragment mode, or optionally run
the legacy parser if !html5ParserEnabled().
* html/HTML5DocumentParser.h:
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
- Implement the FragmentScriptingNotAllowed hack for platform/Pasteboard.
* html/HTML5TreeBuilder.h:
* html/HTMLDocumentParser.cpp:
(WebCore::parseLegacyHTMLDocumentFragment):
- Renamed from parseHTMLDocumentFragment
* html/HTMLDocumentParser.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::insertAdjacentHTML):
- Call HTML5DocumentParser::parseHTMLDocumentFragment.
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::documentFragment): ditto.
* xml/XSLTProcessor.cpp:
(WebCore::createFragmentFromSource): ditto.
2010-06-22 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=40643
Final phase of moving ownership of WebGLLayer to GraphicsContext3D.
As it turns out, I still have to have a separate CGLContextObj for
rendering because Core Animation composites in a separate thread,
so we need to disconnect WebGL rendering from CA compositing. But
this change is still worthwhile because it reduces dependencies
and makes it easier to port WebGL to other platforms.
No new tests since this is just restructuring and the current tests
are all still valid and do a sufficient test of WebGL functionality.
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::platformLayer):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setContentsToWebGL):
(WebCore::GraphicsLayer::setWebGLNeedsDisplay):
* platform/graphics/mac/GraphicsContext3DMac.mm: Add creation of WebGLLayer
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/mac/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::):
* platform/graphics/mac/GraphicsLayerCA.mm: Handle setting of WebGLLayer as content the same as for MediaLayer. Also changed WebGL related names for clarity
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsWebGLLayer):
(WebCore::GraphicsLayerCA::setContentsToWebGL):
(WebCore::GraphicsLayerCA::setWebGLNeedsDisplay):
* platform/graphics/mac/WebGLLayer.h:
* platform/graphics/mac/WebGLLayer.mm: Got rid of storage for context and texture, now just store GraphicsContext3D and get them from there when needed
(-[WebGLLayer copyCGLPixelFormatForDisplayMask:]):
(-[WebGLLayer copyCGLContextForPixelFormat:]):
(-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
(-[WebGLLayer copyImageSnapshotWithColorSpace:]):
* rendering/RenderLayerBacking.cpp: Changed init of WebGL contentsLayer to pass WebGLLayer rather than GraphicsContext3D
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
(WebCore::RenderLayerBacking::rendererContentChanged):
2010-06-22 Darin Adler <darin@apple.com>
Reviewed by Dave Hyatt.
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::parseMappedAttribute): Removed incorrect FIXME comments.
2010-06-22 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8119403> REGRESSION (r61548): PLT is almost 1.5% slower, Google page cycler slower
https://bugs.webkit.org/show_bug.cgi?id=41012
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeHorizontalPositionsForLine): Removed a redundant statement that was
left over in the original patch and resulted in double the calls to RenderText::width() here.
(WebCore::RenderBlock::findNextLineBreak): Changed the order of evaluating conditions for a
potential speedup.
2010-06-22 Darin Adler <darin@apple.com>
Reviewed by Alexey Proskuryakov.
Alexey asked me to take out the autorelease pools because he believes
that there is no code that should be running using Objective-C
autorelease. Most likely, the code that is triggering these stderr
messages is incorrect, and that bug should be fixed instead.
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::run): Roll out use of AutodrainedPool.
2010-06-22 Darin Adler <darin@apple.com>
Reviewed by Brady Eidson.
Fix autorelease problem seen when running worker regression tests.
We were seeing logs to stderr saying autorelease was used without
an autorelease pool being set up.
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::run): Use an AutodrainedPool as the file
thread, icon database, and database thread do. No effect on platforms
other than Mac.
2010-06-22 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: If an element that is a continuation is removed, its parent tree is not notified appropriately that their children have changed
https://bugs.webkit.org/show_bug.cgi?id=41000
Test: accessibility/removed-continuation-element-causes-crash.html
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::updateChildrenIfNecessary):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::childrenChanged):
(WebCore::AccessibilityRenderObject::addChildren):
* accessibility/AccessibilityRenderObject.h:
2010-06-22 Peter Kasting <pkasting@google.com>
Reviewed by Adam Barth.
Override setFailed() in each image decoder to clean up any temporary
objects.
https://bugs.webkit.org/show_bug.cgi?id=35411
In a few cases, we need to be careful to avoid deleting objects until
after they're no longer needed. These cases usually mean some jumping
through hoops, to the detriment of code simplicity.
No layout tests because this does not change the visible output of
decoding in any way.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::setData):
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::setFailed):
(WebCore::BMPImageDecoder::decode):
* platform/image-decoders/bmp/BMPImageDecoder.h:
* platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::decodeBMP):
(WebCore::BMPImageReader::readInfoHeaderSize):
(WebCore::BMPImageReader::processInfoHeader):
(WebCore::BMPImageReader::readInfoHeader):
(WebCore::BMPImageReader::processBitmasks):
(WebCore::BMPImageReader::processColorTable):
(WebCore::BMPImageReader::processRLEData):
(WebCore::BMPImageReader::processNonRLEData):
* platform/image-decoders/bmp/BMPImageReader.h:
(WebCore::BMPImageReader::):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setFailed):
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::setFailed):
(WebCore::ICOImageDecoder::decode):
* platform/image-decoders/ico/ICOImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::setFailed):
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageReader::decode):
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::setFailed):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.h:
2010-06-04 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Remove side effects of form submission and prepare FormDataBuilder for splitting up.
https://bugs.webkit.org/show_bug.cgi?id=40184
Refactoring, covered by existing tests.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareFormSubmission):
* Changed to use new accessors on FormDataBuilder;
* Simplified the logic around action URL;
* Removed form submission side effect of element's enctype property being updated when
submitting a mailto form;
* Removed unnecessary updating of action URL for mailto forms.
(WebCore::HTMLFormElement::submit): Moved action URL check into prepareFormSubmission.
(WebCore::HTMLFormElement::parseMappedAttribute): Updated to use new methods on FormDataBuilder.
* html/HTMLFormElement.h: Removed decls for isMailtoForm and dataEncoding methods;
moved m_target and m_url to FormDataBuilder.
* platform/network/FormData.cpp:
(WebCore::FormData::appendDOMFormData): Removed unnecessary instantiation of FormDataBuilder.
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::parseAction): Moved from HTMLFormControl.
* platform/network/FormDataBuilder.h:
(WebCore::FormDataBuilder::action): Ditto.
(WebCore::FormDataBuilder::target): Ditto.
(WebCore::FormDataBuilder::setTarget): Ditto.
2010-06-22 Yuta Kitamura <yutak@chromium.org>
Reviewed by Alexey Proskuryakov.
Fix WebSocketHandshakeRequest so that it fits the new handshake protocol.
The new WebSocket specification (draft 76 and later) allows a browser to
send header fields in arbitrary order. Thus we can use a HTTPHeaderMap to
store header fields instead of Vector of pairs of a field name and
a field value.
This patch also does refactoring of WebSocketHandshakeRequest class
to make it simpler and easier to use.
Fix WebSocketHandshakeRequest so that it fits the new handshake protocol
https://bugs.webkit.org/show_bug.cgi?id=39864
No new tests, because there is no functional change.
* websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clientHandshakeRequest):
* websockets/WebSocketHandshakeRequest.cpp:
(WebCore::WebSocketHandshakeRequest::Key3::Key3):
(WebCore::WebSocketHandshakeRequest::Key3::set):
(WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
(WebCore::WebSocketHandshakeRequest::requestMethod):
(WebCore::WebSocketHandshakeRequest::url):
(WebCore::WebSocketHandshakeRequest::addHeaderField):
(WebCore::WebSocketHandshakeRequest::headerFields):
(WebCore::WebSocketHandshakeRequest::key3):
(WebCore::WebSocketHandshakeRequest::setKey3):
* websockets/WebSocketHandshakeRequest.h:
2010-06-20 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
<meter> should be yellow when min < value < low < optimum
https://bugs.webkit.org/show_bug.cgi?id=40824
Fixed a wrong conditional on HTMLMeterElement::gaugeRegion().
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::gaugeRegion):
Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
fast/dom/HTMLMeterElement/meter-optimums.html
2010-06-22 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Follow the HTML5 spec more closely w.r.t. when to save the insertion point
https://bugs.webkit.org/show_bug.cgi?id=40976
The spec always increments the nesting level and saves the insertion
point at the same time. In this patch, we now do those operations
packaged as a RAII.
As a side effect, the test case below no longer ASSERTs. (The output
is wrong, but we'll get to that next.)
Test: fast/tokenizer/write-on-load.html
* html/HTML5ScriptRunner.cpp:
(WebCore::NestScript::NestScript):
(WebCore::NestScript::~NestScript):
(WebCore::HTML5ScriptRunner::executePendingScript):
(WebCore::HTML5ScriptRunner::executeScript):
(WebCore::HTML5ScriptRunner::requestScript):
(WebCore::HTML5ScriptRunner::runScript):
* html/HTMLInputStream.h:
2010-06-22 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Expose HTMLInputStream to ScriptRunner so that ScriptRunner can save the insertion point itself
https://bugs.webkit.org/show_bug.cgi?id=40975
This saves us having to call back into the HTML5DocumentParser each
time we need to save the insertion point. This prepares us for another
place we need to save the insertion point.
* html/HTML5DocumentParser.cpp:
* html/HTML5DocumentParser.h:
(WebCore::HTML5DocumentParser::inputStream):
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::executeScript):
(WebCore::HTML5ScriptRunner::requestScript):
* html/HTML5ScriptRunnerHost.h:
2010-06-22 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move HTMLInputStream to its own file
https://bugs.webkit.org/show_bug.cgi?id=40974
No new tests, just code motion.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTML5DocumentParser.h:
2010-06-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Save the insertion point before beforeload events
https://bugs.webkit.org/show_bug.cgi?id=40973
We need to save the insertion point before dispatching the beforeload
event in case someone decides to document.write during beforeload.
Prior to this patch, such writes would pump the lexer too much and
tokenize the rest of the document before executing the script.
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::dispatchBeforeLoad):
* html/HTML5DocumentParser.h:
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::requestScript):
* html/HTML5ScriptRunnerHost.h:
2010-06-21 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
document.write from BeforeLoad should not assert
https://bugs.webkit.org/show_bug.cgi?id=40971
We're setting the parse blocking script too early. It's not actually
blocking parsing yet.
Test: fast/tokenizer/write-before-load.html
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::requestScript):
2010-06-21 Chris Fleizach <cfleizach@apple.com>
No review. QT build fix again.
AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
https://bugs.webkit.org/show_bug.cgi?id=40927
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::postNotification):
2010-06-21 Chris Fleizach <cfleizach@apple.com>
No review. QT build fix.
AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
https://bugs.webkit.org/show_bug.cgi?id=40927
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::postNotification):
2010-06-21 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: VoiceOver does not announce WAI-ARIA state change of aria-expanded
https://bugs.webkit.org/show_bug.cgi?id=40927
Test: platform/mac/accessibility/aria-expanded-notifications.html
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAriaExpandedChange):
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::handleAriaExpandedChange):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::handleAriaExpandedChanged):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
2010-06-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61585.
http://trac.webkit.org/changeset/61585
https://bugs.webkit.org/show_bug.cgi?id=40950
It broke builds (Requested by kinuko on #webkit).
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/BlobBuilder.cpp:
(WebCore::BlobBuilder::appendString):
(WebCore::BlobBuilder::appendBlob):
* html/BlobBuilder.h:
* page/DOMWindow.idl:
2010-06-21 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Adam Barth.
Add BlobBuilder.idl to expose BlobBuilder interface
https://bugs.webkit.org/show_bug.cgi?id=40593
BlobBuilder is defined in FileAPI's FileWriter spec.
(http://dev.w3.org/2009/dap/file-system/file-writer.html)
Also removes the ENABLE_FILE_WRITER ifdef guard for BlobBuilder.
Tests: http/tests/local/blob/send-data-blob.html
http/tests/local/blob/send-hybrid-blob.html
http/tests/local/blob/send-sliced-data-blob.html
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/BlobBuilder.cpp:
(WebCore::BlobBuilder::append):
* html/BlobBuilder.h:
* html/BlobBuilder.idl: Added.
* page/DOMWindow.idl:
2010-06-21 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
FrameLoader cleanup: Split high level subframe and plugin
loading functions into a separate class.
https://bugs.webkit.org/show_bug.cgi?id=40453
Refactor only, no new tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.base.exp:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMImplementation.cpp:
* history/PageCache.cpp:
* html/HTMLFrameElementBase.cpp:
* html/HTMLMediaElement.cpp:
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
(WebCore::FrameLoader::subframeLoader):
* loader/PluginDocument.cpp:
* loader/SubframeLoader.cpp: Added.
(WebCore::SubframeLoader::SubframeLoader):
(WebCore::toPlugInElement):
(WebCore::SubframeLoader::clear):
(WebCore::SubframeLoader::requestFrame):
(WebCore::SubframeLoader::requestObject):
(WebCore::FrameLoader::loadMediaPlayerProxyPlugin):
(WebCore::SubframeLoader::createJavaAppletWidget):
(WebCore::SubframeLoader::loadSubframe):
(WebCore::SubframeLoader::allowPlugins):
(WebCore::SubframeLoader::shouldUsePlugin):
(WebCore::SubframeLoader::loadPlugin):
(WebCore::SubframeLoader::completeURL):
* loader/SubframeLoader.h: Added.
(WebCore::SubframeLoader::containsPlugins):
* page/Page.cpp:
* page/XSSAuditor.h:
* platform/graphics/wince/MediaPlayerProxy.cpp:
* plugins/MimeType.cpp:
* rendering/RenderApplet.cpp:
* rendering/RenderEmbeddedObject.cpp:
2010-06-21 Nate Chapin <japhet@chromium.org>
Unreviewed, build fix.
Bad merge, left a reference to m_committedFirstRealDocumentLoad in
http://trac.webkit.org/changeset/61568.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::transitionToCommitted):
2010-06-21 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Remove a couple of FrameLoader's unused boolean members
(m_receivedData, m_cancellingWithLoadInProcess) and merge
several more into a single state machine called FrameLoaderStateMachine
(m_firstLayoutDone, m_creatingInitialEmptyDocument,
m_isDisplayingInitialEmptyDocument, m_committedFirstRealDocumentLoad).
https://bugs.webkit.org/show_bug.cgi?id=39695
Refactor only, so no new tests.
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument):
(WebCore::DocumentWriter::begin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::didOpenURL):
(WebCore::FrameLoader::didExplicitOpen):
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::didBeginDocument):
(WebCore::FrameLoader::finishedParsing):
(WebCore::FrameLoader::provisionalLoadStarted):
(WebCore::FrameLoader::logCanCachePageDecision):
(WebCore::FrameLoader::logCanCacheFrameDecision):
(WebCore::FrameLoader::frameHasLoaded):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::finishedLoadingDocument):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::didFirstLayout):
(WebCore::FrameLoader::frameLoadCompleted):
(WebCore::FrameLoader::dispatchDidCommitLoad):
* loader/FrameLoader.h:
(WebCore::FrameLoader::stateMachine):
* loader/FrameLoaderStateMachine.cpp: Added.
* loader/FrameLoaderStateMachine.h: Added.
* loader/HistoryController.cpp:
(WebCore::HistoryController::restoreScrollPositionAndViewState):
(WebCore::HistoryController::saveDocumentState):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::incrementProgress):
* loader/RedirectScheduler.cpp:
(WebCore::RedirectScheduler::scheduleLocationChange):
(WebCore::RedirectScheduler::scheduleFormSubmission):
2010-06-21 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix. Fix header includes for ENABLE(DATABASE)
* bindings/js/JSExceptionBase.cpp:
2010-06-21 Anders Carlsson <andersca@apple.com>
Fix clang++ build.
* loader/FormSubmission.h:
2010-06-21 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
Add a missing include in AsyncImageResizer.h
* html/AsyncImageResizer.h: Added the IntSize include.
2010-06-21 Adam Roben <aroben@apple.com>
Call NotifyAddrChange again each time we are notified of a change
NotifyAddrChange only notifies you of a single change. If you want to
listen for subsequent changes, you have to call it again.
Fixes <http://webkit.org/b/33004> NetworkStateNotifier ignores all
state changes after the first.
No test possible, as we don't have a way to modify the system's
network adapters when running tests.
Reviewed by Anders Carlsson.
* platform/network/win/NetworkStateNotifierWin.cpp:
(WebCore::NetworkStateNotifier::addrChangeCallback): Call
registerForAddressChange as soon as we're notified of an address
change, so we'll also get notified of the *next* address change. I
added the call here instead of in addressChanged (which is called
later on the main thread) to minimize the time between the callback
and registering again (so that we won't miss changes that happen in
rapid succession).
2010-06-21 Dan Bernstein <mitz@apple.com>
Release build fix
* rendering/RenderBlockLineLayout.cpp:
(WebCore::tryHyphenating):
2010-06-21 Dan Bernstein <mitz@apple.com>
Windows build fix
* WebCore.vcproj/WebCore.vcproj: Fixed a typo.
2010-06-21 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
CSS3: Implement the 'hyphens' and 'hyphenate-character' properties
https://bugs.webkit.org/show_bug.cgi?id=10228
Tests: fast/text/hyphenate-character.html
fast/text/hyphens.html
Added -webkit-hyphens and -webkit-hyphenate-character as specified in
<http://www.w3.org/TR/2010/WD-css3-gcpm-20100608/#hyphenation>.
* Android.mk: Added Hyphenation.cpp.
* CMakeLists.txt: Ditto.
* GNUmakefile.am: Added Hyphenation.{cpp,h}.
* WebCore.base.exp: Exported wkGetHyphenationLocationBeforeIndex().
* WebCore.gypi: Added Hyphenation.{cpp,h}.
* WebCore.pro: Added Hyphenation.{cpp,h}.
* WebCore.vcproj/WebCore.vcproj: Added Hyphenation.{cpp,h}.
* WebCore.xcodeproj/project.pbxproj: Added Hyphenation.{cpp,h}.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added the -webkit-hyphenate-character
and -webkit-hyphens cases.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Validate values for the new properties.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added. Maps from a Hyphens value to an identifier.
(WebCore::CSSPrimitiveValue::operator Hyphens): Added. Maps from an identifier to a Hyphens value.
* css/CSSPropertyNames.in: Added -webkit-hyphenate-character and -webkit-hyphens.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Apply the new properties to the RenderStyle.
* css/CSSValueKeywords.in:
* platform/mac/WebCoreSystemInterface.h: Added wkGetHyphenationLocationBeforeIndex.
* platform/mac/WebCoreSystemInterface.mm: Ditto.
* platform/text/CharacterNames.h: Added the hyphen character.
* platform/text/Hyphenation.cpp: Added.
(WebCore::lastHyphenLocation): Added this default implementation for platforms that do not implement
hyphenation yet. It calls notImplemented() and returns 0.
* platform/text/Hyphenation.h: Added.
* platform/text/cf/HyphenationCF.cpp: Added.
(WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
the given index. Uses the current search locale (which is based on the top language preference of the user)
for hyphenation.
* platform/text/mac/HyphenationMac.mm: Added.
(WebCore::lastHyphenLocation): Returns the last hyphenation location occurring in the given string before
the given index. Returns 0 if the current search locale is not "en", because the platform only knows how to
hyphenate English.
* rendering/BidiRun.h:
(WebCore::BidiRun::BidiRun): Added a boolean member, m_hasHyphen, and initialized it to false in the constructor.
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox): Renamed m_hasEllipsisBox to m_hasEllipsisBoxOrHyphen, because this bit is now
shared by two subclass: RootInlineBox uses it for hasEllipsisBox(), while InlineTextBox uses it for hasHyphen().
* rendering/InlineTextBox.cpp:
(WebCore::adjustCharactersAndLengthForHyphen): Added this helper function to get the hyphen string from the style
and return a UChar* and length for the concatenation of the given text with the hyphen string.
(WebCore::InlineTextBox::selectionRect): If the selected range touches the end and the box has a hyphen,
compute the width of the text with the hyphen string concatenated to it.
(WebCore::InlineTextBox::paint): If the box has a hyphen, draw the text with the hyphen string concatenated to it.
(WebCore::InlineTextBox::paintSelection): Similarly concatenate the hyphen string.
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::hasHyphen): Added this accessor.
(WebCore::InlineTextBox::setHasHyphen): Ditto.
* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::constructLine): Copy the m_hasHyphen flag from the run to its text box.
(WebCore::RenderBlock::computeHorizontalPositionsForLine): Add the width of the hyphen string when computing the
width of a box that has a hyphen.
(WebCore::RenderBlock::layoutInlineChildren): If the line was hyphenated, set the m_hasHyphen flag on the
logically last run.
(WebCore::tryHyphenating): Added this helper function which checks if a piece of text that does not fit on the
line could be hyphenated such that the part before the hyphen, including the hyphen, would fit. Given the amount
of space remaining on the line, it finds the longest prefix that can fit in the remaining space (which leaving room for
the hyphen), and then checks for a hyphenation location within that prefix.
(WebCore::RenderBlock::findNextLineBreak): In the 'hyphens: none' case, prevent line breaks at soft hyphens.
In the 'hyphens: auto' case, try hyphenating when a word will not fit in the remaining space on the line.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::detachEllipsisBox): Changed to use hasEllipsisBox() and setHasEllipsisBox().
(WebCore::RootInlineBox::clearTruncation): Ditto.
(WebCore::RootInlineBox::placeEllipsis): Ditto.
(WebCore::RootInlineBox::paintEllipsisBox): Ditto.
(WebCore::RootInlineBox::nodeAtPoint): Ditto.
(WebCore::RootInlineBox::ellipsisBox): Ditto.
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::hasEllipsisBox): Added this accessor.
(WebCore::RootInlineBox::setHasEllipsisBox): Ditto.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Return a layout hint if the hyphens setting or hyphenate-character differs.
(WebCore::RenderStyle::hyphenString): Added. For hyphenate-character: auto, returns the hyphen character.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::hyphens): Added this accessor.
(WebCore::InheritedFlags::hyphenateCharacter): Ditto.
(WebCore::InheritedFlags::setHyphens): Ditto.
(WebCore::InheritedFlags::setHyphenateCharacter): Ditto.
(WebCore::InheritedFlags::initialHyphens): Added. Returns HyphensManual.
(WebCore::InheritedFlags::initialHyphenateCharacter): Added. Returns the null string, corresponding to
a value of 'auto'.
* rendering/style/RenderStyleConstants.h:
Added a Hyphens enum.
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize and copy the new members.
(WebCore::StyleRareInheritedData::operator==): Compare the new members.
* rendering/style/StyleRareInheritedData.h: Added two new members: hyphens and hyphenateCharacter.
2010-06-03 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Plumb FormSubmission through to ScheduledFormSubmission.
https://bugs.webkit.org/show_bug.cgi?id=40137
No behavior change, covered by existing tests.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareFormSubmission): Moved creation of action URL
instance here from FrameLoader::submit, because it makes more sense here,
also added a FIXME to investigate existing code later.
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::FormSubmission): Changed action to be a KURL, not a String.
(WebCore::FormSubmission::create): Ditto.
(WebCore::FormSubmission::populateFrameLoadRequest): Added, moving the logic from
FrameLoader::submit closer to the data.
* loader/FormSubmission.h:
(WebCore::FormSubmission::action): Changed type to KURL.
(WebCore::FormSubmission::clearTarget): Added.
(WebCore::FormSubmission::referrer): Added.
(WebCore::FormSubmission::setReferrer): Added.
(WebCore::FormSubmission::origin): Added.
(WebCore::FormSubmission::setOrigin): Added.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm): Cleaned up to make it more about decision-making,
not data manipulation.
* loader/RedirectScheduler.cpp:
(WebCore::ScheduledFormSubmission::ScheduledFormSubmission): Changed to accept FormSubmission as argument.
(WebCore::ScheduledFormSubmission::fire): Changed to use FormSubmission.
(WebCore::RedirectScheduler::scheduleFormSubmission): Removed assert that no longer makes sense,
changed to use FormSubmission.
* loader/RedirectScheduler.h: Updated ScheduledFormSubmission decl to hold FormSubmission ref.
2010-06-21 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
https://bugs.webkit.org/show_bug.cgi?id=40878
No new tests are needed, because there is no new functionality.
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* WebCore.pri:
2010-06-21 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
Delete DOM storage databases when they are empty.
https://bugs.webkit.org/show_bug.cgi?id=40767
Even if a page clears its local storage, the database file for it stays around,
and there is currently no mechanism that deletes them.
After doing the "final sync" of a storage area, the StorageAreaSyncMaster should
see if the database is empty, and in that case delete it.
Tests:
manual-tests/localstorage-empty-database.html
* manual-tests/localstorage-empty-database.html:
Added link to clear local storage for testing that the file is removed.
* storage/LocalStorageTask.cpp:
(WebCore::LocalStorageTask::LocalStorageTask):
Added local storage task type DeleteEmptyDatabase.
(WebCore::LocalStorageTask::performTask):
Ditto.
* storage/LocalStorageTask.h:
(WebCore::LocalStorageTask::):
Ditto.
(WebCore::LocalStorageTask::createDeleteEmptyDatabase):
Ditto.
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::scheduleFinalSync):
When scheduling final sync, also schedule DeleteEmptyDatabase.
(WebCore::StorageAreaSync::sync):
Return early if final sync has nothing to sync.
(WebCore::StorageAreaSync::deleteEmptyDatabase):
Added function to check if a database is empty and in that case delete it.
* storage/StorageAreaSync.h:
Ditto.
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
Added function for scheduling DeleteEmptyDatabase task.
* storage/StorageSyncManager.h:
Ditto.
2010-06-21 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Simon Hausmann.
[Qt] Avoid unnecessary image conversion in RGBA32Buffer::zeroFill()
https://bugs.webkit.org/show_bug.cgi?id=40910
* platform/image-decoders/qt/RGBA32BufferQt.cpp:
(WebCore::RGBA32Buffer::zeroFill):
2010-06-21 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Decode images directly to QPixmap
https://bugs.webkit.org/show_bug.cgi?id=40797
Decode images to QPixmap directly instead of QImage when possible.
RGBA32Buffer transforms the pixmap back to image if
necessary.
This improve the performance with certain graphic system, and
can reduce memory usage.
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::internalHandleCurrentImage):
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::getAddr):
* platform/image-decoders/qt/RGBA32BufferQt.cpp:
(WebCore::RGBA32Buffer::clear):
(WebCore::RGBA32Buffer::zeroFill):
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::setSize):
(WebCore::RGBA32Buffer::asNewNativeImage):
(WebCore::RGBA32Buffer::setPixmap):
2010-06-20 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Adding the SQLException class which will be used to report sync DB errors.
https://bugs.webkit.org/show_bug.cgi?id=40607
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/js/JSExceptionBase.cpp:
(WebCore::toExceptionBase):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* bindings/v8/V8Proxy.h:
* dom/ExceptionCode.cpp:
(WebCore::):
(WebCore::getExceptionCodeDescription):
* dom/ExceptionCode.h:
(WebCore::):
* page/DOMWindow.idl:
* storage/SQLException.h: Added.
(WebCore::SQLException::create):
(WebCore::SQLException::):
(WebCore::SQLException::SQLException):
* storage/SQLException.idl: Added.
2010-06-20 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: don't add ScriptDebugServer as v8 listener if browser exposes
v8 debugging protocol.
https://bugs.webkit.org/show_bug.cgi?id=40844
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::addListener):
(WebCore::ScriptDebugServer::setEnabled):
(WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
* bindings/v8/ScriptDebugServer.h:
2010-06-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed build fix.
[EFL] Build break for r61527
https://bugs.webkit.org/post_bug.cgi
* CMakeLists.txt: Add loader/FormSubmission.cpp
2010-06-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Remove bogus const qualifiers.
* platform/mac/PasteboardHelper.h:
2010-06-20 Patrick Gansterer <paroga@paroga.com>
Reviewed by Kent Tamura.
Buildfix for NotificationCenter.h.
https://bugs.webkit.org/show_bug.cgi?id=40890
ScriptExecutionContext::completeURL is used in header,
but ScriptExecutionContext.h wasn't included.
* notifications/NotificationCenter.h:
2010-06-20 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Recognize async attribute on HTML script tags.
https://bugs.webkit.org/show_bug.cgi?id=39026
This does not implement async behavior, it only parses the async
attribute for HTML script tags. SVG script tags continue to not
support the async attribute.
Tests: fast/dom/HTMLScriptElement/script-async-attr.html
svg/dom/SVGScriptElement/script-async-attr.svg
* dom/ScriptElement.cpp:
(WebCore::ScriptElementData::isAsynchronous):
(WebCore::ScriptElementData::isDeferred):
* dom/ScriptElement.h:
* html/HTMLAttributeNames.in:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::async):
(WebCore::HTMLScriptElement::setAsync):
(WebCore::HTMLScriptElement::defer):
(WebCore::HTMLScriptElement::asyncAttributeValue):
(WebCore::HTMLScriptElement::deferAttributeValue):
* html/HTMLScriptElement.h:
* html/HTMLScriptElement.idl:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::asyncAttributeValue):
(WebCore::SVGScriptElement::deferAttributeValue):
* svg/SVGScriptElement.h:
2010-06-20 Nikita Vasilyev <me@elv1s.ru>
Reviewed by Joseph Pecoraro.
Web Inspector: Auto-completion for CSS property names in Styles pane
https://bugs.webkit.org/show_bug.cgi?id=17374
Added autocompletion for CSS properties. A suggestion for a property
shows when you type. You can also cycle through known property names
using the Up and Down arrow keys.
* WebCore.gypi:
* inspector/front-end/CSSCompletions.js: Added.
(WebInspector.CSSCompletions):
(WebInspector.CSSCompletions.startsWith):
(WebInspector.CSSCompletions.firstStartsWith):
(WebInspector.CSSCompletions._firstIndexOfPrefix):
(WebInspector.CSSCompletions.next):
(WebInspector.CSSCompletions.previous):
(WebInspector.CSSCompletions._closest):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/utilities.js:
(Text.prototype.select):
():
2010-06-14 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Introduce FormSubmission, the structure representing a form submission.
https://bugs.webkit.org/show_bug.cgi?id=40084
No change in functionality, covered by existing tests.
* GNUmakefile.am: Added FormSubmission.h/cpp.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareFormSubmission): Renamed prepareFormData to prepareFormSubmission,
added code for populating a FormSubmission instance, moved the loop of accumulating text input
values into this functions (it belongs here logically).
(WebCore::HTMLFormElement::submit): Modified to use prepareFormSubmission.
* html/HTMLFormElement.h:
* loader/FormSubmission.cpp: Added.
* loader/FormSubmission.h: Added.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm): Modified to use FormSubmission. Stopped plumbing further to keep
the patch size down.
* loader/FrameLoader.h: Modified submitForm signature.
2010-06-20 Joseph Pecoraro <joepeck@webkit.org>
Unreviewed rollout r61506, because it made 1 test crash.
Causes crash. Will approach the solution in a different way.
2010-06-20 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Timothy Hatcher.
Web Inspector: Should Autocomplete Style Properties
https://bugs.webkit.org/show_bug.cgi?id=38448
This Autocompletes style properties when in the console.
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-06-20 Robert Hogan <robert@webkit.org>
Reviewed by Simon Hausmann.
[Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
https://bugs.webkit.org/show_bug.cgi?id=36702
setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
work for DRT. So call it if we are in DRT mode and the window geometry
has changed.
Unskips plugins/reentrant-update-widget-positions.html
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::updatePluginWidget):
2010-06-19 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Persist V8's ScriptData to the memory cache.
https://bugs.webkit.org/show_bug.cgi?id=38661
This stores V8's ScriptData in the memory cache and also causes the
network platform layer to be notified of the available cacheable
metadata.
Chromium's morejs benchmark showed a ~7% improvement when this was
originally submitted (before it had to be rolled back).
Test: fast/js/parser-high-byte-character.html
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::cachedScript):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::precompileScript):
(WebCore::V8Proxy::evaluate):
* bindings/v8/V8Proxy.h:
2010-06-19 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Port SocketStream
https://bugs.webkit.org/show_bug.cgi?id=39671
Port SocketStream with BREW MP's ISocket interface.
* platform/network/brew/SocketStreamError.h: Added.
(WebCore::SocketStreamError::SocketStreamError):
* platform/network/brew/SocketStreamHandle.h: Added.
(WebCore::SocketStreamHandle::create):
* platform/network/brew/SocketStreamHandleBrew.cpp: Added.
(WebCore::socketStreamConnectCallback):
(WebCore::getHostByNameCallback):
(WebCore::socketReadableCallback):
(WebCore::networkManager):
(WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
(WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate):
(WebCore::SocketStreamHandlePrivate::socketConnected):
(WebCore::SocketStreamHandlePrivate::socketReadyRead):
(WebCore::SocketStreamHandlePrivate::connect):
(WebCore::SocketStreamHandlePrivate::send):
(WebCore::SocketStreamHandlePrivate::close):
(WebCore::SocketStreamHandlePrivate::socketClosed):
(WebCore::SocketStreamHandlePrivate::socketError):
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::~SocketStreamHandle):
(WebCore::SocketStreamHandle::platformSend):
(WebCore::SocketStreamHandle::platformClose):
(WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge):
(WebCore::SocketStreamHandle::receivedCredential):
(WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
(WebCore::SocketStreamHandle::receivedCancellation):
* platform/network/brew/SocketStreamHandlePrivate.h: Added.
2010-06-19 Nikita Vasilyev <me@elv1s.ru>
Reviewed by Pavel Feldman.
Web Inspector: Prevent from copying "filename.css" in Styles pane
https://bugs.webkit.org/show_bug.cgi?id=40420
* inspector/front-end/Section.js:
(WebInspector.Section.prototype.set subtitle):
(WebInspector.Section.prototype.get subtitleAsText):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection):
* inspector/front-end/inspector.css:
(.styles-section .subtitle::before, .styles-section .subtitle a::before):
2010-06-19 Alex Milowski <alex@milowski.com>
Reviewed by Darin Adler.
A fix for a change in https://bugs.webkit.org/show_bug.cgi?id=39941
that caused a compile error in MathML.
https://bugs.webkit.org/show_bug.cgi?id=40827
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::MathMLElement):
2010-06-19 Kartikaya Gupta <kagupta@rim.com>
Reviewed by Nikolas Zimmermann.
CPP bindings missing some APIs
https://bugs.webkit.org/show_bug.cgi?id=40570
Add missing C++ DOM API bindings. Specifically:
- NodeFilter callback support
- Missing custom method implementations in HTMLCollection and HTMLOptionsCollection
- Missing EventTarget static type-determination methods
- Fix CPP binding generator to not generate d-ptrs for classes that extend EventTarget and just use the parent's d-ptr instead
- Switch binding generator to use DOMWindow instead of AbstractView so that necessary W3C-defined methods (e.g. getComputedStyle) are accessible.
* bindings/cpp/WebDOMDOMWindowCustom.cpp: Added.
(WebDOMDOMWindow::addEventListener):
(WebDOMDOMWindow::removeEventListener):
* bindings/cpp/WebDOMEventTarget.cpp:
(toWebKit):
* bindings/cpp/WebDOMEventTarget.h:
* bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Added.
(WebDOMHTMLCollection::item):
(WebDOMHTMLCollection::namedItem):
* bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Added.
(WebDOMHTMLOptionsCollection::length):
(WebDOMHTMLOptionsCollection::setLength):
* bindings/cpp/WebDOMNodeFilterCustom.cpp: Added.
(WebDOMNodeFilter::acceptNode):
(toWebKit):
* bindings/cpp/WebNativeNodeFilterCondition.cpp: Added.
(WebNativeNodeFilterCondition::WebNativeNodeFilterCondition):
(WebNativeNodeFilterCondition::~WebNativeNodeFilterCondition):
(WebNativeNodeFilterCondition::acceptNode):
* bindings/cpp/WebNativeNodeFilterCondition.h: Added.
(WebNativeNodeFilterCondition::create):
* bindings/scripts/CodeGeneratorCPP.pm:
* dom/NodeFilter.idl:
* page/DOMWindow.idl:
2010-06-19 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] Adding a conditional gyp dependency for the WebCore target to
the gles2_c_lib which is required by the gpu compositor. The dependency will
only kick in if the accelerated_compositing path is enabled.
https://bugs.webkit.org/show_bug.cgi?id=40801
* WebCore.gyp/WebCore.gyp:
2010-06-19 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Platform plugin's multi-select does not take OptGroup into account
https://bugs.webkit.org/show_bug.cgi?id=40718
In multi-select elements, optgroup elements are counted in the index calculation,
but in single-select they are not. Keep the same logic even when NO_LISTBOX_RENDERING
is enabled.
Added tests to the existing manual test, as testing this requires a special build, in which
NO_LISTBOX_RENDERING is enabled.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxSelectItem):
* manual-tests/no-listbox-rendering.html:
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::listBoxSelectItem):
2010-06-19 Thomas Van Lenten <thomasvl@chromium.org>
Reviewed by David Levin.
Warnings from -Wextra in a Chromium Mac build
1. checks of unsigned >= 0
2. enumeral and non-enumeral type in conditional expression
3. copy ctors that don't call the super copy ctor or ctor
No functionality change so no new tests.
https://bugs.webkit.org/show_bug.cgi?id=40791
* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::ChromiumDataObject):
* platform/chromium/ThemeChromiumMac.mm:
(WebCore::updateStates):
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::updateActiveState):
2010-06-19 Ben Murdoch <benm@google.com>
Reviewed by Pavel Feldman.
Fix build break with inspector disabled.
https://bugs.webkit.org/show_bug.cgi?id=40790
Replace a #include with a forward declaration.
Fixing a build break so no new tests required.
* inspector/InspectorController.h: Forward declare InspectorValue
rather than #including its header which has its content guarded
out.
2010-06-19 Zhe Su <suzhe@chromium.org>
Reviewed by Darin Fisher.
[chromium]Refactor input method related APIs.
https://bugs.webkit.org/show_bug.cgi?id=40608
No new tests are needed, because there is no new functionality.
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedNode):
2010-06-19 George Wright <gwright@rim.com>
Reviewed by George Staikos.
https://bugs.webkit.org/show_bug.cgi?id=40720
Make setWapInputFormat() public again as CSSStyleSelector.cpp calls this when WCSS is enabled.
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::data):
2010-06-02 Robert Hogan <robert@webkit.org>
Reviewed by Adam Barth.
[Qt] Support evaluateScriptInIsolatedWorld()
https://bugs.webkit.org/show_bug.cgi?id=40079
getOwnPropertyNames() crashes if PropertyNameArray is size 0. This change allows
http/tests/world-reuse.html and didClearWindowObject.html to fail instead of crash.
* WebCore.pro: Add qwebscriptworld.*
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
2010-06-19 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Some very minor cleanups for HTML5 Parser
https://bugs.webkit.org/show_bug.cgi?id=40638
No new tests because no new functionality.
* html/HTML5DocumentParser.cpp:
(WebCore::): Make ctor explicit.
* html/HTML5DocumentParser.h:
(WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord): Make ctor explicit.
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::isEndTagBufferingState): Use switch to generate an efficient table with single branch.
* html/HTML5Token.h:
(WebCore::HTML5Token::forceQuirks): Add const.
* html/HTML5TreeBuilder.h:
(WebCore::HTML5TreeBuilder::isPaused): Add const.
2010-06-18 Aaron Boodman <aa@chromium.org>
Remove WebKit::WebDocument::isXHTMLDocument.
https://bugs.webkit.org/show_bug.cgi?id=40815
* dom/Document.h: remove isXHTML() getter.
2010-06-19 Aaron Boodman <aa@chromium.org>
Unreviewed, rolling out r61466.
http://trac.webkit.org/changeset/61466
https://bugs.webkit.org/show_bug.cgi?id=40816
Landed wrong change
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initContextIfNeeded):
* bindings/v8/V8DOMWindowShell.h:
2010-06-18 Aaron Boodman <aa@chromium.org>
WebKit API: Undo static hooks into V8 when WebKit is shut down.
https://bugs.webkit.org/show_bug.cgi?id=40816
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initContextIfNeeded):
(WebCore::V8DOMWindowShell::initializeV8IfNeeded):
(WebCore::V8DOMWindowShell::uninitializeV8IfNeeded):
* bindings/v8/V8DOMWindowShell.h:
2010-06-18 Jessie Berlin <jberlin@webkit.org>
Reviewed by Darin Adler.
Bug 19509 - Database Tables in the Inspector should be sortable
https://bugs.webkit.org/show_bug.cgi?id=19509
* inspector/front-end/StoragePanel.js:
(WebInspector.StoragePanel.prototype.dataGridForResult):
Make each column in the DataGrid sortable.
(WebInspector.StoragePanel.prototype._sortDataGrid.comparator):
Make sure to sort numeric columns by their numeric values, instead of lexicographically.
(WebInspector.StoragePanel.prototype._sortDataGrid):
Sort the entries in the DataGrid based on the selected column.
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
More clang++ warning fixes.
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
* platform/graphics/mac/FontPlatformData.h:
* platform/graphics/mac/WebLayer.mm:
(-[CALayer _descriptionWithPrefix:]):
2010-06-18 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
* WebCore.gyp/WebCore.gyp: Modified inclusion rule in to actually add WebSystemInterface.mm.
2010-06-18 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
* WebCore.gyp/WebCore.gyp: Renamed WebSystemInterface.m to WebSystemInterface.mm.
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Make WebCoreSystemInterface.h a C++ only header
https://bugs.webkit.org/show_bug.cgi?id=40867
* platform/mac/WebCoreSystemInterface.h:
2010-06-18 Abhishek Arya <inferno@chromium.org>
Reviewed by Adam Barth.
Convert column span from an unsigned short type to an unsigned int
type. Fixes a divide-by-zero crash arising from using a zero colspan
value coming from a narrow cast of an int to an unsigned short.
https://bugs.webkit.org/show_bug.cgi?id=40812
Test: fast/table/zero-colspan-crash.html
* rendering/RenderTable.h: Change span from unsigned short to unsigned int.
* rendering/RenderTableSection.cpp: Fix a compiler warning with comparing
unsigned int with signed int. Value of an unsigned int here cannot be
greater than maximum positive value of a signed int.
(WebCore::RenderTableSection::addCell):
2010-06-18 Ananth Jasty <ext-ananth.jasty@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Text spacing miscalculation when using wordSpacing.
https://bugs.webkit.org/show_bug.cgi?id=40483
Removed wordSpacing compensation in FontQt whitespace width
calculation. The QFontMetrics::width() overload that takes
a character does not take QFont's word spacing into account.
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::floatWidthForComplexText):
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Get rid of PluginDataMac.mm and use the plug-in strategy instead
https://bugs.webkit.org/show_bug.cgi?id=40860
* WebCore.xcodeproj/project.pbxproj:
* page/mac/WebCoreViewFactory.h:
* plugins/PluginData.cpp:
(WebCore::PluginData::refresh):
(WebCore::PluginData::initPlugins):
* plugins/PluginStrategy.h:
* plugins/mac/PluginDataMac.mm: Removed.
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Fix some (not all) clang++ warnings.
* dom/Position.h:
(WebCore::lastOffsetInNode):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::deleteInsignificantText):
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::resourceForRequest):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::offsetForPosition):
(WebCore::ComplexTextController::collectComplexTextRuns):
* platform/network/CredentialStorage.cpp:
(WebCore::protectionSpaceMapKeyFromURL):
* rendering/style/StyleRareNonInheritedData.h:
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add stubbed out WebPlatformStrategies class to WebKit.
https://bugs.webkit.org/show_bug.cgi?id=40851
* WebCore.base.exp:
* platform/PlatformStrategies.cpp:
* platform/PlatformStrategies.h:
(WebCore::PlatformStrategies::~PlatformStrategies):
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Fix build errors when building with clang++.
* loader/archive/cf/LegacyWebArchiveMac.mm:
Move the const qualifier to the right place.
* page/EditorClient.h:
* platform/Pasteboard.h:
Use @class when forward declaring Objective-C classes in Objective-C.
2010-06-18 Alexey Proskuryakov <ap@apple.com>
Reviewed by Geoff Garen.
https://bugs.webkit.org/show_bug.cgi?id=40852
<rdar://problem/8105498> Limit simultaneous DNS prefetch request number (40852)
No change in functionality, so no tests.
We still queue up to 64 names, but only make up to 8 requests at once. If there are names
remaining in queue, we retry after a short timeout (which is easier than posting
notifications from client callback).
* platform/network/cf/DNSCFNet.cpp:
(WebCore::DNSResolveQueue::add):
(WebCore::DNSResolveQueue::fired):
2010-06-18 Zhenyao Mo <zmo@google.com>
Reviewed by Simon Fraser.
WebGL demos show bad flicker
https://bugs.webkit.org/show_bug.cgi?id=38560
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::prepareTexture): Move ensureContext() out of if-block so it's always executed.
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Add PlatformStrategies and PluginStrategy classes.
https://bugs.webkit.org/show_bug.cgi?id=40850
* WebCore.xcodeproj/project.pbxproj:
* platform/PlatformStrategies.cpp: Added.
(WebCore::PlatformStrategies::~PlatformStrategies):
(WebCore::platformStrategies):
(WebCore::setPlatformStrategies):
* platform/PlatformStrategies.h: Added.
(WebCore::PlatformStrategies::pluginStrategy):
(WebCore::PlatformStrategies::PlatformStrategies):
* plugins/PluginData.cpp:
* plugins/PluginStrategy.h: Added.
(WebCore::PluginStrategy::~PluginStrategy):
2010-06-18 Martin Robinson <mrobinson@igalia.com>
Unreviewed.
Fix the GTK+ build after r61413 and 61379.
* bindings/scripts/CodeGeneratorGObject.pm:
Produce a g_value_set that uses getterExpressionPrefix instead of the raw getter.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_get_property): Update expected test results.
2010-06-18 Leandro Pereira <leandro@profusion.mobi>
[EFL] Unreviewed build fix.
* CMakeLists.txt: Add inspector/ScriptBreakpoint.cpp.
2010-06-18 Andy Estes <aestes@apple.com>
Rubber-stamped by Sam Weinig.
Update copyright header.
* html/HTMLLinkElement.h:
2010-06-17 Andy Estes <aestes@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/8091385> Prevent a crash in WebCore when removing a stylesheet link element in
in a listener to its beforeload event.
https://bugs.webkit.org/show_bug.cgi?id=40742
Postpone loading of link elements until after they have been inserted into the DOM and
attached. This prevents DOM mutations triggered by beforeload handlers from firing in the
midst of DOM insertion, which can lead to assertion failures and crashes.
Test: fast/dom/beforeload/remove-link-in-beforeload-listener.html
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement): Initialize m_shouldProcessAfterAttach to false.
(WebCore::HTMLLinkElement::processCallback): Add a static callback function which calls
HTMLLinkElement::process().
(WebCore::HTMLLinkElement::insertedIntoDocument): Instead of calling process() directly, set
m_shouldProcessAfterAttach to true to indicate that process() should be called after attach().
(WebCore::HTMLLinkElement::removedFromDocument): Set m_shouldProcessAfterAttach to false.
(WebCore::HTMLLinkElement::attach): If m_shouldProcessAfterAttach is true, register
HTMLLinkElement::processCallback() as a post-attach callback.
* html/HTMLLinkElement.h: Add m_shouldProcessAfterAttach.
(WebCore::HTMLLinkElement::canLazyAttach): Override canLazyAttach() to return false to
indicate that a full attach should be performed. This ensures the post-attach callbacks are
fired.
2010-06-18 Chris Fleizach <cfleizach@apple.com>
Unreviewed. Windows build fix.
AX: presentational role needs to be inherited by required elements
https://bugs.webkit.org/show_bug.cgi?id=40132
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
2010-06-18 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: presentational role needs to be inherited by required elements
https://bugs.webkit.org/show_bug.cgi?id=40132
Test: platform/mac/accessibility/inherited-presentational-lists.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
* accessibility/AccessibilityRenderObject.h:
(WebCore::AccessibilityRenderObject::node):
2010-06-18 Darin Adler <darin@apple.com>
Fix GTK build after reflection change.
* bindings/scripts/CodeGeneratorGObject.pm: Changed code
that emits setters to convey the correct type of the attribute.
The GObject code generator takes a different approach to attributes
than the others, so it's hacked a bit to make it more like them.
We should find a way to share more code between the different generators.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
Updated to expect correct results.
2010-06-18 Yury Semikhatsky <yurys@chromium.org>
Unreviewed: Qt build fix.
* inspector/InspectorController.cpp:
2010-06-18 Justin Garcia <justin.garcia@apple.com>
Reviewed by Ojan Vafai.
https://bugs.webkit.org/show_bug.cgi?id=39798
No selection change notification for editing operation that doesn't change the selection's DOM position
Some editing operations change the selection visually without affecting its position within
the DOM. This was previously known to occur for certain typing commands, but it can also
occur for some Pastes and changes to block style.
* editing/Editor.cpp:
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):
(WebCore::Editor::changeSelectionAfterCommand):
* editing/Editor.h:
2010-06-18 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed build fix.
[EFL] Build break on Debug build.
https://bugs.webkit.org/show_bug.cgi?id=40810
* CMakeLists.txt: Add CSSPreloadScanner.cpp
2010-06-18 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: persist breakpoints in inspector settings.
https://bugs.webkit.org/show_bug.cgi?id=14190
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::setSessionSettings):
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::setBreakpoint):
(WebCore::InspectorController::removeBreakpoint):
(WebCore::InspectorController::didParseSource):
(WebCore::InspectorController::breakpointsSettingKey):
(WebCore::InspectorController::loadBreakpoints):
(WebCore::InspectorController::saveBreakpoints):
* inspector/InspectorController.h:
* inspector/InspectorValues.cpp:
(WebCore::InspectorValue::parseJSON):
* inspector/InspectorValues.h:
* inspector/ScriptBreakpoint.cpp: Added.
(WebCore::ScriptBreakpoint::sourceBreakpointsFromInspectorObject):
(WebCore::ScriptBreakpoint::inspectorObjectFromSourceBreakpoints):
* inspector/ScriptBreakpoint.h:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.addBreakpoint):
(WebInspector.BreakpointManager.prototype.restoredBreakpoint):
(WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
(WebInspector.BreakpointManager.prototype.breakpointsForURL):
(WebInspector.BreakpointManager.prototype._addBreakpoint):
* inspector/front-end/inspector.js:
(WebInspector.restoredBreakpoint):
2010-06-18 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Implement additional DOM attribute reflection for bindings
https://bugs.webkit.org/show_bug.cgi?id=39936
- Added support for [Reflect] for long, unsigned long, and boolean
attributes.
- Fixed code that set attributes like this: <video controls="controls">
to instead set them like this: <video controls>.
- Added lots more uses of [Reflect].
- Removed now-unneeded [ConvertFromString].
- Made [Reflect] imply [ConvertNullToNullString] so we can get rid
of most uses of the latter.
- Made [Reflect] automatically lowercase the name of the reflected
content attribute to minimize the need to specify a custom content
attribute name.
One thing this patch does *not* do is remove the unneeded functions
in the various DOM classes that are no longer used by the bindings.
We should do that in a followup.
* bindings/scripts/CodeGenerator.pm: Added new functions so code
can be shared across bindings, GetterExpressionPrefix and
SetterExpressionPrefix. We can do a lot more refactoring like
this in the future.
* bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
ConvertFromString handling, changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
to better handle reflected DOM attributes.
* bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
ConvertFromString handling, changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
to better handle reflected DOM attributes. Fixed a few things
in the output so the .cpp file will have more WebKit style.
The .h file should be GTK style, but the .cpp file can be the
standard WebKit style eventually.
* bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
and removed a now-unneeded IsSVGAnimatedType special case since
the new functions take care of it. Made reflected attributes
automatically convert null to the null string without a
separate ConvertNullToNullString attribute.
* bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
and removed a now-unneeded IsSVGAnimatedType special case since
the new functions take care of it. Redid the special cases for
ownerDocument and for operator to fit better with the new code
paths. Removed unneeded ConvertFromString handling.
* bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
and removed a now-unneeded IsSVGAnimatedType special case since
the new functions take care of it. Made reflected attributes
automatically convert null to the null string without a
separate ConvertNullToNullString attribute.
* bindings/scripts/test/TestObj.idl: Added some test cases for
content attribute reflection and for exceptions in string-typed
attributes.
* bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
* bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
* dom/Element.cpp:
(WebCore::Element::getIntegralAttribute): Added.
(WebCore::Element::setIntegralAttribute): Added.
(WebCore::Element::getUnsignedIntegralAttribute): Added.
(WebCore::Element::setUnsignedIntegralAttribute): Added.
* dom/Element.h: Added new attribute get/set functions for bindings.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isURLAttribute): Added. Returns true for
srcAttr.
* html/HTMLMediaElement.h: Added isURLAttribute.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::isURLAttribute): Changed to call
HTMLMediaElement::isURLAttribute before checking for posterAttr.
* html/HTMLAnchorElement.idl:
* html/HTMLAppletElement.idl:
* html/HTMLAreaElement.idl:
* html/HTMLBRElement.idl:
* html/HTMLBaseElement.idl:
* html/HTMLBaseFontElement.idl:
* html/HTMLBlockquoteElement.idl:
* html/HTMLBodyElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLDListElement.idl:
* html/HTMLDirectoryElement.idl:
* html/HTMLDivElement.idl:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFontElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLFrameSetElement.idl:
* html/HTMLHRElement.idl:
* html/HTMLHeadElement.idl:
* html/HTMLHeadingElement.idl:
* html/HTMLHtmlElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLIsIndexElement.idl:
* html/HTMLLIElement.idl:
* html/HTMLLabelElement.idl:
* html/HTMLLegendElement.idl:
* html/HTMLLinkElement.idl:
* html/HTMLMapElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLMenuElement.idl:
* html/HTMLMetaElement.idl:
* html/HTMLModElement.idl:
* html/HTMLOListElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptGroupElement.idl:
* html/HTMLOptionElement.idl:
* html/HTMLParagraphElement.idl:
* html/HTMLParamElement.idl:
* html/HTMLPreElement.idl:
* html/HTMLQuoteElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLStyleElement.idl:
* html/HTMLTableCaptionElement.idl:
* html/HTMLTableCellElement.idl:
* html/HTMLTableColElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLUListElement.idl:
* html/HTMLVideoElement.idl:
* svg/SVGElement.idl:
Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
are now unneeded since [Reflect] now implies that. Changed formatting to be
simpler and consistent without all the lining up and multiple lines.
2010-06-17 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Remove some unnecessary checks that cause compiler warnings.
https://bugs.webkit.org/show_bug.cgi?id=40772
* bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
(WebCore::V8SQLResultSetRowList::itemCallback):
* bindings/v8/npruntime.cpp:
2010-06-18 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Yury Semikhatsky.
Implement 'takeHeapSnapshot' in InspectorController.
https://bugs.webkit.org/show_bug.cgi?id=40834
* bindings/js/ScriptProfiler.h:
(WebCore::ScriptProfiler::takeHeapSnapshot):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::takeHeapSnapshot):
* bindings/v8/ScriptProfiler.h:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::takeHeapSnapshot):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::takeHeapSnapshot):
* inspector/InspectorController.h:
2010-06-18 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
REGRESSION (r61379?): Assertion failure in Element::getURLAttribute() when accessing the src attribute of a script element
https://bugs.webkit.org/show_bug.cgi?id=40831
Test: fast/dom/HTMLScriptElement/isURLAttribute.html
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::isURLAttribute): Check for the 'src' attribute.
2010-06-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61405.
http://trac.webkit.org/changeset/61405
https://bugs.webkit.org/show_bug.cgi?id=40838
broke chromium mac compile (Requested by tonyg-cr1 on
#webkit).
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::evaluate):
* bindings/v8/V8Proxy.h:
2010-06-18 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Fix WebGLRenderingContext helper functions find{Texture/Renderbuffer/Buffer}
https://bugs.webkit.org/show_bug.cgi?id=40176
* html/canvas/WebGLBuffer.cpp: Remove constructor with existing name.
* html/canvas/WebGLBuffer.h: Ditto.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getVertexAttrib): Use findBuffer instead of creating a new WebGLBuffer.
(WebCore::WebGLRenderingContext::findTexture): Deal with name == 0 case and return raw pointer.
(WebCore::WebGLRenderingContext::findRenderbuffer): Ditto.
(WebCore::WebGLRenderingContext::findBuffer): Find WebGLBuffer object using given name.
* html/canvas/WebGLRenderingContext.h: Add findBuffer function declaration, change return type to raw pointer.
2010-06-18 Tony Gentilcore <tonyg@chromium.org>
Reviewed by David Levin.
Persist V8's ScriptData to the memory cache.
https://bugs.webkit.org/show_bug.cgi?id=38661
This stores V8's ScriptData in the memory cache and also causes the
network platform layer to be notified of the available cacheable
metadata.
Chromium's morejs benchmark showed a ~7% improvement when this was
originally submitted (before it had to be rolled back).
Test: fast/js/parser-high-byte-character.html
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::cachedScript):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::precompileScript):
(WebCore::V8Proxy::evaluate):
* bindings/v8/V8Proxy.h:
2010-06-18 Anton Muhin <antonm@chromium.org>
Reviewed by Dimitri Glazkov.
[v8] Finish migration to new named property query API
https://bugs.webkit.org/show_bug.cgi?id=40771
Remove definition which allowed gradual transition to new API.
See https://bugs.webkit.org/show_bug.cgi?id=40303 for first phase.
* config.h:
2010-06-17 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: bring XHR console records back.
- adds "Enable XHR Monitor" / "Disable XHR Monitor" actions to the console's context menu
- make the chosen option persist in the settings.
https://bugs.webkit.org/show_bug.cgi?id=40799
* English.lproj/localizedStrings.js:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::disableSearchingForNode):
(WebCore::InspectorBackend::enableMonitoringXHR):
(WebCore::InspectorBackend::disableMonitoringXHR):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::setMonitoringXHR):
(WebCore::InspectorController::didLoadResourceFromMemoryCache):
(WebCore::InspectorController::identifierForInitialRequest):
(WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
(WebCore::InspectorController::ensureSettingsLoaded):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::monitoringXHRWasEnabled):
(WebCore::InspectorFrontend::monitoringXHRWasDisabled):
* inspector/InspectorFrontend.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._handleContextMenuEvent):
(WebInspector.ConsoleView.prototype._registerShortcuts):
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor.):
* inspector/front-end/InspectorBackendStub.js:
(.WebInspector.InspectorBackendStub):
(.WebInspector.InspectorBackendStub.prototype.enableMonitoringXHR):
(.WebInspector.InspectorBackendStub.prototype.disableMonitoringXHR):
* inspector/front-end/inspector.js:
(WebInspector.monitoringXHRWasEnabled):
(WebInspector.monitoringXHRWasDisabled):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):
2010-06-18 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Modernize SVG Text code, following the HTML design
https://bugs.webkit.org/show_bug.cgi?id=40663
SVG Text does not support subpixel positioning
https://bugs.webkit.org/show_bug.cgi?id=12172
RenderSVGText can't do partial repaints
https://bugs.webkit.org/show_bug.cgi?id=15386
HTML and SVG need to share more text painting code
https://bugs.webkit.org/show_bug.cgi?id=15644
Rewrite SVG Text rendering, only keeping the layout of the actual characters/chunks as it was.
We're now drawing SVG Text very similar to HTML Text, utilizing the SVGInlineFlowBox/SVGInlineTextBox structure,
instead of painting all text content of a <text> element from the SVGRootInlineBox, as it was the last years.
Rough overview of the changes:
- Partial repainting support for text selections (startPos/endPos are respected), no more redrawing of the whole <text> content while selecting
- Subpixel positioning (near pixel-perfect rendering for all W3C tests that contain text, finally!)
-> much better textPath results, characters now align as expected, as all rounding hacks are disabled for SVG text runs, and subpixel precision is used while painting
- No more custom handling of selection, the standard methods offsetFromPosition() / selectionRectForText() are used instead.
- Selection works as expected on stretched/squeezed text (lengthAdjust="spacingAndGlyphs"), takes 'includePartialGlyphs' into account - just like HTML text
- Correct text decoration drawing (proper with and positions and rendering-order, underline/overline before text, strike-through afterwards)
- Proper sizing of all InlineBoxes, starting from the SVGRootInlineBox, down to every single flow & text box
-> correct DRT results, no more weird negative offsets of text runs, etc. Looks exactly like the HTML text test results.
- Rewritten SVGTextContentElement API to take per-character / per-chunk transformations into account.
- Speeeeeed! Drawing is much faster now.
Add 24 new testcases covering basic selection features and the SVGTextContentElement API. Each test draws a half-opaque red rectangle, calculated using
SVGTextContentElement API to highlight the area that is supposed to be selected. Then eventSender API is utilized to move the mouse to the calculated
start origin, holding it down and moving it to the end position.
A detailed list of tests that show progression, can be found in the corresponding LayoutTests/ChangeLog.
Note that this requires a rebaselining of all SVG tests containing text elements.
Tests: svg/hixie/text/001.xml (moved from svg/hixie/text/001-broken.xml)
svg/text/lengthAdjust-text-metrics.html
svg/text/select-textLength-spacing-squeeze-1.svg
svg/text/select-textLength-spacing-squeeze-2.svg
svg/text/select-textLength-spacing-squeeze-3.svg
svg/text/select-textLength-spacing-squeeze-4.svg
svg/text/select-textLength-spacing-stretch-1.svg
svg/text/select-textLength-spacing-stretch-2.svg
svg/text/select-textLength-spacing-stretch-3.svg
svg/text/select-textLength-spacing-stretch-4.svg
svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg
svg/text/select-textLength-spacingAndGlyphs-squeeze-2.svg
svg/text/select-textLength-spacingAndGlyphs-squeeze-3.svg
svg/text/select-textLength-spacingAndGlyphs-squeeze-4.svg
svg/text/select-textLength-spacingAndGlyphs-stretch-1.svg
svg/text/select-textLength-spacingAndGlyphs-stretch-2.svg
svg/text/select-textLength-spacingAndGlyphs-stretch-3.svg
svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg
svg/text/select-x-list-1.svg
svg/text/select-x-list-2.svg
svg/text/select-x-list-3.svg
svg/text/select-x-list-4.svg
svg/text/select-x-list-with-tspans-1.svg
svg/text/select-x-list-with-tspans-2.svg
svg/text/select-x-list-with-tspans-3.svg
svg/text/select-x-list-with-tspans-4.svg
* rendering/InlineBox.h: Remove not needed isInlineBox() method.
(WebCore::InlineBox::isInlineTextBox): Constify this method.
(WebCore::InlineBox::isSVGInlineTextBox): Added, with ENABLE(SVG) guards, just like the existing isSVGRootInlineBox().
(WebCore::InlineBox::isSVGRootInlineBox): Constify this method.
(WebCore::InlineBox::calculateBoundaries): Added, with ENABLE(SVG) guards, used to calculate the whole boundaries of a InlineText/FlowBox, only used in SVG text.
* rendering/InlineFlowBox.h: Devirtualize placeBoxesHorizontally(), SVG no more overrides it.
* rendering/InlineTextBox.h: Virtualize selectionStartEnd() - SVGInlineTextBox needs to change start/endPositions based on the current text chunk part that it's rendering.
SVGTextChunkLayoutInfo.h contains a detailed documentation what a SVGTextChunk/SVGTextChunkPart is, and why they are necessary.
(WebCore::InlineTextBox::isInlineTextBox): Constify this method.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::forceLayoutInlineChildren): Add helper method, used only by RenderSVGText, to use a simplified layout strategy, which is a big speed win.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeHorizontalPositionsForLine): Remove all isSVGText() special cases, as this function is not called anymore for SVG text.
(WebCore::RenderBlock::layoutInlineChildren): Don't call computeHorizontalPositionsForLine() for SVG text. computePerCharacterLayoutInformation() overrides it anyway.
* rendering/RenderSVGInline.cpp: Remove custom absoluteRects/absoluteQuads code, all shared with RenderInline now.
(WebCore::RenderSVGInline::clippedOverflowRectForRepaint): Added, forward to SVGRenderBase, just like all other non-text SVG renderers do.
(WebCore::RenderSVGInline::computeRectForRepaint): Ditto.
(WebCore::RenderSVGInline::mapLocalToContainer): Ditto
* rendering/RenderSVGInline.h:
* rendering/RenderSVGInlineText.cpp: Remove destroy() hack, which called setNeedsLayoutAndPrefWidthsRecalc/repaint on destruction.
As repaint rects work properly now, this hack is no longer necessary, it was only hiding the real problem.
(WebCore::RenderSVGInlineText::styleDidChange): Don't skip RenderText::styleDidChange() anymore, which automatically schedules layout changes for us.
(WebCore::RenderSVGInlineText::localCaretRect): Remove outdated comment, localCaretRect() is not yet needed in SVG text code.
* rendering/RenderSVGInlineText.h: Remove custom absoluteRects/absoluteQuads/selectionRectForRepaint/positionForPoint/destroy/computeRectForRepaint* code, all shared with RenderText now.
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer): Take x/y translation into account, but do NOT include in localToParentTransform(), as that would affect rendering.
(WebCore::RenderSVGText::layout): Use super-simplified layout strategy, removing a lot of uncessary stuff done by RenderBlock, that SVG does not need.
(WebCore::RenderSVGText::absoluteRects): Remove dead-code, retreving the RenderSVGRoot* object, not necessary since a longer time.
(WebCore::RenderSVGText::absoluteQuads): Ditto.
(WebCore::RenderSVGText::paint): Early exit if we're not in PaintPhaseForeground/PaintPhaseSelfOutline. We're not interessted in other phases.
(WebCore::RenderSVGText::strokeBoundingBox): Fix stroke width calculation, no need to special case SVGFonts.
* rendering/RenderSVGText.h: Remove updateFirstLineBlock/updateFirstLetter overrides, the new RenderSVGText::layout() code, doesn't use these methods at all.
We asked RenderBlock to layout before, which was calling updateFirstLetter & co, this is gone now, as it was all not needed.
(WebCore::RenderSVGText::objectBoundingBox): Directly return the frameRect here, inlined for speed.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::verticallyAlignBoxes): Early-exit if we're a SVGRootInlineBox. SVG handles this on its own.
* rendering/RootInlineBox.h: Devirtualize verticallyAlignBoxes(), SVG no longer overrides it. Remove virtual computePerCharacterLayoutInformation() method, only lives in SVGRootInlineBox now.
* rendering/SVGCharacterData.h: Remove no longer needed SVGTextDecorationInfo.
* rendering/SVGCharacterLayoutInfo.cpp: Don't pass a reference to a Vector<SVGChar> to SVGCharacterLayoutInfo, let it create it.
(WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
* rendering/SVGCharacterLayoutInfo.h:
* rendering/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::paint): Ask children to paint.
(WebCore::SVGInlineFlowBox::calculateBoundaries): Calculate boundaries by uniting all direct children boundaries.
* rendering/SVGInlineFlowBox.h: Remove placeBoxesHorizontally, which does not get called anymore, and does not need to be overriden.
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::SVGInlineTextBox): Don't use abbrevations for variable names, initialize new member variables.
(WebCore::SVGInlineTextBox::measureCharacter): New helper function extracted from buildLayoutInformation, replacing calculateGlyphWidth/Height.
(WebCore::SVGInlineTextBox::offsetForPosition): Implement this method by utilizing Font::offsetForPosition(), but respecting the text chunk parts.
(WebCore::SVGInlineTextBox::positionForOffset): No change here, still not used.
(WebCore::SVGInlineTextBox::selectionRect): Rewritten, utilizing Font::selectionRectForText(), taking text chunk parts into account, and the supplied startPos/endPos.
(WebCore::SVGInlineTextBox::paint): Rewritten, to handle paint servers much more elegant, than the old solution. See code for details, too much to explain here.
(WebCore::SVGInlineTextBox::acquirePaintingResource): Helper function, used from paint().
(WebCore::SVGInlineTextBox::releasePaintingResource): Ditto.
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Ditto.
(WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting): Ditto.
(WebCore::SVGInlineTextBox::constructTextRun): Helper function centralizing the creation of a TextRun object, used to draw/measure SVG text.
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoChunkPartCoordinates): Important helper function, mapping a startPos/endPos from InlineTextBox
coordinate space to the SVGInlineTextBox, respecting the current text chunk part.
(WebCore::SVGInlineTextBox::selectionStartEnd): Call InlineTextBox::selectionStartEnd(), and apply post fixes when m_currentChunkPart is set. (called when painting a selected chunk part)
(WebCore::positionOffsetForDecoration): Refactored from old paintDecoration() code.
(WebCore::thicknessForDecoration): Ditto.
(WebCore::findRenderObjectDefininingTextDecoration): Ditto.
(WebCore::SVGInlineTextBox::paintDecoration): Ditto. (Can not share the code with HTML, as we need floating point precision, and directly call fillRect, instead of drawHighlightForText.)
(WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
(WebCore::SVGInlineTextBox::paintSelection): New method, painting text selections with floating-point precision.
(WebCore::SVGInlineTextBox::paintText): New method, painting text with floating-point precision, correctly handling selected text, removing the need for special SVG text sub-paint phases.
(GlyphFill/StrokeSelectionPhase, GlyphFill/StrokePhase)
(WebCore::SVGInlineTextBox::buildLayoutInformation): Use new measureCharacter() helper function, renamed some variables, to avoid abbrevations.
(WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Rewritten to use new measureCharacter() helper function.
(WebCore::SVGInlineTextBox::calculateBoundaries): Rewritten to take text chunk parts into account, serves as central method used to layout InlineBoxes (see SVGRootInlineBox.)
* rendering/SVGInlineTextBox.h:
(WebCore::SVGInlineTextBox::isSVGInlineTextBox): Added.
(WebCore::SVGInlineTextBox::setHeight): Rename variable, to avoid abbrevations.
(WebCore::SVGInlineTextBox::chunkTransformation): New helper function, returning the transformation, that gets applied to the complete text chunk, if any.
(WebCore::SVGInlineTextBox::setChunkTransformation): New helper function used by SVGRrootInlineBox, to set the chunk transformation, during text chunk part propagation phase.
(WebCore::SVGInlineTextBox::addChunkPartInformation): Ditto.
(WebCore::SVGInlineTextBox::svgTextChunkParts): Ditto.
* rendering/SVGRootInlineBox.cpp: Virtually rewritten, to be designed more like HTMLs RootInlineBox, diving into children for painting.
(WebCore::SVGRootInlineBox::paint): Ask children to paint, nothing more. No more traversing through the SVGTextChunks, figuring out which part to render, this is done in layout phase now.
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Completly redesigned, see SVGTextChunkLayoutInfo.h for a high-level overview.
(WebCore::SVGRootInlineBox::buildLayoutInformation): Just small cleanups, nothing changed here.
(WebCore::SVGRootInlineBox::layoutChildBoxes): New helper function, extracted from old layoutInlineBoxes().
(WebCore::SVGRootInlineBox::layoutRootBox): Ditto.
(WebCore::SVGRootInlineBox::propagateTextChunkPartInformation): Key-concept of the new design, builds "text chunk parts" and propagates that knownledge to all child SVGInlineTextBoxes.
* rendering/SVGRootInlineBox.h:
(WebCore::SVGRootInlineBox::isSVGRootInlineBox): Constified method.
(WebCore::SVGRootInlineBox::setHeight): Change variable name, to avoid abbrevations.
* rendering/SVGTextChunkLayoutInfo.cpp: Remove if 0, enable compilation.
* rendering/SVGTextChunkLayoutInfo.h: Add large comment explaining text chunk parts, the key concept of the new design. Remove SVGTextChunkWalker & friends, no longer used.
(WebCore::SVGTextChunkPart::SVGTextChunkPart):
(WebCore::SVGTextChunkPart::isValid):
(WebCore::SVGTextChunk::SVGTextChunk):
(WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
(WebCore::SVGTextChunkLayoutInfo::textChunks):
* rendering/SVGTextLayoutUtilities.cpp:
(WebCore::cummulatedWidthOfInlineBoxCharacterRange):
(WebCore::cummulatedHeightOfInlineBoxCharacterRange):
(WebCore::svgTextRunForInlineTextBox): Disable rounding hacks, explain parameters with comments, why they have which values.
* rendering/SVGTextLayoutUtilities.h: Remove SVGTextPaintSubphase and SVGTextPaintInfo.
* rendering/SVGTextQuery.cpp: Remove if 0, enable compilation.
* rendering/SVGTextQuery.h: Ditto.
* svg/SVGStyledElement.cpp: Very important change! Do not treat CSS attributes as recognized attributes, that would lead to setNeedsLayout() calls, reducing performance!
This hack existed, as we were not dealing with text updates correctly, now that RenderSVGInlineText::styleDidChange is fixed, it's no longer necessary.
(WebCore::SVGStyledElement::isKnownAttribute):
* svg/SVGTextContentElement.cpp: Completely remove the SVGTextContentElement API, that manually traversed all text chunks, instead use the new SVGTextQuery API.
(WebCore::SVGTextContentElement::getNumberOfChars):
(WebCore::SVGTextContentElement::getComputedTextLength):
(WebCore::SVGTextContentElement::getSubStringLength):
(WebCore::SVGTextContentElement::getStartPositionOfChar):
(WebCore::SVGTextContentElement::getEndPositionOfChar):
(WebCore::SVGTextContentElement::getExtentOfChar):
(WebCore::SVGTextContentElement::getRotationOfChar):
(WebCore::SVGTextContentElement::getCharNumAtPosition):
* svg/SVGTextElement.cpp: Very important change! Do not calls setNeedsLayout() on RenderSVGText, if childrenChanged() has been called.
* svg/SVGTextElement.h: Completly remove childrenChanged() - no longer necessary, updates work as expected without it now.
2010-06-18 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by David Levin.
Fix compilation when filters are disabled. Revision r60689
changed the signature of SVGRenderBase::prepareToRenderSVGContent()
but didn't change the unsused parameters when filters are disabled.
https://bugs.webkit.org/show_bug.cgi?id=40625
No new tests. Compilation fix.
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderBase::prepareToRenderSVGContent):
2010-06-18 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
noAccess url schemes block access to inline stylesheets
https://bugs.webkit.org/show_bug.cgi?id=32309
Instead of using baseURL() to grab the security context we should just
use finalURL directly. When I wrote the original patch that added this
security check, finalURL didn't exist yet.
If finalURL is an empty URL, that means we generated the style sheet
from text that didn't have a URL. It would be slightly safer to store
a bit on CSSStyleSheet indicating whether it came from an inline style
sheet, but I think this check is fairly accurate.
Test: http/tests/security/data-url-inline.css.html
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::cssRules):
2010-06-18 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Remove unneeded custom code for WebSocket.send
https://bugs.webkit.org/show_bug.cgi?id=38180
We don't appear to require a custom binding here. The old function was
wacky in two ways:
1) It required all of its arguments.
2) If the toString of its argument threw, it would catch the exception
and re-throw a different exception.
I've kept the first behavior but changed the second (and documented it
with a test).
Test: websocket/tests/send-throw.html
* bindings/js/JSWebSocketCustom.cpp:
* bindings/v8/custom/V8WebSocketCustom.cpp:
* websockets/WebSocket.idl:
2010-06-15 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
https://bugs.webkit.org/show_bug.cgi?id=39041
* WebCore.base.exp
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
(WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::openDatabase):
* storage/AbstractDatabase.cpp:
(WebCore::AbstractDatabase::isAvailable):
(WebCore::AbstractDatabase::setIsAvailable):
* storage/AbstractDatabase.h:
* storage/Database.cpp:
* storage/Database.h:
* storage/DatabaseSync.cpp:
* storage/DatabaseSync.h:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::openDatabase):
(WebCore::WorkerContext::openDatabaseSync):
* workers/WorkerContext.h:
2010-06-18 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Fix the namespace indent for HTML5Lexer. This patch changes
white-space only.
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::):
(WebCore::HTML5Lexer::lineNumber):
(WebCore::HTML5Lexer::columnNumber):
(WebCore::HTML5Lexer::state):
(WebCore::HTML5Lexer::setState):
(WebCore::HTML5Lexer::skipLeadingNewLineForListing):
(WebCore::HTML5Lexer::InputStreamPreprocessor::InputStreamPreprocessor):
(WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
(WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
(WebCore::HTML5Lexer::InputStreamPreprocessor::advance):
2010-06-18 Fumitoshi Ukai <ukai@chromium.org>
Unreviewed test breakage fix.
WebSocket: resume should not process buffer if already processing.
https://bugs.webkit.org/show_bug.cgi?id=39340
MessageLoop runs in main thread, so we don't need to use timer in worker thread.
Also, we should not use Timer in worker thread.
* websockets/ThreadableWebSocketChannelClientWrapper.h:
(WebCore::ThreadableWebSocketChannelClientWrapper::resume):
(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2010-06-17 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61379.
http://trac.webkit.org/changeset/61379
https://bugs.webkit.org/show_bug.cgi?id=40813
Broke multiple tests on all platforms (Requested by tkent on
#webkit).
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorCPP.pm:
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::attrWithException):
(WebDOMTestObj::setAttrWithException):
(WebDOMTestObj::attrWithSetterException):
(WebDOMTestObj::attrWithGetterException):
(WebDOMTestObj::setAttrWithGetterException):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
(webkit_dom_test_callback_callback_with_class1param):
(webkit_dom_test_callback_callback_with_class2param):
(webkit_dom_test_callback_callback_with_non_bool_return_type):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_void_method):
(webkit_dom_test_obj_void_method_with_args):
(webkit_dom_test_obj_int_method):
(webkit_dom_test_obj_int_method_with_args):
(webkit_dom_test_obj_obj_method):
(webkit_dom_test_obj_obj_method_with_args):
(webkit_dom_test_obj_method_that_requires_all_args):
(webkit_dom_test_obj_method_that_requires_all_args_and_throws):
(webkit_dom_test_obj_serialized_value):
(webkit_dom_test_obj_method_with_exception):
(webkit_dom_test_obj_with_dynamic_frame):
(webkit_dom_test_obj_with_dynamic_frame_and_arg):
(webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
(webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
(webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
(webkit_dom_test_obj_with_script_state_void):
(webkit_dom_test_obj_with_script_state_obj):
(webkit_dom_test_obj_with_script_state_void_exception):
(webkit_dom_test_obj_with_script_state_obj_exception):
(webkit_dom_test_obj_with_script_execution_context):
(webkit_dom_test_obj_method_with_optional_arg):
(webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
(webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
(webkit_dom_test_obj_get_read_only_int_attr):
(webkit_dom_test_obj_get_read_only_string_attr):
(webkit_dom_test_obj_get_read_only_test_obj_attr):
(webkit_dom_test_obj_get_int_attr):
(webkit_dom_test_obj_set_int_attr):
(webkit_dom_test_obj_get_long_long_attr):
(webkit_dom_test_obj_set_long_long_attr):
(webkit_dom_test_obj_get_unsigned_long_long_attr):
(webkit_dom_test_obj_set_unsigned_long_long_attr):
(webkit_dom_test_obj_get_string_attr):
(webkit_dom_test_obj_set_string_attr):
(webkit_dom_test_obj_get_test_obj_attr):
(webkit_dom_test_obj_set_test_obj_attr):
(webkit_dom_test_obj_get_attr_with_exception):
(webkit_dom_test_obj_set_attr_with_exception):
(webkit_dom_test_obj_get_attr_with_setter_exception):
(webkit_dom_test_obj_set_attr_with_setter_exception):
(webkit_dom_test_obj_get_attr_with_getter_exception):
(webkit_dom_test_obj_set_attr_with_getter_exception):
(webkit_dom_test_obj_get_script_string_attr):
(webkit_dom_test_obj_get_conditional_attr1):
(webkit_dom_test_obj_set_conditional_attr1):
(webkit_dom_test_obj_get_conditional_attr2):
(webkit_dom_test_obj_set_conditional_attr2):
(webkit_dom_test_obj_get_conditional_attr3):
(webkit_dom_test_obj_set_conditional_attr3):
(webkit_dom_test_obj_get_description):
(webkit_dom_test_obj_get_id):
(webkit_dom_test_obj_set_id):
(webkit_dom_test_obj_get_hash):
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::):
(WebCore::jsTestObjAttrWithException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithException):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj attrWithException]):
(-[DOMTestObj setAttrWithException:]):
(-[DOMTestObj attrWithSetterException]):
(-[DOMTestObj attrWithGetterException]):
(-[DOMTestObj setAttrWithGetterException:]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::attrWithExceptionAttrGetter):
(WebCore::TestObjInternal::attrWithExceptionAttrSetter):
(WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
(WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
(WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
(WebCore::TestObjInternal::overloadedMethodCallback):
(WebCore::):
* dom/Element.cpp:
* dom/Element.h:
* html/HTMLAnchorElement.idl:
* html/HTMLAppletElement.idl:
* html/HTMLAreaElement.idl:
* html/HTMLBRElement.idl:
* html/HTMLBaseElement.idl:
* html/HTMLBaseFontElement.idl:
* html/HTMLBlockquoteElement.idl:
* html/HTMLBodyElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLDListElement.idl:
* html/HTMLDirectoryElement.idl:
* html/HTMLDivElement.idl:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFontElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLFrameSetElement.idl:
* html/HTMLHRElement.idl:
* html/HTMLHeadElement.idl:
* html/HTMLHeadingElement.idl:
* html/HTMLHtmlElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLIsIndexElement.idl:
* html/HTMLLIElement.idl:
* html/HTMLLabelElement.idl:
* html/HTMLLegendElement.idl:
* html/HTMLLinkElement.idl:
* html/HTMLMapElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLMenuElement.idl:
* html/HTMLMetaElement.idl:
* html/HTMLModElement.idl:
* html/HTMLOListElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptGroupElement.idl:
* html/HTMLOptionElement.idl:
* html/HTMLParagraphElement.idl:
* html/HTMLParamElement.idl:
* html/HTMLPreElement.idl:
* html/HTMLQuoteElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLStyleElement.idl:
* html/HTMLTableCaptionElement.idl:
* html/HTMLTableCellElement.idl:
* html/HTMLTableColElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLUListElement.idl:
* html/HTMLVideoElement.idl:
* svg/SVGElement.idl:
2010-06-17 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dave Hyatt.
CSS3 "Property is declared twice in rule" test fails
https://bugs.webkit.org/show_bug.cgi?id=36282
Filter out duplicate properties in style declaration.
Test: fast/css/duplicate-property-in-rule.html
* css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Discard negative padding values
* css/CSSStyleSelector.cpp: Remove negative padding check
(WebCore::CSSStyleSelector::applyProperty):
2010-06-17 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Implement additional DOM attribute reflection for bindings
https://bugs.webkit.org/show_bug.cgi?id=39936
- Added support for [Reflect] for long, unsigned long, and boolean
attributes.
- Fixed code that set attributes like this: <video controls="controls">
to instead set them like this: <video controls>.
- Added lots more uses of [Reflect].
- Removed now-unneeded [ConvertFromString].
- Made [Reflect] imply [ConvertNullToNullString] so we can get rid
of most uses of the latter.
- Made [Reflect] automatically lowercase the name of the reflected
content attribute to minimize the need to specify a custom content
attribute name.
One thing this patch does *not* do is remove the unneeded functions
in the various DOM classes that are no longer used by the bindings.
We should do that in a followup.
* bindings/scripts/CodeGenerator.pm: Added new functions so code
can be shared across bindings, GetterExpressionPrefix and
SetterExpressionPrefix. We can do a lot more refactoring like
this in the future.
* bindings/scripts/CodeGeneratorCPP.pm: Removed unneeded
ConvertFromString handling, changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
to better handle reflected DOM attributes.
* bindings/scripts/CodeGeneratorGObject.pm: Removed unneeded
ConvertFromString handling, changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
to better handle reflected DOM attributes. Fixed a few things
in the output so the .cpp file will have more WebKit style.
The .h file should be GTK style, but the .cpp file can be the
standard WebKit style eventually.
* bindings/scripts/CodeGeneratorJS.pm: Changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
and removed a now-unneeded IsSVGAnimatedType special case since
the new functions take care of it. Made reflected attributes
automatically convert null to the null string without a
separate ConvertNullToNullString attribute.
* bindings/scripts/CodeGeneratorObjC.pm: Changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
and removed a now-unneeded IsSVGAnimatedType special case since
the new functions take care of it. Redid the special cases for
ownerDocument and for operator to fit better with the new code
paths. Removed unneeded ConvertFromString handling.
* bindings/scripts/CodeGeneratorV8.pm: Changed to use the new
GetterExpressionPrefix and SetterExpressionPrefix functions
and removed a now-unneeded IsSVGAnimatedType special case since
the new functions take care of it. Made reflected attributes
automatically convert null to the null string without a
separate ConvertNullToNullString attribute.
* bindings/scripts/test/TestObj.idl: Added some test cases for
content attribute reflection and for exceptions in string-typed
attributes.
* bindings/scripts/test/CPP/WebKitDOMTestObj.cpp: Updated.
* bindings/scripts/test/CPP/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
* dom/Element.cpp:
(WebCore::Element::getIntegralAttribute): Added.
(WebCore::Element::setIntegralAttribute): Added.
(WebCore::Element::getUnsignedIntegralAttribute): Added.
(WebCore::Element::setUnsignedIntegralAttribute): Added.
* dom/Element.h: Added new attribute get/set functions for bindings.
* html/HTMLAnchorElement.idl:
* html/HTMLAppletElement.idl:
* html/HTMLAreaElement.idl:
* html/HTMLBRElement.idl:
* html/HTMLBaseElement.idl:
* html/HTMLBaseFontElement.idl:
* html/HTMLBlockquoteElement.idl:
* html/HTMLBodyElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLDListElement.idl:
* html/HTMLDirectoryElement.idl:
* html/HTMLDivElement.idl:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFontElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLFrameSetElement.idl:
* html/HTMLHRElement.idl:
* html/HTMLHeadElement.idl:
* html/HTMLHeadingElement.idl:
* html/HTMLHtmlElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLIsIndexElement.idl:
* html/HTMLLIElement.idl:
* html/HTMLLabelElement.idl:
* html/HTMLLegendElement.idl:
* html/HTMLLinkElement.idl:
* html/HTMLMapElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLMenuElement.idl:
* html/HTMLMetaElement.idl:
* html/HTMLModElement.idl:
* html/HTMLOListElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptGroupElement.idl:
* html/HTMLOptionElement.idl:
* html/HTMLParagraphElement.idl:
* html/HTMLParamElement.idl:
* html/HTMLPreElement.idl:
* html/HTMLQuoteElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLStyleElement.idl:
* html/HTMLTableCaptionElement.idl:
* html/HTMLTableCellElement.idl:
* html/HTMLTableColElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLUListElement.idl:
* html/HTMLVideoElement.idl:
* svg/SVGElement.idl:
Added more uses of [Reflect]. Got rid of uses of [ConvertNullToNullString] that
are now unneeded since [Reflect] now implies that. Changed formatting to be
simpler and consistent without all the lining up and multiple lines.
2010-06-17 MORITA Hajime <morrita@google.com>
Unreviewd, fixed a build break.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::pseudoId):
2010-06-16 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
<meter> should allow styling for each gauge-level and component
https://bugs.webkit.org/show_bug.cgi?id=40280
- Introduced following new pseudo classes for <meter> element.
- -webkit-meter-horizontal-bar
- -webkit-meter-vertical-bar
- -webkit-meter-horizontal-optimum-value
- -webkit-meter-vertical-optimum-value
- -webkit-meter-horizontal-suboptimal-value
- -webkit-meter-vertical-suboptimal-value
- -webkit-meter-horizontal-even-less-good-value
- -webkit-meter-vertical-even-less-good-value
- Introduced 2 shadow nodes for RenderMeter to handle CSS styling.
one for bar part and another for value part.
- Removed RenderTheme::paintMeter() implementation because it can be
handled by styled painting without RenderTheme.
- Pulled RenderIndicator up to super class from RenderProgress,
then make RenderMeter a subclass of it.
- Moved shadow related methods from RenderProgress to ShadowBlockElement
to share it with RenderMeter.
- Added rules for html.css for new pseudo classes.
Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
fast/dom/HTMLMeterElement/meter-styles.html
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSSelector.cpp:
(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):
* css/CSSSelector.h:
(WebCore::CSSSelector::):
* css/html.css:
(meter::-webkit-meter-horizontal-bar):
(meter::-webkit-meter-vertical-bar):
(meter::-webkit-meter-horizontal-optimum-value):
(meter::-webkit-meter-horizontal-suboptimal-value):
(meter::-webkit-meter-horizontal-even-less-good-value):
(meter::-webkit-meter-vertical-optimum-value):
(meter::-webkit-meter-vertical-suboptimal-value):
(meter::-webkit-meter-vertical-even-less-good-value):
* rendering/RenderIndicator.cpp: Added.
(WebCore::RenderIndicator::RenderIndicator):
(WebCore::RenderIndicator::~RenderIndicator):
(WebCore::RenderIndicator::layout):
(WebCore::RenderIndicator::styleDidChange):
(WebCore::RenderIndicator::updateFromElement):
(WebCore::RenderIndicator::hasParts):
(WebCore::RenderIndicator::requestLayoutForParts):
* rendering/RenderIndicator.h: Added.
(WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::RenderMeter):
(WebCore::RenderMeter::~RenderMeter):
(WebCore::RenderMeter::layoutParts): Added.
(WebCore::RenderMeter::shouldHaveParts): Added.
(WebCore::RenderMeter::valueRatio): Added.
(WebCore::RenderMeter::barPartRect): Added.
(WebCore::RenderMeter::valuePartRect): Added.
(WebCore::RenderMeter::isHorizontal): Added.
(WebCore::RenderMeter::valuePseudoId): Added.
(WebCore::RenderMeter::barPseudoId): Added.
(WebCore::RenderMeter::updatePartsState): Added.
* rendering/RenderMeter.h:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::RenderProgress):
(WebCore::RenderProgress::updateFromElement):
(WebCore::RenderProgress::paint):
(WebCore::RenderProgress::layoutParts): Added.
(WebCore::RenderProgress::shouldHaveParts): Added.
(WebCore::RenderProgress::updatePartsState):
(WebCore::RenderProgress::valuePartRect):
* rendering/RenderProgress.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isControlStyled):
(WebCore::RenderTheme::paintMeter):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::supportsMeter): Added.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::supportsMeter): Added.
* rendering/ShadowElement.cpp:
(WebCore::ShadowBlockElement::layoutAsPart): Added.
(WebCore::ShadowBlockElement::updateStyleForPart): Added.
(WebCore::ShadowBlockElement::createForPart): Added.
(WebCore::ShadowBlockElement::createStyleForPart): Added.
(WebCore::ShadowBlockElement::partShouldHaveStyle): Added.
* rendering/ShadowElement.h:
* rendering/style/RenderStyleConstants.h:
(WebCore::):
2010-06-17 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by Alexey Proskuryakov.
WebSocket: resume should not process buffer if already processing.
https://bugs.webkit.org/show_bug.cgi?id=39340
Test: websocket/tests/alert-in-event-handler.html
While running an event handler of WebSocket object, it may be suspended
and resumed in various reason. e.g. alert() will suspend/resume
ActiveDOM objects. In chromium, sending IPC message would also
suspend/resume ActiveDOM objects.
If resume process pending buffer in this case, another event might
be fired while running the initial event handler.
Thus, resume should not process pending buffer immediately.
Pending buffer would be processed after the current task has been
finished.
* websockets/ThreadableWebSocketChannelClientWrapper.h:
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::resume):
Just set one shot timer for resumeTimerFired() if not yet set.
(WebCore::WebSocketChannel::resumeTimerFired):
Process pending event after resume was called.
* websockets/WebSocketChannel.h:
2010-06-17 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
REGRESSION(HTML5 parser): editing/selection/leave-requested-block.html can fail or crash
https://bugs.webkit.org/show_bug.cgi?id=40764
HTML5ScriptRunner was careful to only call CachedResource::addClient
for cases where the resource was not already loaded. This was to
avoid getting synchronous notifyFinished callbacks from inside
addClient. (The old HTMLDocumentParser also has hacks to work around
addClient's synchronous notifyFinished behavior for already-loaded
resources as well.)
It turns out that CachedResource will mark itself as purgeable if it
has no clients, thus it could have its data cleared (but itself not
deleted) in the case where we yield back to the runloop to wait for
CSS to load before executing the loaded script.
The fix is to act more like the old parser and always call addClient
on every CachedScript we load. But unlike the old parser, we're
careful not to re-enter from addClient -> notifyFinished
using guards in HTML5DocumentParser::watchForLoad.
I do not know how to make a CachedResource purge itself
from a LayoutTest, so this is not currently testable.
If anyone knows how I'm happy to make a test.
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::watchForLoad):
- It is now expected to call watchForLoad with a loaded script.
(WebCore::HTML5DocumentParser::notifyFinished):
- Now that watchForLoad is called with loaded scripts, notifyFinished
may be be called from addClient, thus we may be in the middle of
script execution when it's called. It's OK. We pass the call
along to HTML5ScriptRunner::executeScriptsWaitingForLoad
and it knows how to ignore the call in that case.
* html/HTML5DocumentParser.h:
- Document these member variables more.
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
(WebCore::HTML5ScriptRunner::executePendingScript):
(WebCore::HTML5ScriptRunner::hasScriptsWaitingForLoad):
(WebCore::HTML5ScriptRunner::watchForLoad):
- Set the pending script to RegisteringForWatch state before
watching and WatchingForLoad after.
(WebCore::HTML5ScriptRunner::stopWatchingForLoad):
- Set the pending script to NotWatchingForLoad.
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
- Assert that callers checked hasScriptsWaitingForLoad()
(WebCore::HTML5ScriptRunner::requestScript):
* html/HTML5ScriptRunner.h:
(WebCore::HTML5ScriptRunner::PendingScript::):
(WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
(WebCore::HTML5ScriptRunner::PendingScript::watchingForLoad):
* html/HTML5ScriptRunnerHost.h:
- Document the new expectations of watchForLoad
2010-06-17 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Prevent HTML5PreloadScanner from loading resources in <noscript> tags.
https://bugs.webkit.org/show_bug.cgi?id=40779
No new tests. Will create a layout test in a subsequent patch.
* html/HTML5PreloadScanner.cpp:
(WebCore::HTML5PreloadScanner::processToken):
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::adjustedLexerState):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
(WebCore::HTML5TreeBuilder::isScriptingFlagEnabled):
* html/HTML5TreeBuilder.h:
2010-06-17 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5PreloadScanner parses <script> in DataState
https://bugs.webkit.org/show_bug.cgi?id=40804
The ScriptDataState is handled separately from the rest of the lexer
state changes because it's more complicted in the tree builder. The
easiest thing is to just handle it separately in the preloader too.
* html/HTML5PreloadScanner.cpp:
(WebCore::HTML5PreloadScanner::processToken):
2010-06-17 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add CSS scanning to HTML5PreloadScanner
https://bugs.webkit.org/show_bug.cgi?id=40802
This patch just cribs the CSS preload scanning algorithm from the old
preload scanner. We also invented a way of testing the preload
scanner.
Tests: fast/preloader/image.html
fast/preloader/link.html
fast/preloader/script.html
fast/preloader/style.html
* Android.mk:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/CSSPreloadScanner.cpp: Added.
(WebCore::isWhitespace):
(WebCore::CSSPreloadScanner::CSSPreloadScanner):
(WebCore::CSSPreloadScanner::reset):
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::tokenize):
(WebCore::CSSPreloadScanner::emitRule):
* html/CSSPreloadScanner.h: Added.
(WebCore::CSSPreloadScanner::):
* html/HTML5PreloadScanner.cpp:
(WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
(WebCore::HTML5PreloadScanner::processToken):
(WebCore::HTML5PreloadScanner::scanningBody):
* html/HTML5PreloadScanner.h:
2010-06-17 Abhishek Arya <inferno@chromium.org>
Reviewed by David Kilzer.
(Landed by Dirk Pranke).
Check for a null frame before setting drag selection.
https://bugs.webkit.org/show_bug.cgi?id=38893
Same Layout test as https://bugs.webkit.org/show_bug.cgi?id=37168.
Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
Note that you need to run the test manually 20-30 times for the crash
to reproduce.
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection):
2010-06-17 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Get rid of the the unused imageSize of ImageDecoderQt::internalHandleCurrentImage()
https://bugs.webkit.org/show_bug.cgi?id=40620
Remove an unused variable.
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::internalHandleCurrentImage):
2010-06-17 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Darin Fisher.
[Chromium API] Implement WebSandboxSupport on OS X and add stubs to allow
OOP loading of fonts.
https://bugs.webkit.org/show_bug.cgi?id=40544
* platform/chromium/ChromiumBridge.h: Add prototype for loadFont()
2010-06-17 Nicolas Weber <thakis@chromium.org>
Reviewed by Eric Seidel.
Fix various warnings that are reported when building with clang
https://bugs.webkit.org/show_bug.cgi?id=40503
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::labelElementContainer):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::parentTable):
* bindings/v8/NPV8Object.cpp:
(WebCore::npObjectTypeInfo):
* bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
(WebCore::):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::):
* bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
(WebCore::):
* css/CSSStyleSheet.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getNamedElements):
* inspector/InspectorValues.cpp:
(WebCore::InspectorObject::getObject):
(WebCore::InspectorObject::getArray):
* page/animation/AnimationBase.h:
* platform/graphics/BitmapImage.h:
(WTF::):
* platform/graphics/mac/FontPlatformData.h:
* rendering/RenderBlock.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::ellipsisBox):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::storageArea):
2010-06-17 Kwang Yul Seo <skyul@company100.net>
Reviewed by Pavel Feldman.
Add ENABLE(INSPECTOR) guard for m_sessionSettings
https://bugs.webkit.org/show_bug.cgi?id=40611
Build fix.
* inspector/InspectorController.h:
2010-06-17 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add FIXME to explain HTMLDocumentParser's forceSynchronous bool
https://bugs.webkit.org/show_bug.cgi?id=40609
No functional change, just adding comment.
* dom/Document.cpp:
(WebCore::Document::write):
2010-06-13 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
WebCore EventHandler needs to take account of onLoad events
fired before layout() complete
https://bugs.webkit.org/show_bug.cgi?id=40102
WebCore 'cheats' by firing onLoad events before the frame's layout
has been performed. This can result in event listeners performing
operations that depend on the document's final layout, such as
scrolling operations.
When scrolling a frameview in eventhandler ensure the layout is complete.
* page/EventHandler.cpp:
(WebCore::EventHandler::scrollRecursively):
2010-06-16 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Add the error codes defined in the async DB spec to SQLError.idl and SQLError.h.
https://bugs.webkit.org/show_bug.cgi?id=40748
Test: storage/sql-error-codes.html
* storage/SQLError.h:
(WebCore::SQLError::):
* storage/SQLError.idl:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
(WebCore::SQLStatement::setDatabaseDeletedError):
(WebCore::SQLStatement::setVersionMismatchedError):
(WebCore::SQLStatement::setFailureDueToQuota):
(WebCore::SQLStatement::lastExecutionFailedDueToQuota):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::handleCurrentStatementError):
(WebCore::SQLTransaction::deliverStatementCallback):
(WebCore::SQLTransaction::postflightAndCommit):
2010-06-17 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Fix CRLF ending conversion in StringBlobItem.
https://bugs.webkit.org/show_bug.cgi?id=40736
Also: fix referencing uninitialized member bug and slice length bug
in hybrid blob case.
Tests will be added when we add BlobBuilder jsc bindings.
* platform/BlobItem.cpp:
(WebCore::StringBlobItem::convertToCString):
(WebCore::DataRangeBlobItem::DataRangeBlobItem):
2010-06-17 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r61340.
http://trac.webkit.org/changeset/61340
https://bugs.webkit.org/show_bug.cgi?id=36282
Broke several editing tests.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2010-06-17 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Add optional contentType parameter to Blob.slice per latest File API spec.
https://bugs.webkit.org/show_bug.cgi?id=40647
Tested by http/tests/local/resources/send-sliced-dragged-file.html.
* html/Blob.cpp:
(WebCore::Blob::slice):
* html/Blob.h:
* html/Blob.idl:
2010-06-17 Jesus Sanchez-Palencia <jesus@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Hausmann.
[Qt] QtWebKit does not support viewport meta tag
https://bugs.webkit.org/show_bug.cgi?id=39902
Add windowRect() to page client.
* platform/qt/QWebPageClient.h:
2010-06-17 Stephen White <senorblanco@chromium.org>
Reviewed by David Levin.
Fix for slow multiple animated resize issue.
https://bugs.webkit.org/show_bug.cgi?id=38233
The timer-based resize quality approach implemented in
http://trac.webkit.org/changeset/34210 is a good idea, but doesn't
scale to multiple images with animated resizes. This fix unifies all
outstanding resize timers into a single timer, and removes the "use
last quality" check (which doesn't work when images are overlapping).
It also refactors the copy of this code implemented in
RenderBoxModelObject in http://trac.webkit.org/changeset/53949.
This improves Safari performance for the following IE9 platform demos on my C2D MacPro (10.5):
http://ie.microsoft.com/testdrive/Performance/01FlyingImages/Default.html (4->60fps)
http://ie.microsoft.com/testdrive/Performance/10FlickrExplorer/Default.html (3->16fps)
http://ie.microsoft.com/testdrive/Performance/11BrowserFlip/Default.html (9->60fps)
* rendering/RenderBoxModelObject.cpp:
(WebCore::ImageQualityController::ImageQualityController):
Unify all timers into a single timer, rename RenderBoxModelScaleObserver
to ImageQualityController, and remove the resize quality "stickness",
since it doesn't work with multiple outstanding resizes.
(WebCore::ImageQualityController::objectDestroyed):
gImages global is now m_lastPaintTimeMap member.
(WebCore::ImageQualityController::highQualityRepaintTimerFired):
Function made non-static; repaint all pending resizes (not just one).
(WebCore::ImageQualityController::restartTimer):
Added function to restart timer at 1.05x threshold.
(WebCore::imageQualityController):
Static function to return singleton.
(WebCore::ImageQualityController::shouldPaintAtLowQuality):
Use m_lastPaintTimeMap, not gImages global. Implement new timer
algorithm. Remove resize "stickiness".
(WebCore::RenderBoxModelObject::shouldPaintAtLowQuality):
Implement shouldPaintAtLowQuality, which pulls out "this" and passes
the call to the ImageQualityController.
(WebCore::RenderBoxModelObject::~RenderBoxModelObject):
Call ImageQualityController singleton's objectDestroyed() instead of
old static function.
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Modify shouldPaintAtLowQuality() call to match new class name and
function signature.
* rendering/RenderBoxModelObject.h:
Expose shouldPaintAtLowQuality as a member function.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::~RenderImage):
No need to call objectDestroyed() here anymore, since the
RenderBoxModelObject destructor will do this for us.
(WebCore::RenderImage::paintIntoRect):
Rip out RenderImageScaleObserver, and call
RenderBoxModelObject::shouldPaintAtLowQuality() instead.
2010-06-17 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dave Hyatt.
CSS3 "Property is declared twice in rule" test fails
https://bugs.webkit.org/show_bug.cgi?id=36282
Filter out duplicate properties in style declaration.
Test: fast/css/duplicate-property-in-rule.html
* css/CSSMutableStyleDeclaration.cpp: Filter out duplicate properties
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Discard negative padding values
* css/CSSStyleSelector.cpp: Remove negative padding check
(WebCore::CSSStyleSelector::applyProperty):
2010-06-17 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Clean up error conditions for Typed Arrays
https://bugs.webkit.org/show_bug.cgi?id=40755
* bindings/js/JSArrayBufferCustom.cpp:
(WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
- Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::constructArrayBufferView):
- Changed all error code paths to throw exceptions. Clarified exception types.
* bindings/js/JSFloat32ArrayCustom.cpp:
(WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
- Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
* bindings/js/JSInt16ArrayCustom.cpp:
(WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
- Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
* bindings/js/JSInt32ArrayCustom.cpp:
(WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
- Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
* bindings/js/JSInt8ArrayCustom.cpp:
(WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
- Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
* bindings/js/JSUint16ArrayCustom.cpp:
(WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
- Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
* bindings/js/JSUint32ArrayCustom.cpp:
(WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
- Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
* bindings/js/JSUint8ArrayCustom.cpp:
(WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
- Removed throwing of INDEX_SIZE_ERROR, delegating responsibility to constructArrayBufferView.
* bindings/v8/custom/V8ArrayBufferCustom.cpp:
(WebCore::V8ArrayBuffer::constructorCallback):
- Fixed handling of NaN/+inf/-inf lengths. Throw RangeError for too-large or negative lengths.
Clarified exception types.
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore::constructWebGLArray):
- Clarified exception types and throwing of exceptions along all error code paths.
* html/canvas/TypedArrayBase.h:
(WebCore::TypedArrayBase::create):
- Added necessary null checks during allocation.
2010-06-17 Shu Chang <chang.shu@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Fix the link error on symbian with ENABLE_JIT=0.
1. Add "#if ENABLE(JIT)" in the header file;
2. Put feature enable/disable logic to a common.pri so
that both JavaScriptCore.pri and WebCore.pri can share.
https://bugs.webkit.org/show_bug.cgi?id=40780
* WebCore.pri:
2010-06-17 Kenneth Russell <kbr@google.com>
Reviewed by Oliver Hunt.
Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
https://bugs.webkit.org/show_bug.cgi?id=40750
Added V8Proxy::throwTypeError() and throwSyntaxError for parity
with JSC::throwTypeError() and throwSyntaxError. Changed
CodeGeneratorV8.pm to use throwTypeError for overload resolution
failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
instead of manual call to JSValue::encode. Deleted now-unnecessary
Chromium expectations for fast/canvas/webgl/texImageTest.html.
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::throwTypeError):
(WebCore::V8Proxy::throwSyntaxError):
* bindings/v8/V8Proxy.h:
2010-06-17 Darin Fisher <darin@chromium.org>
Reviewed by Brady Eidson.
If Page::goToItem is passed a HistoryItem that is the current item,
then the page should be loaded again.
https://bugs.webkit.org/show_bug.cgi?id=40660
* loader/HistoryController.cpp:
(WebCore::HistoryController::recursiveGoToItem): Add a check to
recursiveGoToItem that matches the one in FrameLoader::loadItem.
2010-06-17 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Build fix for DragDataBrew
https://bugs.webkit.org/show_bug.cgi?id=40610
http://trac.webkit.org/changeset/60957 was not applied to DragDataBrew.cpp.
Add FilenameConversionPolicy argument to DragData::containsURL and DragData::asURL.
* platform/brew/DragDataBrew.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
2010-06-17 Zhenyao Mo <zmo@google.com>
Reviewed by David Levin.
Rename internalformat to internalFormat
https://bugs.webkit.org/show_bug.cgi?id=40149
* html/canvas/WebGLFramebuffer.cpp: Rename internalformat to internalFormat.
(WebCore::WebGLFramebuffer::getColorBufferFormat):
* html/canvas/WebGLRenderbuffer.cpp: Ditto.
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
* html/canvas/WebGLRenderbuffer.h: Ditto.
(WebCore::WebGLRenderbuffer::setInternalFormat):
(WebCore::WebGLRenderbuffer::getInternalFormat):
* html/canvas/WebGLRenderingContext.cpp: Ditto.
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::getRenderbufferParameter):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::texImage2DBase):
(WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
* html/canvas/WebGLRenderingContext.h: Ditto.
* html/canvas/WebGLTexture.cpp: Ditto.
(WebCore::WebGLTexture::WebGLTexture):
* html/canvas/WebGLTexture.h: Ditto.
(WebCore::WebGLTexture::setInternalFormat):
(WebCore::WebGLTexture::getInternalFormat):
2010-06-17 Zhenyao Mo <zmo@google.com>
Reviewed by David Levin.
Remove input parameter validation for "level" upper limit in *tex* functions
https://bugs.webkit.org/show_bug.cgi?id=40603
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateTexFuncParameters): Don't check for "level" upper limit.
2010-06-17 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Eric Seidel.
Clean EFL header files in order to diminish the compilation time with
EFL from subversion. We remove the EFL includes from header files and use
forward declarations, including the headers in correspondent source
files when needed. This causes only the needed source files to be
recompiled in case a new version of EFL is installed instead of
triggering a recompilation of almost all WebCore/WebKit.
https://bugs.webkit.org/show_bug.cgi?id=40575
No new functionalities, so no new tests.
* CMakeListsEfl.txt:
* platform/PlatformKeyboardEvent.h: forward declaration.
* platform/PlatformMouseEvent.h: forward declaration and change method
signature to not require enum.
* platform/PlatformWheelEvent.h: forward declaration.
* platform/Widget.h: forward declaration.
* platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
* platform/efl/PlatformMouseEventEfl.cpp:
(WebCore::PlatformMouseEvent::setClickCount): change method signature
as mentioned above.
* platform/efl/PlatformWheelEventEfl.cpp: include needed header.
* platform/efl/RenderThemeEfl.cpp: include needed header
* platform/efl/RenderThemeEfl.h: forward declaration.
* platform/efl/ScrollbarEfl.cpp: include needed header.
* platform/efl/ScrollbarEfl.h: forward declaration.
* platform/efl/WidgetEfl.cpp: include needed header.
* platform/graphics/FloatRect.h: remove unused method.
* platform/graphics/Icon.h: forward declaration.
* platform/graphics/IntRect.h: remove unused method.
* platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
implementing an unused method.
* platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
implementing an unused method.
2010-06-17 Alex Milowski <alex@milowski.com>
Reviewed by Darin Adler.
Fixed a compile error in the paint() methods by making them use the
new visitedDependentColor() method.
https://bugs.webkit.org/show_bug.cgi?id=40327
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
(WebCore::RenderMathMLRoot::layout): Fixed a crash where every child
was assumed to be a RenderMathMLBlock instance when that isn't the
case. Also, layout() needed to mark the index for layout before
calling layout() on the index.
* mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::paint):
2010-06-17 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Use adoptRef and create functions in more code paths
https://bugs.webkit.org/show_bug.cgi?id=40760
This helps prepare for an assertion that fires if you ref or destroy an
object before calling adoptRef on it. That will help us catch mistakes
that can lead to storage leaks.
* WebCore.base.exp: Updated export now that Frame::create is not an
inline function.
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::createExplicit): Use create.
(WebCore::CSSInitialValue::createImplicit): Ditto.
(WebCore::CSSInitialValue::create): Added.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::createUncachedIdentifier): Added.
(WebCore::CSSPrimitiveValue::createUncachedColor): Added.
(WebCore::CSSPrimitiveValue::createUncached): Added.
(WebCore::CSSPrimitiveValue::createIdentifier): Use createUncachedIdentifier
instead of using new directly.
(WebCore::CSSPrimitiveValue::createColor): Use createUncachedColor instead
of using new directly.
(WebCore::CSSPrimitiveValue::create): Use createdUncached instead of using
new directly.
* css/CSSPrimitiveValue.h: Declare the new functions above.
* css/CSSStyleSelector.cpp:
(WebCore::loadFullDefaultStyle): Deref simpleDefaultStyleSheet instead of
explicitly deleting it.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::SubresourceLoader): Move the call to
addSubresourceLoader out of here.
(WebCore::SubresourceLoader::create): Move it in here. This makes it so
we don't ref the loader before finishing its creation and calling adoptRef.
* page/Frame.cpp:
(WebCore::Frame::Frame): Move the call to setMainFrame out of here.
Also refactor the code so an assertion is easier to read.
(WebCore::Frame::create): Move the call to setMainFrame in here.
This makes it so we don't ref the frame before finishing its creation
and calling adoptRef.
* page/Frame.h: Made the create function non-inline.
* platform/text/BidiContext.cpp:
(WebCore::BidiContext::createUncached): Added.
(WebCore::BidiContext::create): Call createUncached instead of callling
new directly.
* platform/text/BidiContext.h: Declare createUncached.
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives): Use PassRefPtr and
RefPtr instead of OwnPtr. And use the create function instead of new.
* rendering/RenderSVGResourceFilter.h: Ditto.
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGResourceContainer): Ditto.
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::StorageAreaImpl): Move the code that calls
StorageAreaSync::create out of here.
(WebCore::StorageAreaImpl::create): Move it in here. This makes it so we
don't ref the storage area before finishing its creation and calling adoptRef.
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::defaultFill): Use create instead of new.
(WebCore::SVGPaint::defaultStroke): Ditto.
* svg/graphics/filters/SVGFilterBuilder.h: Made the constructor private
and added a create function since this is a reference counted object and
should not be constructed directly.
2010-06-17 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Gustavo Noronha.
Update CMake build system to use new script for generating source files
with gperf (r61091).
This updates also the build system to cope with recent changes to
source files list.
https://bugs.webkit.org/show_bug.cgi?id=40628
No new tests since it's just compilation fixes.
* CMakeLists.txt:
2010-06-17 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Fix boolean reflected attributes to use empty string consistently for the content attribute value
https://bugs.webkit.org/show_bug.cgi?id=40758
Test: fast/dom/boolean-attribute-reflection.html
The HTML5 specification and other browsers are all consistent:
When setting a boolean IDL attribute to true, the attribute value
gets set to the empty string. The guidelines for authors allow either
the empty string or the name of the attribute, but for implementers
of the DOM, the reflected attribute gets empty string.
* dom/Element.cpp:
(WebCore::Element::setBooleanAttribute): Use emptyAtom to set the
attribute to the empty string.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::setAutofocus): Use the empty string,
not "autofocus".
(WebCore::HTMLFormControlElement::setRequired): Use the empty string,
not "required".
2010-06-17 Pavel Feldman <pfeldman@chromium.org>
Unreviewed: chromium tests fix. Added InspectorBackend delegates for new inspector methods.
* inspector/front-end/InspectorBackendStub.js:
(.WebInspector.InspectorBackendStub.prototype.clearConsoleMessages):
(.WebInspector.InspectorBackendStub.prototype.getOuterHTML):
(.WebInspector.InspectorBackendStub.prototype.setOuterHTML):
(.WebInspector.InspectorBackendStub.prototype.addInspectedNode):
2010-06-17 Mark Brand <mabrand@mabrand.nl>
Reviewed by Simon Hausmann.
[Qt] use "win32-g++*" scope to match all MinGW makespecs
The scope "win32-g++" comes from the name of the makespec. However, it
is frequently used to check for MinGW. This works fine as long as
win32-g++ is the only makespec for MinGW. Now we need the wildcard
to cover "win32-g++-cross" as well.
* WebCore.pro:
2010-06-16 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joe Pecoraro.
Web Inspector: move get/setOuterHTML, addInspectedNode and
clearConsole to native InspectorDOMAgent. This is done to allow
inspected nodes array to store nodes from different domains,
also moves outerhtml manipulation closer to the rest of the DOM
operations. In addition to that, we are slowly getting rid of
InjectedScriptAccess in favor of IDL-defined InspectorBackend
interface for clearer remote debugging API.
https://bugs.webkit.org/show_bug.cgi?id=40733
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::inspectedNode):
* inspector/InjectedScriptHost.h:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::changeTagName):
(WebCore::InspectorBackend::getOuterHTML):
(WebCore::InspectorBackend::setOuterHTML):
(WebCore::InspectorBackend::addInspectedNode):
(WebCore::InspectorBackend::clearConsoleMessages):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::inspectedNode):
(WebCore::InspectorDOMAgent::changeTagName):
(WebCore::InspectorDOMAgent::getOuterHTML):
(WebCore::InspectorDOMAgent::setOuterHTML):
(WebCore::InspectorDOMAgent::addInspectedNode):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::didGetOuterHTML):
(WebCore::InspectorFrontend::didSetOuterHTML):
* inspector/InspectorFrontend.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.requestClearMessages):
* inspector/front-end/DOMAgent.js:
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
(WebInspector.ElementsPanel):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
(WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
():
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
* inspector/front-end/InjectedScriptAccess.js:
2010-06-17 John Gregg <johnnyg@google.com>
Reviewed by David Levin.
Move the call to the notification presenter that a Notification is being
destroyed from the destructor (not safe) to the ActiveDOMObject::contextDestroyed
method.
Also fix up an incorrect reference loss in the V8 bindings code for Notifications.
https://bugs.webkit.org/show_bug.cgi?id=40097
No new tests; code paths are well-covered by existing tests.
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::createHTMLNotificationCallback):
(WebCore::V8NotificationCenter::createNotificationCallback):
* notifications/Notification.cpp:
(WebCore::Notification::~Notification):
(WebCore::Notification::contextDestroyed):
* notifications/Notification.h:
2010-06-17 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed rollout r61311, because it made 2 tests fail on Qt bot.
[Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
https://bugs.webkit.org/show_bug.cgi?id=36702
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::updatePluginWidget):
2010-05-28 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
Reviewed by Simon Hausmann, Antti Koivisto
Make repaint throttling parameters runtime configurable.
https://bugs.webkit.org/show_bug.cgi?id=38401
REPAINT_THROTTLING now chooses default values for throttling parameters.
Should be removed when applications start using runtime configuration.
* page/FrameView.cpp:
(WebCore::FrameView::reset):
(WebCore::FrameView::updateDeferredRepaintDelay):
(WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
(WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading):
(WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading):
(WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading):
* page/FrameView.h:
2010-06-17 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
https://bugs.webkit.org/show_bug.cgi?id=36702
setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
work for DRT. So call it if we are in DRT mode and the window geometry
has changed.
Unskips plugins/reentrant-update-widget-positions.html
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::updatePluginWidget):
2010-06-17 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Kenneth Christiansen.
[Qt] Avoid unnecessary calls to save() and restore() when drawing images
Avoid calling the expensive save() and restore() on the GraphicsContext just
for changing the composition mode. Instead save and restore it manually
on QPainter.
Change fac227f609e544f8f55aca8447b4328d6534407a in Qt makes sure that the
call to QPainter::setCompositionMode doesn't do anything if the mode hasn't
changed.
* platform/graphics/GraphicsContext.h:
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::toQtCompositionMode):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
2010-06-16 Dawit Alemayehu <adawit@kde.org>
Reviewed by Simon Hausmann.
[Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64.
https://bugs.webkit.org/show_bug.cgi?id=40567
Avoid preventable crashes by ensuring gtk_init() is called in the
flash viewer plugins before calling NP_Initialize.
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::load):
2010-06-16 Tony Gentilcore <tonyg@chromium.org>
Reviewed by David Levin.
Guarantee that references are held for CachedScripts in HTMLDocumentParser.
https://bugs.webkit.org/show_bug.cgi?id=40177
No new tests because no new functionality.
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::reset):
(WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
2010-06-16 Qi Zhang <qi.2.zhang@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Repeat pattern should start from origin
https://bugs.webkit.org/show_bug.cgi?id=39225
Patterns must be painted so that the top left of the first image
is anchored at the origin of the coordinate space.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::drawRepeatPattern):
(WebCore::GraphicsContext::fillRect):
2010-06-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
Reviewed by Simon Hausmann.
[Qt] WebGL viewport does not show up on N900
https://bugs.webkit.org/show_bug.cgi?id=38528
With OGLES2 add default precision to the shader code.
Use GLsizeiptr and GLintptr with OGLES2.
Call paint() in beginPaint() so that drawTexture() is used
whenever possible.
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::beginPaint):
(WebCore::GraphicsContext3D::paint):
(WebCore::GraphicsContext3D::shaderSource):
2010-06-16 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Simon Fraser.
Spatial Navigation: refactor scrollInDirection to work with scrollable content
https://bugs.webkit.org/show_bug.cgi?id=39195
scrollInDirection now receives as parameter the node that the Spatial Navigation
found as the more appropriated to move focus to. If it is in a scrollable container
(e.g. <div> with clipped overflow content), it scrolls recursively starting from
the container, not the current focused node.
Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusDirectionally):
* page/SpatialNavigation.cpp:
(WebCore::scrollInDirection):
* page/SpatialNavigation.h:
2010-06-16 Brady Eidson <beidson@apple.com>
Reviewed by Eric Carlson
<rdar://problem/7249553> and https://bugs.webkit.org/show_bug.cgi?id=40749
ResourceLoader::willCacheResponse() needs to null-check Frame::Settings()
No new tests. (Discovered via crash reports, no reproducible cases noted)
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willCacheResponse): Null check m_frame->settings(),
but also add an ASSERT so debug-build developers can learn more about why
this might be happening.
2010-06-16 Darin Adler <darin@apple.com>
Try to fix the MathML build.
* mathml/MathMLMathElement.h: Added missing return type.
2010-06-16 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Deploy adoptRef in more places, including all HTML and MathML elements
https://bugs.webkit.org/show_bug.cgi?id=39941
* dom/Element.cpp:
(WebCore::Element::dispatchAttrRemovalEvent): Use create instead of new
in commented-out code.
(WebCore::Element::dispatchAttrAdditionEvent): Ditto.
* dom/Node.h: Removed now-unused CreateElementZeroRefCount and
CreateHTMLElementZeroRefCount.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::insertList): Use create instead of new, fixing
a storage leak.
* editing/ModifySelectionListLevel.cpp:
(WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
Removed "WithType" from function name. Use create instead of new, fixing a
storage leak.
(WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Use
create instead of new, fixing a storage leak.
* storage/IndexedDatabaseImpl.cpp:
(WebCore::IndexedDatabaseImpl::create): Use adoptRef, fixing a storage leak.
* editing/ModifySelectionListLevel.h: Added create functions.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::HTMLAnchorElement):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::HTMLMeterElement):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::HTMLProgressElement):
Removed code to explicitly pass CreateHTMLElement construction type since that's
now the type used for all HTML elements.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
* html/HTMLFormControlElement.h:
Removed construction type argument, since CreateHTMLElement is now the type used
for all HTML elements.
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::MathMLElement): Removed construction type of
CreateStyledElementZeroRefCount so we'll use the default construction
type, CreateStyledElement.
(WebCore::MathMLElement::create): Use adoptRef.
* mathml/MathMLElement.h: Made isMathMLElement function private and
removed unneeded override of createRenderer, because it did the
same thing as the base class's createRenderer function.
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::create): Use adoptRef.
(WebCore::MathMLInlineContainerElement::createRenderer):
Removed unnecessarily initialization of local variable and removed the
case for mathTag, since that uses a different derived class.
* mathml/MathMLInlineContainerElement.h: Made createRenderrer override
private.
* mathml/MathMLMathElement.cpp:
(WebCore::MathMLMathElement::MathMLMathElement): Marked inline since
it is called in only one place.
(WebCore::MathMLMathElement::create): Use adoptRef.
(WebCore::MathMLMathElement::createRenderer): Added. Creates a
RenderMathMLMath object.
* mathml/MathMLMathElement.h: Made constructor private and added a
private override of createRenderer.
* mathml/MathMLTextElement.cpp:
(WebCore::MathMLTextElement::MathMLTextElement): Marked inline since
it is called in only one place.
(WebCore::MathMLTextElement::create): Use adoptRef.
(WebCore::MathMLTextElement::createRenderer): Changed to call through
to the base class instead of calling RenderObject::createObject directly.
* mathml/MathMLTextElement.h: Made the constructor and createRenderer
function private.
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::RenderFileUploadControl):
Removed an unneeded initializer.
* rendering/RenderProgress.cpp: Tweaked includes.
* rendering/ShadowElement.cpp: Added a "using namespace" directive.
* rendering/ShadowElement.h: Tweaked formatting. Made more functions
private.
* editing/DeleteButton.cpp:
(WebCore::DeleteButton::create):
* html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::create):
(WebCore::HTMLAudioElement::createForJSConstructor):
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::create):
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::create):
* html/HTMLBaseFontElement.cpp:
(WebCore::HTMLBaseFontElement::create):
* html/HTMLBlockquoteElement.cpp:
(WebCore::HTMLBlockquoteElement::create):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::create):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::create):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::create):
* html/HTMLDListElement.cpp:
(WebCore::HTMLDListElement::create):
* html/HTMLDataGridCellElement.cpp:
(WebCore::HTMLDataGridCellElement::create):
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::create):
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::create):
* html/HTMLDataGridRowElement.cpp:
(WebCore::HTMLDataGridRowElement::create):
* html/HTMLDataListElement.cpp:
(WebCore::HTMLDataListElement::create):
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::create):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::create):
* html/HTMLElement.h:
(WebCore::HTMLElement::HTMLElement):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::create):
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::create):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::create):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::create):
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::create):
* html/HTMLHeadElement.cpp:
(WebCore::HTMLHeadElement::create):
* html/HTMLHeadingElement.cpp:
(WebCore::HTMLHeadingElement::create):
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::create):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::create):
(WebCore::HTMLImageElement::createForJSConstructor):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::create):
* html/HTMLIsIndexElement.cpp:
(WebCore::HTMLIsIndexElement::create):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::create):
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::create):
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::create):
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::create):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::create):
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::create):
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::create):
* html/HTMLMenuElement.cpp:
(WebCore::HTMLMenuElement::create):
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::create):
* html/HTMLModElement.cpp:
(WebCore::HTMLModElement::create):
* html/HTMLNoScriptElement.cpp:
(WebCore::HTMLNoScriptElement::create):
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::create):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::create):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::create):
(WebCore::HTMLOptionElement::createForJSConstructor):
* html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::create):
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::create):
* html/HTMLPreElement.cpp:
(WebCore::HTMLPreElement::create):
* html/HTMLQuoteElement.cpp:
(WebCore::HTMLQuoteElement::create):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::create):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::create):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::create):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::create):
* html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::create):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::create):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::create):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::create):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::create):
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::create):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::create):
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::create):
* html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::create):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::create):
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentElement::create):
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlShadowRootElement::create):
(WebCore::MediaControlElement::create):
(WebCore::MediaControlTimelineContainerElement::create):
(WebCore::MediaControlVolumeSliderContainerElement::create):
(WebCore::MediaControlStatusDisplayElement::create):
(WebCore::MediaControlMuteButtonElement::create):
(WebCore::MediaControlPlayButtonElement::create):
(WebCore::MediaControlSeekButtonElement::create):
(WebCore::MediaControlRewindButtonElement::create):
(WebCore::MediaControlReturnToRealtimeButtonElement::create):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlVolumeSliderElement::create):
(WebCore::MediaControlFullscreenButtonElement::create):
(WebCore::MediaControlTimeDisplayElement::create):
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::create):
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::create):
(WebCore::TextControlInnerTextElement::create):
(WebCore::SearchFieldResultsButtonElement::create):
(WebCore::SearchFieldCancelButtonElement::create):
(WebCore::SpinButtonElement::create):
Use adoptRef.
2010-06-16 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 parser crash when setTimeout document.write after slow script
https://bugs.webkit.org/show_bug.cgi?id=40726
According to the HTML5 spec, we're supposed to open() a new document if
we receive a document.write() after we've received EOF for the network.
The old parser just dumped those bytes onto the end of the network
stream. After this patch, our behavior matches Minefield.
Test: http/tests/misc/write-while-waiting.html
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::write):
* dom/DocumentParser.h:
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::finishWasCalled):
* dom/XMLDocumentParser.h:
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::finishWasCalled):
* html/HTML5DocumentParser.h:
(WebCore::HTML5DocumentParser::InputStream::isClosed):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::finishWasCalled):
* html/HTMLDocumentParser.h:
* loader/ImageDocument.cpp:
(WebCore::ImageTokenizer::finishWasCalled):
* loader/MediaDocument.cpp:
(WebCore::MediaDocumentParser::finishWasCalled):
* loader/PluginDocument.cpp:
(WebCore::PluginDocumentParser::finishWasCalled):
* loader/SinkDocument.cpp:
(WebCore::SinkDocumentParser::finishWasCalled):
* loader/TextDocument.cpp:
(WebCore::TextDocumentParser::finishWasCalled):
2010-06-16 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] ClipboardGtk::setURL does not match the behavior of other platforms
https://bugs.webkit.org/show_bug.cgi?id=40640
Instead of writing URL labels to the text portion of the clipboard or
drag-and-drop data, write the URL itself. Also escape the label text
of URLs. Abstracts logic into DataObjectGtk, so ClipboardGtk and
PasteboardGtk can share it.
Tests for this issue will be activated when dropping support has been
added to the GTK+ EventSender.
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::writeURL): Use DataObjectGtk::setURL.
* platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::setURL):
Added. Write URL to the text portion and remember to escape the
label when creating the markup portion.
* platform/gtk/DataObjectGtk.h: Add declaration of new method.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeURL): Use DataObjectGtk::setURL.
2010-06-16 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Hit assertion in WebCore::HTML5Token::appendToSystemIdentifier
https://bugs.webkit.org/show_bug.cgi?id=40729
This was a copy/paste error. Yay for ASSERTs.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-16 Stuart Morgan <stuartmorgan@chromium.org>
Reviewed by Anders Carlsson.
Bring npapi.h more in line with upstream npapi-headers version:
- Remove obsolete XP_MAC sections.
- Remove Metrowerks defines.
- Add OS/2 defines.
- Add Maemo defines.
- Add new version of the custom Carbon event definitions.
- Sync platform define style/details
https://bugs.webkit.org/show_bug.cgi?id=38666
* bridge/npapi.h:
2010-06-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Allow transitions and animations of clip: rect
https://bugs.webkit.org/show_bug.cgi?id=38130
Make the CSS clip property animatable.
Test: transitions/clip-transition.html
* page/animation/AnimationBase.cpp:
(WebCore::blendFunc): New blend function for LengthBox
(WebCore::AnimationBase::ensurePropertyMap): Create a PropertyWrapper for LengthBoxes.
* platform/LengthBox.h:
(WebCore::LengthBox::LengthBox): New ctor that takes 4 length values.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::setClip): New method that takes a LengthBox.
2010-06-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Fix clipping via CSS clip: with composited descendants
https://bugs.webkit.org/show_bug.cgi?id=40579
Consult the 'clip' style, as well as overflow, when creating clipping
compositing layers.
Tests: compositing/geometry/clip.html
compositing/overflow/clip-descendents.html
* rendering/RenderLayerBacking.cpp:
(WebCore::clipBox): Utility function that returns the union of the clip and overflow
boxes.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use clipBox() to
get the correct clipping rectangle.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer): Look for
clip as well as overflow.
(WebCore::RenderLayerCompositor::clipsCompositingDescendants): Ditto.
2010-06-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
REGRESSION: Undocked inspector toolbar is white
https://bugs.webkit.org/show_bug.cgi?id=40644
Make the html element 100% height so that we don't erase the background to white, after r61215.
* inspector/front-end/inspector.css:
(html):
2010-06-16 Brian Weinstein <bweinstein@apple.com>
Reviewed by Darin Adler.
User scripts injected on start are not run on image documents.
https://bugs.webkit.org/show_bug.cgi?id=40722
<rdar://8087394>
User scripts that are injected on start are run from FrameLoader::dispatchDocumentElementAvailable,
but this is never called from ImageDocument, so call it when we create a document element for
our image document.
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure): Call FrameLoader::dispatchDocumentElementAvailable
after creating our document element.
2010-06-16 Brady Eidson <beidson@apple.com>
Reviewed by NOBODY (Build fix for Mac)
* WebCore.xcodeproj/project.pbxproj: Make paths relative to the project root.
2010-06-16 Chris Marrin <cmarrin@apple.com>
Reviewed by Eric Carlson.
https://bugs.webkit.org/show_bug.cgi?id=40643
Second of three steps - rename Canvas3DLayer to WebGLLayer
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/mac/Canvas3DLayer.h: Removed.
* platform/graphics/mac/Canvas3DLayer.mm: Removed.
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
* platform/graphics/mac/WebGLLayer.h: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.h.
* platform/graphics/mac/WebGLLayer.mm: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.mm.
2010-06-16 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=40643
Rename GraphicsContext3DMac.cpp so it can interact with CALayer
* platform/graphics/mac/GraphicsContext3DMac.cpp: Removed.
* platform/graphics/mac/GraphicsContext3DMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp.
* WebCore.xcodeproj/project.pbxproj
2010-06-16 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Add new files, needed in SVG Text rewrite
https://bugs.webkit.org/show_bug.cgi?id=40676
Land SVGTextChunkLayoutInfo.cpp and SVGTextQuery.(cpp|h), both with an "#if 0" on top, as they will be needed
in a later patch, completing the SVG Text rewrite, that will enable them.
Doesn't affect any code for now, it should just reduce the review amount.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/SVGTextChunkLayoutInfo.cpp: Added.
(WebCore::cummulatedWidthOrHeightOfTextChunk):
(WebCore::cummulatedWidthOfTextChunk):
(WebCore::cummulatedHeightOfTextChunk):
(WebCore::calculateTextAnchorShiftForTextChunk):
(WebCore::applyTextAnchorToTextChunk):
(WebCore::calculateTextLengthCorrectionForTextChunk):
(WebCore::applyTextLengthCorrectionToTextChunk):
(WebCore::SVGTextChunkLayoutInfo::startTextChunk):
(WebCore::SVGTextChunkLayoutInfo::closeTextChunk):
(WebCore::SVGTextChunkLayoutInfo::buildTextChunks):
(WebCore::SVGTextChunkLayoutInfo::recursiveBuildTextChunks):
(WebCore::SVGTextChunkLayoutInfo::layoutTextChunks):
* rendering/SVGTextChunkLayoutInfo.h: Add missing include, otherwhise compiling SVGTextChunkLayoutInfo.cpp will fail.
* rendering/SVGTextQuery.cpp: Added.
(WebCore::SVGTextQuery::Data::Data):
(WebCore::flowBoxForRenderer):
(WebCore::mapLengthThroughChunkTransformation):
(WebCore::SVGTextQuery::SVGTextQuery):
(WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
(WebCore::SVGTextQuery::executeQuery):
(WebCore::SVGTextQuery::mapStartAndLengthIntoChunkPartCoordinates):
(WebCore::SVGTextQuery::measureCharacterRange):
(WebCore::NumberOfCharactersData::NumberOfCharactersData):
(WebCore::SVGTextQuery::numberOfCharactersCallback):
(WebCore::SVGTextQuery::numberOfCharacters):
(WebCore::TextLengthData::TextLengthData):
(WebCore::SVGTextQuery::textLengthCallback):
(WebCore::SVGTextQuery::textLength):
(WebCore::SubStringLengthData::SubStringLengthData):
(WebCore::SVGTextQuery::subStringLengthCallback):
(WebCore::SVGTextQuery::subStringLength):
(WebCore::StartPositionOfCharacterData::StartPositionOfCharacterData):
(WebCore::SVGTextQuery::startPositionOfCharacterCallback):
(WebCore::SVGTextQuery::startPositionOfCharacter):
(WebCore::EndPositionOfCharacterData::EndPositionOfCharacterData):
(WebCore::SVGTextQuery::endPositionOfCharacterCallback):
(WebCore::SVGTextQuery::endPositionOfCharacter):
(WebCore::RotationOfCharacterData::RotationOfCharacterData):
(WebCore::SVGTextQuery::rotationOfCharacterCallback):
(WebCore::SVGTextQuery::rotationOfCharacter):
(WebCore::ExtentOfCharacterData::ExtentOfCharacterData):
(WebCore::SVGTextQuery::extentOfCharacterCallback):
(WebCore::SVGTextQuery::extentOfCharacter):
(WebCore::CharacterNumberAtPositionData::CharacterNumberAtPositionData):
(WebCore::SVGTextQuery::characterNumberAtPositionCallback):
(WebCore::SVGTextQuery::characterNumberAtPosition):
* rendering/SVGTextQuery.h: Added.
2010-06-16 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Provide floating-point support for text selection framework
https://bugs.webkit.org/show_bug.cgi?id=40665
This is the first chunk of the SVG Text rewrite patches.
offsetForPosition() / selectionRectForText() should accept float/FloatPoint arguments instead
of int/IntPoint. offsetForPosition() already worked with floats internally in Qt and Mac.
selectionRectForText() was already returning a FloatRect, but the passed in origin was an integer.
Fixing these problems in order to support sub-pixel positioning in the upcoming SVG Text rewrite patch.
Add a glyphScale parameter to TextRun, that will be used to support text selection
in lengthAdjust/textLength scenarios in SVG text, soon.
Doesn't affect any testcases so far. HTML is not affected in any way,
as it only ever passes integers to these functions.
* platform/graphics/Font.cpp:
(WebCore::Font::selectionRectForText):
(WebCore::Font::offsetForPosition):
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::selectionRectForSimpleText):
(WebCore::Font::offsetForPositionForSimpleText):
* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::glyphScale):
(WebCore::TextRun::setGlyphScale):
(WebCore::TextRun::applyGlyphScaling):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance):
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/efl/FontEfl.cpp:
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/haiku/FontHaiku.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::offsetForPosition):
* platform/graphics/mac/ComplexTextController.h:
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::offsetForPositionForSimpleText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForSimpleText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/win/FontWin.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/graphics/wince/FontWince.cpp:
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/wx/FontWx.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* svg/SVGFont.cpp:
(WebCore::Font::selectionRectForTextUsingSVGFont):
(WebCore::Font::offsetForPositionForTextUsingSVGFont):
2010-06-16 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
[v8] Introduce single element caches for WebCore::String to v8::String conversions
https://bugs.webkit.org/show_bug.cgi?id=40435
Measurements show that for some web apps (GMail, Wave) and some scenarios
(intensive reading and/or keeping a tab open for a long time),
hit rate lies in 30--50% interval.
Inlining fast case gives another minor performance win.
* bindings/v8/V8Binding.cpp:
(WebCore::getStringCache):
(WebCore::v8ExternalStringSlow):
* bindings/v8/V8Binding.h:
(WebCore::v8ExternalString):
2010-06-16 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Kenneth Christiansen.
Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position
https://bugs.webkit.org/show_bug.cgi?id=39439
As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20,
"It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because
that's just the distance from the offsetParent, not the absolute position".
Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively,
starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works
because all tests were done in htmls where the {i}frame element was a directly a child of the body,
e.g. <html>...<body><iframe src=xxx>....<body></html>.
Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html
* page/SpatialNavigation.cpp:
(WebCore::renderRectRelativeToRootDocument):
2010-06-16 Dan Bernstein <mitz@apple.com>
Try to fix the Tiger build
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformBoundsForGlyph):
2010-06-16 Dan Bernstein <mitz@apple.com>
Try to fix the Tiger build
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformBoundsForGlyph):
2010-06-16 Dan Bernstein <mitz@apple.com>
Reviewed by Alexey Proskuryakov.
<rdar://problem/8077119> REGRESSION (r60247): Google Reader contains the tops of pieces of unidentifiable text under feed headlines.
https://bugs.webkit.org/show_bug.cgi?id=40386
Test: platform/mac/fast/text/x-height.html
The result of platformBoundsForGlyph() is in flipped coordinates, whereas the result of
-[NSFont boundingRectForGlyph:] was not. r60247 failed to account for this.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformInit): Measure the height of the x glyph above the baseline
correctly.
(WebCore::SimpleFontData::platformBoundsForGlyph): Return a rect in flipped coordinates on Tiger
as well.
2010-06-16 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Don't crash when a document ends with an entity
https://bugs.webkit.org/show_bug.cgi?id=40658
When we SWITCH_TO a state, we're expecting our caller to have advanced
the source. Rather than have all the callers check for empty, we do
that ourselves.
* html/HTML5Lexer.cpp:
2010-06-15 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Enable HTML5 lexer
https://bugs.webkit.org/show_bug.cgi?id=40650
* page/Settings.cpp:
(WebCore::Settings::Settings):
2010-06-15 Mark Rowe <mrowe@apple.com>
Rubber-stamped by David Harrison.
sqlite3_prepare16_v2 is not documented as always setting "tail" during error cases.
Explicitly initialize it to null, just to be safe.
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare):
2010-06-15 Mark Rowe <mrowe@apple.com>
Reviewed by Brady Eidson.
<rdar://problem/8091103> URLs not added to history when initial load happens via back/forward navigation
Back/forward navigation currently does not create or update items in the global history. This is usually
desirable, except for in the event where the back/forward list was created programmatically and attached
to the WebView and the initial load in that WebView is being performed as a result of a back/forward
navigation. In that situation it is preferable to ensure that global history item is created or updated.
No test case is added because DumpRenderTree is not able to test the scenario where the initial
load in a WebView occurs via a back/forward navigation.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::transitionToCommitted): If we're committing the first load in this frame as a
back/forward navigation then we should update the history as if it were a standard load, with the
exception of updating the back/forward list.
* loader/HistoryController.cpp:
(WebCore::HistoryController::updateForStandardLoad): Add a parameter to allow callers to skip updating
the back/forward list.
* loader/HistoryController.h:
(WebCore::HistoryController::):
2010-06-15 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by David Levin.
Fix compilation errors in BlobBuilder with FILE_WRITER enabled
https://bugs.webkit.org/show_bug.cgi?id=40606
No functionality change so no new tests.
* html/BlobBuilder.cpp:
* html/BlobBuilder.h:
2010-06-15 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Move type attribute from File.idl to Blob.idl per latest File API spec.
https://bugs.webkit.org/show_bug.cgi?id=40642
* html/Blob.idl:
* html/File.idl:
2010-06-15 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Move functions out of Frame class that were marked "move to Chrome"
https://bugs.webkit.org/show_bug.cgi?id=39636
Refactoring that does not require new tests.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didOpenURL): Call setStatus and setDefaultStatus
on DOMWindow rather than going through Frame.
(WebCore::FrameLoader::open): Ditto.
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call
shouldClose on this object instead of going through Frame.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Call
shouldClose on FrameLoader instead of going through Frame.
(WebCore::DOMWindow::focus): Moved the code from Frame::focusWindow
in here.
(WebCore::DOMWindow::blur): Moved the code from Frame::unfocusWindow
in here.
(WebCore::DOMWindow::close): Moved the code from Frame::scheduleClose
in here.
(WebCore::DOMWindow::setStatus): Moved the code from
Frame::setJSStatusBarText in here.
(WebCore::DOMWindow::setDefaultStatus): Moved the code from
Frame::setJSDefaultStatusBarText in here.
* page/DOMWindow.h: Added m_status and m_defaultStatus members to
store the status messages being set by the DOM.
* page/Frame.cpp: Removed all the functions that were marked
"to be moved into Chrome".
* page/Frame.h: Ditto.
2010-06-15 Simon Fraser <simon.fraser@apple.com>
Fix crashing tests; need to check for null documentElement().
* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
2010-06-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Garbage shown outside HTML if HTML is absolutely positioned
https://bugs.webkit.org/show_bug.cgi?id=36163
Add a check that the root renderer (the document element's renderer) covers
the entire viewport before deciding that we don't need the RenderView
to paint its background. Fixes lack of painting with positioned, floated, and
display: table html elements.
Test: fast/repaint/positioned-document-element.html
* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
2010-06-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Safari 5 does not clear background with transformed html element
https://bugs.webkit.org/show_bug.cgi?id=40498
When the document element is composited, ensure that the FrameView
paints the background, because the composited layer may be transparent,
or might get moved via animation.
Test: compositing/repaint/composited-document-element.html
* rendering/RenderView.cpp:
(WebCore::isComposited):
(WebCore::rendererObscuresBackground):
2010-06-15 Xan Lopez <xlopez@igalia.com>
Try to fix GTK+ build.
* platform/gtk/GtkVersioning.h:
2010-06-15 Darin Fisher <darin@chromium.org>
Reviewed by Brady Eidson.
Introduce HistoryItem::itemSequenceNumber and use it to identify
HistoryItems that are clones of one another.
Changes HistoryController::recursiveGoToItem to use itemSequenceNumber
equality instead of isTargetItem as the pre-requisite for not calling
FrameLoader::loadItem.
Changes FrameLoader::loadItem to require equivalent
documentSequenceNumber before initiating a same document navigation.
This alone would appear to fix the bug, but it does not go far enough
since without the itemSequenceNumber equality check, we'd re-load more
often than we should.
Moves documentSequenceNumber assignment into createItemTree as cleanup
and to ensure that it gets called properly whenever we create a cloned
HistoryItem. (createItemTree's mission is to create clones up until
or including the target frame depending on the value of the doClip
parameter.)
Removes the now unused HistoryController::urlsMatchItem.
https://bugs.webkit.org/show_bug.cgi?id=40451
Test: fast/history/history-back-within-subframe.html
http/tests/navigation/history-back-across-form-submission-to-fragment.html
* history/HistoryItem.cpp:
(WebCore::generateSequenceNumber):
(WebCore::HistoryItem::HistoryItem):
* history/HistoryItem.h:
(WebCore::HistoryItem::setItemSequenceNumber):
(WebCore::HistoryItem::itemSequenceNumber):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadItem):
* loader/HistoryController.cpp:
(WebCore::HistoryController::updateBackForwardListForFragmentScroll):
(WebCore::HistoryController::createItemTree):
(WebCore::HistoryController::recursiveGoToItem):
(WebCore::HistoryController::pushState):
* loader/HistoryController.h:
2010-06-15 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Does not compile with -DGSEAL_ENABLE
https://bugs.webkit.org/show_bug.cgi?id=37851
Fix compilation with GSEAL_ENABLE.
* platform/gtk/GtkVersioning.h:
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenu::show):
* platform/gtk/ScrollbarGtk.cpp:
(ScrollbarGtk::detachAdjustment):
(ScrollbarGtk::updateThumbPosition):
(ScrollbarGtk::updateThumbProportion):
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::paint):
(WebCore::PluginView::initXEvent):
(WebCore::PluginView::platformGetValue):
(WebCore::PluginView::platformStart):
* plugins/gtk/gtk2xtbin.c:
(gtk_xtbin_realize):
(gtk_xtbin_new):
(gtk_xtbin_set_position):
(gtk_xtbin_unrealize):
2010-06-15 Xan Lopez <xlopez@igalia.com>
Unreviewed build fix.
Fix the build when WebSockets are disabled.
* bindings/js/JSWorkerContextCustom.cpp:
2010-06-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
YouTube thumbnail borders vanish during transition
https://bugs.webkit.org/show_bug.cgi?id=40551
Turn off the direct image optimization if the image has a clip style, so that is is
correctly rendered with the clip.
Test: compositing/images/clip-on-directly-composited-image.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
2010-06-15 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: make ui tests pass when ScriptDebugServer is used
https://bugs.webkit.org/show_bug.cgi?id=40623
* bindings/v8/JavaScriptCallFrame.cpp:
(WebCore::JavaScriptCallFrame::functionName): return empty string for anonymous functions instead of [anonymous].
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::handleV8DebugEvent): autocontinue on syntax errors since there is no stack trace and
not much to inspect.
2010-06-15 Adam Roben <aroben@apple.com>
Make WebCore's and JavaScriptCore's DerivedSources available for debugging in production builds
Fixes <http://webkit.org/b/40626> <rdar://problem/8094205>.
Reviewed by Sam Weinig.
* WebCore.vcproj/WebCore.make: Copy the contents of WebCore's
DerivedSources directory to AppleInternal/Sources/WebCore.
2010-06-15 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Bring framebuffer functions to GLES2 conformance
https://bugs.webkit.org/show_bug.cgi?id=40175
Test: fast/canvas/webgl/framebuffer-test.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::checkFramebufferStatus): Check input parameters and deal with default framebuffer situation.
(WebCore::WebGLRenderingContext::framebufferRenderbuffer): Check input parameters.
(WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Check input parameters.
* html/canvas/WebGLRenderingContext.h: Add validateFramebufferFuncParameters.
2010-06-15 Patrick Gansterer <paroga@paroga.com>
Reviewed by David Levin.
Buildfix for ResourceHandleWin after r24202 and r55542.
https://bugs.webkit.org/show_bug.cgi?id=32963
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onHandleCreated):
(WebCore::ResourceHandle::onRequestComplete):
(WebCore::transferJobStatusCallback):
(WebCore::ResourceHandle::start):
2010-06-12 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Joe Pecoraro.
Web Inspector: Should not expose window.console._inspectorCommandLineAPI to the web.
https://bugs.webkit.org/show_bug.cgi?id=40500
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
(injectedScriptConstructor.):
2010-06-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Simon Hausmann.
[Qt] The qt_webkit_version.pri file gets overwritten on install
https://bugs.webkit.org/show_bug.cgi?id=40487
Don't install qt_webkit_version.pri when building WebKit inside of Qt.
The import of WebKit into Qt will take care of providing the file
in mkspecs/modules and it'll be installed through projects.pro.
* WebCore.pro:
2010-06-15 Tony Chang <tony@chromium.org>
Reviewed by Ojan Vafai.
resolve urls in text/html clipboard data
https://bugs.webkit.org/show_bug.cgi?id=40044
Allow text/html data copied from a page to contain full URLs when
dragging or copy/pasting.
Tests: editing/pasteboard/copy-resolves-urls.html
http/tests/misc/copy-resolves-urls.html
* WebCore.base.exp:
* editing/markup.cpp:
(WebCore::appendStartMarkup):
(WebCore::getStartMarkup):
(WebCore::MarkupAccumulator::appendMarkup):
(WebCore::createMarkup):
* editing/markup.h:
(WebCore::):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::writeRange):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeSelection):
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::writeRange):
* platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::markup):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeSelection):
* platform/haiku/PasteboardHaiku.cpp:
(WebCore::Pasteboard::writeSelection):
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::writeRange):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeSelection):
2010-06-14 Chris Fleizach <cfleizach@apple.com>
No review. GTK build fix.
AX: need ListItemRole and PresentationalRole
https://bugs.webkit.org/show_bug.cgi?id=40133
Mostly speculative fix to make GTK unit tests work.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(atkRole):
(webkit_accessible_get_role):
2010-06-14 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/8090895> Update http streaming MIME types
* platform/MIMETypeRegistry.cpp:
(WebCore::TypeExtensionPair::): Add http streaming MIME synonyms.
2010-06-14 Eric Carlson <eric.carlson@apple.com>
Reviewed by Oliver Hunt.
audio/x-mp3 MIME type not recognized
<rdar://problem/7875393>
https://bugs.webkit.org/show_bug.cgi?id=40594
Allow MIMETypeRegistry to have more than one MIME type for a
media file extension, and have the QTKit media engine register
all MIME types it can find for each file type QTKit supports.
Test: media/media-can-play-mp3.html
* platform/MIMETypeRegistry.cpp:
(WebCore::mediaMIMETypeMap): Update for new HashMap format.
(WebCore::TypeExtensionPair::): Store String+Vector<String>
(WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Only consult
mediaMIMETypeMap(), it has the canonical answer.
(WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): New, return
a Vector of all MIME types for an extension.
* platform/MIMETypeRegistry.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::addFileTypesToCache): Add all MIME types returned in the
getMediaMIMETypesForExtension Vector.
2010-06-14 Mark Rowe <mrowe@apple.com>
Reviewed by Brady Eidson.
<rdar://problem/8071866> REGRESSION: Crash on launch on Tiger and Leopard with network home folder
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare): Don't assume that tail is always non-null, since that may
not be the case with some versions of SQLite. Instead we must null-check before dereferencing.
2010-06-14 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* plugins/mac/PluginDataMac.mm:
2010-06-14 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Use an array for extensions in MimeClassInfo
https://bugs.webkit.org/show_bug.cgi?id=40602
Get rid of MimeClassInfo::suffixes and replace it with an array of extensions.
* plugins/MimeType.cpp:
(WebCore::MimeType::suffixes):
Create a string of joined extensions.
* plugins/MimeType.h:
* plugins/PluginData.h:
(WebCore::operator==):
* plugins/chromium/PluginDataChromium.cpp:
(WebCore::getPluginMimeTypeFromExtension):
* plugins/gtk/PluginDataGtk.cpp:
(WebCore::PluginData::initPlugins):
* plugins/mac/PluginDataMac.mm:
(WebCore::PluginData::initPlugins):
* plugins/qt/PluginDataQt.cpp:
(WebCore::PluginData::initPlugins):
* plugins/win/PluginDataWin.cpp:
(WebCore::PluginData::initPlugins):
* plugins/wx/PluginDataWx.cpp:
(WebCore::PluginData::initPlugins):
2010-06-14 Adam Barth <abarth@webkit.org>
Unreviewed.
Add an include to try to fix Chromium build.
* html/HTML5DocumentParser.cpp:
2010-06-14 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Safari beach-balls loading large pages with HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=40596
Implement parser yielding, similar to how the old
HTMLDocumentParser yields.
This implementation re-uses the tokenizerTimeDelay and
tokenizerChunkSize settings even though they don't map exactly
to the token loop that the HTML5 parser uses.
* dom/DocumentParser.h:
- Add a FIXME for processingData() and clarify how the
appendData flag is used by renaming it to isFromNetwork.
* html/HTML5DocumentParser.cpp:
(WebCore::parserTimeLimit):
- Defaults accessor, probably belongs on Page.
(WebCore::parserChunkSize):
- Defaults accessor, probably belongs on Page.
(WebCore::HTML5DocumentParser::HTML5DocumentParser):
(WebCore::HTML5DocumentParser::stopParsing):
- Stop the continue-parsing timer if active.
(WebCore::HTML5DocumentParser::processingData):
- Implement this poorly understood accessor to match
the old parser's behavior. It's unclear what this does
and it does not affect any layout tests to my knowledge
but likely affects the WebKit API in some way.
(WebCore::HTML5DocumentParser::pumpLexerIfPossible):
- Pass SynchronousMode.
- Do not ever pump if we've yielded to the timer.
(WebCore::HTML5DocumentParser::PumpSession::PumpSession):
- A struct for storing the yield counters.
(WebCore::HTML5DocumentParser::shouldContinueParsing):
- Mostly matches HTMLDocumentParser::shouldContinueParsing.
(WebCore::HTML5DocumentParser::pumpLexer):
- Respect SynchronousMode.
- ASSERT that a timer is not scheduled if we're pumping.
(WebCore::isLayoutTimerActive):
- This belongs on Document.
(WebCore::HTML5DocumentParser::continueNextChunkTimerFired):
(WebCore::HTML5DocumentParser::write):
(WebCore::HTML5DocumentParser::end):
- We should never end() if a timer is still outstanding.
(WebCore::HTML5DocumentParser::attemptToEnd):
(WebCore::HTML5DocumentParser::endIfDelayed):
(WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
* html/HTML5DocumentParser.h:
(WebCore::HTML5DocumentParser::):
* html/HTMLDocumentParser.cpp:
- Clarify the old TimeDelay and ChunkSize constants.
2010-06-14 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add a preload scanner for the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=40557
This patch adds a simple preload scanner for the HTML5 parser. This
preload scanner is not as awesome as the old one because it doesn't
scan CSS, but it's much simpler.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- Build file torture.
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::write):
- Call into the preload scanner when waiting for a script.
* html/HTML5DocumentParser.h:
* html/HTML5PreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
(WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
(WebCore::HTML5PreloadScanner::scan):
- A simple loop to pump the preload scanner's lexer.
(WebCore::HTML5PreloadScanner::processToken):
- Preload interesting resources. Stolen from the old preload
scanner.
(WebCore::HTML5PreloadScanner::scanningBody):
* html/HTML5PreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
2010-06-14 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Constify some HTML5Token methods
https://bugs.webkit.org/show_bug.cgi?id=40592
I keep wanting these methods to be const. Eric wanted this in a
separate patch.
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::state):
* html/HTML5Token.h:
(WebCore::HTML5Token::attributes):
(WebCore::HTML5Token::name):
(WebCore::HTML5Token::characters):
(WebCore::HTML5Token::comment):
(WebCore::HTML5Token::publicIdentifier):
(WebCore::HTML5Token::systemIdentifier):
* html/HTML5TreeBuilder.cpp:
(WebCore::convertToOldStyle):
(WebCore::HTML5TreeBuilder::adjustedLexerState):
- Technically, this might belong in the other patch, but I think
it's fine here.
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
* html/HTML5TreeBuilder.h:
2010-06-14 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, build fix.
* WebCore.xcodeproj/project.pbxproj:
2010-06-14 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
Remove accidental specifying of the class name twice.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareFormData): Removed my ghastly typo.
2010-06-14 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Get DatabaseTracker ready for sync DBs.
https://bugs.webkit.org/show_bug.cgi?id=39041
* storage/AbstractDatabase.cpp:
(WebCore::AbstractDatabase::~AbstractDatabase):
* storage/AbstractDatabase.h:
* storage/Database.cpp:
(WebCore::Database::closeImmediately):
* storage/Database.h:
(WebCore::Database::scriptExecutionContext):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::databaseChanged):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFile):
* storage/DatabaseTracker.h:
* storage/OriginQuotaManager.cpp:
(WebCore::OriginQuotaManager::markDatabase):
* storage/OriginQuotaManager.h:
* storage/chromium/DatabaseObserver.h:
* storage/chromium/DatabaseTrackerChromium.cpp:
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::TrackerRemoveOpenDatabaseTask::create):
(WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
2010-06-14 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=40529
eventSender.keyDown("delete") incorrectly sends a backspace on some platforms
* platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
Use virtual key code to force correct character code for clarity. Also, reworded comment,
since saying that "backspace needs to always be 8" misleadingly implied that it could
"sometimes" be such without this code.
2010-06-14 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Refactor form submission code in HTMLFormElement to add clarity.
https://bugs.webkit.org/show_bug.cgi?id=39430
Covered by existing tests in fast/forms/mailto.
* html/HTMLFormElement.cpp:
(WebCore::appendMailtoPostFormDataToURL): Renamed from transferMailtoPostFormDataToUrl,
removed clearing out of the FormData and moved it to a new place (next to the call site).
(WebCore::HTMLFormElement::prepareFormData): Renamed from createFormData, moved the logic of
prepareing FormData here, including the use of appendMailtoPostFormDataToURL.
(WebCore::HTMLFormElement::submit): Consolidated multiple invocations of submitForm().
* html/HTMLFormElement.h: Renamed createFormData to prepareFormData.
2010-06-14 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: need ListItemRole and PresentationalRole
https://bugs.webkit.org/show_bug.cgi?id=40133
* accessibility/AccessibilityObject.cpp:
(WebCore::createARIARoleMap):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isListItem):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2010-06-14 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove pluginIndex from MimeClassInfo
https://bugs.webkit.org/show_bug.cgi?id=40588
* plugins/PluginData.h:
* plugins/gtk/PluginDataGtk.cpp:
(WebCore::PluginData::initPlugins):
* plugins/mac/PluginDataMac.mm:
(WebCore::PluginData::initPlugins):
* plugins/qt/PluginDataQt.cpp:
(WebCore::PluginData::initPlugins):
* plugins/win/PluginDataWin.cpp:
(WebCore::PluginData::initPlugins):
* plugins/wx/PluginDataWx.cpp:
(WebCore::PluginData::initPlugins):
2010-06-14 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Implement BlobBuilder internal class for BlobBuilder support as defined in FileWriter
https://bugs.webkit.org/show_bug.cgi?id=36903
No new tests; they will be added when we add jsc bindings.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/BlobBuilder.cpp: Added.
* html/BlobBuilder.h: Added.
(WebCore::BlobBuilder::create):
* platform/BlobItem.cpp:
(WebCore::StringBlobItem::convertToCString): Added EndingNative support.
* platform/BlobItem.h: Added EndingNative line-ending type.
(WebCore::):
2010-06-14 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Stop using MimeClassInfo::pluginIndex
https://bugs.webkit.org/show_bug.cgi?id=40582
Add a pluginIndicies vector to PluginData and use it instead of MimeClassInfo::pluginIndex.
* plugins/MimeType.cpp:
(WebCore::MimeType::enabledPlugin):
Get the plug-in index from the mimePluginIndices vector.
* plugins/Plugin.cpp:
(WebCore::Plugin::item):
Compare the mime plugin index as well.
* plugins/PluginData.cpp:
(WebCore::PluginData::PluginData):
Populate the m_mimePluginIndices vector.
(WebCore::PluginData::pluginNameForMimeType):
Get the plug-in index from the m_mimePluginIndices vector.
* plugins/PluginData.h:
(WebCore::operator==):
Don't check for pluginIndex.
(WebCore::PluginData::mimePluginIndices):
Add getter for m_mimePluginIndices.
2010-06-14 Sam Weinig <sam@webkit.org>
Better build fix.
* bindings/js/JSBindingsAllInOne.cpp:
2010-06-14 Sam Weinig <sam@webkit.org>
Another windows build fix.
* bindings/js/JSBindingsAllInOne.cpp:
2010-06-14 Sam Weinig <sam@webkit.org>
Another build fix.
* bindings/js/JSDOMWindowCustom.cpp:
2010-06-14 Sam Weinig <sam@webkit.org>
Add missing comma to fix GTK build.
* xml/XSLTProcessor.idl:
2010-06-14 Sam Weinig <sam@webkit.org>
Reviewed by Alexey Proskuryakov.
Fix for https://bugs.webkit.org/show_bug.cgi?id=40581
Auto-generate most of the JS constructors
- Auto-generates all the JS constructors that don't have custom
names (eg, Not Image(), Audio() or Option())
- Fixes two typos.
(new XSLTConstructor()).toString() [object XSLTProcessorConsructor] -> [object XSLTProcessorConstructor])
(new EventSource()).toString() [object EventSourceContructor] -> [object EventSourceConstructor])
* Android.jscbindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSArrayBufferConstructor.cpp: Removed.
* bindings/js/JSArrayBufferConstructor.h: Removed.
* bindings/js/JSArrayBufferCustom.cpp: Copied from WebCore/bindings/js/JSArrayBufferConstructor.cpp.
(WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::constructArrayBufferView):
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSEventSourceConstructor.cpp: Removed.
* bindings/js/JSEventSourceConstructor.h: Removed.
* bindings/js/JSEventSourceCustom.cpp: Copied from WebCore/bindings/js/JSEventSourceConstructor.cpp.
(WebCore::JSEventSourceConstructor::constructJSEventSource):
* bindings/js/JSFloat32ArrayConstructor.cpp: Removed.
* bindings/js/JSFloat32ArrayConstructor.h: Removed.
* bindings/js/JSFloat32ArrayCustom.cpp:
(WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
* bindings/js/JSInt16ArrayConstructor.cpp: Removed.
* bindings/js/JSInt16ArrayConstructor.h: Removed.
* bindings/js/JSInt16ArrayCustom.cpp:
(WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
* bindings/js/JSInt32ArrayConstructor.cpp: Removed.
* bindings/js/JSInt32ArrayConstructor.h: Removed.
* bindings/js/JSInt32ArrayCustom.cpp:
(WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
* bindings/js/JSInt8ArrayConstructor.cpp: Removed.
* bindings/js/JSInt8ArrayConstructor.h: Removed.
* bindings/js/JSInt8ArrayCustom.cpp:
(WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
* bindings/js/JSMessageChannelConstructor.cpp: Removed.
* bindings/js/JSMessageChannelConstructor.h: Removed.
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannelConstructor::constructJSMessageChannel):
* bindings/js/JSSharedWorkerConstructor.cpp: Removed.
* bindings/js/JSSharedWorkerConstructor.h: Removed.
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
* bindings/js/JSUint16ArrayConstructor.cpp: Removed.
* bindings/js/JSUint16ArrayConstructor.h: Removed.
* bindings/js/JSUint16ArrayCustom.cpp:
(WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
* bindings/js/JSUint32ArrayConstructor.cpp: Removed.
* bindings/js/JSUint32ArrayConstructor.h: Removed.
* bindings/js/JSUint32ArrayCustom.cpp:
(WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
* bindings/js/JSUint8ArrayConstructor.cpp: Removed.
* bindings/js/JSUint8ArrayConstructor.h: Removed.
* bindings/js/JSUint8ArrayCustom.cpp:
(WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
* bindings/js/JSWebKitCSSMatrixConstructor.cpp: Removed.
* bindings/js/JSWebKitCSSMatrixConstructor.h: Removed.
* bindings/js/JSWebKitCSSMatrixCustom.cpp: Copied from WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp.
(WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
* bindings/js/JSWebKitPointConstructor.cpp: Removed.
* bindings/js/JSWebKitPointConstructor.h: Removed.
* bindings/js/JSWebKitPointCustom.cpp: Copied from WebCore/bindings/js/JSWebKitPointConstructor.cpp.
(WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
* bindings/js/JSWebSocketConstructor.cpp: Removed.
* bindings/js/JSWebSocketConstructor.h: Removed.
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocketConstructor::constructJSWebSocket):
* bindings/js/JSWorkerConstructor.cpp: Removed.
* bindings/js/JSWorkerConstructor.h: Removed.
* bindings/js/JSWorkerContextCustom.cpp:
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorkerConstructor::constructJSWorker):
* bindings/js/JSXSLTProcessorConstructor.cpp: Removed.
* bindings/js/JSXSLTProcessorConstructor.h: Removed.
* bindings/js/JSXSLTProcessorCustom.cpp:
(WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
* bindings/scripts/CodeGeneratorJS.pm:
* css/WebKitCSSMatrix.idl:
* dom/MessageChannel.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/Float32Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* page/EventSource.idl:
* page/WebKitPoint.idl:
* websockets/WebSocket.idl:
* workers/SharedWorker.idl:
* workers/Worker.idl:
* xml/XSLTProcessor.idl:
2010-05-16 Antonio Gomes <tonikitoo@webkit.org>
Unreviewed naming fixes of local variables used in Spatial Navigation methods.
Summary:
* "candidate" renamed to "node";
* "currentFocusCandidate" renamed to "candidate"
* "closestFocusCandidate" renamed to "closest"
That way naming is more consistent in the various Spatial Navigation methods.
* page/FocusController.cpp:
(WebCore::FocusController::findFocusableNodeInDirection):
(WebCore::FocusController::deepFindFocusableNodeInDirection):
2010-06-14 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Simon Fraser and Kenneth Christiansen.
Spatial Navigation: make it work with focusable elements in overflow content
https://bugs.webkit.org/show_bug.cgi?id=36463
This patch addresses the problem with Spatial Navigation. It currently does not
properly traverse scrollable contents, including scrollable div's. For this to work,
a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which
keeps track of the current scrollable box Node wrapping a FocusCandidate.
To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine
(FocusController::findNextFocusableInDirection) was changed as follows: when it
encounters a scrollable Node, each focusable node which is 'inner' keeps track of
the container reference. By the time a sibling of the scrollable Node is encountered,
there is no need to track this reference any more and the traversal algorithm continues
normally.
The common case is obviously that there is no scrollable container wrapping it.
updateFocusCandiditeIfCloser logic was also adapted to fit the need of the
newly introduced enclosingScrollableBox class member, getting simpler and more
easily maintainable.
Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html
fast/events/spatial-navigation/snav-clipped-overflow-content.html
* page/FocusController.cpp:
(WebCore::updateFocusCandidateInSameContainer):
(WebCore::updateFocusCandidateIfCloser):
(WebCore::FocusController::findFocusableNodeInDirection):
(WebCore::FocusController::deepFindFocusableNodeInDirection):
* page/SpatialNavigation.cpp:
(WebCore::isScrollableContainerNode):
* page/SpatialNavigation.h:
(WebCore::FocusCandidate::FocusCandidate):
(WebCore::FocusCandidate::isInScrollableContainer):
2010-06-14 Jian Li <jianli@chromium.org>
Unreviewed. Fix build break in GTK.
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
* bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2010-06-14 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: AXUnknown objects are being returned
https://bugs.webkit.org/show_bug.cgi?id=40574
Test: platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2010-06-14 Jian Li <jianli@chromium.org>
Reviewed by Darin Adler.
Fix code generators to better support Conditional attribute and add test
coverage for it.
https://bugs.webkit.org/show_bug.cgi?id=39512
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_get_conditional_attr1):
(webkit_dom_test_obj_set_conditional_attr1):
(webkit_dom_test_obj_get_conditional_attr2):
(webkit_dom_test_obj_set_conditional_attr2):
(webkit_dom_test_obj_get_conditional_attr3):
(webkit_dom_test_obj_set_conditional_attr3):
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestInterface.mm:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj conditionalAttr1]):
(-[DOMTestObj setConditionalAttr1:]):
(-[DOMTestObj conditionalAttr2]):
(-[DOMTestObj setConditionalAttr2:]):
(-[DOMTestObj conditionalAttr3]):
(-[DOMTestObj setConditionalAttr3:]):
* bindings/scripts/test/TestInterface.idl:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestInterface.cpp:
* bindings/scripts/test/V8/V8TestInterface.h:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::conditionalAttr1AttrGetter):
(WebCore::TestObjInternal::conditionalAttr1AttrSetter):
(WebCore::TestObjInternal::conditionalAttr2AttrGetter):
(WebCore::TestObjInternal::conditionalAttr2AttrSetter):
(WebCore::TestObjInternal::conditionalAttr3AttrGetter):
(WebCore::TestObjInternal::conditionalAttr3AttrSetter):
(WebCore::):
2010-06-14 Chang Shu <chang.shu@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Change the type of ShadowSize from IntSize to FloatSize in GraphicsContext.
Using IntSize loses precision and fails the test.
Note: This code change fixes Qt port but Mac is still failing due to
platform issue.
https://bugs.webkit.org/show_bug.cgi?id=40434
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::applyShadow):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::getShadow):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContextPrivate.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::calculateShadowBufferDimensions):
(WebCore::drawPathShadow):
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::Font::drawComplexText):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::drawFilledShadowPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::windowsCanHandleDrawTextShadow):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::drawGDIGlyphs):
(WebCore::Font::drawGlyphs):
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::drawText):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
2010-06-14 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7752961> Unevenly distributed space in justified text
https://bugs.webkit.org/show_bug.cgi?id=36105
Test: fast/text/justify-padding-distribution.html
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator): Initialize m_padPerSpace to the quotient of the total
padding and the number of spaces rather than truncating it.
(WebCore::WidthIterator::advance): Subtract m_padPerSpace from m_padding and add the difference
between its old and new values, when rounded, to the advance.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::UniscribeController):
(WebCore::UniscribeController::shapeAndPlaceItem):
* platform/graphics/win/UniscribeController.h:
2010-06-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Stack overflow when converting navigator object to QVariant
https://bugs.webkit.org/show_bug.cgi?id=40572
Protect against infinite recursion in JSValue->QVariant conversion.
This fixes a crash when trying to convert MimeType objects (they
recurse infinitely and on-the-fly via the enabledPlugin property.)
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
2010-06-14 Yong Li <yoli@rim.com>
Test cases created by: Robin Cao <robin.cao@torchmobile.com.cn>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=38910
Suspend Document::m_executeScriptSoonTimer objects when the page is deferred.
There's no reason why we suspend all active DOM timers on the page but not suspend
this one. Document::m_executeScriptSoonTimer can run JS and schedule more DOM Timers.
It can only be tested manually.
* manual-tests/load-deferrer-script-element.html: Added.
* manual-tests/resources/load-deferrer-script-element.js: Added.
* dom/Document.cpp:
(WebCore::Document::executeScriptSoon):
(WebCore::Document::suspendExecuteScriptSoonTimer): Added.
(WebCore::Document::resumeExecuteScriptSoonTimer): Added.
* dom/Document.h:
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
(WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2010-06-13 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Platform plugin support for Notifications UI
https://bugs.webkit.org/show_bug.cgi?id=40005
To avoid race condition when GC is run during shutdown,
disconnect the Notification from the NotificationPresenter
when the presenter deletes itself.
This cannot be tested by a layout test, the race condition happens only
when GC is run during shutdown. It can be tested manually by loading
manually any notification test and closing the browser.
* notifications/Notification.cpp:
(WebCore::Notification::~Notification):
* notifications/Notification.h:
(WebCore::Notification::detachPresenter):
2010-06-08 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Adds IndexedDB's KeyRange.
https://bugs.webkit.org/show_bug.cgi?id=40250
Test: storage/indexeddb/idb-keyrange.html
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* storage/IDBKeyRange.cpp: Added.
(WebCore::IDBKeyRange::IDBKeyRange):
* storage/IDBKeyRange.h: Added.
(WebCore::IDBKeyRange::):
(WebCore::IDBKeyRange::create):
(WebCore::IDBKeyRange::~IDBKeyRange):
(WebCore::IDBKeyRange::left):
(WebCore::IDBKeyRange::right):
(WebCore::IDBKeyRange::flags):
* storage/IDBKeyRange.idl: Added.
* storage/IndexedDatabaseRequest.cpp:
(WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
(WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
(WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
(WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
* storage/IndexedDatabaseRequest.h:
* storage/IndexedDatabaseRequest.idl:
2010-06-14 Jeremy Orlow <jorlow@chromium.org>
And another.
* storage/IndexedDatabaseRequest.h:
2010-06-14 Jeremy Orlow <jorlow@chromium.org>
More build fixes.
* storage/IndexedDatabaseRequest.h:
2010-06-14 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] navigator.geolocation support for Qt port
https://bugs.webkit.org/show_bug.cgi?id=39724
Implemetion for Qt port of navigator.gelocation. Using qtmobility location service.
* WebCore.pri:
* WebCore.pro:
* platform/qt/GeolocationServiceQt.cpp: Added.
(WebCore::GeolocationServiceQt::create):
(WebCore::GeolocationServiceQt::GeolocationServiceQt):
(WebCore::GeolocationServiceQt::~GeolocationServiceQt):
(WebCore::GeolocationServiceQt::positionUpdated):
(WebCore::GeolocationServiceQt::startUpdating):
(WebCore::GeolocationServiceQt::stopUpdating):
* platform/qt/GeolocationServiceQt.h: Added.
(WebCore::GeolocationServiceQt::lastPosition):
(WebCore::GeolocationServiceQt::lastError):
2010-06-14 Jeremy Orlow <jorlow@chromium.org>
2 more build fixes.
* storage/IDBDatabaseImpl.h:
* storage/IndexedDatabaseRequest.h:
2010-06-14 Jeremy Orlow <jorlow@chromium.org>
Unreviewed build fix for my last.
* workers/WorkerScriptLoaderClient.h:
2010-06-14 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
[V8] Clean up SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=40482
SerializedScriptValue doesn't follow WebKit's style guidelines very well
and needlessly inlines quite a bit within the .h file. This change cleans
things up. No funcitonal changes.
No change in behavior.
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::deserializeAndSetProperty):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::createFromWire):
(WebCore::SerializedScriptValue::release):
(WebCore::SerializedScriptValue::SerializedScriptValue):
* bindings/v8/SerializedScriptValue.h:
2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
data from inspected page to WebInspector as JSON string via http. The native
serialization to JSON string is supported by InspectorValue's classes. This patch
has the implementation of sendMessageToFrontend function. WebKit version of it still
uses ScriptFunctionCall and will be switched to another transport a little bit later.
https://bugs.webkit.org/show_bug.cgi?id=40134
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::InspectorFrontend):
* inspector/InspectorFrontend.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::frontendLoaded):
* inspector/InspectorValues.cpp:
(WebCore::InspectorObject::writeJSON):
* inspector/front-end/inspector.js:
(WebInspector.dispatchMessageToFrontend):
* loader/EmptyClients.h:
(WebCore::EmptyInspectorClient::sendMessageToFrontend):
2010-06-14 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Adler.
Reenable IDBDatabaseRequest's description attribute
https://bugs.webkit.org/show_bug.cgi?id=39826
On the 26th, Beth commented out the description attribute in
IDBDatabaseRequest because it was causing problems with the
objective c bindings. Turns out that this is the same bug as
in http://trac.webkit.org/changeset/19486. (Thanks for the
pointer, Mark!)
The solution is to change the objective C bindings generator
to change the name in the generated code. id and hash both
just appended "Name" to them in the past. I couldn't think
of anything else particularly better to append, so I just
went with name as well.
Test: building the world works on the first try. Layout
test verifies description works again.
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_get_description):
(webkit_dom_test_obj_get_id):
(webkit_dom_test_obj_set_id):
(webkit_dom_test_obj_get_hash):
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::setJSTestObjId):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj descriptionName]):
(-[DOMTestObj idName]):
(-[DOMTestObj setIdName:]):
(-[DOMTestObj hashName]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::descriptionAttrGetter):
(WebCore::TestObjInternal::idAttrGetter):
(WebCore::TestObjInternal::idAttrSetter):
(WebCore::TestObjInternal::hashAttrGetter):
(WebCore::):
* storage/IDBDatabaseRequest.idl:
2010-06-13 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] ScreenQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39766
* platform/qt/ScreenQt.cpp:
2010-06-13 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Rename HTMLParser to LegacyHTMLTreeConstructor
https://bugs.webkit.org/show_bug.cgi?id=40554
This makes our old HTML parsing system closer match the
HTML5 spec, and thus easier to compare to the new HTML5
parsing system.
This rename was entirely automatic. Done by do-webcore-rename.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
* dom/DocumentParser.h:
(WebCore::DocumentParser::htmlTreeConstructor):
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::htmlTreeConstructor):
* html/HTML5DocumentParser.h:
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
* html/HTML5TreeBuilder.h:
(WebCore::HTML5TreeBuilder::legacyTreeConstructor):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
* html/HTMLDocumentParser.h:
(WebCore::HTMLDocumentParser::htmlTreeConstructor):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
* html/HTMLInputElement.cpp:
* html/HTMLMeterElement.cpp:
* html/HTMLProgressElement.cpp:
* html/LegacyHTMLTreeConstructor.cpp: Renamed from WebCore/html/HTMLParser.cpp.
(WebCore::addTags):
(WebCore::HTMLStackElem::HTMLStackElem):
(WebCore::HTMLStackElem::derefNode):
(WebCore::LegacyHTMLTreeConstructor::LegacyHTMLTreeConstructor):
(WebCore::LegacyHTMLTreeConstructor::~LegacyHTMLTreeConstructor):
(WebCore::LegacyHTMLTreeConstructor::reset):
(WebCore::LegacyHTMLTreeConstructor::setCurrent):
(WebCore::tagPriorityOfNode):
(WebCore::LegacyHTMLTreeConstructor::limitDepth):
(WebCore::LegacyHTMLTreeConstructor::insertNodeAfterLimitDepth):
(WebCore::LegacyHTMLTreeConstructor::parseToken):
(WebCore::LegacyHTMLTreeConstructor::parseDoctypeToken):
(WebCore::isTableSection):
(WebCore::isTablePart):
(WebCore::isTableRelated):
(WebCore::isScopingTag):
(WebCore::LegacyHTMLTreeConstructor::insertNode):
(WebCore::LegacyHTMLTreeConstructor::handleError):
(WebCore::LegacyHTMLTreeConstructor::textCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::commentCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::headCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::bodyCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::framesetCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::formCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::isindexCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::selectCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::ddCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::dtCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::rpCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::rtCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::nestedCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::nestedPCloserCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::nestedStyleCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::tableCellCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::tableSectionCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::noembedCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::noframesCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::noscriptCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::pCloserCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::pCloserStrictCreateErrorCheck):
(WebCore::LegacyHTMLTreeConstructor::mapCreateErrorCheck):
(WebCore::mapTagToFunc):
(WebCore::mapTagsToFunc):
(WebCore::LegacyHTMLTreeConstructor::getNode):
(WebCore::LegacyHTMLTreeConstructor::allowNestedRedundantTag):
(WebCore::LegacyHTMLTreeConstructor::processCloseTag):
(WebCore::LegacyHTMLTreeConstructor::isHeadingTag):
(WebCore::LegacyHTMLTreeConstructor::isInline):
(WebCore::LegacyHTMLTreeConstructor::isResidualStyleTag):
(WebCore::LegacyHTMLTreeConstructor::isAffectedByResidualStyle):
(WebCore::LegacyHTMLTreeConstructor::handleResidualStyleCloseTagAcrossBlocks):
(WebCore::LegacyHTMLTreeConstructor::reopenResidualStyleTags):
(WebCore::LegacyHTMLTreeConstructor::pushBlock):
(WebCore::LegacyHTMLTreeConstructor::popBlock):
(WebCore::LegacyHTMLTreeConstructor::popOneBlockCommon):
(WebCore::LegacyHTMLTreeConstructor::popOneBlock):
(WebCore::LegacyHTMLTreeConstructor::moveOneBlockToStack):
(WebCore::LegacyHTMLTreeConstructor::checkIfHasPElementInScope):
(WebCore::LegacyHTMLTreeConstructor::popInlineBlocks):
(WebCore::LegacyHTMLTreeConstructor::freeBlock):
(WebCore::LegacyHTMLTreeConstructor::createHead):
(WebCore::LegacyHTMLTreeConstructor::handleIsindex):
(WebCore::LegacyHTMLTreeConstructor::startBody):
(WebCore::LegacyHTMLTreeConstructor::finished):
(WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
(WebCore::shouldCreateImplicitHead):
(WebCore::serializeForNumberType):
(WebCore::parseToDoubleForNumberType):
* html/LegacyHTMLTreeConstructor.h: Renamed from WebCore/html/HTMLParser.h.
(WebCore::LegacyHTMLTreeConstructor::skipMode):
(WebCore::LegacyHTMLTreeConstructor::isHandlingResidualStyleAcrossBlocks):
(WebCore::LegacyHTMLTreeConstructor::setSkipMode):
(WebCore::LegacyHTMLTreeConstructor::popBlock):
(WebCore::LegacyHTMLTreeConstructor::hasPElementInScope):
(WebCore::LegacyHTMLTreeConstructor::reportError):
(WebCore::LegacyHTMLTreeConstructor::):
(WebCore::shouldCreateImplicitHead):
* html/StepRange.cpp:
* html/ValidityState.cpp:
* rendering/RenderSlider.cpp:
2010-06-13 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
Rename m_parser, htmlParser() to m_treeConstructor, htmlTreeConstructor() in preparation for renaming HTMLParser
https://bugs.webkit.org/show_bug.cgi?id=40514
This rename was done by hand. I realize now I should have
renamed HTMLParser to HTMLTreeConstructor before renaming HTMLTokenizer.
No functional changes, thus no tests.
* dom/DocumentParser.h:
(WebCore::DocumentParser::htmlTreeConstructor):
* html/HTML5DocumentParser.cpp:
(WebCore::HTML5DocumentParser::HTML5DocumentParser):
(WebCore::HTML5DocumentParser::pumpLexerIfPossible):
(WebCore::HTML5DocumentParser::pumpLexer):
(WebCore::HTML5DocumentParser::end):
(WebCore::HTML5DocumentParser::htmlTreeConstructor):
(WebCore::HTML5DocumentParser::isWaitingForScripts):
(WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
(WebCore::HTML5DocumentParser::notifyFinished):
(WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
* html/HTML5DocumentParser.h:
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
(WebCore::HTML5TreeBuilder::finished):
* html/HTML5TreeBuilder.h:
(WebCore::HTML5TreeBuilder::legacyTreeConstructor):
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::scriptHandler):
(WebCore::HTMLDocumentParser::parseTag):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::processToken):
(WebCore::HTMLDocumentParser::processDoctypeToken):
* html/HTMLDocumentParser.h:
(WebCore::HTMLDocumentParser::htmlTreeConstructor):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
2010-06-13 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
Rename tok, asHTMLTokenizer to parser, asHTMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=40513
Last set of Tokenizer related renames, also done via do-webcore-rename:
asHTMLTokenizer => asHTMLDocumentParser
tok => parser
No functional changes, thus no tests.
* dom/Document.cpp:
(WebCore::Document::write):
* dom/DocumentParser.h:
(WebCore::DocumentParser::asHTMLDocumentParser):
* html/HTMLDocumentParser.cpp:
(WebCore::parseHTMLDocumentFragment):
* html/HTMLDocumentParser.h:
(WebCore::HTMLDocumentParser::asHTMLDocumentParser):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::isLoadingInAPISense):
2010-06-13 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
Fix the rest of the references to the old Tokenizer class (now DocumentParser)
https://bugs.webkit.org/show_bug.cgi?id=40512
No functional changes, thus no new tests.
This was mostly done by do-webcore-rename:
tokenizer => parser
m_tokenizer => m_parser
createTextTokenizer => createTextDocumentParser
createTokenizer => createParser
getTokenizer => getParser
However had to be careful to avoid renaming things related to
css/tokenizer.flex (which we should later rename to CSSTokenizer.flex)
Still a couple references with "tok" and "asHTMLTokenizer" which I'll
get in the next patch.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isLoaded):
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* dom/Document.cpp:
(WebCore::Document::removedLastRef):
(WebCore::Document::~Document):
(WebCore::Document::createParser):
(WebCore::Document::open):
(WebCore::Document::cancelParsing):
(WebCore::Document::implicitOpen):
(WebCore::Document::implicitClose):
(WebCore::Document::write):
(WebCore::Document::finishParsing):
(WebCore::Document::removePendingSheet):
* dom/Document.h:
(WebCore::Document::parser):
* dom/DocumentParser.h:
* dom/ViewportArguments.cpp:
(WebCore::reportViewportWarning):
* dom/XMLDocumentParserLibxml2.cpp:
(WebCore::PendingCallbacks::callAndRemoveFirstCallback):
(WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
(WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
(WebCore::PendingCallbacks::PendingCharactersCallback::call):
(WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
(WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
(WebCore::PendingCallbacks::PendingCommentCallback::call):
(WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
(WebCore::PendingCallbacks::):
(WebCore::getParser):
(WebCore::startElementNsHandler):
(WebCore::endElementNsHandler):
(WebCore::charactersHandler):
(WebCore::processingInstructionHandler):
(WebCore::cdataBlockHandler):
(WebCore::commentHandler):
(WebCore::warningHandler):
(WebCore::fatalErrorHandler):
(WebCore::normalErrorHandler):
(WebCore::getEntityHandler):
(WebCore::startDocumentHandler):
(WebCore::endDocumentHandler):
(WebCore::internalSubsetHandler):
(WebCore::externalSubsetHandler):
(WebCore::parseXMLDocumentFragment):
* dom/XMLDocumentParserQt.cpp:
(WebCore::parseXMLDocumentFragment):
* html/HTML5EntityParser.cpp:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createParser):
* html/HTMLDocument.h:
* html/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::write):
(WebCore::HTMLDocumentParser::stopParsing):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::finished):
(WebCore::HTMLParser::reportErrorToConsole):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createParser):
(WebCore::HTMLViewSourceDocument::addLine):
* html/HTMLViewSourceDocument.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::isLoadingInAPISense):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
(WebCore::DocumentWriter::addData):
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocument::createParser):
* loader/FTPDirectoryDocument.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::stop):
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::createParser):
* loader/ImageDocument.h:
* loader/MediaDocument.cpp:
(WebCore::MediaDocument::createParser):
* loader/MediaDocument.h:
* loader/PluginDocument.cpp:
(WebCore::PluginDocument::createParser):
* loader/PluginDocument.h:
* loader/SinkDocument.cpp:
(WebCore::SinkDocument::createParser):
* loader/SinkDocument.h:
* loader/TextDocument.cpp:
(WebCore::TextDocument::createParser):
(WebCore::createTextDocumentParser):
* loader/TextDocument.h:
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::reportWarning):
(WebCore::SVGDocumentExtensions::reportError):
* wml/WMLDocument.cpp:
(WebCore::WMLDocument::finishedParsing):
* wml/WMLErrorHandling.cpp:
(WebCore::reportWMLError):
* wml/WMLTemplateElement.cpp:
(WebCore::WMLTemplateElement::registerTemplatesInDocument):
2010-06-13 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: link won't return linked element if URL contains #
https://bugs.webkit.org/show_bug.cgi?id=40192
Test: platform/mac/accessibility/internal-link-when-document-has-fragment.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::internalLinkElement):
2010-06-13 Sam Weinig <sam@webkit.org>
Try and fix the chrome build.
* bindings/scripts/CodeGeneratorV8.pm:
* xml/XMLHttpRequest.idl:
2010-06-13 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fix for https://bugs.webkit.org/show_bug.cgi?id=40550
XMLHttpRequest constructor object should expose the constants from the IDL.
Test: fast/dom/XMLHttpRequest-constants.html
* Android.jscbindings.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSWorkerContextCustom.cpp:
* bindings/js/JSXMLHttpRequestConstructor.cpp: Removed.
* bindings/js/JSXMLHttpRequestConstructor.h: Removed.
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
* bindings/scripts/CodeGeneratorJS.pm:
* xml/XMLHttpRequest.idl:
2010-06-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
-webkit-transition font-size and font-family
https://bugs.webkit.org/show_bug.cgi?id=33429
When animating font-size, update the font with a saved
version of the font selector to ensure that we don't clobber
the font family.
Test: transitions/font-family-during-transition.html
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setBlendedFontSize):
2010-06-13 Tony Chang <tony@chromium.org>
Build fix, not reviewed.
fix chromium compile after r61094 (id attribute refactor)
https://bugs.webkit.org/show_bug.cgi?id=40553
* bindings/v8/custom/V8NamedNodesCollection.cpp:
(WebCore::V8NamedNodesCollection::itemWithName):
2010-06-13 Darin Adler <darin@apple.com>
Reviewed by Alexey Proskuryakov.
Partly done support for alternate ID attributes should be removed
https://bugs.webkit.org/show_bug.cgi?id=39692
Removed the include of "HTMLNames.h" from "Element.h". This prevents
near-world-rebuilds every time you change HTMLTagNames.in.
Renamed the getIDAttribute function in the Element class to
idForStyleResolution, since it returns a value of the id attribute
that has been lowercased as appropriate for style matching, not the
actual value of the attribute. With the old name it was easy to
misuse it in non-style contexts.
Got rid of the idAttributeName function on Element, since it is
easy to use it wrong. Replace it with isIdAttributeName, getIdAttribute,
and setIdAttribute functions, which are a good fit for the needs of
most call sites that were dealing with the id attribute.
Added an idAttributeName function to Document. This is for a future
where a document can have a custom id attribute name specified in its
doctype. It's possible this will be insufficient because the same
document might have XHTML or SVG elements in it, and it's possible
that on those elements we will want the attribute named "id" with
no namespace to still work. We can deal with that when we implement
the actual feature, though. For now, it seems OK to fetch the name
of the id attribute from the document.
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::itemWithName):
* dom/StaticNodeList.cpp:
(WebCore::StaticNodeList::itemWithName):
* rendering/RenderSVGResourceContainer.h:
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::idChanged):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::handleDeepUseReferencing):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
Use the new idForStyleResolution function, which is the new name of
the getIDAttribute function. There's a good chance these call sites are
incorrect, which is something we should investigate later, so there's
a FIXME at each call site.
* dom/Document.cpp:
(WebCore::Document::Document): Initialize m_idAttributeName to the
standard id attribute from HTML.
(WebCore::Document::getElementById): Use Element::getIdAttribute.
* dom/Document.h: Added Document::idAttributeName.
* dom/Element.cpp:
(WebCore::Element::setAttribute): Use Document::idAttributeName.
(WebCore::Element::setAttributeMap): Use Element::isIdAttributeName.
(WebCore::Element::insertedIntoDocument): Use Document::idAttributeName.
(WebCore::Element::removedFromDocument): Ditto.
(WebCore::Element::formatForDebugger): Use Element::getIdAttribute.
* dom/Element.h: Added isIdAttributeName, getIdAttribute, setIdAttribute,
idForStyleResolution. Removed rareIDAttributeName.
* dom/ElementRareData.h: Removed m_idAttributeName.
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::setAttributes): Use Document::idAttributeName.
* dom/NamedNodeMap.h: Renamed id, setID, and m_id to idForStyleResolution,
setIdForStyleResolution, and m_idForStyleResolution since this is not the
value of the id attribute because it gets lowercased for compatibility-mode
documents.
* rendering/RenderIFrame.cpp:
* rendering/RenderLayerCompositor.cpp:
* rendering/RenderProgress.cpp:
Added include of HTMLNames.h now that Element.h no longer includes it.
* editing/SetNodeAttributeCommand.h:
* editing/markup.cpp:
* html/HTMLParser.cpp:
Removed unneeded includes.
* html/HTMLParser.h: Sorted includes.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchRules): Use idForStyleResolution.
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Use idForStyleResolution.
* dom/Attr.cpp:
(WebCore::Attr::isId): Use Document::idAttributeName.
* dom/StyledElement.cpp:
(WebCore::StyledElement::parseMappedAttribute): Use isIdAttributeName,
and setIdForStyleResolution.
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI): Use setIdAttribute.
* editing/EditorCommand.cpp:
(WebCore::executeInsertHorizontalRule): Ditto.
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::parseMappedAttribute): Use isIdAttributeName.
(WebCore::HTMLAppletElement::createRenderer): Use getIdAttribute.
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::checkForNameMatch): Use getIdAttribute.
(WebCore::HTMLCollection::updateNameCache): Use getIdAttribute.
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::ensureColumn): Use getIdAttribute.
(WebCore::HTMLDataGridColElement::parseMappedAttribute): Use isIdAttributeName.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute): Use isIdAttributeName.
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::nextNamedItem): Added missing braces.
(WebCore::HTMLFormCollection::updateNameCache): Use getIdAttribute.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseMappedAttribute): Use isIdAttributeName.
(WebCore::HTMLFrameElementBase::setName): Use getIdAttribute.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute): Use isIdAttributeName.
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::parseMappedAttribute): Use isIdAttributeName.
Also restructured the function a bit to make its structure clearer and added
a comment pointing out that it can't be quite right.
* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::itemAfter): Use getIdAttribute.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseMappedAttribute): Use isIdAttributeName.
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::parseMappedAttribute): Use isIdAttributeName.
* loader/CachedFont.cpp:
(WebCore::CachedFont::getSVGFontById): Use getIdAttribute.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::nameForLayer): Use getIdAttribute.
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGPaintingResource): Use getIdAttribute.
(WebCore::writeSVGResourceContainer): Ditto.
* svg/SVGElement.cpp:
(WebCore::SVGElement::insertedIntoDocument): Use getIdAttribute.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::isKnownAttribute): Use isIdAttributeName.
(WebCore::SVGStyledElement::svgAttributeChanged): Use isIdAttributeName.
* wml/WMLElement.cpp:
(WebCore::WMLElement::parseMappedAttribute): Use isIdAttributeName.
2010-06-13 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8087385> REGRESSION (r60974): Continuous wheel scrolling is too fast in list boxes and in Safari Reader
https://bugs.webkit.org/show_bug.cgi?id=40537
* platform/mac/WheelEventMac.mm:
(WebCore::PlatformWheelEvent::PlatformWheelEvent): Only multiply by pixelsPerLineStep() if the
event is not continuous, as was before r56012.
2010-06-13 Andras Becsi <abecsi@webkit.org>
Reviewed by Darin Adler.
Centralize the gperf code generation commands into make-hash-tools.pl
to avoid redundancy across multiple build systems.
Do this in preparation of refactoring the usage of these generated
sources to fix the debug linking error on Linux with gcc >= 4.4.0.
webkit.org/b/29244
No functionality change, so no new tests needed.
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/rule_gperf.py: Removed.
* WebCore.pri:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
(WebCore::cssPropertyID):
(WebCore::cssValueKeywordID):
* css/makeprop.pl:
* css/makevalues.pl:
* html/DocTypeStrings.gperf:
* html/HTML5EntityParser.cpp:
* html/HTMLDocumentParser.cpp:
* html/HTMLEntityNames.gperf:
* html/PreloadScanner.cpp:
* make-hash-tools.pl: Added.
* platform/ColorData.gperf:
* platform/graphics/Color.cpp:
2010-06-13 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] tests/hybridPixmap fails
https://bugs.webkit.org/show_bug.cgi?id=37316
The problem was that JSC::Instance::createRuntimeObject was never called.
This is fixed by overloading newRuntimeObject and calling Instance::createRuntimeObject
in between, instead of creating the runtime object directly inside the static function
QtPixmapInstance::createRuntimeObject, which had to be renamed as to not overshadow the virtual function.
This fixes an existing test, tests/hybridPixmap
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapInstance::newRuntimeObject):
(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
* bridge/qt/qt_pixmapruntime.h:
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
2010-06-13 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Darin Adler.
GraphicsContext3D.h in the Qt port includes too many unnecessary files
https://bugs.webkit.org/show_bug.cgi?id=40536
Removed unncessary includes.
No new tests; Compilation improvement.
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
2010-06-13 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Eric Seidel.
[Qt] GraphicsLayer: recaching images creates an unnecessary deep copy
https://bugs.webkit.org/show_bug.cgi?id=40535
Made sure the painter ends its operation before copying the pixmap.
No new tests: this is an optimization.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::recache):
2010-06-13 Clemmitt Sigler <cmsigler@gmail.com>
Reviewed by Eric Seidel.
Patch to fix missing references to RenderMathMLRoot,
RenderMathMLSquareRoot when building GtkLauncher.
https://bugs.webkit.org/show_bug.cgi?id=40326
No change in functionality so no new tests.
* GNUmakefile.am:
2010-06-12 Brian Weinstein <bweinstein@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=40538
Some machines have started to see the return of the dreaded: WebCore.lib : fatal error LNK1106: invalid
file or disk full. Since we don't have the hotfix for VS2005, work around this in the meantime
by creating an EditingAllInOne file, that includes all of the cpp files in the editing subdirectory.
* WebCore.vcproj/WebCore.vcproj: Prevnt the editing cpp from building, so we only compile EditingAllInOne.
* editing/EditingAllInOne.cpp: Added. Includes all of the editing cpp files.
2010-06-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61031.
http://trac.webkit.org/changeset/61031
https://bugs.webkit.org/show_bug.cgi?id=40539
Crashes Dromaeo jslib test in Release Chromium (Requested by
dimich_ on #webkit).
* bindings/v8/V8Binding.cpp:
(WebCore::v8ExternalString):
* bindings/v8/V8Binding.h:
2010-06-12 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Rename the last few *Tokenizer classes (which don't have their own files) to *DocumentParser
https://bugs.webkit.org/show_bug.cgi?id=40508
This was a very simple do-webcore-rename-generated patch.
PluginTokenizer => PluginDocumentParser
TextTokenizer => TextDocumentParser
SinkTokenizer => SinkDocumentParser
MediaTokenizer => MediaDocumentParser
FTPDirectoryTokenizer => FTPDirectoryDocumentParser
No functional changes, thus no tests.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createTokenizer):
* html/HTMLViewSourceDocument.h:
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
(WebCore::FTPDirectoryDocumentParser::appendEntry):
(WebCore::FTPDirectoryDocumentParser::createTDForFilename):
(WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):
(WebCore::FTPDirectoryDocumentParser::write):
(WebCore::FTPDirectoryDocumentParser::finish):
(WebCore::FTPDirectoryDocument::createTokenizer):
* loader/MediaDocument.cpp:
(WebCore::MediaDocumentParser::MediaDocumentParser):
(WebCore::MediaDocumentParser::write):
(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocumentParser::writeRawData):
(WebCore::MediaDocumentParser::finish):
(WebCore::MediaDocumentParser::isWaitingForScripts):
(WebCore::MediaDocument::createTokenizer):
* loader/PluginDocument.cpp:
(WebCore::PluginDocumentParser::PluginDocumentParser):
(WebCore::PluginDocumentParser::pluginWidgetFromDocument):
(WebCore::PluginDocumentParser::write):
(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocumentParser::writeRawData):
(WebCore::PluginDocumentParser::finish):
(WebCore::PluginDocumentParser::isWaitingForScripts):
(WebCore::PluginDocument::createTokenizer):
(WebCore::PluginDocument::pluginWidget):
* loader/SinkDocument.cpp:
(WebCore::SinkDocumentParser::SinkDocumentParser):
(WebCore::SinkDocumentParser::finish):
(WebCore::SinkDocument::createTokenizer):
* loader/TextDocument.cpp:
(WebCore::TextDocumentParser::TextDocumentParser):
(WebCore::TextDocumentParser::~TextDocumentParser):
(WebCore::TextDocumentParser::write):
(WebCore::TextDocumentParser::finish):
(WebCore::TextDocumentParser::isWaitingForScripts):
(WebCore::TextDocument::createTokenizer):
(WebCore::createTextTokenizer):
2010-06-12 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] EventHandlerQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=40259
Coding style change only.
* page/qt/EventHandlerQt.cpp:
(WebCore::EventHandler::eventActivatedView):
2010-06-12 Kwang Yul Seo <skyul@company100.net>
Reviewed by Darin Adler.
Unify fileSystemRepresentation and filenameFromString
https://bugs.webkit.org/show_bug.cgi?id=40201
Remove filenameFromString and use fileSystemRepresentation instead
as they do the same job.
* platform/FileSystem.cpp: Removed.
* platform/FileSystem.h:
* platform/efl/FileSystemEfl.cpp:
(WebCore::fileSystemRepresentation):
* platform/gtk/FileChooserGtk.cpp:
(WebCore::FileChooser::basenameForWidth):
* platform/gtk/FileSystemGtk.cpp:
(WebCore::fileSystemRepresentation):
(WebCore::filenameForDisplay):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::makeAllDirectories):
(WebCore::pathGetFileName):
(WebCore::directoryName):
(WebCore::listDirectory):
* platform/gtk/SharedBufferGtk.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startHttp):
* platform/posix/SharedBufferPOSIX.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
2010-06-12 Patrick Gansterer <paroga@paroga.com>
Reviewed by Eric Seidel.
[Haiku] Cleanup SharedBuffer::createWithContentsOfFile
https://bugs.webkit.org/show_bug.cgi?id=39003
* platform/haiku/SharedBufferHaiku.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
2010-06-12 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] WheelEventQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39760
* platform/qt/WheelEventQt.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
2010-06-12 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Don't include POSIX headers in WebCorePrefix.h
https://bugs.webkit.org/show_bug.cgi?id=39411
When building for BREW MP, don't include POSIX headers:
<fcntl.h>, <pthread.h> and <sys/types.h>.
* WebCorePrefix.h:
2010-06-11 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Rename the rest of the *Tokenizer classes to *DocumentParser
https://bugs.webkit.org/show_bug.cgi?id=40507
This search/replace was done by do-webcore-rename.
Just looking for a rubber stamp.
XMLTokenizer => XMLDocumentParser
XMLTokenizerLibxml2 => XMLDocumentParserLibxml2
XMLTokenizerQt => XMLDocumentParserQt
XMLTokenizerScope => XMLDocumentParserScope
HTML5Tokenizer => HTML5DocumentParser
HTMLTokenizer => HTMLDocumentParser
No functional change, thus no tests.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::checkLoaded):
* dom/Document.cpp:
(WebCore::Document::createTokenizer):
(WebCore::Document::write):
* dom/Document.h:
(WebCore::Document::setXMLEncoding):
* dom/DocumentParser.h:
(WebCore::DocumentParser::asHTMLTokenizer):
* dom/Element.cpp:
* dom/ProcessingInstruction.cpp:
* dom/XMLDocumentParser.cpp: Added.
(WebCore::XMLDocumentParser::isWMLDocument):
(WebCore::XMLDocumentParser::pushCurrentNode):
(WebCore::XMLDocumentParser::popCurrentNode):
(WebCore::XMLDocumentParser::clearCurrentNodeStack):
(WebCore::XMLDocumentParser::write):
(WebCore::XMLDocumentParser::handleError):
(WebCore::XMLDocumentParser::enterText):
(WebCore::toString):
(WebCore::XMLDocumentParser::exitText):
(WebCore::XMLDocumentParser::end):
(WebCore::XMLDocumentParser::finish):
(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLDocumentParser::insertErrorMessageBlock):
(WebCore::XMLDocumentParser::notifyFinished):
(WebCore::XMLDocumentParser::isWaitingForScripts):
(WebCore::XMLDocumentParser::pauseParsing):
* dom/XMLDocumentParser.h: Added.
(WebCore::XMLParserContext::context):
(WebCore::XMLParserContext::XMLParserContext):
(WebCore::XMLDocumentParser::):
(WebCore::XMLDocumentParser::setIsXHTMLDocument):
(WebCore::XMLDocumentParser::isXHTMLDocument):
(WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
(WebCore::XMLDocumentParser::isXHTMLMPDocument):
(WebCore::XMLDocumentParser::wellFormed):
(WebCore::XMLDocumentParser::context):
* dom/XMLDocumentParserLibxml2.cpp: Added.
(WebCore::PendingCallbacks::~PendingCallbacks):
(WebCore::PendingCallbacks::appendStartElementNSCallback):
(WebCore::PendingCallbacks::appendEndElementNSCallback):
(WebCore::PendingCallbacks::appendCharactersCallback):
(WebCore::PendingCallbacks::appendProcessingInstructionCallback):
(WebCore::PendingCallbacks::appendCDATABlockCallback):
(WebCore::PendingCallbacks::appendCommentCallback):
(WebCore::PendingCallbacks::appendInternalSubsetCallback):
(WebCore::PendingCallbacks::appendErrorCallback):
(WebCore::PendingCallbacks::callAndRemoveFirstCallback):
(WebCore::PendingCallbacks::isEmpty):
(WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
(WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
(WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
(WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
(WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
(WebCore::PendingCallbacks::PendingCharactersCallback::call):
(WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
(WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
(WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
(WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
(WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
(WebCore::PendingCallbacks::PendingCommentCallback::call):
(WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
(WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
(WebCore::PendingCallbacks::):
(WebCore::matchFunc):
(WebCore::OffsetBuffer::OffsetBuffer):
(WebCore::OffsetBuffer::readOutBytes):
(WebCore::shouldAllowExternalLoad):
(WebCore::openFunc):
(WebCore::readFunc):
(WebCore::writeFunc):
(WebCore::closeFunc):
(WebCore::errorFunc):
(WebCore::XMLParserContext::createStringParser):
(WebCore::XMLParserContext::createMemoryParser):
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLParserContext::~XMLParserContext):
(WebCore::XMLDocumentParser::~XMLDocumentParser):
(WebCore::XMLDocumentParser::doWrite):
(WebCore::toString):
(WebCore::handleElementNamespaces):
(WebCore::handleElementAttributes):
(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::endElementNs):
(WebCore::XMLDocumentParser::characters):
(WebCore::XMLDocumentParser::error):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):
(WebCore::XMLDocumentParser::startDocument):
(WebCore::XMLDocumentParser::endDocument):
(WebCore::XMLDocumentParser::internalSubset):
(WebCore::getTokenizer):
(WebCore::hackAroundLibXMLEntityBug):
(WebCore::startElementNsHandler):
(WebCore::endElementNsHandler):
(WebCore::charactersHandler):
(WebCore::processingInstructionHandler):
(WebCore::cdataBlockHandler):
(WebCore::commentHandler):
(WebCore::warningHandler):
(WebCore::fatalErrorHandler):
(WebCore::normalErrorHandler):
(WebCore::):
(WebCore::sharedXHTMLEntity):
(WebCore::getXHTMLEntity):
(WebCore::getEntityHandler):
(WebCore::startDocumentHandler):
(WebCore::endDocumentHandler):
(WebCore::internalSubsetHandler):
(WebCore::externalSubsetHandler):
(WebCore::ignorableWhitespaceHandler):
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
(WebCore::xmlDocPtrForString):
(WebCore::XMLDocumentParser::lineNumber):
(WebCore::XMLDocumentParser::columnNumber):
(WebCore::XMLDocumentParser::stopParsing):
(WebCore::XMLDocumentParser::resumeParsing):
(WebCore::parseXMLDocumentFragment):
(WebCore::attributesStartElementNsHandler):
(WebCore::parseAttributes):
* dom/XMLDocumentParserQt.cpp: Added.
(WebCore::EntityResolver::resolveUndeclaredEntity):
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::~XMLDocumentParser):
(WebCore::XMLDocumentParser::doWrite):
(WebCore::XMLDocumentParser::initializeParserContext):
(WebCore::XMLDocumentParser::doEnd):
(WebCore::XMLDocumentParser::lineNumber):
(WebCore::XMLDocumentParser::columnNumber):
(WebCore::XMLDocumentParser::stopParsing):
(WebCore::XMLDocumentParser::resumeParsing):
(WebCore::parseXMLDocumentFragment):
(WebCore::attributesStartElementNsHandler):
(WebCore::parseAttributes):
(WebCore::prefixFromQName):
(WebCore::handleElementNamespaces):
(WebCore::handleElementAttributes):
(WebCore::XMLDocumentParser::parse):
(WebCore::XMLDocumentParser::startDocument):
(WebCore::XMLDocumentParser::parseStartElement):
(WebCore::XMLDocumentParser::parseEndElement):
(WebCore::XMLDocumentParser::parseCharacters):
(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):
(WebCore::XMLDocumentParser::endDocument):
(WebCore::XMLDocumentParser::hasError):
(WebCore::XMLDocumentParser::parseDtd):
* dom/XMLDocumentParserScope.cpp: Added.
(WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
(WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
* dom/XMLDocumentParserScope.h: Added.
* dom/XMLTokenizer.cpp: Removed.
* dom/XMLTokenizer.h: Removed.
* dom/XMLTokenizerLibxml2.cpp: Removed.
* dom/XMLTokenizerQt.cpp: Removed.
* dom/XMLTokenizerScope.cpp: Removed.
* dom/XMLTokenizerScope.h: Removed.
* html/HTML5DocumentParser.cpp: Added.
(WebCore::):
(WebCore::HTML5DocumentParser::HTML5DocumentParser):
(WebCore::HTML5DocumentParser::~HTML5DocumentParser):
(WebCore::HTML5DocumentParser::begin):
(WebCore::HTML5DocumentParser::pumpLexerIfPossible):
(WebCore::HTML5DocumentParser::pumpLexer):
(WebCore::HTML5DocumentParser::write):
(WebCore::HTML5DocumentParser::end):
(WebCore::HTML5DocumentParser::attemptToEnd):
(WebCore::HTML5DocumentParser::endIfDelayed):
(WebCore::HTML5DocumentParser::finish):
(WebCore::HTML5DocumentParser::executingScript):
(WebCore::HTML5DocumentParser::lineNumber):
(WebCore::HTML5DocumentParser::columnNumber):
(WebCore::HTML5DocumentParser::htmlParser):
(WebCore::HTML5DocumentParser::isWaitingForScripts):
(WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
(WebCore::HTML5DocumentParser::watchForLoad):
(WebCore::HTML5DocumentParser::stopWatchingForLoad):
(WebCore::HTML5DocumentParser::shouldLoadExternalScriptFromSrc):
(WebCore::HTML5DocumentParser::executeScript):
(WebCore::HTML5DocumentParser::notifyFinished):
(WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::HTML5DocumentParser::script):
* html/HTML5DocumentParser.h: Added.
(WebCore::HTML5DocumentParser::InputStream::InputStream):
(WebCore::HTML5DocumentParser::InputStream::appendToEnd):
(WebCore::HTML5DocumentParser::InputStream::insertAtCurrentInsertionPoint):
(WebCore::HTML5DocumentParser::InputStream::close):
(WebCore::HTML5DocumentParser::InputStream::current):
(WebCore::HTML5DocumentParser::InputStream::splitInto):
(WebCore::HTML5DocumentParser::InputStream::mergeFrom):
(WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord):
(WebCore::HTML5DocumentParser::InsertionPointRecord::~InsertionPointRecord):
(WebCore::HTML5DocumentParser::inWrite):
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::columnNumber):
* html/HTML5Tokenizer.cpp: Removed.
* html/HTML5Tokenizer.h: Removed.
* html/HTML5TreeBuilder.cpp:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createTokenizer):
* html/HTMLDocumentParser.cpp: Added.
(WebCore::):
(WebCore::fixUpChar):
(WebCore::tagMatch):
(WebCore::Token::addAttribute):
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::reset):
(WebCore::HTMLDocumentParser::begin):
(WebCore::HTMLDocumentParser::setForceSynchronous):
(WebCore::HTMLDocumentParser::processListing):
(WebCore::HTMLDocumentParser::parseNonHTMLText):
(WebCore::HTMLDocumentParser::scriptHandler):
(WebCore::HTMLDocumentParser::scriptExecution):
(WebCore::HTMLDocumentParser::parseComment):
(WebCore::HTMLDocumentParser::parseServer):
(WebCore::HTMLDocumentParser::parseProcessingInstruction):
(WebCore::HTMLDocumentParser::parseText):
(WebCore::HTMLDocumentParser::parseEntity):
(WebCore::HTMLDocumentParser::parseDoctype):
(WebCore::HTMLDocumentParser::parseTag):
(WebCore::HTMLDocumentParser::continueProcessing):
(WebCore::HTMLDocumentParser::advance):
(WebCore::HTMLDocumentParser::willWriteHTML):
(WebCore::HTMLDocumentParser::didWriteHTML):
(WebCore::HTMLDocumentParser::write):
(WebCore::HTMLDocumentParser::stopParsing):
(WebCore::HTMLDocumentParser::processingData):
(WebCore::HTMLDocumentParser::timerFired):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::processToken):
(WebCore::HTMLDocumentParser::processDoctypeToken):
(WebCore::HTMLDocumentParser::~HTMLDocumentParser):
(WebCore::HTMLDocumentParser::enlargeBuffer):
(WebCore::HTMLDocumentParser::enlargeScriptBuffer):
(WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::HTMLDocumentParser::notifyFinished):
(WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
(WebCore::HTMLDocumentParser::executeExternalScriptsTimerFired):
(WebCore::HTMLDocumentParser::continueExecutingExternalScripts):
(WebCore::HTMLDocumentParser::isWaitingForScripts):
(WebCore::HTMLDocumentParser::setSrc):
(WebCore::parseHTMLDocumentFragment):
(WebCore::decodeNamedEntity):
* html/HTMLDocumentParser.h: Added.
(WebCore::Token::Token):
(WebCore::Token::~Token):
(WebCore::Token::isOpenTag):
(WebCore::Token::isCloseTag):
(WebCore::Token::reset):
(WebCore::Token::addViewSourceChar):
(WebCore::):
(WebCore::DoctypeToken::DoctypeToken):
(WebCore::DoctypeToken::reset):
(WebCore::DoctypeToken::state):
(WebCore::DoctypeToken::setState):
(WebCore::HTMLDocumentParser::forceSynchronous):
(WebCore::HTMLDocumentParser::executingScript):
(WebCore::HTMLDocumentParser::lineNumber):
(WebCore::HTMLDocumentParser::columnNumber):
(WebCore::HTMLDocumentParser::processingContentWrittenByScript):
(WebCore::HTMLDocumentParser::htmlParser):
(WebCore::HTMLDocumentParser::asHTMLTokenizer):
(WebCore::HTMLDocumentParser::checkBuffer):
(WebCore::HTMLDocumentParser::checkScriptBuffer):
(WebCore::HTMLDocumentParser::):
(WebCore::HTMLDocumentParser::State::State):
(WebCore::HTMLDocumentParser::State::tagState):
(WebCore::HTMLDocumentParser::State::setTagState):
(WebCore::HTMLDocumentParser::State::entityState):
(WebCore::HTMLDocumentParser::State::setEntityState):
(WebCore::HTMLDocumentParser::State::inScript):
(WebCore::HTMLDocumentParser::State::setInScript):
(WebCore::HTMLDocumentParser::State::inStyle):
(WebCore::HTMLDocumentParser::State::setInStyle):
(WebCore::HTMLDocumentParser::State::inXmp):
(WebCore::HTMLDocumentParser::State::setInXmp):
(WebCore::HTMLDocumentParser::State::inTitle):
(WebCore::HTMLDocumentParser::State::setInTitle):
(WebCore::HTMLDocumentParser::State::inIFrame):
(WebCore::HTMLDocumentParser::State::setInIFrame):
(WebCore::HTMLDocumentParser::State::inPlainText):
(WebCore::HTMLDocumentParser::State::setInPlainText):
(WebCore::HTMLDocumentParser::State::inProcessingInstruction):
(WebCore::HTMLDocumentParser::State::setInProcessingInstruction):
(WebCore::HTMLDocumentParser::State::inComment):
(WebCore::HTMLDocumentParser::State::setInComment):
(WebCore::HTMLDocumentParser::State::inDoctype):
(WebCore::HTMLDocumentParser::State::setInDoctype):
(WebCore::HTMLDocumentParser::State::inTextArea):
(WebCore::HTMLDocumentParser::State::setInTextArea):
(WebCore::HTMLDocumentParser::State::escaped):
(WebCore::HTMLDocumentParser::State::setEscaped):
(WebCore::HTMLDocumentParser::State::inServer):
(WebCore::HTMLDocumentParser::State::setInServer):
(WebCore::HTMLDocumentParser::State::skipLF):
(WebCore::HTMLDocumentParser::State::setSkipLF):
(WebCore::HTMLDocumentParser::State::startTag):
(WebCore::HTMLDocumentParser::State::setStartTag):
(WebCore::HTMLDocumentParser::State::discardLF):
(WebCore::HTMLDocumentParser::State::setDiscardLF):
(WebCore::HTMLDocumentParser::State::allowYield):
(WebCore::HTMLDocumentParser::State::setAllowYield):
(WebCore::HTMLDocumentParser::State::loadingExtScript):
(WebCore::HTMLDocumentParser::State::setLoadingExtScript):
(WebCore::HTMLDocumentParser::State::forceSynchronous):
(WebCore::HTMLDocumentParser::State::setForceSynchronous):
(WebCore::HTMLDocumentParser::State::inAnyNonHTMLText):
(WebCore::HTMLDocumentParser::State::hasTagState):
(WebCore::HTMLDocumentParser::State::hasEntityState):
(WebCore::HTMLDocumentParser::State::needsSpecialWriteHandling):
(WebCore::HTMLDocumentParser::State::):
(WebCore::HTMLDocumentParser::State::setBit):
(WebCore::HTMLDocumentParser::State::testBit):
* html/HTMLElement.cpp:
* html/HTMLFormControlElement.cpp:
* html/HTMLParser.cpp:
(WebCore::HTMLParser::reportErrorToConsole):
* html/HTMLParser.h:
* html/HTMLTokenizer.cpp: Removed.
* html/HTMLTokenizer.h: Removed.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createTokenizer):
(WebCore::HTMLViewSourceDocument::addViewSourceToken):
* html/HTMLViewSourceDocument.h:
* loader/DocumentLoader.cpp:
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryTokenizer::FTPDirectoryTokenizer):
(WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
(WebCore::FTPDirectoryTokenizer::finish):
* loader/FrameLoader.cpp:
* loader/ImageDocument.cpp:
* loader/MediaDocument.cpp:
* loader/PluginDocument.cpp:
* loader/TextDocument.cpp:
* page/XSSAuditor.h:
* svg/SVGDocumentExtensions.cpp:
* wml/WMLErrorHandling.cpp:
(WebCore::reportWMLError):
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::parseString):
* xml/XSLTProcessor.cpp:
* xml/XSLTProcessorLibxslt.cpp:
2010-06-12 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Window object should have CanvasGradient and CanvasPattern
https://bugs.webkit.org/show_bug.cgi?id=40394
This fixes the following tests:
- canvas/philip/tests/2d.gradient.object.return.html
- canvas/philip/tests/2d.pattern.basic.type.html
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasPattern.idl:
* page/DOMWindow.idl:
2010-06-12 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/8025267> REGRESSION (Safari 4-TOT): Crash when a frames resize handler removes the frame
https://bugs.webkit.org/show_bug.cgi?id=40534
Test: fast/replaced/frame-removed-during-resize.html
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetPosition): Null-check m_widget, since resizing the widget
may trigger an iframes resize handler, which may destroy the widget.
2010-06-12 Dean Jackson <dino@apple.com>
Reviewed by Darin Adler.
Animation keyframe timing functions are applying incorrectly
https://bugs.webkit.org/show_bug.cgi?id=38963
When copying RenderStyles, we have to clone the AnimationList so that each keyframe
can have its own timing function.
Tests: animations/keyframe-timing-functions-transform.html
animations/keyframe-timing-functions2.html
* platform/animation/Animation.h:
(WebCore::Animation::create):
* platform/animation/AnimationList.cpp:
(WebCore::AnimationList::AnimationList):
* platform/animation/AnimationList.h:
(WebCore::AnimationList::AnimationList):
2010-06-12 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
<rdar://problem/7882140> -webkit-column-break-* properties dont do anything
https://bugs.webkit.org/show_bug.cgi?id=40531
Test: fast/multicol/break-properties.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren): Check for -webkit-column-break-{before,after}: always
and -webkit-column-break-inside: avoid when doing column layout.
2010-06-13 Robert Hogan <robert@webkit.org>
Reviewed by Alexey Proskuryakov.
FrameLoader::clear() clears JS objects that cached pages later rely on
https://bugs.webkit.org/show_bug.cgi?id=37725
https://bugs.webkit.org/show_bug.cgi?id=31626
Fix the following tests for Qt:
fast/events/pageshow-pagehide-on-back-cached.html
fast/events/pageshow-pagehide-on-back-cached-with-frames.html
fast/loader/input-element-page-cache-crash.html
fast/dom/Window/timer-resume-on-navigation-back.html
loader/go-back-to-different-window-size.html
fast/dom/javascript-url-crash-function.html
fast/dom/location-new-window-no-crash.html
http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html
which currently fail because the page's Qt-bindings runtime objects are
cleared when navigating away from the page containing them.
Track Qt-bindings objects in a separate ScriptController::cacheableRootBindingObject().
RuntimeObjects tracked by this root object will not get invalidated on page navigations,
so they will still be available when the pages containing them are retrieved from the
b/f cache.
This means the Qt bindings objects will only get cleared on Frame::pageDestroyed().
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::cacheableBindingRootObject):
* bindings/js/ScriptController.h:
2010-06-12 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
REGRESSION: Can't submit a form with <input type=radio required>
https://bugs.webkit.org/show_bug.cgi?id=40429
Validity state was not updated correctly for radio buttons, and it
prevents form submission even if a radio button group has a
checked radio button.
Test: fast/forms/interactive-validation-required-radio.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateCheckedRadioButtons):
Call setNeedsValidityCheck() for all of radio buttons in the same group
to update validity state.
(WebCore::HTMLInputElement::setChecked):
Remove setNeedsValidityCheck() call because it is called in
updateCheckedRadioButtons().
2010-06-12 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Disable interactive form validation in non-strict modes
https://bugs.webkit.org/show_bug.cgi?id=40218
The interactive validation feature of HTML5 is not compatible with
HTML4, and users and page authors don't expect existing sites work
differently in WebKit. For example, maxlength and required attributes
in existing sites unexpectedly prevented form submission.
So, we disable the interactive validation feature in non-strict
modes to improve compatibility.
Test: fast/forms/interactive-validation-compat-mode.html
fast/forms/interactive-validation-html4.html
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::validateInteractively):
Process interactive validation only in the strict mode.
2010-06-12 Eric Seidel <eric@webkit.org>
Reviewed by David Levin.
Rename Tokenizer to DocumentParser to match what it actually does
https://bugs.webkit.org/show_bug.cgi?id=40504
The rename was entirely done by do-webcore-rename.
The only manual changes were removing out-dated comments
and fixing Tokenizer_h to DocumentParser_h in the header guards.
I'll do all the rest of the renames (like the tokenizer subclasses
and the tokenizer() createTokenizer() methods) in separate changes.
No functional change, thus no tests.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLDocumentCustom.cpp:
* bindings/v8/ScriptEventListener.cpp:
* dom/Document.cpp:
(WebCore::Document::createTokenizer):
* dom/Document.h:
(WebCore::Document::tokenizer):
* dom/DocumentParser.h: Added.
(WebCore::DocumentParser::~DocumentParser):
(WebCore::DocumentParser::stopParsing):
(WebCore::DocumentParser::processingData):
(WebCore::DocumentParser::executingScript):
(WebCore::DocumentParser::wantsRawData):
(WebCore::DocumentParser::writeRawData):
(WebCore::DocumentParser::inViewSourceMode):
(WebCore::DocumentParser::setInViewSourceMode):
(WebCore::DocumentParser::wellFormed):
(WebCore::DocumentParser::lineNumber):
(WebCore::DocumentParser::columnNumber):
(WebCore::DocumentParser::executeScriptsWaitingForStylesheets):
(WebCore::DocumentParser::htmlParser):
(WebCore::DocumentParser::asHTMLTokenizer):
(WebCore::DocumentParser::xssAuditor):
(WebCore::DocumentParser::setXSSAuditor):
(WebCore::DocumentParser::DocumentParser):
* dom/Tokenizer.h: Removed.
* dom/ViewportArguments.cpp:
(WebCore::reportViewportWarning):
* dom/XMLTokenizer.h:
* dom/XMLTokenizerLibxml2.cpp:
(WebCore::XMLTokenizer::stopParsing):
* dom/XMLTokenizerQt.cpp:
(WebCore::XMLTokenizer::stopParsing):
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::HTML5Tokenizer):
* html/HTML5Tokenizer.h:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createTokenizer):
* html/HTMLDocument.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::stopParsing):
* html/HTMLTokenizer.h:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createTokenizer):
* html/HTMLViewSourceDocument.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::isLoadingInAPISense):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::addData):
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocument::createTokenizer):
* loader/FTPDirectoryDocument.h:
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::createTokenizer):
* loader/ImageDocument.h:
* loader/MediaDocument.cpp:
(WebCore::MediaDocument::createTokenizer):
* loader/MediaDocument.h:
* loader/PluginDocument.cpp:
(WebCore::PluginDocument::createTokenizer):
* loader/PluginDocument.h:
* loader/SinkDocument.cpp:
(WebCore::SinkDocument::createTokenizer):
* loader/SinkDocument.h:
* loader/TextDocument.cpp:
(WebCore::TextTokenizer::TextTokenizer):
(WebCore::TextDocument::createTokenizer):
(WebCore::createTextTokenizer):
* loader/TextDocument.h:
* wml/WMLDocument.cpp:
(WebCore::WMLDocument::finishedParsing):
2010-06-12 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5Tokenizer needs to tell the InspectorTimelineAgent before and after it writes
https://bugs.webkit.org/show_bug.cgi?id=40417
This "fixes" inspector/timeline-script-tag-1.html. HTML5 results
differ from the old parser for expected reasons.
HTML5Tokenizer calls InspectorTimelineAgent::will/didWriteHTML every
time we pump the lexer instead of every write() call.
We end up pumping the lexer slightly more often than the old code called
write() in order to cleanly handle unclosed-entities, unclosed tags,
buffered characters, etc. at the end of a document.
I discussed this extensively with James Robinson in #webkit and we decided
that it was better for the HTML5Tokenizer to call for every pump and
that the Inspector should later filter out empty pumps.
We can't filter out empty pumps yet, because the number of parsed
characters is passed in willWrite instead of didWrite and thus is
speculative (and wrong). This is a problem independent of this change
as willWrite's "length" argument is wrong in different ways for the old
parser, including always being 0 when the old parser resumes.
Tested by inspector/timeline-script-tag-1.html
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::willPumpLexer):
- Notify the InspectorTimelineAgent we're about to process input.
(WebCore::HTML5Tokenizer::didPumpLexer):
- Notify the InspectorTimelineAgent we did process tokens.
(WebCore::HTML5Tokenizer::pumpLexer):
- Call willPump and didPump
* html/HTML5Tokenizer.h:
* inspector/InspectorTimelineAgent.h:
- Add a FIXME about passing length to didWrite instead of willWrite.
2010-06-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61052.
http://trac.webkit.org/changeset/61052
https://bugs.webkit.org/show_bug.cgi?id=40517
"Broke fast/forms/caret-rtl.html on Mac bots" (Requested by
eseidel on #webkit).
* html/HTMLElement.cpp:
(WebCore::HTMLElement::mapToEntry):
(WebCore::HTMLElement::parseMappedAttribute):
2010-06-11 Maciej Stachowiak <mjs@apple.com>
Reviewed by Ojan Vafai.
Implement HTML5 hidden attribute
https://bugs.webkit.org/show_bug.cgi?id=40511
Test: fast/html/hidden-attr.html
Note: I used the mapped attribute mechanism for this instead of a rule in the UA stylesheet
to avoid a performance hit from adding a global attribute rule to the UA stylesheet.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
(WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
2010-06-10 Abhishek Arya <inferno@chromium.org>
Reviewed by Dave Hyatt.
Do not render CSS Styles :first-letter and :first-line in a SVG text element context.
https://bugs.webkit.org/show_bug.cgi?id=40031
Test: svg/text/text-style-invalid.svg
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::firstLineBlock):
(WebCore::RenderSVGText::updateFirstLetter):
* rendering/RenderSVGText.h:
2010-06-11 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
getParameter with UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL is buggy
https://bugs.webkit.org/show_bug.cgi?id=40506
Return the data members of WebGLRenderingContext for these
parameter queries rather than asking OpenGL, which knows nothing
about them.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter):
2010-06-11 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dr Dan Bernstein.
REGRESSION: crash when unloading an iFrame with Flash from the DOM
https://bugs.webkit.org/show_bug.cgi?id=40161
<rdar://problem/7994710>
Null-check the ownerElement of the RenderView's document when unhooking the compositing
root of an iframe whose layers are parented via the enclosing document. Fixes a crash when
dynamically removing such an iframe.
Test: compositing/iframes/remove-iframe-crash.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::detachRootPlatformLayer):
2010-06-11 Abhishek Arya <inferno@chromium.org>
Reviewed by David Hyatt.
Don't process floats if parent node is not a RenderBlock.
https://bugs.webkit.org/show_bug.cgi?id=40033
Test: svg/text/clear-floats-crash.svg
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clearFloats):
2010-06-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r61036.
http://trac.webkit.org/changeset/61036
https://bugs.webkit.org/show_bug.cgi?id=40499
broke chromium compile (Requested by jamesr on #webkit).
* bindings/v8/SerializedScriptValue.cpp:
* bindings/v8/SerializedScriptValue.h:
(WebCore::SerializedScriptValue::deserializeAndSetProperty):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::createFromWire):
(WebCore::SerializedScriptValue::release):
(WebCore::SerializedScriptValue::SerializedScriptValue):
2010-06-11 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Add texImage2D and texSubImage2D signatures with internal format, etc.
https://bugs.webkit.org/show_bug.cgi?id=40318
Added new texImage2D and texSubImage2D entry points following
WebGL specification changes. Added UNPACK_FLIP_Y_WEBGL and
UNPACK_PREMULTIPLY_ALPHA_WEBGL pixelStorei parameters, honored
them for the new entry points taking HTML elements, and added
support to getParameter. Added warnings to the console for calls
to the obsolete entry points, which will be removed in a few
weeks. Updated all layout tests to use the new entry points and
pixelStorei parameters, and associated expectations. No other new
tests.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::texImage2DImpl):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::printWarningToConsole):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::):
2010-06-11 James Robinson <jamesr@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] Skia mispaints pages with border-radius
https://bugs.webkit.org/show_bug.cgi?id=40456
Skia mispaints pages that have border radius set in some cases. The bug is in the anti aliased
clip path logic used to implement anti aliased curves in Skia. Since Skia internally only supports
1-bit clips, anti aliased clipping is emulated by creating a new alpha layer, storing a set of
clip paths on the side, and then 'erasing' the regions outside the clip. See r49641.
PlatformContextSkia maintains a stack of PlatformContextSkia::State objects that preserve information
like fill color, drawing mode, etc that is manipulated by GraphicsContext::save() /
GraphicsContext::restore() calls as well some internal functions. Whenever a new State object is pushed
a new copy of the current State object is pushed onto the top of this stack using the copy c'tor. The
set of anti alias clip paths is also stored on the State object, but not copied when new entries are
added as the paths only apply to that entry on the stack.
The bug is that the state stack is stored in a WTF::Vector. When this vector exceeds its capacity
(by default at 16 elements) all of the existing State entries are copied into the new buffer using
State's copy constructor. This does not preserve the anti alias clip paths, so when the State entries
are popped the anti aliasing info is lost. This corrupts all further paint operations since it results
in inbalanced save/restore calls to the underlying SkCanvas.
The fix is to make the PlatformContextSkia::State copy constructor copy all fields and to add a new
function PlatformContextSkia::State::cloneInheritedProperties to use when pushing new State entries
that copies everything except for the anti aliased clip paths.
Test: fast/css/nested-rounded-corners.html
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::State::State):
(PlatformContextSkia::State::cloneInheritedProperties):
(PlatformContextSkia::save):
2010-06-11 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
[V8] Clean up SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=40482
SerializedScriptValue doesn't follow WebKit's style guidelines very well
and needlessly inlines quite a bit within the .h file. This change cleans
things up. No funcitonal changes.
No change in behavior.
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::deserializeAndSetProperty):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::createFromWire):
(WebCore::SerializedScriptValue::release):
(WebCore::SerializedScriptValue::SerializedScriptValue):
* bindings/v8/SerializedScriptValue.h:
2010-06-11 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
[v8] Introduce single element caches for WebCore::String to v8::String conversions
https://bugs.webkit.org/show_bug.cgi?id=40435
Measurements show that for some web apps (GMail, Wave) and some scenarios
(intensive reading and/or keeping a tab open for a long time),
hit rate lies in 30--50% interval.
Inlining fast case gives another minor performance win.
* bindings/v8/V8Binding.cpp:
(WebCore::getStringCache):
(WebCore::v8ExternalStringSlow):
* bindings/v8/V8Binding.h:
(WebCore::v8ExternalString):
2010-06-11 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Gustavo Noronha Silva.
[EFL] Build fix: remove unneeded file (npapi.cpp) and add
other files that got added to the tree.
http://webkit.org/b/40331
* CMakeLists.txt:
* CMakeListsEfl.txt:
2010-06-11 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
https://bugs.webkit.org/show_bug.cgi?id=40454
This required exposing the HTMLParser which we definitely don't want to
do, but the good news is that it can go away when the HTMLParser goes
away.
No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.
* dom/Tokenizer.h:
(WebCore::Tokenizer::htmlParser):
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::htmlParser):
* html/HTML5Tokenizer.h:
* html/HTML5TreeBuilder.h:
(WebCore::HTML5TreeBuilder::htmlParser):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::htmlParser):
2010-06-11 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
https://bugs.webkit.org/show_bug.cgi?id=40443
Deleted custom JSC bindings for bufferData, texImage2D and
texSubImage2D and fixed minor associated issues in code generator
and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
which now runs as intended. Ran all layout tests, including WebGL
tests, in Safari.
* bindings/js/JSWebGLRenderingContextCustom.cpp:
- Deleted custom bindings.
* bindings/scripts/CodeGeneratorJS.pm:
- Made overload helper functions static to fix compiler warnings.
- Added needed isObject check for overloads between object and non-object arguments.
- Added JSValue::encode to exception return path, needed on Leopard in particular.
* html/HTMLCanvasElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLVideoElement.idl:
- Added GenerateNativeConverter extended attribute.
* html/canvas/WebGLRenderingContext.idl:
- Deleted #ifdefs for custom JSC bindings.
2010-06-11 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix, add KillRingNone.cpp until we can implement it.
* wscript:
2010-06-11 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
DOM storage should only create databases when needed
https://bugs.webkit.org/show_bug.cgi?id=40301
As soon as a page attempts to use localstorage, StorageAreaSync will
create an empty database if one doesn't already exist. This can lead to
lots of unnecessary database files. In particular, they are created
even when the privacy settings or private browsing mode disallow
localstorage data, which may seem odd to the user.
Database creation should be put off in StorageAreaSync until it is time
to actually write something to the database.
Tests:
manual-tests/localstorage-empty-database.html
* manual-tests/localstorage-empty-database.html: Added.
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::openDatabase):
(WebCore::StorageAreaSync::performImport):
(WebCore::StorageAreaSync::sync):
* storage/StorageAreaSync.h:
(WebCore::StorageAreaSync::):
2010-06-11 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Eric Seidel.
Perl scripts for bindings don't use strict keyword.
As result some problems in the script code were not detected at compile stage.
https://bugs.webkit.org/show_bug.cgi?id=40468
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/IDLParser.pm:
* bindings/scripts/IDLStructure.pm:
2010-06-11 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5Tokenizer should not delete itself while running scripts
https://bugs.webkit.org/show_bug.cgi?id=40458
Tested by fast/dom/document-clear.html
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::attemptToEnd):
- Don't ever end() while running scripts.
This matches the old HTMLTokenizer.cpp
2010-06-11 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
getActiveUniform must ensure names of arrays end in "[0]"
https://bugs.webkit.org/show_bug.cgi?id=38709
Test: fast/canvas/webgl/get-active-test.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getActiveAttrib): Append "[0]" to the name if needed.
2010-06-11 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
readPixels with negative width/height should generate INVALID_VALUE and return
https://bugs.webkit.org/show_bug.cgi?id=39704
* html/canvas/WebGLRenderingContext.cpp: Deal with negative width/height.
(WebCore::WebGLRenderingContext::readPixels):
* html/canvas/WebGLRenderingContext.h: Change width/height type from unsigned long to long.
* html/canvas/WebGLRenderingContext.idl: Ditto.
2010-06-11 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
uniform* entry points must ignore the call if a null WebGLUniformLocation is passed
https://bugs.webkit.org/show_bug.cgi?id=38707
* html/canvas/WebGLRenderingContext.cpp: uniform* entry points ignore the call if a null WebGLUniformLocation is passed.
(WebCore::WebGLRenderingContext::uniform1f):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2f):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2i):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3f):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3i):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4f):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4i):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
2010-06-11 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
drawElements/drawArrays should validate input parameters according to GLES2 spec
https://bugs.webkit.org/show_bug.cgi?id=38700
Tests: fast/canvas/webgl/draw-arrays-out-of-bounds.html
fast/canvas/webgl/draw-elements-out-of-bounds.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::drawArrays): Validate input parameters.
(WebCore::WebGLRenderingContext::drawElements): Ditto.
(WebCore::WebGLRenderingContext::validateDrawMode): Validate mode for draw{Arrays/Elements}.
* html/canvas/WebGLRenderingContext.h: Add validateDrawMode, fix incorrect parameter types.
* html/canvas/WebGLRenderingContext.idl: Fix incorrect parameter types.
2010-06-11 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Antti Koivisto.
CSS3 Media Queries are not serialized according to CSSOM
https://bugs.webkit.org/show_bug.cgi?id=39220
MediaQuery serialization according to specification
http://dev.w3.org/csswg/cssom/#serializing-media-queries.
MediaQuery objects now ignore duplicated expressions. MediaQueryEvaluator::eval()
now does not proccess MediaQuery objects that are known to be invalid.
Test: fast/media/media-query-serialization.html
* css/MediaQuery.cpp:
(WebCore::stringCompare):
(WebCore::MediaQuery::serialize):
(WebCore::MediaQuery::MediaQuery):
(WebCore::MediaQuery::~MediaQuery):
(WebCore::MediaQuery::operator==):
(WebCore::MediaQuery::cssText):
(WebCore::MediaQuery::append):
* css/MediaQuery.h:
(WebCore::MediaQuery::ignored):
(WebCore::MediaQuery::begin):
(WebCore::MediaQuery::end):
* css/MediaQueryExp.cpp:
(WebCore::MediaQueryExp::serialize):
* css/MediaQueryExp.h:
* css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::eval):
2010-06-10 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Implement more of IndexedDB's Indexes and ObjectStores
https://bugs.webkit.org/show_bug.cgi?id=40424
Clean up both of these classes a bit and add create/open/remove
methods as needed.
Tests in a future patch (promise).
* storage/IDBDatabase.h:
* storage/IDBDatabaseImpl.cpp:
(WebCore::IDBDatabaseImpl::objectStores):
(WebCore::IDBDatabaseImpl::createObjectStore):
(WebCore::IDBDatabaseImpl::objectStore):
(WebCore::IDBDatabaseImpl::removeObjectStore):
* storage/IDBDatabaseImpl.h:
(WebCore::IDBDatabaseImpl::name):
(WebCore::IDBDatabaseImpl::description):
(WebCore::IDBDatabaseImpl::version):
* storage/IDBDatabaseRequest.cpp:
(WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
(WebCore::IDBDatabaseRequest::createObjectStore):
(WebCore::IDBDatabaseRequest::objectStore):
(WebCore::IDBDatabaseRequest::removeObjectStore):
* storage/IDBDatabaseRequest.h:
(WebCore::IDBDatabaseRequest::create):
(WebCore::IDBDatabaseRequest::name):
(WebCore::IDBDatabaseRequest::description):
(WebCore::IDBDatabaseRequest::version):
(WebCore::IDBDatabaseRequest::objectStores):
* storage/IDBDatabaseRequest.idl:
* storage/IDBObjectStore.h:
* storage/IDBObjectStoreImpl.h:
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::get):
(WebCore::IDBObjectStoreRequest::add):
(WebCore::IDBObjectStoreRequest::modify):
(WebCore::IDBObjectStoreRequest::addOrModify):
(WebCore::IDBObjectStoreRequest::remove):
(WebCore::IDBObjectStoreRequest::createIndex):
(WebCore::IDBObjectStoreRequest::index):
(WebCore::IDBObjectStoreRequest::removeIndex):
* storage/IDBObjectStoreRequest.h:
* storage/IDBObjectStoreRequest.idl:
2010-06-11 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Enable serialization/deserialization of the frontend state
https://bugs.webkit.org/show_bug.cgi?id=40228
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::saveApplicationSettings):
(WebCore::InspectorBackend::saveSessionSettings):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::setSessionSettings):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::didCommitLoad):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::populateApplicationSettings):
(WebCore::InspectorFrontend::populateSessionSettings):
* inspector/InspectorFrontend.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._settingsLoaded):
(WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
(WebInspector.ConsoleView.prototype._enterKeyPressed):
* inspector/front-end/EventListenersSidebarPane.js:
(WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
(WebInspector.EventListenersSidebarPane.prototype):
():
* inspector/front-end/InspectorBackendStub.js:
(.WebInspector.InspectorBackendStub.prototype.saveApplicationSettings):
(.WebInspector.InspectorBackendStub.prototype.saveSessionSettings):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._selectTab):
(WebInspector.ResourceView.prototype._selectHeadersTab):
(WebInspector.ResourceView.prototype.selectContentTab):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
(WebInspector.ResourcesPanel.prototype._settingsLoaded):
(WebInspector.ResourcesPanel.prototype._toggleLargerResources):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._showScriptOrResource):
(WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
* inspector/front-end/Settings.js:
(WebInspector.populateApplicationSettings):
(WebInspector.populateSessionSettings):
(WebInspector.Settings):
(WebInspector.Settings.prototype.reset):
(WebInspector.Settings.prototype._load):
(WebInspector.Settings.prototype._set):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._settingsLoaded):
(WebInspector.StylesSidebarPane.prototype.update):
(WebInspector.StylesSidebarPane.prototype._changeSetting):
(WebInspector.StylesSidebarPane.prototype._changeColorFormat):
(WebInspector.ComputedStyleSidebarPane.settingsLoaded):
(WebInspector.ComputedStyleSidebarPane.showInheritedToggleFunction):
(WebInspector.ComputedStyleSidebarPane):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSidebarPane):
(WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
(WebInspector.WatchExpressionsSection):
(WebInspector.WatchExpressionsSection.prototype.saveExpressions):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
(WebInspector.reset):
2010-06-10 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Port performSearch from InjectedScript to InspectorDOMAgent.
https://bugs.webkit.org/show_bug.cgi?id=40422
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::addNodesToSearchResult):
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::performSearch):
(WebCore::InspectorBackend::searchCanceled):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorDOMAgent.cpp:
(WebCore::):
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::~InspectorDOMAgent):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::searchCanceled):
(WebCore::InspectorDOMAgent::onMatchJobsTimer):
(WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
* inspector/InspectorDOMAgent.h:
(WebCore::MatchJob::~MatchJob):
(WebCore::MatchJob::MatchJob):
(WebCore::MatchJob::addNodesToResults):
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::addNodesToSearchResult):
* inspector/InspectorFrontend.h:
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateScriptObject):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.searchCanceled):
(WebInspector.ElementsPanel.prototype.performSearch):
(WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
* inspector/front-end/InjectedScriptAccess.js:
2010-06-11 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
[Chromium] Restore 'console.profiles' access.
https://bugs.webkit.org/show_bug.cgi?id=39840
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::stop):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::profilesAccessorGetter):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::stopUserInitiatedProfiling):
2010-06-10 Nikita Vasilyev <me@elv1s.ru>
Reviewed by Pavel Feldman.
Web Inspector: Make a close brace in Styles pane selectable.
https://bugs.webkit.org/show_bug.cgi?id=40157
* inspector/front-end/inspector.css:
(.styles-selector):
(.styles-section .properties li):
(.styles-section):
2010-06-11 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: localize missing script source message
https://bugs.webkit.org/show_bug.cgi?id=40467
* English.lproj/localizedStrings.js:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didParseSource): fixed typo in comment.
2010-06-11 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Vertex attributes enabled as arrays but not bound to buffers must generate INVALID_OPERATION
https://bugs.webkit.org/show_bug.cgi?id=40315
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateRenderingState): Check if an enabled vertext attribs is bound to a buffer.
(WebCore::WebGLRenderingContext::vertexAttribPointer): Set bound buffer in vertex attrib state.
* html/canvas/WebGLRenderingContext.h: Add a member in vertex attrib state to track bound buffer.
2010-05-31 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Implement the simple text code path.
https://bugs.webkit.org/show_bug.cgi?id=40077
Remove the FONT_FAST_PATH macro and use the Qt's
fast text implementation instead of the one of WebKit.
The Qt::TextBypassShaping flag is used to tell Qt to
only use the glyph advances.
Qt 4.7 is needed to get this flag thus the complex path is always
used if QtWebKit is compiled against an earlier version.
Contrary to the WebKit's implementation, the complex code path
is taken if the text is RightToLeft, justified or is formatted
with non-zero letter or word spacing.
* platform/graphics/Font.cpp:
(WebCore::Font::drawText):
(WebCore::Font::floatWidth):
(WebCore::Font::selectionRectForText):
(WebCore::Font::offsetForPosition):
* platform/graphics/Font.h:
(WebCore::Font::isRoundingHackCharacter):
* platform/graphics/qt/FontQt.cpp:
(WebCore::fromRawDataWithoutRef):
(WebCore::needComplexCodePath):
(WebCore::setupPlatformContext):
(WebCore::Font::canReturnFallbackFontsForComplexText):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForSimpleText):
(WebCore::Font::offsetForPositionForSimpleText):
(WebCore::Font::selectionRectForSimpleText):
2010-06-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Simon Hausmann.
Move the text code path detection code from FontFastPath.cpp to Font.cpp.
https://bugs.webkit.org/show_bug.cgi?id=40077
This is a patch preliminary to the implementation of the
simple font code path for the Qt port.
* platform/graphics/Font.cpp:
(WebCore::Font::setCodePath):
(WebCore::Font::codePath):
* platform/graphics/Font.h:
* platform/graphics/FontFastPath.cpp:
2010-06-11 Sterling Swigart <sswigart@google.com>
Reviewed by Dmitry Titov.
Added AsyncImageResizer and ImageResizerThread classes, which after further
patches will be capable of resizing images.
https://bugs.webkit.org/show_bug.cgi?id=40018
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/AsyncImageResizer.cpp: Added.
(WebCore::AsyncImageResizer::create):
(WebCore::AsyncImageResizer::AsyncImageResizer):
(WebCore::AsyncImageResizer::~AsyncImageResizer):
(WebCore::AsyncImageResizer::notifyFinished):
* html/AsyncImageResizer.h: Added.
(WebCore::AsyncImageResizer::CallbackInfo::CallbackInfo):
(WebCore::AsyncImageResizer::):
(WebCore::AsyncImageResizer::resizeComplete):
(WebCore::AsyncImageResizer::resizeError):
* html/ImageResizerThread.cpp: Added.
(WebCore::returnBlobOrError):
(WebCore::ImageResizerThread::start):
(WebCore::ImageResizerThread::ImageResizerThread):
(WebCore::ImageResizerThread::~ImageResizerThread):
(WebCore::ImageResizerThread::imageResizerThreadStart):
(WebCore::ImageResizerThread::imageResizerThread):
* html/ImageResizerThread.h: Added.
2010-06-11 Steve Block <steveblock@google.com>
Reviewed by Alexey Proskuryakov.
Client-based Geolocation does not handle multiple simultaneous requests
https://bugs.webkit.org/show_bug.cgi?id=40148
Test: fast/dom/Geolocation/multiple-requests.html
The Geolocation must handle multiple calls to addObserver() from the same Geolocation object.
* page/GeolocationController.cpp:
(WebCore::GeolocationController::addObserver):
2010-06-11 Nikita Vasilyev <me@elv1s.ru>
Reviewed by Pavel Feldman.
Web Inspector: When completing using a tab key, select very first value, not a second.
https://bugs.webkit.org/show_bug.cgi?id=40409
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._completionsReady):
2010-06-10 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Implement render style selection for pages to support CSS3 Paged Media.
https://bugs.webkit.org/show_bug.cgi?id=35961
Test: printing/page-rule-selection.html
* WebCore.base.exp:
* css/CSSGrammar.y:
* css/CSSSelector.cpp:
(WebCore::CSSSelector::specificity):
(WebCore::CSSSelector::specificityForPage):
* css/CSSSelector.h:
(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::isForPage):
(WebCore::CSSSelector::setForPage):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForPage):
(WebCore::CSSStyleSelector::matchPageRules):
(WebCore::CSSStyleSelector::matchPageRulesForList):
(WebCore::CSSStyleSelector::isLeftPage):
(WebCore::CSSStyleSelector::isFirstPage):
(WebCore::CSSStyleSelector::pageName):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::isRightPage):
* css/html.css:
(@page):
* dom/Document.cpp:
(WebCore::Document::styleForPage):
* dom/Document.h:
* page/PrintContext.cpp:
(WebCore::PrintContext::pageProperty):
* page/PrintContext.h:
2010-06-10 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Fix Bug 40452: REGRESSION: printing is broken if stylesheet has @page
https://bugs.webkit.org/show_bug.cgi?id=40452
Test: printing/page-rule-in-media-query.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSRuleSet::addRulesFromSheet):
(WebCore::CSSRuleSet::addStyleRule):
2010-06-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60989.
http://trac.webkit.org/changeset/60989
https://bugs.webkit.org/show_bug.cgi?id=40462
It makes things crash (Requested by abarth on #webkit).
* dom/Tokenizer.h:
(WebCore::Tokenizer::isHTMLTokenizer):
* html/HTML5Tokenizer.cpp:
* html/HTML5Tokenizer.h:
* html/HTML5TreeBuilder.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::isHTMLTokenizer):
(WebCore::HTMLTokenizer::htmlParser):
2010-06-10 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Eric Seidel.
Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
https://bugs.webkit.org/show_bug.cgi?id=40454
This required exposing the HTMLParser which we definitely don't want to
do, but the good news is that it can go away when the HTMLParser goes
away.
No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.
* dom/Tokenizer.h:
(WebCore::Tokenizer::htmlParser):
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::htmlParser):
* html/HTML5Tokenizer.h:
* html/HTML5TreeBuilder.h:
(WebCore::HTML5TreeBuilder::htmlParser):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::removedFromTree):
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::htmlParser):
2010-06-10 Tony Chang <tony@chromium.org>
Reviewed by Kent Tamura.
crash when focus is changed while trying to focus next element
https://bugs.webkit.org/show_bug.cgi?id=40407
Test: fast/events/focus-change-crash.html
* dom/Element.cpp:
(WebCore::Element::focus):
2010-06-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60979.
http://trac.webkit.org/changeset/60979
https://bugs.webkit.org/show_bug.cgi?id=40450
Broke build on Leopard (Requested by kbr_google on #webkit).
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::bufferData):
(WebCore::JSWebGLRenderingContext::bufferSubData):
(WebCore::JSWebGLRenderingContext::texImage2D):
(WebCore::JSWebGLRenderingContext::texSubImage2D):
* bindings/scripts/CodeGeneratorJS.pm:
* html/HTMLCanvasElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLVideoElement.idl:
* html/canvas/WebGLRenderingContext.idl:
2010-06-10 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Delete custom JSC bindings for bufferData, texImage2D and texSubImage2D
https://bugs.webkit.org/show_bug.cgi?id=40443
Deleted custom JSC bindings for bufferData, texImage2D and
texSubImage2D and fixed minor associated issues in code generator
and IDL. Updated fast/canvas/webgl/texImageTest-expected.txt,
which now runs as intended. Ran all layout tests, including WebGL
tests, in Safari.
* bindings/js/JSWebGLRenderingContextCustom.cpp:
- Deleted custom bindings.
* bindings/scripts/CodeGeneratorJS.pm:
- Made overload helper functions static to fix compiler warnings.
- Added needed isObject check for overloads between object and non-object arguments.
* html/HTMLCanvasElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLVideoElement.idl:
- Added GenerateNativeConverter extended attribute.
* html/canvas/WebGLRenderingContext.idl:
- Deleted #ifdefs for custom JSC bindings.
2010-06-10 David Hyatt <hyatt@apple.com>
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
wheel delta values.
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/mac/WheelEventMac.mm:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
2010-06-10 Abhishek Arya <inferno@chromium.org>
Reviewed by Dimitri Glazkov.
Add null pointer checks for nativeImageForCurrentFrame
function calls.
https://bugs.webkit.org/show_bug.cgi?id=39797
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeImage):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::getImageData):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeImage):
2010-06-09 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Implement TypedArray BYTES_PER_ELEMENT
https://bugs.webkit.org/show_bug.cgi?id=39100
Implemented BYTES_PER_ELEMENT on all ArrayBufferView subclasses.
Required bug fixes to JSC bindings' custom constructors. Updated
fast/canvas/webgl/array-unit-tests.html to verify. Ran all WebGL
layout tests in Safari and Chromium.
* bindings/js/JSFloat32ArrayConstructor.cpp:
(WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
(WebCore::JSFloat32ArrayConstructor::getOwnPropertySlot):
(WebCore::JSFloat32ArrayConstructor::getOwnPropertyDescriptor):
* bindings/js/JSFloat32ArrayConstructor.h:
(WebCore::JSFloat32ArrayConstructor::createStructure):
* bindings/js/JSInt16ArrayConstructor.cpp:
(WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
(WebCore::JSInt16ArrayConstructor::getOwnPropertySlot):
(WebCore::JSInt16ArrayConstructor::getOwnPropertyDescriptor):
* bindings/js/JSInt16ArrayConstructor.h:
(WebCore::JSInt16ArrayConstructor::createStructure):
* bindings/js/JSInt32ArrayConstructor.cpp:
(WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
(WebCore::JSInt32ArrayConstructor::getOwnPropertySlot):
(WebCore::JSInt32ArrayConstructor::getOwnPropertyDescriptor):
* bindings/js/JSInt32ArrayConstructor.h:
(WebCore::JSInt32ArrayConstructor::createStructure):
* bindings/js/JSInt8ArrayConstructor.cpp:
(WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
(WebCore::JSInt8ArrayConstructor::getOwnPropertySlot):
(WebCore::JSInt8ArrayConstructor::getOwnPropertyDescriptor):
* bindings/js/JSInt8ArrayConstructor.h:
(WebCore::JSInt8ArrayConstructor::createStructure):
* bindings/js/JSUint16ArrayConstructor.cpp:
(WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
(WebCore::JSUint16ArrayConstructor::getOwnPropertySlot):
(WebCore::JSUint16ArrayConstructor::getOwnPropertyDescriptor):
* bindings/js/JSUint16ArrayConstructor.h:
(WebCore::JSUint16ArrayConstructor::createStructure):
* bindings/js/JSUint32ArrayConstructor.cpp:
(WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
(WebCore::JSUint32ArrayConstructor::getOwnPropertySlot):
(WebCore::JSUint32ArrayConstructor::getOwnPropertyDescriptor):
* bindings/js/JSUint32ArrayConstructor.h:
(WebCore::JSUint32ArrayConstructor::createStructure):
* bindings/js/JSUint8ArrayConstructor.cpp:
(WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
(WebCore::JSUint8ArrayConstructor::getOwnPropertySlot):
(WebCore::JSUint8ArrayConstructor::getOwnPropertyDescriptor):
* bindings/js/JSUint8ArrayConstructor.h:
(WebCore::JSUint8ArrayConstructor::createStructure):
* html/canvas/Float32Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
2010-06-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 Parser should continue parsing after script execution
https://bugs.webkit.org/show_bug.cgi?id=40416
The previous code was just wrong. We were always blocking
the parser after any script execution. Now we correctly continue
parsing after a successful script execution and only block the
parser when we weren't able to execute the script immediately.
Added a new haveParsingBlockingScript() function to HTML5ScriptRunner
to make some of the code more self-documenting.
Test: fast/tokenizer/write-multiple-scripts.html
fast/js/implicit-call-with-global-reentry.html
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::execute):
- Remove some old (now bogus) FIXMEs and notImplemented() calls.
- Fix the logic to match the HTML5 spec by continuing parsing
after script execution and only blocking the parser when the
script wasn't able to immediately run.
(WebCore::HTML5ScriptRunner::haveParsingBlockingScript):
- New function to make some of the code read better.
(WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
- Use haveParsingBlockingScript().
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
- Use haveParsingBlockingScript().
(WebCore::HTML5ScriptRunner::runScript):
- Use haveParsingBlockingScript().
* html/HTML5ScriptRunner.h:
2010-06-10 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: to reduce the front end start up time don't push script
sources to frontend if debugger is always enabled, instead request
script content lazily at the moment it should be displyed. It is critical for
always enabled debugger because in that case lots of script may have
already been parsed when the front end is opening and pushing all
of them at once may slow things down(even though the script sources will never
be used if scripts panel isn't open).
https://bugs.webkit.org/show_bug.cgi?id=40364
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::getScriptSource):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::getScriptSource):
(WebCore::InspectorController::didParseSource):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::didGetScriptSource):
* inspector/InspectorFrontend.h:
* inspector/front-end/InspectorBackendStub.js:
(.WebInspector.InspectorBackendStub.prototype.editScriptSource):
(.WebInspector.InspectorBackendStub.prototype.getScriptSource):
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
(WebInspector.ScriptView.prototype._didGetScriptSource):
(WebInspector.ScriptView.prototype._sourceFrameSetupFinished):
2010-06-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Use allowRequestIfNoIllegalURICharacters instead of context for XSSAuditor::canLoadExternalScriptFromSrc
https://bugs.webkit.org/show_bug.cgi?id=40404
We originally added the context parameter to
canLoadExternalScriptFromSrc to work around some false positives caused
by folks checking external script URLs on the server. Our thought was
that we could tell these were not real XSS attacks because the
surrounding context wouldn't match in the URL and the document.
Implementing this feature in the HTML5 parser is hard because it
pierces a layer of abstraction (the token abstraction of the input
stream). We could hack this into the new parser, but instead I think
it's better to switch to using the allowRequestIfNoIllegalURICharacters
heuristic.
We designed the allowRequestIfNoIllegalURICharacters after the context
heuristic to deal with other cases where the server was validating
input before echoing it. However, we never tried applying it to
canLoadExternalScriptFromSrc.
It's possible that this will cause false positives and will need to be
reverted, which is why I've left in some of the infrustructure for
computing context. We don't have a good way to know if that will
happen except to try. We do know, however, that this heuristic will
work for the original false positives we saw.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseTag):
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
* page/XSSAuditor.h:
2010-06-10 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
Add ENABLE(DATABASE) guard for DatabaseAuthorizer.cpp
https://bugs.webkit.org/show_bug.cgi?id=40399
Build fix for ENABLE(DATABASE)=0.
* storage/DatabaseAuthorizer.cpp:
2010-06-10 Shu Chang <chang.shu@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Change the type of ShadowBlur from int to float in GraphicsContext.
Using int for ShadowBlur loses precision and fails the test.
Note: This code change fixes Qt port but Mac is still failing due to
platform issue. Function CGContextSetShadowWithColor() does not take
a blur value less than 0.5.
https://bugs.webkit.org/show_bug.cgi?id=40370
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::getShadow):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsContextPrivate.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::calculateShadowBufferDimensions):
(WebCore::drawPathShadow):
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::Font::drawComplexText):
* platform/graphics/haiku/GraphicsContextHaiku.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/openvg/GraphicsContextOpenVG.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::drawComplexText):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::drawFilledShadowPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::drawBorderlessRectShadow):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::windowsCanHandleDrawTextShadow):
* platform/graphics/win/FontCGWin.cpp:
(WebCore::drawGDIGlyphs):
(WebCore::Font::drawGlyphs):
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::drawText):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::setPlatformShadow):
2010-06-10 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Support for loading notification icons
https://bugs.webkit.org/show_bug.cgi?id=40396
Make notification objects download the icon needed for displaying the
notification before calling the NotificationPresenter to display the
notification.
An error during the download would cause the notification to be displayed
without an icon.
If a notification is in the process of download, and a new notification
is created with the same ReplaceId, the download is not cancelled
immediately and the notification is removed only after the download is
complete.
Tests: http/tests/notifications/icon-does-not-exist.html
http/tests/notifications/icon-exists-cancel.html
http/tests/notifications/icon-exists-show-alert-during-load.html
http/tests/notifications/icon-exists.html
http/tests/notifications/icon-requires-auth.html
* notifications/Notification.cpp:
(WebCore::Notification::Notification):
(WebCore::Notification::~Notification):
(WebCore::Notification::show):
(WebCore::Notification::cancel):
(WebCore::Notification::startLoading):
(WebCore::Notification::stopLoading):
(WebCore::Notification::didReceiveResponse):
(WebCore::Notification::didReceiveData):
(WebCore::Notification::didFinishLoading):
(WebCore::Notification::didFail):
(WebCore::Notification::didFailRedirectCheck):
(WebCore::Notification::didReceiveAuthenticationCancellation):
(WebCore::Notification::finishLoading):
* notifications/Notification.h:
(WebCore::Notification::iconData):
(WebCore::Notification::releaseIconData):
(WebCore::Notification::):
2010-06-10 Raine Makelainen <raine.makelainen@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Impossible to set input method hints based HTML5 input types
https://bugs.webkit.org/show_bug.cgi?id=40107
Helper methods for checking "tel", "number", "email",
and "url" input element types.
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isTelephoneField):
(WebCore::HTMLInputElement::isNumberField):
(WebCore::HTMLInputElement::isEmailField):
(WebCore::HTMLInputElement::isUrlField):
2010-06-10 Daniel Cheng <dcheng@chromium.org>
Reviewed by Jian Li.
Don't convert filenames to URLs in edit drags.
https://bugs.webkit.org/show_bug.cgi?id=38826
For security reasons, we don't want to expose file system paths to web
content, so we filter them out of edit drags.
Test: editing/pasteboard/file-drag-to-editable.html
* page/DragController.cpp:
(WebCore::documentFragmentFromDragData):
* platform/DragData.h:
(WebCore::DragData::):
* platform/android/DragDataAndroid.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/chromium/DragDataChromium.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/efl/DragDataEfl.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/haiku/DragDataHaiku.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/mac/DragDataMac.mm:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::asPlainText):
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::getURL):
(WebCore::getPlainText):
* platform/win/ClipboardUtilitiesWin.h:
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::getData):
* platform/win/DragDataWin.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/wince/DragDataWince.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
* platform/wx/DragDataWx.cpp:
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
2010-06-10 Mike Belshe <mbelshe@chromium.org>
Reviewed by David Levin
Track whether a resource is loaded via a proxy.
https://bugs.webkit.org/show_bug.cgi?id=40312
* platform/network/chromium/ResourceResponse.h:
(WebCore::ResourceResponse::wasFetchedViaProxy):
(WebCore::ResourceResponse::setWasFetchedViaProxy):
2010-06-10 Jungshik Shin <jshin@chromium.org>
Reviewed by Kent Tamura
Bug 38224 - [chromium] Enable rendering of Ethiopic, Lao, Tibetan
and a few other scripts on Win XP
https://bugs.webkit.org/show_bug.cgi?id=38224
Make it possible to specify a list of fonts for per-script
fallback instead of a single font per script. This is
necessary for Malayalam (for which Windows font doesn't
support Unicode 5.x fully on Vista or earlier), Ethiopic
(we want to support on XP with a 3rd party font because XP
doesn't have any Ethiopic font out of the box) and some other
scripts. This is a short-term 'fix' until we have per-script
font preferences.
No layout test is added because the test results would be
dependent on which fonts are present.
* platform/graphics/chromium/FontUtilsChromiumWin.cpp:
(WebCore::):
(WebCore::FontMap::ScriptToFontFamilies::):
2010-06-09 Andrei Popescu <andreip@google.com>
Reviewed by Adam Barth.
CodeGeneratorJS.pm incorrectly increments $paramIndex when a method is declared with [CallWith]
https://bugs.webkit.org/show_bug.cgi?id=40372
Use two variables to keep track of the number of arguments passed from JavaScript vs the number
of arguments passed to the corresponding C++ method. These numbers can be different since
the parameter declared via [CallWith] is generated in the bindings instead of being passed
from JavaScript.
Test: storage/indexeddb/idb-objectstore-request.html
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::withScriptExecutionContext):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
2010-06-09 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
Refactoring: Simple shadow elements should be factored out .
https://bugs.webkit.org/show_bug.cgi?id=40400
Pulled ShadowElement class up from SliderThumbElement,
ProgressValueElement, ShadowInputElement.
And renamed ProgressValueElement to ShadowBlockElement.
No new tests. Because there is no functional change.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderFileUploadControl.cpp:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::updateValuePartState):
* rendering/RenderProgress.h:
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::SliderThumbElement):
(WebCore::SliderThumbElement::defaultEventHandler):
(WebCore::SliderThumbElement::detach):
* rendering/ShadowElement.cpp: Added.
(WebCore::ShadowBlockElement::create):
(WebCore::ShadowBlockElement::ShadowBlockElement):
(WebCore::ShadowInputElement::create):
(WebCore::ShadowInputElement::ShadowInputElement):
* rendering/ShadowElement.h: Added.
(WebCore::ShadowElement::ShadowElement):
(WebCore::ShadowElement::isShadowNode):
(WebCore::ShadowElement::shadowParentNode):
2010-06-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Reduce FrameView.h includes to speed up build times
https://bugs.webkit.org/show_bug.cgi?id=40408
Another fix for Qt.
* page/Frame.h:
- Include CSSMutableStyleDeclaration.h since it's used by m_typingStyle = 0;
2010-06-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Reduce FrameView.h includes to speed up build times
https://bugs.webkit.org/show_bug.cgi?id=40408
More attempted build fixes for Tiger and Qt.
* page/Frame.cpp:
* page/Frame.h:
2010-06-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Reduce FrameView.h includes to speed up build times
https://bugs.webkit.org/show_bug.cgi?id=40408
Add a few more RenderLayer.h includes to fix non-mac builds.
* page/FrameView.cpp:
* rendering/RenderObject.cpp:
* rendering/RenderTreeAsText.cpp:
2010-06-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Reduce FrameView.h includes to speed up build times
https://bugs.webkit.org/show_bug.cgi?id=40408
Cleaned up FrameView.h includes and then propagated the
cascade of includes to the necessary .cpp files.
This should reduce the set of files rebuilt every
time FrameView.h changes, and should also reduce the size
of some .o files.
No functional changes, thus no tests.
* accessibility/AccessibilityRenderObject.cpp:
* dom/ContainerNode.cpp:
* dom/Document.cpp:
* dom/Element.cpp:
* dom/EventTarget.h:
* dom/Node.cpp:
* editing/EditorCommand.cpp:
* editing/SelectionController.cpp:
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::script):
- No need for this to be inline. Being inline required
Frame.h in the header, which causes huge include cascade.
* html/HTML5Tokenizer.h:
* page/DragController.cpp:
* page/EventHandler.cpp:
* page/Frame.h:
* page/FrameView.h:
* page/PrintContext.cpp:
* page/SpatialNavigation.cpp:
* rendering/RenderBlock.cpp:
* rendering/RenderBlockLineLayout.cpp:
* rendering/RenderImage.cpp:
* rendering/RenderInline.cpp:
* rendering/RenderObject.h:
* rendering/RenderTextControlSingleLine.cpp:
* rendering/RenderWidget.cpp:
* rendering/SVGRenderSupport.cpp:
2010-06-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Move HTML5 entity parser to its own file
https://bugs.webkit.org/show_bug.cgi?id=40406
Moving this algorithm to its own file better encapsulates its
dependencies and makes it callable from other parts of WebCore.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTML5EntityParser.cpp: Copied from WebCore/html/HTML5Lexer.cpp.
(WebCore::):
(WebCore::consumeHTML5Entity):
* html/HTML5EntityParser.h: Copied from WebCore/html/HTML5Lexer.h.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::processEntity):
(WebCore::HTML5Lexer::nextToken):
* html/HTML5Lexer.h:
2010-06-09 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
HTML5 Parser: Fix fast/profiler tests that depend on event handler line numbers
https://bugs.webkit.org/show_bug.cgi?id=40393
This emulated the old behavior in HTMLTokenizer:processToken()
No new tests because covered by:
- fast/profiler/dead-time.html
- fast/profiler/inline-event-handler.html
- fast/profiler/stop-profiling-after-setTimeout.html
- fast/profiler/throw-exception-from-eval.html
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::pumpLexer):
2010-06-09 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=9504
img tag rewritten by innerHTML doesn't use image map
Test: fast/dom/replaced-image-map.html
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::~HTMLMapElement): Destructor is not a good place to make changes
that affect page behavior, because destructors are called by garbage collector. Don't
undregister the image map from here.
(WebCore::HTMLMapElement::parseMappedAttribute): Only tell document about the map if it's
actually in document. A map in a detached subtree isn't used by Firefox at least.
(WebCore::HTMLMapElement::insertedIntoDocument): Register the map.
(WebCore::HTMLMapElement::removedFromDocument): Unregister the map.
* html/HTMLMapElement.h: Added insertedIntoDocument/removedFromDocument overrides.
2010-06-09 Roland Steiner <rolandsteiner@chromium.org>
Reviewed by Ojan Vafai.
Bug 35632 - htmlediting.cpp : isEmptyTableCell() is incomplete
https://bugs.webkit.org/show_bug.cgi?id=35632
Correct isEmptyTableCell to check for the presence of other renderer
children.
Test: editing/deleting/delete-br-in-last-table-cell.html
* editing/htmlediting.cpp:
(WebCore::isEmptyTableCell):
2010-06-09 Qi Zhang <qi.2.zhang@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.transformation.html
https://bugs.webkit.org/show_bug.cgi?id=38598
In path transform function handle path only have moveElement case.
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::transform):
2010-06-09 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
[v8] First phase of switching to new named property query API
https://bugs.webkit.org/show_bug.cgi?id=40303
To allow better management of attributes of intercepted properties,
we're starting to switch to new named property query API which
now could return attributes instead of simple property present/absent
flag. The next step would remove USE_NEW_QUERY_CALLBACK, then
v8 would have them enabled by default.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/NPV8Object.cpp:
* bindings/v8/ScriptArray.cpp:
* bindings/v8/ScriptCallStack.cpp:
* bindings/v8/SerializedScriptValue.cpp:
* bindings/v8/V8Binding.cpp:
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8GCController.cpp:
* bindings/v8/V8IsolatedContext.cpp:
* bindings/v8/V8NPObject.cpp:
(WebCore::npObjectQueryProperty):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/custom/V8PopStateEventCustom.cpp:
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore::V8Storage::namedPropertyQuery):
* config.h:
2010-06-09 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Need to include V8Proxy.h in V8 generated bindings for toV8Context()
https://bugs.webkit.org/show_bug.cgi?id=40290
No new tests, build fix only.
* bindings/scripts/CodeGeneratorV8.pm:
2010-06-09 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
Reviewed by Kenneth Rohde Christiansen.
WebGL rendering context does not activate unless accelerated
compositing is enabled from settings.
https://bugs.webkit.org/show_bug.cgi?id=37772
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
2010-06-09 Yong Li <yoli@rim.com>
Reviewed by George Staikos.
https://bugs.webkit.org/show_bug.cgi?id=40252
Make image down-sampling threshold runtime adjustable.
No new test needed.
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::setData):
* platform/graphics/ImageSource.h:
(WebCore::ImageSource::maxPixelsPerDecodedImage):
(WebCore::ImageSource::setMaxPixelsPerDecodedImage):
2010-06-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix handling of bytes received from the network while in document.write
https://bugs.webkit.org/show_bug.cgi?id=40356
The old tokenizer has specially logic for handling the case of
receiving bytes from the network while in a nested call to
document.write. This patch implements similar logic for the HTML5
tokenizer. Also, this patch abstracts the tricky shuffling of
SegmentedStrings behind a simple API.
I'm not sure how to trigger this case. My guess is we can trigger it
using a nested event loop, e.g., via alert(), but I'm not sure how to
test that in a LayoutTest. There don't appear to be any LayoutTests
that currently test this behavior despite it being present in the old
tokenizer.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::pumpLexer):
(WebCore::HTML5Tokenizer::write):
- Added a branch for the |append| argument.
(WebCore::HTML5Tokenizer::end):
(WebCore::HTML5Tokenizer::finish):
(WebCore::HTML5Tokenizer::executeScript):
- Switch over to using a RAII pattern for recording and restoring
insertion points.
* html/HTML5Tokenizer.h:
(WebCore::HTML5Tokenizer::InputStream::InputStream):
(WebCore::HTML5Tokenizer::InputStream::appendToEnd):
(WebCore::HTML5Tokenizer::InputStream::insertAtCurrentInsertionPoint):
(WebCore::HTML5Tokenizer::InputStream::close):
- Putting the close() method on InputStream makes it much easier to
handle EOF. We now just close the last buffer in the stream when
the network says it's done.
(WebCore::HTML5Tokenizer::InputStream::current):
- This class could be moved to its own file, but it shouldn't be
used outside of the tokenizer.
(WebCore::HTML5Tokenizer::InsertionPointRecord::InsertionPointRecord):
(WebCore::HTML5Tokenizer::InsertionPointRecord::~InsertionPointRecord):
- A simple RAII class for managing saved insertion points.
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::operator=):
- Fix a related bug where m_closed was not being copied properly in
the assignment operator.
2010-06-09 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Fix fast/parser/hex-entities-length.html for HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=40385
Stripping surrogate pair values appears to be a problem with the spec
in "Preprocessing the input stream." Minefield doesn't appear to
implement the part in question. So this patch removes that guard and
adds a FIXME to track the issue.
No new tests because covered by fast/parser/hex-entities-length.html
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
2010-06-09 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Update readPixels to take ArrayBufferView rather than returning it
https://bugs.webkit.org/show_bug.cgi?id=40322
No new tests; covered by existing tests, which have been modified.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::readPixels):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
2010-06-09 Enrico Ros <eros@codeaurora.org>
Reviewed by Ariya Hidayat.
Fix drawing zero-sized gradients on Canvas.
https://bugs.webkit.org/show_bug.cgi?id=40340
HTML5 draft says that nothing must be painted if the gradient start
point equals the stop point.
This commit fixes the following canvas test:
http://philip.html5.org/tests/canvas/suite/tests/2d.gradient.interpolate.zerosize.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fillRect): skip zero-sized linear gradients
* platform/graphics/Gradient.h:
(WebCore::Gradient::isRadial): made public
(WebCore::Gradient::isZeroSize): true if start == stop
2010-06-09 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Adam Treat.
[EFL] Allow building core libraries as shared objects to speed up
linking time on machines with small amounts of memory.
http://webkit.org/b/39899
* CMakeLists.txt: If building with shared core, install the lib.
Remove npapi.cpp (causes conflicts when linking dynamically).
* CMakeListsEfl.txt: EFL libraries are needed to link dynamically.
2010-06-09 Mark Rowe <mrowe@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/8070662> REGRESSION (r51629): WebBackForwardList created via -init crashes when -addItem: is called.
A WebBackForwardList created via -init results in a BackForwardList being created with a null m_page.
BackForwardList needs to be careful not to dereference m_page without first ensuring it's not null.
* history/BackForwardList.cpp:
(WebCore::BackForwardList::addItem): Null-check m_page.
(WebCore::BackForwardList::goBack): Ditto.
(WebCore::BackForwardList::goForward): Ditto.
(WebCore::BackForwardList::goToItem): Ditto.
(WebCore::BackForwardList::setCapacity): Ditto.
2010-06-09 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Add dummy Context Menu implementation
https://bugs.webkit.org/show_bug.cgi?id=40223
Brew MP does not use Context Menu. Add dummy implementation.
* platform/brew/ContextMenuBrew.cpp: Added.
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::ContextMenu::itemCount):
(WebCore::ContextMenu::insertItem):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::itemWithAction):
(WebCore::ContextMenu::itemAtIndex):
(WebCore::ContextMenu::setPlatformDescription):
(WebCore::ContextMenu::platformDescription):
(WebCore::ContextMenu::releasePlatformDescription):
* platform/brew/ContextMenuItemBrew.cpp: Added.
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::releasePlatformDescription):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setType):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::setEnabled):
(WebCore::ContextMenuItem::enabled):
2010-06-09 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Port Clipboard
https://bugs.webkit.org/show_bug.cgi?id=35734
Add dummy Clipboard.
* platform/brew/ClipboardBrew.cpp: Added.
(WebCore::ClipboardBrew::ClipboardBrew):
(WebCore::ClipboardBrew::~ClipboardBrew):
(WebCore::ClipboardBrew::clearData):
(WebCore::ClipboardBrew::clearAllData):
(WebCore::ClipboardBrew::getData):
(WebCore::ClipboardBrew::setData):
(WebCore::ClipboardBrew::types):
(WebCore::ClipboardBrew::files):
(WebCore::ClipboardBrew::setDragImage):
(WebCore::ClipboardBrew::setDragImageElement):
(WebCore::ClipboardBrew::createDragImage):
(WebCore::ClipboardBrew::declareAndWriteDragImage):
(WebCore::ClipboardBrew::writeURL):
(WebCore::ClipboardBrew::writeRange):
(WebCore::ClipboardBrew::writePlainText):
(WebCore::ClipboardBrew::hasData):
* platform/brew/ClipboardBrew.h: Added.
2010-06-09 Anders Bakken <agbakken@gmail.com>
Reviewed by David Levin.
[Qt] ClipboardQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39781
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::declareAndWriteDragImage):
2010-06-09 Kenneth Russell <kbr@google.com>
Reviewed by Dimitri Glazkov.
Rename FloatArray to Float32Array
https://bugs.webkit.org/show_bug.cgi?id=40323
Used do-webcore-rename to perform renaming. Manually undid
incorrect changes to WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp,
WebCore/manual-tests/resources/ArrayParameterTestApplet.java and
ArrayParameterTestApplet.class. Updated LayoutTests. Built and ran
all layout tests on Safari; built Chromium and ran selected WebGL
tests.
* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::float32ArrayEnabled):
* bindings/js/JSArrayBufferViewCustom.cpp:
(WebCore::toJS):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::float32Array):
(WebCore::JSDOMWindow::webGLFloatArray):
* bindings/js/JSFloat32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSFloatArrayConstructor.cpp.
(WebCore::):
(WebCore::JSFloat32ArrayConstructor::JSFloat32ArrayConstructor):
(WebCore::constructCanvasFloatArray):
(WebCore::JSFloat32ArrayConstructor::getConstructData):
* bindings/js/JSFloat32ArrayConstructor.h: Copied from WebCore/bindings/js/JSFloatArrayConstructor.h.
* bindings/js/JSFloat32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSFloatArrayCustom.cpp.
(WebCore::JSFloat32Array::indexSetter):
(WebCore::toJS):
(WebCore::JSFloat32Array::set):
* bindings/js/JSFloatArrayConstructor.cpp: Removed.
* bindings/js/JSFloatArrayConstructor.h: Removed.
* bindings/js/JSFloatArrayCustom.cpp: Removed.
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::dataFunctionf):
(WebCore::dataFunctionMatrix):
* bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
* bindings/v8/custom/V8Float32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8FloatArrayCustom.cpp.
(WebCore::V8Float32Array::constructorCallback):
(WebCore::V8Float32Array::setCallback):
(WebCore::toV8):
* bindings/v8/custom/V8FloatArrayCustom.cpp: Removed.
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::vertexAttribAndUniformHelperf):
(WebCore::uniformMatrixHelper):
* html/canvas/Float32Array.cpp: Copied from WebCore/html/canvas/FloatArray.cpp.
(WebCore::Float32Array::create):
(WebCore::Float32Array::Float32Array):
(WebCore::Float32Array::slice):
* html/canvas/Float32Array.h: Copied from WebCore/html/canvas/FloatArray.h.
* html/canvas/Float32Array.idl: Copied from WebCore/html/canvas/FloatArray.idl.
* html/canvas/FloatArray.cpp: Removed.
* html/canvas/FloatArray.h: Removed.
* html/canvas/FloatArray.idl: Removed.
* html/canvas/WebGLGetInfo.cpp:
(WebCore::WebGLGetInfo::WebGLGetInfo):
(WebCore::WebGLGetInfo::getWebGLFloatArray):
* html/canvas/WebGLGetInfo.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::vertexAttrib1fv):
(WebCore::WebGLRenderingContext::vertexAttrib2fv):
(WebCore::WebGLRenderingContext::vertexAttrib3fv):
(WebCore::WebGLRenderingContext::vertexAttrib4fv):
(WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebGLRenderingContext.idl:
* page/DOMWindow.idl:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/mac/GraphicsContext3DMac.cpp:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
2010-06-09 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 Parser needs to integrate with the XSSAuditor
https://bugs.webkit.org/show_bug.cgi?id=40287
This fixes most of the XSSAuditor tests, except for the ones
which rely on the srcValue "context". The previous HTMLTokenizer
implementation was both Lexer and ScriptRunner and thus could
provide the XSSAuditor with the un-modified attribute source.
This naive implementation will fail the context-sensitive tests
but Adam Barth says he'll just have to find a new way to provide
the required information to the XSSAuditor in a later patch.
Covered by numerous http/tests/security/xssAuditor tests.
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::requestScript):
- Ask the HTML5ScriptRunner host before running any scripts.
* html/HTML5ScriptRunnerHost.h:
- Add a shouldLoadExternalScriptFromSrc declaration.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::shouldLoadExternalScriptFromSrc):
- Ask the XSSAuditor if we're allowed to run the passed script.
* html/HTML5Tokenizer.h:
2010-06-09 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Fix script-after-frameset test in HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=40274
The old HTMLTokenizer enforced this in scriptHandler(). We don't use
that code anymore, so it needs to be implemented. The spec does this
as a part of "insertion mode"->"after frameset", so this adds an
InsertionMode enum instead of a one-off boolean.
No new tests because covered by fast/tokenizer/script-after-frameset.html
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
* html/HTML5TreeBuilder.h:
(WebCore::HTML5TreeBuilder::):
(WebCore::HTML5TreeBuilder::setInsertionMode):
(WebCore::HTML5TreeBuilder::insertionMode):
2010-06-09 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
[BREWMP] Add EventLoop
https://bugs.webkit.org/show_bug.cgi?id=39401
BREW MP does not have an explicit event loop. Add dummy EventLoop::cycle.
* platform/brew/EventLoopBrew.cpp: Added.
(WebCore::EventLoop::cycle):
2010-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60889.
http://trac.webkit.org/changeset/60889
https://bugs.webkit.org/show_bug.cgi?id=40365
gtk bot has some kind of memory corruption (Requested by
loislo on #webkit).
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setFrontend):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::InspectorFrontend):
* inspector/InspectorFrontend.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::frontendLoaded):
* inspector/InspectorValues.cpp:
(WebCore::InspectorObject::writeJSON):
* inspector/front-end/inspector.js:
* loader/EmptyClients.h:
2010-06-09 Kent Tamura <tkent@chromium.org>
Reviewed by Eric Carlson.
[Windows] Build fix on Japanese Windows
https://bugs.webkit.org/show_bug.cgi?id=40358
cl.exe on Japanese Windows assumes files with invalid CP932
sequences broken and doesn't build them at all.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Remove non-ASCII characters
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: ditto.
* platform/graphics/win/WKCAImageQueue.cpp: ditto.
* platform/graphics/win/WKCAImageQueue.h: ditto.
2010-06-09 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Add isDebuggerAlwaysEnabled method to ScriptDebugServer.
This method returns true if debugger should always be enabled when
frontend is attached.
https://bugs.webkit.org/show_bug.cgi?id=40289
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
* bindings/v8/ScriptDebugServer.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setFrontend):
2010-06-07 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
data from inspected page to WebInspector as JSON string via http. The native
serialization to JSON string is supported by InspectorValue's classes. This patch
has the implementation of sendMessageToFrontend function. WebKit version of it still
uses ScriptFunctionCall and will be switched to another transport a little bit later.
https://bugs.webkit.org/show_bug.cgi?id=40134
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::InspectorFrontend):
* inspector/InspectorFrontend.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::frontendLoaded):
* inspector/InspectorValues.cpp:
(WebCore::InspectorObject::writeJSON):
* inspector/front-end/inspector.js:
(WebInspector.dispatchMessageToFrontend):
* loader/EmptyClients.h:
(WebCore::EmptyInspectorClient::sendMessageToFrontend):
2010-06-09 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Dirk Schulze.
[Qt] Imperfect dependency for generated SVGNames.cpp
https://bugs.webkit.org/show_bug.cgi?id=40359
* WebCore.pri: Missing dependency added.
2010-06-08 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
https://bugs.webkit.org/show_bug.cgi?id=31438
This is the implementation of the SVG property vector-effect according
to the specification of SVG Tiny 1.2.
getScreenCTM() was not able to calculate the transformation matrix in
comparison to the host coordinate system for objects, that get refereced
by a use element. This is fixed and covered by the the new test as well.
This patch is based upon a patch of Jeff Schiller.
Test: svg/custom/non-scaling-stroke.svg
* css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
(WebCore::):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EVectorEffect):
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
* css/SVGCSSPropertyNames.in:
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
* rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
(WebCore::fillAndStrokePath):
* rendering/RenderSVGResourceContainer.h:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
(WebCore::RenderSVGResourcePattern::applyResource):
* rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
(WebCore::SVGRenderStyle::NonInheritedFlags::):
(WebCore::SVGRenderStyle::setBitDefaults):
* rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
(WebCore::):
* svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
(WebCore::SVGLocatable::computeCTM):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
* svg/svgattrs.in:
2010-06-08 Mark Rowe <mrowe@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
Revert the change to ContextMenu::addInspectElementItem from r56051. It was made without
explanation and broke a reliance that WebKit has on the presence of a separator before the
Inspect Element menu item. This also restores the context menu item to the correct location
at the bottom of the context menu in applications built against the Mac OS X 10.4 SDK.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::addInspectElementItem):
2010-06-08 Roland Steiner <rolandsteiner@chromium.org>
Unreviewed build fix
Bug 38145 - Validate *tex* functions input parameters according to ES2 conformance
https://bugs.webkit.org/show_bug.cgi?id=38145
https://bugs.webkit.org/show_bug.cgi?id=40346
Fix for 38145 broke the build ('log2 not found' on Windows),
the fix from 40346 also didn't catch ('log ambiguous').
2nd quick fix: add explicit casts to double and use double constants.
No new tests.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateTexFuncParameters):
2010-05-18 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Fix for Bug 34529 - [CSSOM] issues with cssText and selectorText
Serialize selector as per http://dev.w3.org/csswg/cssom/#serializing-selectors
Without this patch, for example, selectors containing ':' or '.' are not properly serialized.
https://bugs.webkit.org/show_bug.cgi?id=34529
Test: fast/css/selector-text-escape.html
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSOMUtils.cpp: Added.
(WebCore::appendCharacter):
(WebCore::serializeCharacter):
(WebCore::serializeCharacterAsCodePoint):
(WebCore::serializeIdentifier):
(WebCore::serializeString):
* css/CSSOMUtils.h: Added.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
2010-06-08 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia
InsertListCommand needs cleanup
https://bugs.webkit.org/show_bug.cgi?id=36430
Separated code for listifying and unlistifying paragraphs.
Also isolated the dependency on the selection in doApply.
No test is added since this is a cleanup.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply): isolated code to listify / unlistify paragraphs
(WebCore::InsertListCommand::unlistifyParagraph): ditto
(WebCore::InsertListCommand::listifyParagraph): ditto
* editing/InsertListCommand.h:
2010-06-08 Kenneth Russell <kbr@google.com>
Unreviewed, build fix.
Fix build breakage from 38145
https://bugs.webkit.org/show_bug.cgi?id=40346
The fix for bug 38145 broke the Chromium Win build because
Microsoft's cmath doesn't define log2. Suggested fix by zmo is to
change log2(x) to log(x) / log(2). Built and ran WebGL layout
tests in Safari on Mac OS X. Changed download mirrors for
python-irclib to working ones.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateTexFuncParameters):
2010-06-08 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Validate *tex* functions input parameters according to ES2 conformance
https://bugs.webkit.org/show_bug.cgi?id=38145
Test: fast/canvas/webgl/tex-input-validation.html
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::getColorBufferFormat): Get color buffer internalformat.
* html/canvas/WebGLFramebuffer.h: Ditto.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with max tex units and max texture size.
(WebCore::WebGLRenderingContext::copyTexImage2D): Validate input parameters.
(WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::texParameterf): Ditto.
(WebCore::WebGLRenderingContext::texParameteri): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::handleNPOTTextures): Deal with max tex units.
(WebCore::WebGLRenderingContext::isTexInternalformatColorBufferCombinationValid): Check whether the texture format and framebuffer color buffer internalformat combination is valid.
(WebCore::WebGLRenderingContext::getTextureBinding): get the current bound texture for given target.
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): Validate input format/type for *tex* functions.
(WebCore::WebGLRenderingContext::validateTexFuncParameters): Validate input parameters for *tex* functions.
(WebCore::WebGLRenderingContext::texParameter): Base function for texParameteri and texParameterf.
* html/canvas/WebGLRenderingContext.h: Deal with max tex units.
* html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::WebGLTexture): Cache internalformat.
* html/canvas/WebGLTexture.h: Ditto.
(WebCore::WebGLTexture::setInternalformat):
(WebCore::WebGLTexture::getInternalformat):
* platform/graphics/GraphicsContext3D.cpp: internalformat and format need to be the same.
(WebCore::GraphicsContext3D::extractImageData):
2010-06-08 Erik Arvidsson <arv@chromium.org>
Reviewed by Ojan Vafai.
REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
https://bugs.webkit.org/show_bug.cgi?id=38548
Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
* page/FocusController.cpp:
(WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
returns false.
2010-06-08 Enrico Ros <eros@codeaurora.org>
Reviewed by Ariya Hidayat.
[Qt] Crashfix on Path::contains
https://bugs.webkit.org/show_bug.cgi?id=40253
Fix accessing the first item of an empty vector, that happens when
CanvasRenderingContext2D::isPointInPath is invoked over a borderless
path (e.g. a path made of just a MoveTo operation).
* platform/graphics/qt/PathQt.cpp:
(WebCore::isPointOnPathBorder):
2010-06-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60859.
http://trac.webkit.org/changeset/60859
https://bugs.webkit.org/show_bug.cgi?id=40334
Included debugging statements. Caused a test to fail.
(Requested by ojan on #webkit).
* page/FocusController.cpp:
(WebCore::clearSelectionIfNeeded):
2010-06-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60858.
http://trac.webkit.org/changeset/60858
https://bugs.webkit.org/show_bug.cgi?id=40325
Qt needs a clean build. Rolling out the patch for now and fix
it tomorrow (Requested by krit on #webkit).
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
* css/CSSPrimitiveValueMappings.h:
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
* css/SVGCSSPropertyNames.in:
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* css/SVGCSSValueKeywords.in:
* rendering/RenderPath.cpp:
(WebCore::fillAndStrokePath):
* rendering/RenderSVGResourceContainer.h:
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::NonInheritedFlags::):
(WebCore::SVGRenderStyle::setBitDefaults):
* rendering/style/SVGRenderStyleDefs.h:
(WebCore::):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::computeCTM):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
* svg/svgattrs.in:
2010-06-08 Daniel Bates <dbates@rim.com>
Unreviewed, fix Xcode project file after change-set 60841.
Xcode is not happy about the entries for files EditingBehavior.h and
EditingBehaviorTypes.h that were added in change-set 60841 (Bug # 39854).
Lets make Xcode happy.
Also, lets place these entries in alphabetic order.
* WebCore.xcodeproj/project.pbxproj:
2010-06-08 Erik Arvidsson <arv@chromium.org>
Reviewed by Ojan Vafai.
REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
https://bugs.webkit.org/show_bug.cgi?id=38548
We should not clear the selection when canStartSelection returns false.
Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
* page/FocusController.cpp:
(WebCore::clearSelectionIfNeeded): Make sure we do not clear selection when canStartSelection
returns false.
2010-06-08 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Implement non-scaling-stroke (from SVG Tiny 1.2, also in Opera)
https://bugs.webkit.org/show_bug.cgi?id=31438
This is the implementation of the SVG property vector-effect according
to the specification of SVG Tiny 1.2.
getScreenCTM() was not able to calculate the transformation matrix in
comparison to the host coordinate system for objects, that get refereced
by a use element. This is fixed and covered by the the new test as well.
This patch is based upon a patch of Jeff Schiller.
Test: svg/custom/non-scaling-stroke.svg
* css/CSSComputedStyleDeclaration.cpp: Added CSSPropertyVectorEffect.
(WebCore::):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EVectorEffect):
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
* css/SVGCSSPropertyNames.in:
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* css/SVGCSSValueKeywords.in: Add vector-effect value non-scaling-stroke.
* rendering/RenderPath.cpp: Revert transformations to ctm and transform path instead.
(WebCore::fillAndStrokePath):
* rendering/RenderSVGResourceContainer.h:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/RenderSVGResourceGradient.cpp: Transform the gradient with the screenCTM.
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourcePattern.cpp: Transform the pattern with the screenCTM.
(WebCore::RenderSVGResourcePattern::applyResource):
* rendering/style/SVGRenderStyle.h: Added vector-effect property, not interited.
(WebCore::SVGRenderStyle::NonInheritedFlags::):
(WebCore::SVGRenderStyle::setBitDefaults):
* rendering/style/SVGRenderStyleDefs.h: Added enums for vector-effect.
(WebCore::):
* svg/SVGLocatable.cpp: Calculate screenCTM for <use> referenced objects.
(WebCore::SVGLocatable::computeCTM):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
* svg/svgattrs.in:
2010-06-08 Alexey Proskuryakov <ap@apple.com>
* GNUmakefile.am: Also adding platform/Cursor.cpp to Gtk build.
2010-06-08 Csaba Osztrogonác <ossy@webkit.org>
[Qt] Unreviewed buildfix after r60849.
* WebCore.pro: platform/Cursor.cpp is added to Qt build system.
2010-06-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Unreviewed Buildbot fix.
Reset the Qt TextBreakIterator when reusing it.
* platform/text/qt/TextBreakIteratorQt.cpp:
(WebCore::setUpIterator):
2010-06-04 Alexey Proskuryakov <ap@apple.com>
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=15779
<rdar://problem/8002964> Custom CSS .cur cursor anchor point is ignored
Test: manual-tests/cur-hotspot.html
Currently, this patch only has effect in Safari 5 on Windows. Other platforms will need
to implement getting hot spot information from .cur files.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Added Cursor.cpp. Looks like TextWrangler fixed line endings in vcproj file.
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue): Renamed "hotspot" to "hotSpot" to match
other code.
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Ditto. Added a FIXME about possibly
incorrect code for resolving differences with CSS specified hotspot.
* css/CSSCursorImageValue.h:
(WebCore::CSSCursorImageValue::create):
(WebCore::CSSCursorImageValue::hotSpot):
Renamed "hotspot" to "hotSpot" to match other code.
* css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Start with an invalid value for hot
spot, so that we can differentiate between missing and (0, 0) CSS hot spots. Missing and
invalid (-1, -1) are treated identically by Firefox, so we don't need to differentiate these.
* css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Renamed "hotspot" to
"hotSpot" to match other code.
* page/EventHandler.cpp: (WebCore::EventHandler::selectCursor): Don't ignore cursors with
invalid CSS hot spots. Firefox ignores only the hot spot, not the whole cursor in this case
(and IE doesn't support CSS3 cursor declarations).
* platform/Cursor.cpp: Added. (WebCore::determineHotSpot): Added a function that decides
where hot spot is, provided an image and a possible out of band coordinate specification.
* platform/Cursor.h: Added determineHotSpot().
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::getHotSpot):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.h:
(WebCore::Image::getHotSpot):
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::getHotSpot):
* platform/graphics/ImageSource.h:
Added plumbing to get hot spot data from an image provider.
* platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::getHotSpot): CG implemantation.
* platform/mac/CursorMac.mm: (WebCore::createCustomCursor): Call determineHotSpot() to
determine where hot spot should be.
(WebCore::Cursor::Cursor): Renamed "hotspot" to "hotSpot" to match other code.
* platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Call determineHotSpot() to determine
where hot spot should be.
* platform/gtk/CursorGtk.cpp: (WebCore::Cursor::Cursor): Ditto. This must be done despite
this platform not having an implementation for ImageSource::getHotSpot(), because we no longer
check for out of bounds hot spots in EventHandler::selectCursor().
* platform/qt/CursorQt.cpp: (WebCore::Cursor::Cursor): Ditto.
2010-06-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Antti Koivisto.
[Qt] TextBreakIterator Qt performance
https://bugs.webkit.org/show_bug.cgi?id=39958
Rework TextBreakIteratorQt to be more in line with the ICU version.
We now reuse iterators where ever possible. The string data is compared
with memcmp, which should be faster than using a hash, as you need
to traverse the full buffer in the case the strings don't match,
where as the compare would fail quickly.
* platform/text/qt/TextBreakIteratorQt.cpp:
(WebCore::TextBreakIterator::TextBreakIterator):
(WebCore::setUpIterator):
(WebCore::wordBreakIterator):
(WebCore::characterBreakIterator):
(WebCore::lineBreakIterator):
(WebCore::sentenceBreakIterator):
2010-06-08 Andras Becsi <abecsi@webkit.org>
Unreviewed build fix after r60785.
[GTK] Add missing GtkVersioning.h include to fix the build
on older GTK+ versions.
No new tests needed.
* platform/gtk/WidgetGtk.cpp:
2010-06-08 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: extend ScriptDebugServer to support script source editing
https://bugs.webkit.org/show_bug.cgi?id=40297
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::editScriptSource):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::editScriptSource):
* bindings/v8/ScriptDebugServer.h:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::editScriptSource):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::disableDebugger):
(WebCore::InspectorController::editScriptSource):
(WebCore::InspectorController::currentCallFrames):
(WebCore::InspectorController::didPause):
(WebCore::InspectorController::didContinue):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::didEditScriptSource):
* inspector/InspectorFrontend.h:
* inspector/front-end/Script.js:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.canEditScripts):
(WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
(WebInspector.ScriptsPanel.prototype.editScriptSource):
* inspector/front-end/Settings.js:
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._editLine):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._handleDoubleClick):
(WebInspector.TextViewer.prototype._commitEditingLine):
* inspector/front-end/inspector.css:
(#scripts-files option.extension-script):
2010-06-08 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Ojan Vafai and Darin Adler.
Refactor platform dependent editing behavior code out of Settings
https://bugs.webkit.org/show_bug.cgi?id=39854
As per discussion in bug 36627, Darin Adler suggested: "before the addition of any new EditingBehavior,
I think we to add functions to translate the overall behavior policy into specific behaviors rather than
directly saying 'behavior == Mac' or 'behavior == Windows'. Helper functions that expression the different
rules in plain language.". Patch addresses this request.
No behavior change, so no new tests.
* GNUmakefile.am:
* WebCore.pro:
* WebCore/WebCore.vcproj/WebCore.vcproj
* WebCore/WebCore.xcodeproj/project.pbxproj
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h: Moved out EditingBehavior enum to WebCore/editing/EditingBehaviorTypes.h,
and renamed to EditingBehaviorTypes.
(WebCore::Settings::setEditingBehaviorType): Renamed from setEditingBehavior.
(WebCore::Settings::editingBehaviorType): Renamed from editingBehavior.
* editing/EditingBehavior.h: Added.
(WebCore::EditingBehavior::EditingBehavior): Class to work as a central point for
editing behavior that might have to be handled differently in the different platforms/ports.
Class should be not used or instantiated directly, but rather implicitly constructed
through the Editor class.
(WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
(WebCore::EditingBehavior::shouldConsiderSelectionAsDirectional):
(WebCore::EditingBehavior::shouldCenterAlignWhenSelectionIsRevealed):
* editing/EditingBehaviorTypes.h: Added.
(WebCore::):
* editing/Editor.cpp:
(WebCore::Editor::behavior): Getter for EditingBehavior class.
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::executeToggleStyle):
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection):
(WebCore::SelectionController::setIsDirectional):
(WebCore::SelectionController::positionForPlatform):
(WebCore::SelectionController::modify):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventSingleClick):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::positionForPointWithInlineChildren):
- Call sites will look like:
if (frame->editor()->behavior().shouldThisIfThat()))
// do something
2010-06-08 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Prevent Geolocation making callbacks to a ScriptExecutionContext that no longer exists
https://bugs.webkit.org/show_bug.cgi?id=40162
Before making callbacks, we check that the relevant ScriptExecutionContext still exists.
To achieve this, the callbacks inherit from ActiveDOMObject.
The ScriptExecutionContext is ref'ed from script, so may not be GC'ed for some time after
it is disconnected from its frame. Making the callback currently involves accessing the
Frame, so an additional check for the Frame is required.
This change also prevents the V8 bindings from incorrectly holding a reference to the Frame.
Test: fast/dom/Geolocation/callback-to-deleted-context.html
* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
* bindings/js/JSCustomPositionCallback.cpp:
(WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
(WebCore::JSCustomPositionCallback::handleEvent):
* bindings/js/JSCustomPositionErrorCallback.cpp:
(WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
(WebCore::JSCustomPositionErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomPositionCallback.cpp:
(WebCore::V8CustomPositionCallback::V8CustomPositionCallback):
(WebCore::V8CustomPositionCallback::handleEvent):
* bindings/v8/custom/V8CustomPositionCallback.h:
(WebCore::V8CustomPositionCallback::create):
* bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
(WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback):
(WebCore::V8CustomPositionErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomPositionErrorCallback.h:
(WebCore::V8CustomPositionErrorCallback::create):
* bindings/v8/custom/V8GeolocationCustom.cpp:
(WebCore::createPositionCallback):
(WebCore::createPositionErrorCallback):
* page/PositionCallback.h:
(WebCore::PositionCallback::PositionCallback):
* page/PositionErrorCallback.h:
(WebCore::PositionErrorCallback::PositionErrorCallback):
2010-06-08 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Avoid duplicated signals in DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=40170
Do not create duplicated event signals between a class and its
ancestor.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-06-08 MORITA Hajime <morrita@google.com>
Unreviewd. Touched the file to force rebuild.
* html/HTMLMeterElement.idl:
2010-06-08 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Dimitri Glazkov.
[Chromium] Fix the math for transform matrices of composited layers. There
were problems both with how content layers were setting their position and
how the overal matrix stack was computed when the layer anchor isn't at the
center of the layer.
https://bugs.webkit.org/post_bug.cgi
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateContentsRect):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::updateLayersRecursive):
(WebCore::LayerRendererChromium::drawLayer):
2010-06-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5Lexer does not handle <div FOO ><img><img></div> correctly
https://bugs.webkit.org/show_bug.cgi?id=40283
Fix a typo in the AfterAttributeNameState.
The compiler really should have caught this since the typo
resulted in unreachable code.
Tests:
10 tables/mozilla/marvin/colgroup* tests.
Also added a new sub-test in html5lib/resources/webkit01.dat
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
- Fix typo of = instead of >
2010-06-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Implement HTML5's forceQuirks flag
https://bugs.webkit.org/show_bug.cgi?id=40284
I didn't implement this before because I didn't know how to test it,
but now I do.
Tests:
* fast/doctypes/doctype-parsing.html.
When we actually implement the quirks mode handling in the tree
builder, we'll probably want to add to this test.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
* html/HTML5Token.h:
(WebCore::HTML5Token::forceQuirks):
(WebCore::HTML5Token::setForceQuirks):
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::parseDoctypeToken):
* html/HTMLTokenizer.h:
(WebCore::DoctypeToken::reset):
2010-06-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove ASSERT in ~HTML5Tokenizer
https://bugs.webkit.org/show_bug.cgi?id=40282
We thought this ASSERT would be a good idea, but the problem is that
this object is deleted without warning in some circumstances, so
there's no way to know whether it has reached the end of its state
machine.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::~HTML5Tokenizer):
2010-06-07 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
[Mac] <meter> elements should be rendered as level indicators.
https://bugs.webkit.org/show_bug.cgi?id=40217
Implemented RenderThemeMac::paintMeter() using NSLevelIndicatorCell.
This change also added new -webkit-appearance values to select the
style of level indicators:
- relevancy-level-indicator,
- continuous-capacity-level-indicator,
- discrete-capacity-level-indicator, and
- rating-level-indicator.
The size of elements are adjusted based on the bounds of the indicator
to make room for painting whole indicator cells.
Tests: fast/dom/HTMLMeterElement/meter-appearances-capacity.html
fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html
fast/dom/HTMLMeterElement/meter-optimums.html
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::gaugeRegion):
* html/HTMLMeterElement.h:
(WebCore::HTMLMeterElement::):
* platform/ThemeTypes.h:
(WebCore::):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::calcWidth):
(WebCore::RenderMeter::calcHeight):
* rendering/RenderMeter.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::meterSizeForBounds):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::meterSizeForBounds):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::levelIndicatorStyleFor):
(WebCore::RenderThemeMac::levelIndicatorFor):
2010-06-07 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
[Mac] ENABLE_METER_TAG should be enabled.
https://bugs.webkit.org/show_bug.cgi?id=40219
* Configurations/FeatureDefines.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
2010-06-07 Eric Seidel <eric@webkit.org>
Unreviewed. Just commit an edit Xcode keeps making automatically.
It appears someone hand-edited the file, Xcode no-like.
* WebCore.xcodeproj/project.pbxproj:
2010-06-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 Parser fails script-tests which use document.write
https://bugs.webkit.org/show_bug.cgi?id=40276
We were leaving the TreeBuilder paused when executing the scripts
resulting in document.write() calls being ignored.
I don't see a good way to ASSERT this correct behavior, since
the HTML5ScriptRunner and the HTML5TreeBuilder do not know about
each other. We should never have document.write() called while
the HTML5TreeBuilder is paused, however both document.write and
the network call the same HTML5Tokenizer::write method. It's OK
to be paused when the network writes, but during document.write
(or any other script execution).
Tested by all of fast/url and numerous other tests.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::notifyFinished):
- Unpause the treebuilder before executing scripts.
(WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
- Unpause the treebuilder before executing scripts.
2010-06-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 Parser hits ASSERT in fast/events/stop-load-in-unload-handler-using-document-write.html
https://bugs.webkit.org/show_bug.cgi?id=40268
Teach HTML5Tokenizer about m_parserStopped.
While tracking down how m_parserStopped was used, I found
several useless implementations of stopParsing() which I removed.
I also found a comment in HTMLTokenizer which still talks about the
"part" (an old class now split into Frame, Page, FrameLoader, etc.)
and an nearly empty FrameLoader::tokenizerProcessedData which I just
inlined into its one caller.
Tests:
fast/events/stop-load-in-unload-handler-using-document-write.html
http/tests/security/xssAuditor/full-block-base-href.html
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::pumpLexerIfPossible):
- New method used instead of direct calls to pumpLexer for when
callers would like to pump the lexer if possible, but don't want
to check if the parser is stopped, etc.
(WebCore::HTML5Tokenizer::pumpLexer):
- Added an ASSERT that the parser is not stopped.
- Stop pumping if the parser is stopped.
(WebCore::HTML5Tokenizer::write):
- Ignore the write if the parser is already stopped.
(WebCore::HTML5Tokenizer::end):
(WebCore::HTML5Tokenizer::attemptToEnd):
- Move comment back to finish() which was incorrectly moved here.
(WebCore::HTML5Tokenizer::endIfDelayed):
(WebCore::HTML5Tokenizer::finish):
- Move comment back here from attemptToEnd()
(WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
- Remove a bogus ASSERT. The lexer will stop when it needs
more data, which may not necessarily mean m_source.isEmpty().
* html/HTML5Tokenizer.h:
- Add pumpLexerIfPossible().
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::stopParsing):
- Add a FIXME about if we really should call checkCompleted() here.
- Inline FrameLoader::tokenizerProcessedData() since this was the only caller.
* loader/FrameLoader.cpp:
- Remove tokenizerProcessedData()
* loader/FrameLoader.h:
- Remove tokenizerProcessedData()
* loader/MediaDocument.cpp:
- Remove unneeded Tokenizer::stopParsing() override.
* loader/PluginDocument.cpp:
- Remove unneeded Tokenizer::stopParsing() override.
* loader/SinkDocument.cpp:
- Remove unneeded Tokenizer::stopParsing() override.
2010-06-07 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix XFrameOptions and xssAuditor crashes in HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=40265
We're not supposed to call end() while the tokenizer's write() method.
This causes a bunch of LayoutTests to crash. In particular, this patch
fixes crashes in the following tests:
Tests:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
* http/tests/security/xssAuditor/full-block-base-href.html
* http/tests/security/xssAuditor/full-block-get-from-iframe.html
* http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
* http/tests/security/xssAuditor/full-block-link-onclick.html
* http/tests/security/xssAuditor/full-block-post-from-iframe.html
* http/tests/security/xssAuditor/full-block-script-tag.html
* http/tests/security/xssAuditor/xss-protection-parsing-01.html
* html/HTML5Tokenizer.cpp:
(WebCore::):
(WebCore::HTML5Tokenizer::HTML5Tokenizer):
(WebCore::HTML5Tokenizer::write):
(WebCore::HTML5Tokenizer::attemptToEnd):
(WebCore::HTML5Tokenizer::endIfDelayed):
(WebCore::HTML5Tokenizer::finish):
(WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
* html/HTML5Tokenizer.h:
(WebCore::HTML5Tokenizer::inWrite):
2010-06-07 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 parser hits ASSERT in http/tests/misc/window-dot-stop.html
https://bugs.webkit.org/show_bug.cgi?id=40264
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::executeScript):
2010-06-07 Kinuko Yasuda <kinuko@chromium.org>
Unreviewed.
Avoid "warning: no previous prototype for" in Snow Leopard compilation.
* platform/BlobItem.cpp: Added static to getFileSnapshotModificationTime().
2010-06-07 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Jian Li.
Refactor FormData and Blob for better support of Blobs synthesized by BlobBuilder.
https://bugs.webkit.org/show_bug.cgi?id=39083
- Introduces a new class BlobItem as a basic component of Blob and FormDataList.
- File would become a special type of Blob that contains only one FileBlobItem.
- Fix the dependency violation in FormData so that the files under platform/ do not include any html/ files.
The patch doesn't support the latest File API changes (e.g. type,
url and slice's type parameters) and should not change any of its
existing behaviors.
The existing tests should be able to be used for regression.
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/Blob.cpp:
(WebCore::Blob::Blob):
(WebCore::Blob::size):
(WebCore::Blob::path):
(WebCore::Blob::append):
(WebCore::Blob::slice):
* html/Blob.h:
(WebCore::Blob::create):
(WebCore::Blob::type):
(WebCore::Blob::items):
(WebCore::Blob::Blob):
* html/File.cpp:
(WebCore::File::File):
(WebCore::File::name):
* html/File.h:
(WebCore::File::fileName):
* html/FileReader.cpp:
(WebCore::FileReader::readAsBinaryString):
(WebCore::FileReader::readAsText):
* html/FileStream.cpp:
(WebCore::FileStream::openForRead):
* html/FormDataList.cpp:
(WebCore::FormDataList::appendString): Moved the line ending fix logic to StringBlobItem::convertToCString.
(WebCore::FormDataList::appendBlob):
* html/FormDataList.h:
(WebCore::FormDataList::items):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::createFormData):
* html/HTMLProgressElement.cpp:
* platform/BlobItem.cpp: Added.
* platform/BlobItem.h: Added.
* platform/network/FormData.cpp:
(WebCore::FormDataElement::FormDataElement):
(WebCore::FormData::create):
(WebCore::FormData::createMultiPart):
(WebCore::FormData::deepCopy):
(WebCore::FormData::appendData):
(WebCore::FormData::appendString):
(WebCore::FormData::appendFile):
(WebCore::FormData::appendFileRange):
(WebCore::FormData::appendItems):
(WebCore::FormData::appendItem):
(WebCore::FormData::appendKeyValuePairItems):
* platform/network/FormData.h:
(WebCore::operator!=):
* platform/network/mac/FormDataStreamMac.mm:
(WebCore::closeCurrentStream):
(WebCore::advanceCurrentStream):
(WebCore::formCreate):
(WebCore::formRead):
(WebCore::setHTTPBody):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
2010-06-07 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] Decoupled transform matrix update of composited layers from
drawing and interposed a sorting step so that the layers are now composited
back to front to get transparency working correctly. Also added missing code
for the preserves3D CSS property.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::setDrawTransform):
(WebCore::LayerChromium::drawTransform):
(WebCore::LayerChromium::setDrawOpacity):
(WebCore::LayerChromium::drawOpacity):
(WebCore::LayerChromium::preserves3D):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::compareLayerZ):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::updateLayersRecursive):
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/LayerRendererChromium.h:
2010-06-07 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
[Chromium] convert a key to AtomicString in V8NodeList::namedPropertyGetter
https://bugs.webkit.org/show_bug.cgi?id=40238
Comparison to "length" below could be performed faster in this (major) case
as it would only require direct pointer comparison (cf. to full text
comparison if key is converted to WebCore::String.)
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::V8NodeList::namedPropertyGetter):
2010-06-07 Ariya Hidayat <ariya.hidayat@codeaurora.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Fix GraphicsContext::clipOut to take the transformation matrix into account.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clipOut):
2010-06-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[gtk] web fonts not loaded properly in scribd html5 reader
https://bugs.webkit.org/show_bug.cgi?id=38758
Avoid always giving a positive reply in createFontPlatformData. We
do not want every non-existing family name to be considered a hit,
or weird usage of local sources in @font-face rules will make
WebKitGTK+ never consider the online fonts.
* GNUmakefile.am:
* platform/graphics/cairo/FontCacheCairo.cpp:
(WebCore::isWellKnownFontName):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/cairo/GOwnPtrCairo.cpp: Added.
(WTF::FcPattern):
(WTF::FcObjectSet):
(WTF::FcFontSet):
* platform/graphics/cairo/GOwnPtrCairo.h: Added.
2010-06-07 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
"Fix" fast/dom/stripNullFromTextNodes.html in HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=40200
The proper handling of null characters is to replace them with U+FFFD.
This patch "fixes" fast/dom/stripNullFromTextNodes.html in the sense
that it makes it give the proper output w.r.t. HTML5. However, that
doesn't match the behavior of the old parser, which just stripped the
nulls.
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
2010-06-07 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
HTML5 parser should normalize line endings
https://bugs.webkit.org/show_bug.cgi?id=40199
When reading characters from the source, we need to normalize line
endings, which means treating \r as \n and folding \r\n sequences into
a single \n. Doing this requires a slightly tighter pattern for
advancing the source (to make sure we update our state machine
correctly).
Fixes fast/css/first-child-pseudo-class.html and hundreds of other
LayoutTests in the HTML5 parser.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::InputStreamPreprocessor::LineEndingNormalizer):
- Introduced InputStreamPreprocessor to keep track of our line
endings state machine. This class will grow to eventually do
all the input stream preprocessing required by the HTML5 spec.
(WebCore::HTML5Lexer::InputStreamPreprocessor::nextInputCharacter):
- We need to be careful not to read *source more than
once because we need to know whether we've transformed the
character. Keeping the next input character in this state
machine requires some careful coding, but seems advantageous.
(WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
(WebCore::HTML5Lexer::InputStreamPreprocessor::advance):
2010-06-07 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
run-bindings-tests results broken by Changeset 60776
https://bugs.webkit.org/show_bug.cgi?id=40230
The change to CodeGeneratorJS.pm in
http://trac.webkit.org/changeset/60776/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
added the possibility to use [CallWith=ScriptExecutionContext] in idl files.
Before the above change was submitted, CodeGeneratorJS.pm was modified so that native
functions return EncodedJSValue instead of JSValues. This was done in
http://trac.webkit.org/changeset/60631/trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm
This CL updates the CodeGeneratorJS.pm to correctly return an EncodedJSValue in the case
where the ScriptExecutionContext pointer is 0 at the time when the native function is invoked.
No new tests, just fixing run-bindings-tests.
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
* bindings/scripts/test/JS/JSTestObj.h:
2010-06-07 Kwang Yul Seo <skyul@company100.net>
Reviewed by Eric Seidel.
[BREWMP] Add dummy SearchPopupMenu implementation
https://bugs.webkit.org/show_bug.cgi?id=40224
Add dummy implementation of SearchPopupMenu.
* platform/brew/SearchPopupMenuBrew.cpp: Added.
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::enabled):
2010-06-07 Julien Chaffraix <jchaffraix@webkit.org>
Unreviewed, reverting my HTML comment parsing change as it
breaks Gtk and Qt.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseComment):
(WebCore::HTMLTokenizer::parseTag):
* html/HTMLTokenizer.h:
2010-06-07 Martin Robinson <mrobinson@igalia.com>
Reviewed by Oliver Hunt.
[GTK] HTML5 input type=range is not drawn
https://bugs.webkit.org/show_bug.cgi?id=39561
Support HTML5 range widgets. They are now drawn using the standard
GTK+ theme drawing mechanism.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::supportsFocus): Add focus support for parts of sliders.
(WebCore::setMozillaState):
Add the GtkThemeWidgetType argument and honor depressed states for slider thumbs.
(WebCore::paintMozillaGtkWidget): Pass in the widget type to setMozillaState.
(WebCore::RenderThemeGtk::paintSliderTrack): Added.
(WebCore::RenderThemeGtk::adjustSliderTrackStyle): Added.
(WebCore::RenderThemeGtk::paintSliderThumb): Added.
(WebCore::RenderThemeGtk::adjustSliderThumbStyle): Added.
(WebCore::RenderThemeGtk::adjustSliderThumbSize): Added support for non-media sliders.
* platform/gtk/RenderThemeGtk.h: Added new method declarations.
2010-06-07 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] gtk_widget_get_window should replace widget->window
https://bugs.webkit.org/show_bug.cgi?id=40180
Replace all uses of widget->window with gtk_widget_get_window. For older
GTK+ versions, #define gtk_widget_get_window in GtkVersioning.h.
No tests necessary as functionality has not changed.
* platform/gtk/GtkPluginWidget.cpp:
(WebCore::GtkPluginWidget::invalidateRect): Replace widget->window use.
* platform/gtk/GtkVersioning.h: Add gtk_widget_get_window for old GTK+ versions.
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::getVisual): Replace widget->window use.
(WebCore::screenRect): Ditto.
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenu::show): Ditto.
* platform/gtk/WidgetGtk.cpp:
(WebCore::gdkDrawable): Ditto.
(WebCore::Widget::setCursor): Ditto.
2010-06-07 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Sam Weinig.
Add CPP bindings generator
https://bugs.webkit.org/show_bug.cgi?id=38279
Add CPP bindings generator used in Olympia platform.
We can succesfully generate cpp bindings for all IDLs except:
- DOMWindow.idl / EventTarget.idl (filtered out in the IDL list in DerivedSources.make for non-jsc/v8 generators anyways, so no problem at all)
- inspector/ (not needed for us at all)
- svg/ (needs custom handling, related to animated attributes)
All generated files are free of style issues: "Total errors found: 0 in 510 files"
Not integrated in any build system so far, though I've successfully tested on Mac and inside Olympia, of course.
* bindings/cpp: Added.
* bindings/cpp/WebDOMCString.cpp: Added.
(WebDOMCString::reset):
(WebDOMCString::assign):
(WebDOMCString::length):
(WebDOMCString::data):
(WebDOMCString::utf16):
(WebDOMCString::fromUTF16):
(WebDOMCString::WebDOMCString):
(WebDOMCString::operator=):
(WebDOMCString::operator WTF::CString):
* bindings/cpp/WebDOMCString.h: Added.
(WebDOMCString::~WebDOMCString):
(WebDOMCString::WebDOMCString):
(WebDOMCString::operator=):
(WebDOMCString::isEmpty):
(WebDOMCString::isNull):
* bindings/cpp/WebDOMEventListenerCustom.cpp: Added.
(WebDOMEventListener::handleEvent):
(toWebKit):
* bindings/cpp/WebDOMEventTarget.cpp: Added.
(WebDOMEventTarget::WebDOMEventTargetPrivate::WebDOMEventTargetPrivate):
(WebDOMEventTarget::WebDOMEventTarget):
(WebDOMEventTarget::~WebDOMEventTarget):
(WebDOMEventTarget::impl):
(toWebCore):
(toWebKit):
* bindings/cpp/WebDOMEventTarget.h: Added.
* bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Added.
(documentWrite):
(WebDOMHTMLDocument::write):
(WebDOMHTMLDocument::writeln):
* bindings/cpp/WebDOMNodeCustom.cpp: Added.
(WebDOMNode::insertBefore):
(WebDOMNode::replaceChild):
(WebDOMNode::removeChild):
(WebDOMNode::appendChild):
(WebDOMNode::addEventListener):
(WebDOMNode::removeEventListener):
* bindings/cpp/WebDOMObject.h: Added.
(WebDOMObject::WebDOMObject):
(WebDOMObject::~WebDOMObject):
* bindings/cpp/WebDOMString.cpp: Added.
(WebDOMString::reset):
(WebDOMString::assign):
(WebDOMString::length):
(WebDOMString::data):
(WebDOMString::utf8):
(WebDOMString::fromUTF8):
(WebDOMString::WebDOMString):
(WebDOMString::operator=):
(WebDOMString::operator WebCore::String):
(WebDOMString::operator WebCore::AtomicString):
(WebDOMString::equals):
* bindings/cpp/WebDOMString.h: Added.
(WebDOMString::~WebDOMString):
(WebDOMString::WebDOMString):
(WebDOMString::operator=):
(WebDOMString::isEmpty):
(WebDOMString::isNull):
* bindings/cpp/WebExceptionHandler.cpp: Added.
(globalExceptionHandler):
(webInstallExceptionHandler):
(webRaiseDOMException):
* bindings/cpp/WebExceptionHandler.h: Added.
(webDOMRaiseError):
* bindings/cpp/WebNativeEventListener.cpp: Added.
(WebNativeEventListener::WebNativeEventListener):
(WebNativeEventListener::~WebNativeEventListener):
(WebNativeEventListener::handleEvent):
(WebNativeEventListener::reportError):
(WebNativeEventListener::operator==):
* bindings/cpp/WebNativeEventListener.h: Added.
(WebNativeEventListener::create):
(WebNativeEventListener::cast):
* bindings/scripts/CodeGeneratorCPP.pm: Added.
* bindings/scripts/test/CPP: Added.
* bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Added.
(WebDOMTestCallback::WebDOMTestCallbackPrivate::WebDOMTestCallbackPrivate):
(WebDOMTestCallback::WebDOMTestCallback):
(WebDOMTestCallback::impl):
(WebDOMTestCallback::~WebDOMTestCallback):
(WebDOMTestCallback::callbackWithClass1Param):
(WebDOMTestCallback::callbackWithClass2Param):
(WebDOMTestCallback::callbackWithNonBoolReturnType):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMTestCallback.h: Added.
* bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Added.
(WebDOMTestInterface::WebDOMTestInterfacePrivate::WebDOMTestInterfacePrivate):
(WebDOMTestInterface::WebDOMTestInterface):
(WebDOMTestInterface::impl):
(WebDOMTestInterface::~WebDOMTestInterface):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMTestInterface.h: Added.
* bindings/scripts/test/CPP/WebDOMTestObj.cpp: Added.
(WebDOMTestObj::WebDOMTestObjPrivate::WebDOMTestObjPrivate):
(WebDOMTestObj::WebDOMTestObj):
(WebDOMTestObj::impl):
(WebDOMTestObj::~WebDOMTestObj):
(WebDOMTestObj::readOnlyIntAttr):
(WebDOMTestObj::readOnlyStringAttr):
(WebDOMTestObj::readOnlyTestObjAttr):
(WebDOMTestObj::intAttr):
(WebDOMTestObj::setIntAttr):
(WebDOMTestObj::longLongAttr):
(WebDOMTestObj::setLongLongAttr):
(WebDOMTestObj::unsignedLongLongAttr):
(WebDOMTestObj::setUnsignedLongLongAttr):
(WebDOMTestObj::stringAttr):
(WebDOMTestObj::setStringAttr):
(WebDOMTestObj::testObjAttr):
(WebDOMTestObj::setTestObjAttr):
(WebDOMTestObj::attrWithException):
(WebDOMTestObj::setAttrWithException):
(WebDOMTestObj::attrWithSetterException):
(WebDOMTestObj::setAttrWithSetterException):
(WebDOMTestObj::attrWithGetterException):
(WebDOMTestObj::setAttrWithGetterException):
(WebDOMTestObj::scriptStringAttr):
(WebDOMTestObj::voidMethod):
(WebDOMTestObj::voidMethodWithArgs):
(WebDOMTestObj::intMethod):
(WebDOMTestObj::intMethodWithArgs):
(WebDOMTestObj::objMethod):
(WebDOMTestObj::objMethodWithArgs):
(WebDOMTestObj::methodThatRequiresAllArgs):
(WebDOMTestObj::methodThatRequiresAllArgsAndThrows):
(WebDOMTestObj::serializedValue):
(WebDOMTestObj::methodWithException):
(WebDOMTestObj::addEventListener):
(WebDOMTestObj::removeEventListener):
(WebDOMTestObj::withDynamicFrame):
(WebDOMTestObj::withDynamicFrameAndArg):
(WebDOMTestObj::withDynamicFrameAndOptionalArg):
(WebDOMTestObj::withScriptStateVoid):
(WebDOMTestObj::withScriptStateObj):
(WebDOMTestObj::withScriptStateVoidException):
(WebDOMTestObj::withScriptStateObjException):
(WebDOMTestObj::methodWithOptionalArg):
(WebDOMTestObj::methodWithNonOptionalArgAndOptionalArg):
(WebDOMTestObj::methodWithNonOptionalArgAndTwoOptionalArgs):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMTestObj.h: Added.
* css/StyleSheet.idl: Export helper method isCSSStyleSheet() for cpp bindings only.
* dom/CustomEvent.idl: Disabled for cpp bindings, needs arbitary input parameter handling support ('DOMObject' type).
* dom/Document.idl: Ignore getCSSCanvasContext() for cpp bindings and export helper method isHTMLDocument() (cpp bindings only).
* dom/Event.idl: Export isMutationEvent()/isMouseEvent()/isUIEvent() helpers for cpp bindings only.
* dom/EventListener.h: Add CPPEventListenerType.
* dom/Node.idl: addEventListener/removeEventListener need [Custom] flag for cpp bindings.
* dom/PopStateEvent.idl: Disabled just like CustomEvent, for the same reason ("any" argument type handling).
* html/HTMLCanvasElement.idl: Disable getContext() method for cpp bindings, as it's done for objc bindings.
* html/HTMLDocument.idl: Add [NoCPPCustom] marker for open(), as we're just autogenerating it.
* html/HTMLInputElement.idl: Disable valueAsDate() method for cpp bindings, as we're missing native 'Date' type support.
* html/TextMetrics.h: Add missing PassRefPtr.h include.
* html/canvas/CanvasRenderingContext2D.idl: Disable methods (setLineCap, etc..) for cpp bindings whose names clash with property setters.
* page/AbstractView.idl: Rename 'Media' type to 'StyleMedia' - this should have been done before.
* page/Location.idl: Disable several methods which would need a custom implementation for the cpp bindings.
* page/WebKitPoint.h: Add missing PassRefPtr.h include.
* storage/SQLResultSet.idl: Correct type from 'long' to 'long long', for cpp bindings only though as it wouldn't build on Chromium/V8.
* workers/DedicatedWorkerContext.idl: Disable postMessage() for now when using cpp bindings, would need custom code for us.
* workers/WorkerContext.idl: Hide constructors from cpp bindings.
2010-06-07 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Alexey Proskuryakov.
Space should be allowed between -- and > in comment end
https://bugs.webkit.org/show_bug.cgi?id=21945
Implemented the HTML comment parsing algorithm so that we match HTML5 and
FF when parsing comments. Missing from this patch is
the parser errors, which will be added in a follow up patch.
Added tests cases for broken comments.
Tests: fast/parser/broken-comment-1.html
fast/parser/broken-comment-2.html
fast/parser/broken-comment-3.html
fast/parser/broken-comment-4.html
fast/parser/broken-comment-5.html
fast/parser/broken-comment-6.html
fast/parser/broken-comment-in-head-1.html
fast/parser/broken-comment-in-head-2.html
fast/parser/broken-comment-in-head-3.html
fast/parser/broken-comment-in-head-4.html
fast/parser/broken-comment-in-head-5.html
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseComment): Now we use a state machine
that matches the HTML5 specification.
(WebCore::HTMLTokenizer::emitCommentToken): This emits the comment token
and keep some of the original behavior as parseComment is called in wrong
context (inside a <title> for example). Added a more explicit comment about
this.
(WebCore::HTMLTokenizer::parseTag): Remove the handling of <!--> in quirks mode.
HTML5 specifies that we should accept this in strict mode too.
* html/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::): Added a new enum for the comment parsing state.
2010-06-07 Mahesh Kulakrni <mahesh.kulkarni@nokia.com>
Reviewed by Simon Hausmann.
[QT] QT_BEARER flag is not enabled on S60 properly
https://bugs.webkit.org/show_bug.cgi?id=39357
enable QT_BEARER for all platform based on qtmobility +
bearer module availability or for qt 4.7+
* WebCore.pri:
2010-06-07 Leon Clarke <leonclarke@google.com>
Reviewed by Jeremy Orlow.
Fix indexeddb idls in android makefile
https://bugs.webkit.org/show_bug.cgi?id=40169
No new tests. Android-specific build fix.
* Android.derived.v8bindings.mk:
2010-06-07 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[indexedDB] It is impossible to create object stores
https://bugs.webkit.org/show_bug.cgi?id=40054
No new tests. Layout tests will be added separately.
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_with_script_execution_context):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj withScriptExecutionContext]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::withScriptExecutionContextCallback):
(WebCore::):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::indexedDB):
* storage/IDBCallbacks.h:
* storage/IDBDatabase.h:
* storage/IDBDatabaseImpl.cpp:
(WebCore::IDBDatabaseImpl::createObjectStore):
* storage/IDBDatabaseImpl.h:
* storage/IDBDatabaseRequest.cpp:
(WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
(WebCore::IDBDatabaseRequest::createObjectStore):
* storage/IDBDatabaseRequest.h:
* storage/IDBDatabaseRequest.idl:
* storage/IDBObjectStore.cpp: Removed.
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::~IDBObjectStore):
* storage/IDBObjectStoreImpl.cpp: Added.
(WebCore::IDBObjectStoreImpl::~IDBObjectStoreImpl):
(WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
(WebCore::IDBObjectStoreImpl::indexNames):
(WebCore::IDBObjectStoreImpl::createIndex):
(WebCore::IDBObjectStoreImpl::index):
(WebCore::IDBObjectStoreImpl::removeIndex):
* storage/IDBObjectStoreImpl.h: Added.
(WebCore::IDBObjectStoreImpl::create):
(WebCore::IDBObjectStoreImpl::name):
(WebCore::IDBObjectStoreImpl::keyPath):
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
* storage/IDBObjectStoreRequest.h:
(WebCore::IDBObjectStoreRequest::create):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
* storage/IndexedDatabaseRequest.cpp:
(WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
(WebCore::IndexedDatabaseRequest::open):
* storage/IndexedDatabaseRequest.h:
(WebCore::IndexedDatabaseRequest::create):
* storage/IndexedDatabaseRequest.idl:
2010-06-07 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Updated run-bindings-tests results.
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::constructTestInterface):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethod):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
* bindings/scripts/test/JS/JSTestObj.h:
2010-06-07 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Implement JSON parsing for InspectorValue.
https://bugs.webkit.org/show_bug.cgi?id=40064
* inspector/InspectorValues.cpp:
(WebCore::):
(WebCore::InspectorValue::asBool):
(WebCore::InspectorValue::asNumber):
(WebCore::InspectorValue::asString):
(WebCore::InspectorValue::asObject):
(WebCore::InspectorValue::asArray):
(WebCore::InspectorValue::readJSON):
(WebCore::InspectorValue::writeJSON):
(WebCore::InspectorBasicValue::asBool):
(WebCore::InspectorBasicValue::asNumber):
(WebCore::InspectorBasicValue::writeJSON):
(WebCore::InspectorString::asString):
(WebCore::InspectorObject::asObject):
(WebCore::InspectorObject::getBool):
(WebCore::InspectorObject::getNumber):
(WebCore::InspectorObject::getString):
(WebCore::InspectorObject::getObject):
(WebCore::InspectorObject::getArray):
(WebCore::InspectorObject::get):
(WebCore::InspectorArray::asArray):
* inspector/InspectorValues.h:
(WebCore::InspectorObject::begin):
(WebCore::InspectorObject::end):
2010-06-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix text selection drawing.
https://bugs.webkit.org/show_bug.cgi?id=40221
The regression was introduced in r60169.
* platform/graphics/qt/FontQt.cpp:
(WebCore::drawTextCommon):
2010-06-07 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: should be possible to distinguish extension scripts from main world scripts
https://bugs.webkit.org/show_bug.cgi?id=40220
* bindings/js/ScriptDebugServer.cpp: remove global listeners set which is not used anymore.
(WebCore::ScriptDebugServer::dispatchDidParseSource): pass script wrold type to the listeners.
(WebCore::currentWorldType):
(WebCore::ScriptDebugServer::sourceParsed):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didParseSource):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::parsedScriptSource):
* inspector/InspectorFrontend.h:
* inspector/ScriptDebugListener.h: pass type of the isolated world where the script was compiled to didParseSource.
(WebCore::):
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
* inspector/front-end/Script.js:
(WebInspector.Script):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.addScript):
(WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): use different style to highlight content scripts.
* inspector/front-end/inspector.css:
(#scripts-files option.extension-script):
* inspector/front-end/inspector.js:
(WebInspector.parsedScriptSource):
2010-06-06 MORITA Hajime <morrita@google.com>
Unreviewd, Chromium windows build fix.
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::paintProgressBar):
2010-06-06 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
ASSERTION FAILED with -webkit-appearance:progress-bar for non <progress> elements
https://bugs.webkit.org/show_bug.cgi?id=40158
paintProgressBar() and paintMeter() assumed given RenderObject is
RenderProgress or RenderMeter respectively, but arbitrary elements
can have -webkit-appearance: progress-bar and such elements
violates that assumption. So this change added type check before
downcasting the RenderObject.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::paintProgressBar):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintMeter):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintProgressBar):
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::paintProgressBar):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
2010-06-06 Gavin Barraclough <barraclough@apple.com>
Reviewed by NOBODY (Qt build fix pt 2).
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::findMethodIndex):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
2010-06-06 Gavin Barraclough <barraclough@apple.com>
Reviewed by NOBODY (Qt build fix).
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::findMethodIndex):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
2010-06-06 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
Bug 40214 - Clean up error construction / throwing in JSC.
The one egregious insanity here is that creating an error requires
a VM-entry-esqe-host call (the string argument is wrapped as a JS
object & pushed on the RegisterFile, then unwrapped back to a
UString). Changing this also means you only require a global
object, not an ExecState, to create an error.
The methods to create error objects are also parameterized
requiring a switch on the type, which can be made cleaner and
faster by moving to a separate method per error type. Code to add
divot information to error had been duplicated, and is coalesced
back into a single function.
Convenience methods added to create & throw type & syntax error
with a default error message, since this is a common case.
Also, errors are currently thrown either using
"throwError(exec, error)" or "exec->setException(error)" - unify
on the former, since this is more commonly used. Add
"throwVMError(exec, error)" equivalents, as a convenience for
cases where the result was being wrapped in "JSValue::encode(...)".
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSArrayBufferConstructor.h:
(WebCore::construct):
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::setWebGLArrayHelper):
* bindings/js/JSAudioConstructor.cpp:
(WebCore::constructAudio):
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
(WebCore::JSCanvasRenderingContext2D::createPattern):
(WebCore::JSCanvasRenderingContext2D::fillText):
(WebCore::JSCanvasRenderingContext2D::strokeText):
* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::clearData):
(WebCore::JSClipboard::getData):
(WebCore::JSClipboard::setDragImage):
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
(WebCore::toJSSequence):
* bindings/js/JSDOMWrapper.cpp:
(WebCore::DOMObject::defineOwnProperty):
* bindings/js/JSDesktopNotificationsCustom.cpp:
(WebCore::JSNotificationCenter::requestPermission):
* bindings/js/JSEventSourceConstructor.cpp:
(WebCore::constructEventSource):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::open):
* bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::JSHTMLInputElement::selectionStart):
(WebCore::JSHTMLInputElement::setSelectionStart):
(WebCore::JSHTMLInputElement::selectionEnd):
(WebCore::JSHTMLInputElement::setSelectionEnd):
(WebCore::JSHTMLInputElement::setSelectionRange):
* bindings/js/JSImageConstructor.cpp:
(WebCore::constructImage):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::evaluate):
* bindings/js/JSMessageChannelConstructor.cpp:
(WebCore::JSMessageChannelConstructor::construct):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
* bindings/js/JSOptionConstructor.cpp:
(WebCore::constructHTMLOptionElement):
* bindings/js/JSSVGMatrixCustom.cpp:
(WebCore::JSSVGMatrix::multiply):
* bindings/js/JSSharedWorkerConstructor.cpp:
(WebCore::constructSharedWorker):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::bufferData):
(WebCore::JSWebGLRenderingContext::bufferSubData):
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContext::getParameter):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::JSWebGLRenderingContext::texImage2D):
(WebCore::JSWebGLRenderingContext::texSubImage2D):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
* bindings/js/JSWebSocketConstructor.cpp:
(WebCore::constructWebSocket):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocket::send):
* bindings/js/JSWorkerConstructor.cpp:
(WebCore::constructWorker):
* bindings/js/JSXMLHttpRequestConstructor.cpp:
(WebCore::constructXMLHttpRequest):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::BaseWalker::throwStackOverflow):
(WebCore::BaseWalker::throwInterruptedException):
(WebCore::SerializingTreeWalker::startArray):
(WebCore::SerializingTreeWalker::startObject):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::setException):
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
* bridge/jni/jsc/JNIBridgeJSC.cpp:
(JavaField::dispatchValueFromInstance):
(JavaField::dispatchSetValueToInstance):
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* bridge/objc/objc_instance.mm:
(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeMethod):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):
(JSC::Bindings::ObjcArray::setValueAt):
(JSC::Bindings::ObjcArray::valueAt):
(JSC::Bindings::callObjCFallbackObject):
* bridge/objc/objc_utility.h:
* bridge/objc/objc_utility.mm:
(JSC::Bindings::throwError):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::put):
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::throwInvalidAccessError):
2010-06-06 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
hit testing does not respect clip paths
https://bugs.webkit.org/show_bug.cgi?id=15162
Test: svg/dynamic-updates/SVGClipPath-influences-hitTesting.html
Added a check, if a float point is not only in the shape/object boundaries
but also is not in the clipped away area of a clipPath.
* rendering/HitTestRequest.h:
(WebCore::HitTestRequest::):
(WebCore::HitTestRequest::svgClipContent):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::fillContains):
(WebCore::RenderPath::nodeAtFloatPoint):
* rendering/RenderPath.h:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::nodeAtFloatPoint):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::nodeAtFloatPoint):
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::nodeAtFloatPoint):
* rendering/SVGRenderSupport.cpp:
(WebCore::pointInClippingArea):
* rendering/SVGRenderSupport.h:
2010-06-06 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG Pattern/Gradient clean-up
https://bugs.webkit.org/show_bug.cgi?id=40205
Transformations of SVG Patterns and Gradients can be bundeled.
This calculation also needs just to be calculated once. It's not a great speed-up for most platforms,
but a clean-up and preparation for new features like vectorEffects and others.
Now, that we don't recalucluate the gradient and its transformations, it was necessary to add a way
to transform alreday existing gradients on Cairo. This is done in the same way like Skia transforms
gradients after they were created.
This patch doesn't change functionality, so no new tests added.
* platform/graphics/Gradient.cpp:
* platform/graphics/cairo/GradientCairo.cpp:
(WebCore::Gradient::setPlatformGradientSpaceTransform):
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/RenderSVGResourceGradient.h:
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::RenderSVGResourcePattern::createTileImage):
(WebCore::RenderSVGResourcePattern::buildPattern):
* rendering/RenderSVGResourcePattern.h:
2010-06-05 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, typo/build fix.
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
(WebCore::V8SQLStatementErrorCallback::handleEvent):
2010-05-28 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Do not pass empty handles to v8.
https://bugs.webkit.org/show_bug.cgi?id=39896
Passing an empty handle to v8 results in a crash with a stack
trace that doesn't give us much information about the cause of the
crash. Instead, if we check the handles we pass to v8 and crash
when they are empty, we do not make things worse, and should get a
more informative stack trace.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/V8/V8TestCallback.cpp:
(WebCore::V8TestCallback::callbackWithClass1Param):
(WebCore::V8TestCallback::callbackWithClass2Param):
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
(WebCore::V8SQLStatementErrorCallback::handleEvent):
2010-05-30 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Darin Adler.
Add a convenient helper getter for Frame* to RenderObject
https://bugs.webkit.org/show_bug.cgi?id=39928
document()->frame() is being called enough from RenderObject derivated classes
that it worth adding a helper Frame getter as a shortcut.
No behavior change, so no new tests.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isOffScreen):
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::selection):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
* page/EventHandler.cpp:
(WebCore::canAutoscroll):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintCustomHighlight):
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintCaret):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintCustomHighlight):
* rendering/RenderDataGrid.cpp:
(WebCore::RenderDataGrid::isActive):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::flattenFrameSet):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintFocusRings):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::addDashboardRegions):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::panScrollFromPoint):
(WebCore::RenderLayer::scrollByRecursively):
(WebCore::RenderLayer::scrollToOffset):
(WebCore::RenderLayer::autoscroll):
(WebCore::RenderLayer::isActive):
(showLayerTree):
* rendering/RenderLayerBacking.cpp:
(WebCore::inspectorTimelineAgent):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
(WebCore::RenderListBox::panScroll):
(WebCore::RenderListBox::autoscroll):
(WebCore::RenderListBox::isActive):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::~RenderObject):
(WebCore::RenderObject::selectionBackgroundColor):
(WebCore::RenderObject::selectionForegroundColor):
(WebCore::RenderObject::destroy):
(WebCore::RenderObject::addDashboardRegions):
(WebCore::RenderObject::animation):
* rendering/RenderObject.h:
(WebCore::RenderObject::document):
(WebCore::RenderObject::frame):
2010-06-05 Jonathan Kliegman <kliegs@chromium.org>
Reviewed by Dirk Schulze.
SVG doesn't support rgba colors
https://bugs.webkit.org/show_bug.cgi?id=16183
Enabled processing of rgba, hsl and hsla color specifications
for SVG files. SVG spec calls for CSS2 but common usage and
other browsers suppor CSS3 colors being used in SVG files
Removed unused svg paramater from CSSParser::parseColorFromValue
Tests: svg/custom/fill-opacity-hsl.svg
svg/custom/fill-opacity-rgba.svg
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColorFromValue):
* css/CSSParser.h:
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
* svg/SVGColor.cpp:
(WebCore::SVGColor::colorFromRGBColorString):
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] ContextMenuItemQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39780
* platform/qt/ContextMenuItemQt.cpp:
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] ContextMenuQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39779
* platform/qt/ContextMenuQt.cpp:
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] DragDataQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39777
* platform/qt/DragDataQt.cpp:
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] FileChooserQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39776
* platform/qt/FileChooserQt.cpp:
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] FileSystemQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39775
* platform/qt/FileSystemQt.cpp:
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] KURLQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39774
* platform/qt/KURLQt.cpp:
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] LoggingQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39772
* platform/qt/LoggingQt.cpp:
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] PlatformKeyboardEventQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39770
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::keyIdentifierForQtKeyCode):
(WebCore::windowsKeyCodeForKeyEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] PlatformScreenQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39768
* platform/qt/PlatformMouseEventQt.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] RenderThemeQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39767
* platform/qt/RenderThemeQt.cpp:
2010-06-05 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] ScrollbarQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39765
* platform/qt/ScrollbarQt.cpp:
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
This patch changes us from using a jump table for each character to
using absolute jumps between parser states. This appears to be about a
1% improvement on the parser bench mark (which is 1/10th of what we
need to catch the old parser).
I've kept the underlying logic as close to the old logic as possible.
This new form will make it easier to handle the input stream part of
the spec and to make further performance improvements.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::reset):
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::emitCurrentToken):
* html/HTML5Lexer.h:
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
HTML5 parser should be within 1% of old parser performance
https://bugs.webkit.org/show_bug.cgi?id=40172
Stop using adopt(). I think this function is cause us to do extra
mallocs that are hurting performance. Instead of caching AtomicString
on HTML5Token, just use the AtomicString on the old token. Also,
reserve inline capacity for 10 attributes.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::isAppropriateEndTag):
* html/HTML5Lexer.h:
* html/HTML5Token.h:
(WebCore::HTML5Token::beginStartTag):
(WebCore::HTML5Token::beginEndTag):
(WebCore::HTML5Token::beginCharacter):
(WebCore::HTML5Token::beginComment):
(WebCore::HTML5Token::beginDOCTYPE):
(WebCore::HTML5Token::name):
(WebCore::HTML5Token::characters):
(WebCore::HTML5Token::comment):
* html/HTML5TreeBuilder.cpp:
(WebCore::convertToOldStyle):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2010-06-04 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] ScrollbarThemeQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39764
* platform/qt/ScrollbarThemeQt.cpp:
(WebCore::scPart):
(WebCore::scrollbarPart):
(WebCore::styleOptionSlider):
2010-06-04 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] SharedTimerQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39763
* platform/qt/SharedTimerQt.cpp:
2010-06-04 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
WidgetQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39759
* platform/qt/WidgetQt.cpp:
2010-06-04 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
TemporaryLinkStubsQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39761
* platform/qt/TemporaryLinkStubsQt.cpp:
2010-06-04 Anders Bakken <agbakken@gmail.com>
Reviewed by Eric Seidel.
[Qt] SoundQt.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39762
* platform/qt/SoundQt.cpp:
2010-06-04 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Dirk Schulze.
Canvas createPattern(img, repetition) shouldn't throw INVALID_STATE_ERR when !img.complete
https://bugs.webkit.org/show_bug.cgi?id=40166
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createpattern
Test: http/tests/misc/canvas-pattern-from-incremental-image.html (updated)
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createPattern):
2010-06-04 Anders Bakken <agbakken@gmail.com>
Reviewed by David Levin.
[Qt] Localizations.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39773
* platform/qt/Localizations.cpp:
(WebCore::localizedMediaTimeDescription):
2010-06-04 Lyon Chen <liachen@rim.com>
Reviewed by Darin Adler.
ApplicationCacheStorage::storeNewestCache() Crash WebKit when openDatabase(true) failed
https://bugs.webkit.org/show_bug.cgi?id=40074
Adding m_database.isOpen() check for every openDatabase(true) call, this is needed because
openDatabase(true) could still fail, for example when cacheStorage is full or no longer available.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::store):
(WebCore::ApplicationCacheStorage::storeNewestCache):
2010-06-04 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60684.
http://trac.webkit.org/changeset/60684
https://bugs.webkit.org/show_bug.cgi?id=40196
This patch broke chromium reliability tests (Requested by
tonyg-cr on #webkit).
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::evaluate):
* bindings/v8/V8Proxy.h:
2010-06-04 Chris Fleizach <cfleizach@apple.com>
Reviewed by David Kilzer.
AX: need an aria-help
https://bugs.webkit.org/show_bug.cgi?id=40010
Test: accessibility/aria-help.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::helpText):
* html/HTMLAttributeNames.in:
2010-06-04 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Canvas arc() with zero radius should draw a line to the start point
https://bugs.webkit.org/show_bug.cgi?id=40164
Spec link:
http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::addArc):
2010-06-04 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] RenderThemeGtk leaks memory
https://bugs.webkit.org/show_bug.cgi?id=40168
Call gtk_widget_destroy in the RenderThemeGtk destructor. This cleans
up all widget resources when a theme is destroyed.
No new tests, because functionality has not changed.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::~RenderThemeGtk): Call gtk_widget_destroy on m_gtkWindow.
2010-06-04 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] RenderThemeGtk leaks memory
https://bugs.webkit.org/show_bug.cgi?id=40168
Remove the use of releaseRef to assign a value to a RefPtr. This results in
the original pointer taking an extra reference.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::initMediaStyling): Remove the use of releaseRef here.
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Gavin Barraclough.
Try to fix the windows build
https://bugs.webkit.org/show_bug.cgi?id=40189
Suppress the "unreachable code" warning because we want to assert that
we don't reach certain code points.
* html/HTML5Lexer.cpp:
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
A couple more cases like the previous patch that I missed.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
Make all the state transitions in the machine explicit. This allows us
to remove all the break statements, which won't work correctly after we
change the macro definitions.
Also, while I was looking at every line of code, I fixed a bunch of the
one-line-if style errors introduces in my previous patches.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 40187 - Change function signature of NativeConstructor to match NativeFunction
Mostly for consistency, but constructor & args arguments are redundant,
and this will help if we wish to be able to JIT calls to more constructors.
* bindings/js/JSArrayBufferConstructor.cpp:
(WebCore::constructCanvasArrayBuffer):
* bindings/js/JSAudioConstructor.cpp:
(WebCore::constructAudio):
* bindings/js/JSEventSourceConstructor.cpp:
(WebCore::constructEventSource):
* bindings/js/JSFloatArrayConstructor.cpp:
(WebCore::constructCanvasFloatArray):
* bindings/js/JSImageConstructor.cpp:
(WebCore::constructImage):
* bindings/js/JSInt16ArrayConstructor.cpp:
(WebCore::constructCanvasShortArray):
* bindings/js/JSInt32ArrayConstructor.cpp:
(WebCore::constructCanvasIntArray):
* bindings/js/JSInt8ArrayConstructor.cpp:
(WebCore::constructCanvasByteArray):
* bindings/js/JSMessageChannelConstructor.cpp:
(WebCore::JSMessageChannelConstructor::construct):
* bindings/js/JSMessageChannelConstructor.h:
* bindings/js/JSOptionConstructor.cpp:
(WebCore::constructHTMLOptionElement):
* bindings/js/JSSharedWorkerConstructor.cpp:
(WebCore::constructSharedWorker):
* bindings/js/JSUint16ArrayConstructor.cpp:
(WebCore::constructCanvasUnsignedShortArray):
* bindings/js/JSUint32ArrayConstructor.cpp:
(WebCore::constructCanvasUnsignedIntArray):
* bindings/js/JSUint8ArrayConstructor.cpp:
(WebCore::constructCanvasUnsignedByteArray):
* bindings/js/JSWebKitCSSMatrixConstructor.cpp:
(WebCore::constructWebKitCSSMatrix):
* bindings/js/JSWebKitPointConstructor.cpp:
(WebCore::constructWebKitPoint):
* bindings/js/JSWebSocketConstructor.cpp:
(WebCore::constructWebSocket):
* bindings/js/JSWorkerConstructor.cpp:
(WebCore::constructWorker):
* bindings/js/JSXMLHttpRequestConstructor.cpp:
(WebCore::constructXMLHttpRequest):
* bindings/js/JSXSLTProcessorConstructor.cpp:
(WebCore::constructXSLTProcessor):
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/runtime_object.cpp:
(JSC::Bindings::callRuntimeConstructor):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
Change the intent of the loop to match what it's going to be once we
remove the loop. This is a whitespace only change that will make the
final diff much, much smaller. Sorry for the transient ugly style.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
Introduce ADVANCE_TO macro. This is the last macro we need to
introduce.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
Fix the rest of the RECONSUME_IN cases that were missed by our script.
Also, reorder some assigment to prepare for the ADVANCE_TO patch.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
This patch handles the FLUSH_AND_ADVANCE_TO case. Again, this patch
introduces style errors that will be fixed shortly.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
This patch handles the FLUSH_EMIT_AND_RESUME_IN case. This patch
introduces some bad style w.r.t. one-line if statements, but we'll fix
them all automatically in cleanup patch when we're done.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
More small steps. This patch deals with emitting tokens.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
The next step: using macros to delimit each state. Evetually, we're
going to change what these macros expand to.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5Lexer go fast
https://bugs.webkit.org/show_bug.cgi?id=40048
We're going to do this patch in small steps to make it easier to verify correctness.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-06-04 Jay Civelli <jcivelli@chromium.org>
Reviewed by David Levin.
[chromium] Adding support for the left and right Windows keys to the
NativeWebKeyboardEvent.
https://bugs.webkit.org/show_bug.cgi?id=39752
* platform/chromium/KeyCodeConversionGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent):
2010-06-04 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG filter on filter don't work
https://bugs.webkit.org/show_bug.cgi?id=32708
Any child of <text> was not allowed to use the same filter as the text root.
I couldn't found any reason in the SVG specification that legimitate this.
Only batik also doesn't allow the same filter on the text root as on it's childs,
while any other effect is still allowed.
I removed this limitation so that the result looks like the result on Firefox.
Test: svg/filters/filter-on-filter-for-text.svg
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderBase::prepareToRenderSVGContent):
* rendering/SVGRenderSupport.h:
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
(WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
(WebCore::SVGRootInlineBox::paint):
2010-06-04 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Factor PageCache functionality out of FrameLoader and into
PageCache itself.
https://bugs.webkit.org/show_bug.cgi?id=39382
Refactor only, so no new tests.
* history/PageCache.cpp:
(WebCore::pageCacheLogPrefix):
(WebCore::pageCacheLog):
(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
(WebCore::PageCache::canCache):
(WebCore::PageCache::add):
(WebCore::PageCache::get):
* history/PageCache.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitIfReady):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::prepareForCachedPageRestore):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
(WebCore::FrameLoader::navigateToDifferentDocument):
* loader/FrameLoader.h:
(WebCore::FrameLoader::quickRedirectComing):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2010-06-04 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Web Inspector: it would be better to push object properties to JSON string in order of insertion.
https://bugs.webkit.org/show_bug.cgi?id=40140
* inspector/InspectorValues.cpp:
(WebCore::InspectorObject::writeJSON):
* inspector/InspectorValues.h:
(WebCore::InspectorObject::setBool):
(WebCore::InspectorObject::setNumber):
(WebCore::InspectorObject::setString):
(WebCore::InspectorObject::set):
2010-06-04 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Persist V8's ScriptData to the memory cache.
https://bugs.webkit.org/show_bug.cgi?id=38661
This stores V8's ScriptData in the memory cache and also causes the
network platform layer to be notified of the available cacheable
metadata.
Chromium's morejs benchmark shows a 3-4% improvement on fast hardware.
No new tests because no new functionality.
* bindings/v8/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::cachedScript):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::precompileScript):
(WebCore::V8Proxy::evaluate):
* bindings/v8/V8Proxy.h:
2010-06-04 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Adam Barth.
Utilize new takeFirst() method where appropriate.
https://bugs.webkit.org/show_bug.cgi?id=40089
No new tests because no new functionality.
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::addSubresourceStyleURLs):
* dom/XMLTokenizerLibxml2.cpp:
(WebCore::PendingCallbacks::callAndRemoveFirstCallback):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::advanceSubstring):
* storage/Database.cpp:
(WebCore::Database::scheduleTransaction):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::getNextStatement):
* storage/SQLTransactionCoordinator.cpp:
(WebCore::SQLTransactionCoordinator::processPendingTransactions):
2010-06-04 Nikita Vasilyev <me@elv1s.ru>
Reviewed by Pavel Feldman.
Web Inspector: better Function.prototype.bind for the internal code.
In the "Event Listeners" pane show handler function instead of Function.prototype.bind.
https://bugs.webkit.org/show_bug.cgi?id=40080
* inspector/front-end/utilities.js:
(Function.prototype.bind.bound):
(Function.prototype.bind.bound.toString):
(Function.prototype.bind):
2010-06-04 Alexander Pavlov <apavlov@chromium.org>
Unreviewed, fix Qt build.
Add references to a new file.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/WebKit.qrc:
2010-06-04 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Eliminate direct dependency of StylesSidebarPane on InspectorBackend
https://bugs.webkit.org/show_bug.cgi?id=40069
No new tests are needed, as this is a refactoring.
* inspector/front-end/CSSStyleModel.js: Added.
(WebInspector.CSSStyleModel):
(WebInspector.CSSStyleModel.prototype.getStylesAsync):
(WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
(WebInspector.CSSStyleModel.prototype.setRuleSelector):
(WebInspector.CSSStyleModel.prototype.addRule):
(WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
(WebInspector.CSSStyleModel.prototype.setCSSText):
(WebInspector.CSSStyleModel.prototype.applyStyleText):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
(WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
(WebInspector.StylesSidebarPane.prototype.update):
(WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.StylePropertyTreeElement.prototype.):
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.loaded):
2010-06-04 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
[Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
https://bugs.webkit.org/show_bug.cgi?id=40116
CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
with Qt 4.7's bearer managenent includes and break the build.
* WebCore.pro:
2010-06-04 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Dimitri Glazkov.
[chromium] Fix scrolling bug with pages using accelerated compositing.
https://bugs.webkit.org/show_bug.cgi?id=40037
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::drawLayers):
2010-06-04 Matthew Delaney <mdelaney@apple.com>
Reviewed by Darin Adler.
CG implementation needed for compression quality in canvas.toDataURL
https://bugs.webkit.org/show_bug.cgi?id=38492
Took toDataURL.jpeg.quality.basic.html test off of Skipped list. Passes.
Went the route of avoiding in-band signaling to flag the use of a quality
parameter or not. So, instead of simply passing the quality down as a
double, instead I pass a reference to the quality parameter from where
it comes in just after the JS bindings. Thus, no need for any global
constants to signify when the quality is not specified. Updated the other
platforms to support this (qt was on the only one currently with any
implementation).
* bindings/js/JSHTMLCanvasElementCustom.cpp: Moved range check logic for quality parameter down lower. Updated
call to toDataURL to use double* instead of just passing the quality directly.
(WebCore::JSHTMLCanvasElement::toDataURL):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Updated toDataURL call to pass double*
(WebCore::V8HTMLCanvasElement::toDataURLCallback):
* dom/CanvasSurface.cpp: Updated method prototype.
(WebCore::CanvasSurface::toDataURL):
* dom/CanvasSurface.h: Updated method prototype.
(WebCore::CanvasSurface::toDataURL):
* platform/graphics/ImageBuffer.h: Updated method signature to use double* for quality param.
* platform/graphics/cairo/ImageBufferCairo.cpp: Updated prototype for consistency.
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/cg/ImageBufferCG.cpp: Implemented support for quality parametejr when jpeg MIME type used.
(WebCore::jpegUTI):
(WebCore::utiFromMIMEType):
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/haiku/ImageBufferHaiku.cpp: Updated prototype for consistency.
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/qt/ImageBufferQt.cpp: Updated prototype for consistency.
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/skia/ImageBufferSkia.cpp: Updated prototype for consistency.
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/wince/ImageBufferWince.cpp: Updated prototype for consistency.
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/wx/ImageBufferWx.cpp: Updated prototype for consistency.
(WebCore::ImageBuffer::toDataURL):
2010-06-04 Alejandro G. Castro <alex@igalia.com>
Reviewed by Xan Lopez.
Leaks in listDirectory
https://bugs.webkit.org/show_bug.cgi?id=40008
Fixed both leaks.
* platform/gtk/FileSystemGtk.cpp:
(WebCore::listDirectory):
2010-06-04 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
[Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
https://bugs.webkit.org/show_bug.cgi?id=39877
This patch makes callbacks invoked on named items addition/removal
install API accessors and thus there is no more need in
named and indexed interceptors on HTMLDocument which
speeds up invocation of methods on document.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::checkDocumentWrapper):
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
(WebCore::getter):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::WrapInShadowObject):
(WebCore::V8HTMLDocument::GetNamedProperty):
(WebCore::V8HTMLDocument::allAccessorSetter):
(WebCore::toV8):
2010-06-04 Kwang Yul Seo <skyul@company100.net>
Reviewed by Kent Tamura.
Change filenameFromString to return CString
https://bugs.webkit.org/show_bug.cgi?id=39494
filenameFromString returns a newly allocated string and the caller must
free the string. GTK and EFL ports use g_free while all others ports use
fastFree. This is confusing because the same function behaves
differently with respect to ports. Change filenameFromString to return
CString.
* platform/FileSystem.cpp:
(WebCore::filenameFromString):
* platform/FileSystem.h:
* platform/efl/FileSystemEfl.cpp:
(WebCore::filenameFromString):
* platform/gtk/FileChooserGtk.cpp:
(WebCore::FileChooser::basenameForWidth):
* platform/gtk/FileSystemGtk.cpp:
(WebCore::filenameFromString):
(WebCore::filenameForDisplay):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::makeAllDirectories):
(WebCore::pathGetFileName):
(WebCore::directoryName):
(WebCore::listDirectory):
* platform/gtk/SharedBufferGtk.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startHttp):
* platform/posix/SharedBufferPOSIX.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
2010-06-04 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Fix compilation with QT_NO_FEATURE
https://bugs.webkit.org/show_bug.cgi?id=38324
The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
made AC not work at all.
No new tests.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQtImpl::flushChanges):
2010-06-04 Qi Zhang <qi.2.zhang@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.ensuresubpath.1.html
https://bugs.webkit.org/show_bug.cgi?id=38645
Path arcto function need to ensure there is subpath before it.
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::addArcTo):
2010-06-04 Qi Zhang <qi.2.zhang@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arc.angle.3.html
https://bugs.webkit.org/show_bug.cgi?id=38537
For path.arc function handle span > 2PI
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::addArc):
2010-06-04 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Set attributes.stencil to false by default at context creation
https://bugs.webkit.org/show_bug.cgi?id=40090
* platform/graphics/GraphicsContext3D.h: Set default attributes.stencil to false.
(WebCore::GraphicsContext3D::Attributes::Attributes):
2010-06-03 Abhishek Arya <inferno@chromium.org>
Reviewed by Eric Carlson.
Fix a crash when trying to use an invalid media src url by
moving the isValid url checks to a central location in
isSafeToLoadURL function. Also added an empty string check
in DocumentLoader::didTellClientAboutLoad.
Test: media/invalid-media-url-crash.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isSafeToLoadURL):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::getPluginProxyParams):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::didTellClientAboutLoad):
2010-06-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60642.
http://trac.webkit.org/changeset/60642
https://bugs.webkit.org/show_bug.cgi?id=40151
Broke rendering of border images on rotated elements
(Requested by jamesr on #webkit).
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
* platform/graphics/GraphicsContext.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):
2010-06-03 Damian Kaleta <dkaleta@apple.com>
Reviewed by Beth Dakin.
Pixel cracks in border images when drawing with a scale factor > 1
<rdar://problem/7994266>pixel cracks in border images
https://bugs.webkit.org/show_bug.cgi?id=15720
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
* platform/graphics/GraphicsContext.h: Added two new methods to support drawing using FloatRect.
If the boolean flag roundToPixels is true, the pixels are adjusted with the pixel boundaries.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):
2010-06-03 James Robinson <jamesr@chromium.org>
Reviewed by Dan Bernstein.
Take container's scroll offset and clip into account when initializing LayoutState
https://bugs.webkit.org/show_bug.cgi?id=38506
When doing a subtree layout, the initial LayoutState creation needs to
take the layout root container's offset and its scroll offset into account
to create the initial offset. Otherwise if a subtree layout occurs
for a layout root whose container has a non-zero scroll offset
the LayoutState's offset and clip are wrong, resulting in a mispaint.
See the test cases for examples.
Tests: fast/repaint/layout-state-scrolloffset.html
fast/repaint/layout-state-scrolloffset2.html
fast/repaint/layout-state-scrolloffset3.html
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
2010-06-03 Gavin Barraclough <barraclough@apple.com>
Reviewed by NOBODY (speculative Qt build fix II).
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
2010-06-03 Gavin Barraclough <barraclough@apple.com>
Reviewed by NOBODY (speculative Qt build fix).
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
2010-06-02 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 40094 - The return type of NativeFunction should be EncodedJSValue
On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::callHTMLCollection):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::open):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::createInjectedScript):
* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::callNodeList):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::callPlugin):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
(WebCore::ScheduledAction::executeFunctionInContext):
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::call):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializingTreeWalker::convertIfTerminal):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject callWebScriptMethod:withArguments:]):
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/NP_jsobject.cpp:
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Construct):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::call):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::callObjCFallbackObject):
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod):
* bridge/runtime_object.cpp:
(JSC::Bindings::callRuntimeObject):
2010-06-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60614.
http://trac.webkit.org/changeset/60614
https://bugs.webkit.org/show_bug.cgi?id=40123
It made fast/dom/Window/window-postmessage-clone.html fail on
Mac bots (Requested by Ossy on #webkit).
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* dom/Document.cpp:
(WebCore::Document::createEvent):
(WebCore::Document::addListenerTypeIfNeeded):
* dom/Document.h:
(WebCore::Document::):
* dom/Document.idl:
* dom/Element.h:
* dom/Element.idl:
* dom/Event.cpp:
(WebCore::Event::fromUserGesture):
* dom/Event.h:
* dom/EventNames.h:
* dom/TransformActionEvent.cpp: Removed.
* dom/TransformActionEvent.h: Removed.
* dom/TransformActionEvent.idl: Removed.
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* page/DOMWindow.h:
* page/DOMWindow.idl:
2010-06-03 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: show "Object" as description for values with anonymous constructor
https://bugs.webkit.org/show_bug.cgi?id=40121
* inspector/front-end/InjectedScript.js:
(injectedScriptConstructor):
2010-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix NPAPI support on Mac OS X/Cocoa-32
qt_mac_window_for() returns a NSWindow on Cocoa, so we were
passing in a NSWindow instead of a WindowRef as part of the
NP_CGContext.
https://bugs.webkit.org/show_bug.cgi?id=38762
* WebCore.gypi: Reflect rename
* WebCore.pro: Reflect rename
* plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
and fix bug by getting the Carbon windowRef from the NSWindow.
* wscript: Reflect rename
2010-06-03 Kim Grönholm <kim.1.gronholm@nokia.com>
Reviewed by Simon Hausmann.
Add TransformActionEvent support
https://bugs.webkit.org/show_bug.cgi?id=39757
Added only the necessary TransformAction event interfaces and not e.g.
any eventhandler hooks that generate and dispatch them.
Test: fast/events/transformaction/create-transformaction-event.html
More tests will be added with the machinery that generates and
dispatches these events.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::transformactionEnabled):
(WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
(WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
(WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
(WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* dom/Document.cpp:
(WebCore::Document::createEvent):
(WebCore::Document::addListenerTypeIfNeeded):
* dom/Document.h:
(WebCore::Document::):
* dom/Document.idl:
* dom/Element.h:
* dom/Element.idl:
* dom/Event.cpp:
(WebCore::Event::isTransformActionEvent):
(WebCore::Event::fromUserGesture):
* dom/Event.h:
* dom/EventNames.h:
* dom/TransformActionEvent.cpp: Added.
(WebCore::TransformActionEvent::TransformActionEvent):
(WebCore::TransformActionEvent::initTransformActionEvent):
* dom/TransformActionEvent.h: Added.
(WebCore::TransformActionEvent::create):
(WebCore::TransformActionEvent::translateX):
(WebCore::TransformActionEvent::translateY):
(WebCore::TransformActionEvent::translateSpeedX):
(WebCore::TransformActionEvent::translateSpeedY):
(WebCore::TransformActionEvent::scale):
(WebCore::TransformActionEvent::scaleSpeed):
(WebCore::TransformActionEvent::rotate):
(WebCore::TransformActionEvent::rotateSpeed):
(WebCore::TransformActionEvent::TransformActionEvent):
(WebCore::TransformActionEvent::isTransformActionEvent):
* dom/TransformActionEvent.idl: Added.
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* page/DOMWindow.h:
* page/DOMWindow.idl:
2010-06-03 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: a number of fixes that make InspectorController
happy with null redirects.
https://bugs.webkit.org/show_bug.cgi?id=40109
* inspector/InspectorController.cpp:
(WebCore::InspectorController::willSendRequest):
(WebCore::InspectorController::didReceiveResponse):
(WebCore::InspectorController::didReceiveContentLength):
(WebCore::InspectorController::didFinishLoading):
(WebCore::InspectorController::didFailLoading):
2010-06-03 Pavel Feldman <pfeldman@chromium.org>
Not reviewed. Rolling out aggressive cache part of the r60391
described in the bug below. It was orthogonal to the rest of
the patch and caused regression.
https://bugs.webkit.org/show_bug.cgi?id=37364
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawResampledBitmap):
2010-06-02 Darin Fisher <darin@chromium.org>
Reviewed by Brady Eidson.
location.href and outgoing referrer not updated properly by
pushState/replaceState
https://bugs.webkit.org/show_bug.cgi?id=40027
Tests: fast/loader/stateobjects/pushstate-updates-location.html
fast/loader/stateobjects/replacestate-updates-location.html
http/tests/navigation/pushstate-updates-referrer.html
http/tests/navigation/replacestate-updates-referrer.html
* dom/Document.cpp:
(WebCore::Document::updateURLForPushOrReplaceState):
Update the FrameLoader's notion of the current URL as well!
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadInSameDocument):
Use the 'url' parameter instead of m_URL since m_URL might have
changed during the handling of the PopState event. Eventually,
this will become irrelevant since the PopState event should be
dispatched asynchronously, but just in case we patch HashChange
to be asynchronous before PopState, this change would be needed.
2010-06-02 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
REGRESSION(60409): document.write is not synchronous when using the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=40047
The HTML5 spec states that we should "spin the event loop" while
waiting for stylesheets to load. Currently we do that by yielding
out of the parser when stylesheets are loading. Because it was easy
we made inline <scripts> yield for stylesheet loads as well. However,
this caused document.write() to return after encountering the first
inline <script> tag in many cases which is incorrect. document.write
is supposed to block until the entire document is parsed (including)
executing inline script tags. To match the exiting parser, we'll just
make inline <script> tags not block on stylesheets for now.
This is tested by WebCore/benchmarks/html-parser.html as well
as likely several other tests in LayoutTests which we haven't
triaged yet.
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::executeScript):
- ASSERT that either stylesheets have loaded or we're executing an
inline <script> tag.
(WebCore::HTML5ScriptRunner::runScript):
- Remove the code to block inline <script> tags on stylesheet loads.
2010-06-02 MORITA Hajime <morrita@google.com>
Unreviewd, Chromium windows build fix.
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::paintProgressBar):
2010-06-02 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
[Chromium] Linux: progress bar image pieces should be painted with same resampling mode
https://bugs.webkit.org/show_bug.cgi?id=40045
computeResamplingMode(), used by Image::drawPattern() and
BitmapImage::draw(), chooses an image resampling mode based on the
size of given image and the destination rectangle. But when
painting single component (i.e. a progress bar) from multiple
images, it can choose different resampling modes for images of
same component. That difference creates unexpected visual artifacts
like seams between images of single component.
This change introduced "image resampling hint" to allow callers to
control the resampling mode. Using the hint,
RenderThemeChromiumSkia now able to hold same resampling mode
during draw a progress bar.
No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
enabled on chromium.
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode):
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::save):
(PlatformContextSkia::setImageResamplingHint): Added
(PlatformContextSkia::clearImageResamplingHint): Added
(PlatformContextSkia::hasImageResamplingHint): Added
(PlatformContextSkia::imageResamplingHint): Added
* platform/graphics/skia/PlatformContextSkia.h:
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintProgressBar):
2010-06-03 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
[Chromium] Support HTML5 <progress> element on Linux.
https://bugs.webkit.org/show_bug.cgi?id=37310
Implemented RenderThemeChromiumSkia::paintProgressBar(), extracing
determinateProgressValueRectFor() from RenderThemeChromiumWin to
RenderThemeChromiumSkia
No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
enabled on chromium.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
(WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
(WebCore::RenderThemeChromiumSkia::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeChromiumSkia::animationDurationForProgressBar):
(WebCore::RenderThemeChromiumSkia::paintProgressBar):
(WebCore::RenderThemeChromiumSkia::progressValueRectFor):
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::paintProgressBar):
2010-06-02 Nico Weber <thakis@chromium.org>
Reviewed by Simon Fraser.
Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
https://bugs.webkit.org/show_bug.cgi?id=39918
This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
that patch.
Test: editing/input/page-up-down-scrolls.html
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::valueChanged):
* platform/ScrollView.h:
(WebCore::ScrollView::repaintFixedElementsAfterScrolling):
2010-06-02 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: use platform-specific key designations in shortcuts help for mac
https://bugs.webkit.org/show_bug.cgi?id=39158
* inspector/front-end/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut.shortcutToString):
(WebInspector.KeyboardShortcut._keyName):
(WebInspector.KeyboardShortcut._modifiersToString):
* inspector/front-end/inspector.js:
(WebInspector._registerShortcuts):
2010-06-02 Kenneth Russell <kbr@google.com>
Reviewed by Darin Fisher.
Enable WebGL on more platforms even if accelerated compositing is disabled
https://bugs.webkit.org/show_bug.cgi?id=40085
Conditionalize the code which prevents a WebGL rendering context
from being created if accelerated compositing is disabled.
Currently Chromium is the only port which will create a context if
accelerated compositing is disabled; other ports may opt in to
this code path if desired.
Tested with existing WebGL layout tests in Safari and Chromium on
Mac OS X.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
2010-06-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60580.
http://trac.webkit.org/changeset/60580
https://bugs.webkit.org/show_bug.cgi?id=40087
This broke dragging links if the selection was in a
contentEditable element. (Requested by arv on #webkit).
* page/FocusController.cpp:
(WebCore::clearSelectionIfNeeded):
2010-06-02 Erik Arvidsson <arv@chromium.org>
Reviewed by Ojan Vafai.
REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
https://bugs.webkit.org/show_bug.cgi?id=38548
Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html
* page/FocusController.cpp:
(WebCore::clearSelectionIfNeeded):
2010-06-02 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
Just disable the current version of multi-column layout completely when the new
pagination model is in effect.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):
2010-06-02 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
Turn off unforced page breaking at paint time when the new page breaking model is being used.
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint):
2010-06-02 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
Don't check page break properties at paint time if we're using the new page breaking model.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
2010-06-02 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
[V8] Fix an infinite recursion crash when trying to wrap
media elements without a media player.
No test because there isn't a good way to ensure the media player
is off.
* dom/make_names.pl: Call, e.g., V8HTMLElement::wrap(HTMLElement*)
instead of toV8(HTMLElement*).
2010-06-02 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Darin Adler.
Notification object ref counting is not correct.
https://bugs.webkit.org/show_bug.cgi?id=39998
Return PassRefPtr<Notification> instead of a raw pointer from the create methods
for Web Notifications.
No new tests are needed, as existing tests show the problem when sending the
"display" event asynchronously.
* notifications/Notification.h:
(WebCore::Notification::create):
* notifications/NotificationCenter.h:
(WebCore::NotificationCenter::createHTMLNotification):
(WebCore::NotificationCenter::createNotification):
2010-06-02 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add Console API for retrieving memory stats
Add 'console.memory' property which returns an object. Currently
it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
extended for reporting total browser's memory consumption.
https://bugs.webkit.org/show_bug.cgi?id=39646
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSConsoleCustom.cpp:
(WebCore::JSConsole::memory):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::memoryAccessorGetter):
* page/Console.h:
* page/Console.idl:
* page/MemoryInfo.cpp: Added.
(WebCore::MemoryInfo::MemoryInfo):
* page/MemoryInfo.h: Added.
(WebCore::MemoryInfo::create):
(WebCore::MemoryInfo::totalJSHeapSize):
(WebCore::MemoryInfo::usedJSHeapSize):
* page/MemoryInfo.idl: Added.
2010-06-02 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: support "Continue to Here" in debugger
https://bugs.webkit.org/show_bug.cgi?id=39953
* English.lproj/localizedStrings.js:
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
(WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
(WebInspector.BreakpointManager.prototype.addBreakpoint):
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView):
(WebInspector.ScriptView.prototype._continueToLine):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.continueToLine):
(WebInspector.ScriptsPanel.prototype.debuggerPaused):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView):
(WebInspector.SourceView.prototype._continueToLine):
(WebInspector.SourceView.prototype.updateLocalContent):
2010-06-02 Mikhail Naganov <mnaganov@chromium.org>
Unreviewed, rolling out r60563.
http://trac.webkit.org/changeset/60563
https://bugs.webkit.org/show_bug.cgi?id=39646
windows build failed
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSConsoleCustom.cpp:
* bindings/v8/custom/V8ConsoleCustom.cpp:
* page/Console.h:
* page/Console.idl:
* page/MemoryInfo.cpp: Removed.
* page/MemoryInfo.h: Removed.
* page/MemoryInfo.idl: Removed.
2010-06-02 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add Console API for retrieving memory stats
Add 'console.memory' property which returns an object. Currently
it has two fields: totalJSHeapSize and usedJSHeapSize. Later, it can be
extended for reporting total browser's memory consumption.
https://bugs.webkit.org/show_bug.cgi?id=39646
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSConsoleCustom.cpp:
(WebCore::JSConsole::memory):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::memoryAccessorGetter):
* page/Console.h:
* page/Console.idl:
* page/MemoryInfo.cpp: Added.
(WebCore::MemoryInfo::MemoryInfo):
* page/MemoryInfo.h: Added.
(WebCore::MemoryInfo::create):
(WebCore::MemoryInfo::totalJSHeapSize):
(WebCore::MemoryInfo::usedJSHeapSize):
* page/MemoryInfo.idl: Added.
2010-06-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add test for resource parameters.
https://bugs.webkit.org/show_bug.cgi?id=40026
Test: http/tests/inspector/resource-parameters.html
* inspector/front-end/HAREntry.js:
(WebInspector.HAREntry.prototype._buildParameters):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype._parseParameters):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshParms):
2010-06-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined
First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
overwrote it with the $$INSTALL_HEADERS variant without checking if the
variable was set.
Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].
* WebCore.pro:
2010-06-02 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Style fixes for the generated code in DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=39949
Get rid of extra spaces and wrong indentation in the generated
code.
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
(webkit_dom_test_callback_callback_with_class1param):
(webkit_dom_test_callback_callback_with_class2param):
(webkit_dom_test_callback_callback_with_non_bool_return_type):
(webkit_dom_test_callback_set_property):
(webkit_dom_test_callback_get_property):
* bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
(webkit_dom_test_interface_set_property):
(webkit_dom_test_interface_get_property):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_void_method):
(webkit_dom_test_obj_void_method_with_args):
(webkit_dom_test_obj_int_method):
(webkit_dom_test_obj_int_method_with_args):
(webkit_dom_test_obj_obj_method):
(webkit_dom_test_obj_obj_method_with_args):
(webkit_dom_test_obj_method_that_requires_all_args):
(webkit_dom_test_obj_method_that_requires_all_args_and_throws):
(webkit_dom_test_obj_serialized_value):
(webkit_dom_test_obj_method_with_exception):
(webkit_dom_test_obj_with_dynamic_frame):
(webkit_dom_test_obj_with_dynamic_frame_and_arg):
(webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
(webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
(webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
(webkit_dom_test_obj_with_script_state_void):
(webkit_dom_test_obj_with_script_state_obj):
(webkit_dom_test_obj_with_script_state_void_exception):
(webkit_dom_test_obj_with_script_state_obj_exception):
(webkit_dom_test_obj_method_with_optional_arg):
(webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
(webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
(webkit_dom_test_obj_get_read_only_int_attr):
(webkit_dom_test_obj_get_read_only_string_attr):
(webkit_dom_test_obj_get_read_only_test_obj_attr):
(webkit_dom_test_obj_get_int_attr):
(webkit_dom_test_obj_set_int_attr):
(webkit_dom_test_obj_get_long_long_attr):
(webkit_dom_test_obj_set_long_long_attr):
(webkit_dom_test_obj_get_unsigned_long_long_attr):
(webkit_dom_test_obj_set_unsigned_long_long_attr):
(webkit_dom_test_obj_get_string_attr):
(webkit_dom_test_obj_set_string_attr):
(webkit_dom_test_obj_get_test_obj_attr):
(webkit_dom_test_obj_set_test_obj_attr):
(webkit_dom_test_obj_get_attr_with_exception):
(webkit_dom_test_obj_set_attr_with_exception):
(webkit_dom_test_obj_get_attr_with_setter_exception):
(webkit_dom_test_obj_set_attr_with_setter_exception):
(webkit_dom_test_obj_get_attr_with_getter_exception):
(webkit_dom_test_obj_set_attr_with_getter_exception):
(webkit_dom_test_obj_get_script_string_attr):
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2010-06-02 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Added conversion of inspector's resource representation into HAR.
Moved common resource accessors from ResourceView to Resource.
https://bugs.webkit.org/show_bug.cgi?id=30567
Test: http/tests/inspector/resource-har-conversion.html
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/HAREntry.js: Added.
(WebInspector.HAREntry):
(WebInspector.HAREntry.prototype.build):
(WebInspector.HAREntry.prototype._buildRequest):
(WebInspector.HAREntry.prototype._buildResponse):
(WebInspector.HAREntry.prototype._buildContent):
(WebInspector.HAREntry.prototype._buildTimings):
(WebInspector.HAREntry.prototype._buildHeaders):
(WebInspector.HAREntry.prototype._buildPostData):
(WebInspector.HAREntry.prototype._buildParameters):
(WebInspector.HAREntry.prototype._buildParameter):
(WebInspector.HAREntry.prototype._toMilliseconds):
* inspector/front-end/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.set url):
(WebInspector.Resource.prototype.get receiveDuration):
(WebInspector.Resource.prototype.requestHeaderValue):
(WebInspector.Resource.prototype.get requestFormData):
(WebInspector.Resource.prototype.set requestFormData):
(WebInspector.Resource.prototype.responseHeaderValue):
(WebInspector.Resource.prototype.get queryParameters):
(WebInspector.Resource.prototype.get formParameters):
(WebInspector.Resource.prototype._parseParameters):
(WebInspector.Resource.prototype._headerValue):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshQueryString):
(WebInspector.ResourceView.prototype._refreshFormData):
(WebInspector.ResourceView.prototype._refreshParms):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2010-06-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60547.
http://trac.webkit.org/changeset/60547
https://bugs.webkit.org/show_bug.cgi?id=40051
It made fast/overflow/overflow-with-local-background-
attachment.html crash (Requested by Ossy on #webkit).
* notifications/Notification.h:
(WebCore::Notification::create):
* notifications/NotificationCenter.h:
(WebCore::NotificationCenter::createHTMLNotification):
(WebCore::NotificationCenter::createNotification):
2010-06-02 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 parser does not track line numbers
https://bugs.webkit.org/show_bug.cgi?id=39984
This adds rudimentary line-number tracking to the HTML5Lexer.
We'll still need to handle \r\n cases eventually, but this
fixes the vast majority of our line-number related failures.
Fixes 268 layout tests. :)
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::reset):
- Reset m_lineNumber to 0.
(WebCore::HTML5Lexer::consumeEntity):
- Pass m_lineNumber to advance().
(WebCore::HTML5Lexer::nextToken):
- Pass m_lineNumber to advance().
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::lineNumber):
- Expose m_lineNumber for HTML5Tokenizer.
(WebCore::HTML5Lexer::columnNumber):
- Mirrors the implementation in the old HTMLTokenizer.
we might some day support column number tracking in
the Lexer. It certainly would be possible.
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
- ASSERT we're passed a host.
(WebCore::HTML5ScriptRunner::sourceFromPendingScript):
- Use PendingScript.startingLineNumber when PendingScript is an inline script.
(WebCore::HTML5ScriptRunner::execute):
- Now expects a start line number passed from the TreeBuilder.
(WebCore::HTML5ScriptRunner::runScript):
- Now expects a start line number.
* html/HTML5ScriptRunner.h:
(WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
- Track startingLineNumber for any inline script.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::begin):
- Add a FIXME. The old HTMLTokenizer resets its "lexer" state here.
(WebCore::HTML5Tokenizer::pumpLexer):
- Pass scriptStartLine to the HTML5ScriptRunner
(WebCore::HTML5Tokenizer::lineNumber):
- Implementation for Tokenizer.h
(WebCore::HTML5Tokenizer::columnNumber):
- Implementation for Tokenizer.h
* html/HTML5Tokenizer.h:
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
- Initialize the new line number tracking variables.
(WebCore::HTML5TreeBuilder::handleScriptEndTag):
- Save off the line number from the start tag to pass to the ScriptRunner.
(WebCore::HTML5TreeBuilder::takeScriptToProcess):
- Return the line number from the start tag.
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
- Save off the line number of ever script start tag we see.
* html/HTML5TreeBuilder.h:
- Keep both the line number of the last start tag, and the
line number of the script we know we're expecting our caller to
run before resuming parsing. These are separate to keep the code
clean, especially since the last script start tag line number is
a hack specific to using the old HTMLParser.
2010-06-02 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Pavel Feldman.
Web Inspector: Timeline should nicely format the Timer timeout
https://bugs.webkit.org/show_bug.cgi?id=40040
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): Format the Timer's timeout time.
2010-06-02 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Dimitri Glazkov.
[Chromium] Clamp dirtyRect updates of composited layer contents to the size
of the layer to avoid writing outside texture bounds.
https://bugs.webkit.org/show_bug.cgi?id=40030
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::updateTextureContents):
2010-06-02 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Darin Adler.
Notification object ref counting is not correct.
https://bugs.webkit.org/show_bug.cgi?id=39998
Return PassRefPtr<Notification> instead of a raw pointer from the create methods
for Web Notifications.
No new tests are needed, as existing tests show the problem when sending the
"display" event asynchronously.
* notifications/Notification.h:
(WebCore::Notification::create):
* notifications/NotificationCenter.h:
(WebCore::NotificationCenter::createHTMLNotification):
(WebCore::NotificationCenter::createNotification):
2010-06-02 Qi Zhang <qi.2.zhang@nokia.com>
Reviewed by Dirk Schulze.
[Qt] Image shadow doesn't work
https://bugs.webkit.org/show_bug.cgi?id=37804
Implement the code for image shadow
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::draw):
2010-06-02 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
Adding the precision qualifier to fragment shaders used by the GL
compositor in chromium to turn them into valid GLSL ES.
https://bugs.webkit.org/show_bug.cgi?id=40022
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initializeSharedGLObjects):
2010-06-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by David Levin.
Fix type qualifier is meaningless on cast type in SVGFEColorMatrixElement::build
https://bugs.webkit.org/show_bug.cgi?id=40015
No new tests as there is no new functionality.
Remove const from the cast type.
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::build):
2010-06-02 Sterling Swigart <sswigart@google.com>
Reviewed by David Levin.
Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
https://bugs.webkit.org/show_bug.cgi?id=39906
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* WebCore.pri:
2010-06-01 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG repaintRect should be empty if content got clipped away
https://bugs.webkit.org/show_bug.cgi?id=39965
The SVG repaintRect of the renderer was not empty, if the content got clipped away.
The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
We apply the object to the resource on painting at the moment.
With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
This can cause problems, if the resource get changed by animations or scripts.
On a change, the resource tells all it's callers to relayout.
If the reference to the caller (our RenderObject) is missing, the object won't ever update
and therefore won't get drawn.
We already have LayoutTests that cover this problem. The complete repaintRect calculation
(including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
This eliminates redundant code.
* rendering/RenderPath.cpp:
(WebCore::RenderPath::updateCachedBoundaries):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
* rendering/RenderSVGResource.h:
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::resourceBoundingBox):
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::resourceBoundingBox):
* rendering/RenderSVGResourceFilter.h:
* rendering/RenderSVGResourceGradient.h:
(WebCore::RenderSVGResourceGradient::resourceBoundingBox):
* rendering/RenderSVGResourceMarker.h:
(WebCore::RenderSVGResourceMarker::resourceBoundingBox):
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):
* rendering/RenderSVGResourceMasker.h:
* rendering/RenderSVGResourcePattern.h:
(WebCore::RenderSVGResourcePattern::resourceBoundingBox):
* rendering/RenderSVGResourceSolidColor.h:
(WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::strokeBoundingBox):
(WebCore::RenderSVGText::repaintRectInLocalCoordinates):
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderBase::intersectRepaintRectWithResources):
* rendering/SVGRenderSupport.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeResources):
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::hasClipper):
(WebCore::SVGRenderStyle::hasMasker):
(WebCore::SVGRenderStyle::hasFilter):
2010-06-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60539.
http://trac.webkit.org/changeset/60539
https://bugs.webkit.org/show_bug.cgi?id=40043
Accidentally added an unreviewed and invalid change to the
patch. (Requested by krit on #webkit).
* rendering/RenderPath.cpp:
(WebCore::RenderPath::updateCachedBoundaries):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
* rendering/RenderSVGResource.h:
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::resourceBoundingBox):
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::resourceBoundingBox):
* rendering/RenderSVGResourceFilter.h:
* rendering/RenderSVGResourceGradient.h:
(WebCore::RenderSVGResourceGradient::resourceBoundingBox):
* rendering/RenderSVGResourceMarker.h:
(WebCore::RenderSVGResourceMarker::resourceBoundingBox):
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):
* rendering/RenderSVGResourceMasker.h:
* rendering/RenderSVGResourcePattern.h:
(WebCore::RenderSVGResourcePattern::resourceBoundingBox):
* rendering/RenderSVGResourceSolidColor.h:
(WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::strokeBoundingBox):
(WebCore::RenderSVGText::repaintRectInLocalCoordinates):
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
(WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
(WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
* rendering/SVGRenderSupport.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeResources):
* rendering/style/SVGRenderStyle.h:
* svg/SVGColor.cpp:
(WebCore::SVGColor::colorFromRGBColorString):
2010-06-01 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG repaintRect should be empty if content got clipped away
https://bugs.webkit.org/show_bug.cgi?id=39965
The SVG repaintRect of the renderer was not empty, if the content got clipped away.
The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
We apply the object to the resource on painting at the moment.
With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
This can cause problems, if the resource get changed by animations or scripts.
On a change, the resource tells all it's callers to relayout.
If the reference to the caller (our RenderObject) is missing, the object won't ever update
and therefore won't get drawn.
We already have LayoutTests that cover this problem. The complete repaintRect calculation
(including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
This eliminates redundant code.
* rendering/RenderPath.cpp:
(WebCore::RenderPath::updateCachedBoundaries):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
* rendering/RenderSVGResource.h:
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::resourceBoundingBox):
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::resourceBoundingBox):
* rendering/RenderSVGResourceFilter.h:
* rendering/RenderSVGResourceGradient.h:
(WebCore::RenderSVGResourceGradient::resourceBoundingBox):
* rendering/RenderSVGResourceMarker.h:
(WebCore::RenderSVGResourceMarker::resourceBoundingBox):
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):
* rendering/RenderSVGResourceMasker.h:
* rendering/RenderSVGResourcePattern.h:
(WebCore::RenderSVGResourcePattern::resourceBoundingBox):
* rendering/RenderSVGResourceSolidColor.h:
(WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::strokeBoundingBox):
(WebCore::RenderSVGText::repaintRectInLocalCoordinates):
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderBase::intersectRepaintRectWithResources):
* rendering/SVGRenderSupport.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeResources):
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::hasClipper):
(WebCore::SVGRenderStyle::hasMasker):
(WebCore::SVGRenderStyle::hasFilter):
2010-06-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60530.
http://trac.webkit.org/changeset/60530
https://bugs.webkit.org/show_bug.cgi?id=40041
resource-har-conversion failed on GTK (Requested by abarth on
#webkit).
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/HAREntry.js: Removed.
* inspector/front-end/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.set url):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshQueryString):
(WebInspector.ResourceView.prototype._refreshFormData):
(WebInspector.ResourceView.prototype._refreshParms):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2010-06-01 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] GraphicsLayer: warnings when reloading page
https://bugs.webkit.org/show_bug.cgi?id=39694
Made sure recaching and masks aren't attempted on zero-size layers.
No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::MaskEffectQt::draw):
(WebCore::GraphicsLayerQtImpl::recache):
2010-06-01 anton muhin <antonm@google.com>
Reviewed by Nate Chapin.
[Chromium] enforce presence of named property query callback if named property enumerator is present
https://bugs.webkit.org/show_bug.cgi?id=40006
We need to be able to distinguish between enumerable and not enumerable properties
in the presence of named interceptor. V8 is migrating to use query
callback to report enumerable properties and fallback check---
using getter callback---would report properties as not enumerable.
Thus if there is an enumerator callback, there should be query callback as well.
(see V8's r4751).
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8NPObject.cpp:
(WebCore::npObjectQueryProperty):
(WebCore::createV8ObjectForNPObject):
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore::V8Storage::namedPropertyQuery):
2010-06-01 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Added conversion of inspector's resource representation into HAR.
Moved common resource accessors from ResourceView to Resource.
https://bugs.webkit.org/show_bug.cgi?id=30567
Test: http/tests/inspector/resource-har-conversion.html
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/HAREntry.js: Added.
(WebInspector.HAREntry):
(WebInspector.HAREntry.prototype.build):
(WebInspector.HAREntry.prototype._buildRequest):
(WebInspector.HAREntry.prototype._buildResponse):
(WebInspector.HAREntry.prototype._buildContent):
(WebInspector.HAREntry.prototype._buildTimings):
(WebInspector.HAREntry.prototype._buildHeaders):
(WebInspector.HAREntry.prototype._buildPostData):
(WebInspector.HAREntry.prototype._buildParameters):
(WebInspector.HAREntry.prototype._buildParameter):
(WebInspector.HAREntry.prototype._toMilliseconds):
* inspector/front-end/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.set url):
(WebInspector.Resource.prototype.get receiveDuration):
(WebInspector.Resource.prototype.requestHeaderValue):
(WebInspector.Resource.prototype.get requestFormData):
(WebInspector.Resource.prototype.set requestFormData):
(WebInspector.Resource.prototype.responseHeaderValue):
(WebInspector.Resource.prototype.get queryParameters):
(WebInspector.Resource.prototype.get formParameters):
(WebInspector.Resource.prototype._parseParameters):
(WebInspector.Resource.prototype._headerValue):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshQueryString):
(WebInspector.ResourceView.prototype._refreshFormData):
(WebInspector.ResourceView.prototype._refreshParms):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2010-06-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Fix "variable may be used before being set" warning in TextResourceDecoder::checkForHeadCharset
https://bugs.webkit.org/show_bug.cgi?id=40001
No new tests as there is no new functionality.
Initialize len to 0 just to eliminate the compiler warning.
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForHeadCharset):
2010-06-01 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Safari specific files InspectorFrontendClientLocal were removed from chromium project.
https://bugs.webkit.org/show_bug.cgi?id=39993
* WebCore.gypi:
2010-06-01 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Darin Adler.
Fix broken code generation in GenerateParametersCheckExpression.
https://bugs.webkit.org/show_bug.cgi?id=39960
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestObj.cpp: Updated baseline.
2010-06-01 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Adam Roben.
Remove Breakpoint.js. It was emptied in r60450 but for some reason it was not
deleted at that time. The presence of empty files within the inspector's resource
folder causes Mac OS X production builds to fail.
* inspector/front-end/Breakpoint.js: Removed.
2010-05-24 James Hawkins <jhawkins@chromium.org>
Reviewed by Darin Fisher.
Added ability for PopupMenuClient to signal when
* selection changed, and
* selection cleared.
https://bugs.webkit.org/show_bug.cgi?id=39639
No new tests because this functionality is intentionally hidden from
everything other than renderer.
* platform/PopupMenuClient.h:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::selectIndex):
(WebCore::PopupListBox::clearSelection):
* rendering/RenderMenuList.h:
(WebCore::RenderMenuList::RenderMenuList::selectionChanged):
(WebCore::RenderMenuList::RenderMenuList::selectionCleared):
* rendering/RenderTextControlSingleLine.h:
(WebCore::RenderTextControlSingleLine::selectionChanged):
(WebCore::RenderTextControlSingleLine::selectionCleared):
2010-06-01 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Check if a database needs to be auto-vacuumed only after transactions that have deleted something.
https://bugs.webkit.org/show_bug.cgi?id=39688
* storage/Database.cpp:
(WebCore::Database::resetDeletes):
(WebCore::Database::hadDeletes):
* storage/Database.h:
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::resetDeletes):
(WebCore::DatabaseAuthorizer::dropTable):
(WebCore::DatabaseAuthorizer::dropTempTable):
(WebCore::DatabaseAuthorizer::dropIndex):
(WebCore::DatabaseAuthorizer::dropTempIndex):
(WebCore::DatabaseAuthorizer::dropTrigger):
(WebCore::DatabaseAuthorizer::dropTempTrigger):
(WebCore::DatabaseAuthorizer::dropView):
(WebCore::DatabaseAuthorizer::dropTempView):
(WebCore::DatabaseAuthorizer::dropVTable):
(WebCore::DatabaseAuthorizer::allowDelete):
(WebCore::DatabaseAuthorizer::updateDeletesBasedOnTableName): Added.
* storage/DatabaseAuthorizer.h:
(WebCore::DatabaseAuthorizer::hadDeletes):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::postflightAndCommit):
2010-06-01 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
Add a preference for paginating during layout (the new model for computing page breaks).
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setPaginateDuringLayoutEnabled):
(WebCore::Settings::paginateDuringLayoutEnabled):
2010-06-01 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Clean up the DB classes in preparation for a bigger refactoring.
https://bugs.webkit.org/show_bug.cgi?id=39041
* storage/ChangeVersionWrapper.cpp:
* storage/ChangeVersionWrapper.h:
* storage/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::lastActionChangedDatabase):
(WebCore::Database::lastActionWasInsert):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::securityOrigin):
* storage/Database.h:
(WebCore::Database::sqliteDatabase):
(WebCore::Database::databaseDebugName):
* storage/DatabaseTask.cpp:
(WebCore::DatabaseTransactionTask::doPerformTask):
* storage/DatabaseTask.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
* storage/SQLStatement.h:
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::runStatements):
(WebCore::SQLTransaction::runCurrentStatement):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::cleanupAfterSuccessCallback):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* storage/SQLTransaction.h:
2010-06-01 Rob Buis <rwlbuis@gmail.com>
Reviewed by Nikolas Zimmermann.
Large SVG rect with shadow fails to render
https://bugs.webkit.org/show_bug.cgi?id=38851
Store intermediate shadow calculation in floats to prevent integer overflow.
Test: svg/filters/shadow-on-rect-large.svg
* rendering/style/SVGRenderStyle.cpp:
(WebCore::getSVGShadowExtent):
(WebCore::SVGRenderStyle::inflateForShadow):
2010-06-01 Jer Noble <jer.noble@apple.com>
Reviewed by Sam Weinig.
QuickTime 7.6.4 + Safari Nightly = Crash
https://bugs.webkit.org/show_bug.cgi?id=40019
rdar://problem/8035443
Check the return value of QTCFPropertyListCreateXMLData before calling CFDataGetLength().
* platform/graphics/win/QTCFDictionary.cpp:
(QTCFDictionaryCreateCopyWithDataCallback):
2010-06-01 Rob Buis <rwlbuis@gmail.com>
Reviewed by Dirk Schulze.
Manipulating SVG element attributes in Javascript does not work as expected
https://bugs.webkit.org/show_bug.cgi?id=34328
Reset the viewBox to be empty when removing the viewBox attribute.
Test: svg/custom/svg-viewBox-dynamic.html
* svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
(WebCore::SVGFitToViewBox::parseMappedAttribute):
* svg/SVGFitToViewBox.h:
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::setViewBoxString):
(WebCore::SVGViewSpec::parseViewSpec):
2010-06-01 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
https://bugs.webkit.org/show_bug.cgi?id=39324
There are some parameters that super handles that are not explicitly returned by the list of the element's attributes.
In those cases, super should handle.
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2010-05-28 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=15550, complete implementation of column-span. Add support for nested column
spans. When a column span is nested inside multiple enclosing blocks, the blocks have to be split around the column-span.
We do this using block element continuations, the same kind of solution we employed for blocks inside inlines.
The code for block continuations is very similar to the code for inline continuations. It may be possible to refactor the
code into RenderBoxModelObject so that more of it can be shared, but this first pass avoids that so as not to risk
causing any regressions in core rendering.
Note also that - just as with inline continuations - you can't unsplit block continuations yet. There is no technical limitation
here... the functions just need to be written to handle it.
Added new tests in fast/multicol/span.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::continuationBefore):
(WebCore::RenderBlock::addChildToContinuation):
(WebCore::RenderBlock::containingColumnsBlock):
(WebCore::RenderBlock::clone):
(WebCore::RenderBlock::splitBlocks):
(WebCore::RenderBlock::splitFlow):
(WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
(WebCore::RenderBlock::columnsBlockForSpanningElement):
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
(WebCore::RenderBlock::addChild):
(WebCore::RenderBlock::addChildIgnoringContinuation):
(WebCore::RenderBlock::blockElementContinuation):
(WebCore::RenderBlock::layoutColumns):
* rendering/RenderBlock.h:
2010-06-01 Alexey Proskuryakov <ap@apple.com>
Build fix.
Hopefully, touching WebCore.base.exp will actually rebuild the export file.
* WebCore.Geolocation.exp:
* WebCore.base.exp:
2010-06-01 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Execute void callbacks in the context they were created in.
https://bugs.webkit.org/show_bug.cgi?id=39145
* bindings/v8/custom/V8CustomVoidCallback.cpp:
(WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
(WebCore::V8CustomVoidCallback::handleEvent):
* bindings/v8/custom/V8CustomVoidCallback.h:
2010-06-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=39434
REGRESSION (r59811): Geolocation callbacks cannot be created
* DerivedSources.make: Don't append both WebCore.Geolocation.exp and WebCore.ClientBasedGeolocation.exp,
they are mutually exclusive.
* WebCore.Geolocation.exp: Touched to force .exp file rebuild.
* WebCore.xcodeproj/project.pbxproj: Removed GeolocationService related files.
* bindings/js/JSGeolocationCustom.cpp:
(WebCore::createPositionCallback): Functions defined in JavaScript code no longer inherit
from InternalFunction, they inherit from JSFunction. This check is still imperfect, because
it's not clear what definition of "function" should really be used, if any - other bindings
code never checks callback type.
(WebCore::createPositionErrorCallback): Ditto.
* page/Geolocation.h: Don't include GeolocationService.h unless it's going to be used.
2010-06-01 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
IndexedDB cleanup
https://bugs.webkit.org/show_bug.cgi?id=40007
Remove the exception code parameter since this function can no longer
cause an exception.
* storage/IDBObjectStoreRequest.idl:
* storage/IndexedDatabase.h:
* storage/IndexedDatabaseImpl.cpp:
(WebCore::IndexedDatabaseImpl::open):
* storage/IndexedDatabaseImpl.h:
* storage/IndexedDatabaseRequest.cpp:
(WebCore::IndexedDatabaseRequest::open):
* storage/IndexedDatabaseRequest.h:
* storage/IndexedDatabaseRequest.idl:
2010-06-01 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
[GTK] Double clicks cause three button press events
https://bugs.webkit.org/show_bug.cgi?id=38853
Add GOwnPtr wrapper for GdkEvent and expose a setter for
PlatformMouseEvent::m_clickCount.
* GNUmakefile.am: Add GOwnPtrGtk.{cpp,h} to the sources list.
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::setClickCount): Added.
* platform/gtk/GOwnPtrGtk.cpp: Added.
(WTF::GdkEvent):
* platform/gtk/GOwnPtrGtk.h: Added.
2010-06-01 Adam Langley <agl@chromium.org>
Reviewed by Eric Seidel.
[chromium] respect the user's embedded bitmap settings on Linux.
We plumbed everything through Skia and Chrome, but forgot to connect
the two wires inside WebCore.
(Note: no layout test because test_shell forces this option off. Also,
the test font which triggers this behaviour is 32MB.)
https://bugs.webkit.org/show_bug.cgi?id=39894
http://code.google.com/p/chromium/issues/detail?id=21149
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::setupPaint):
2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Fix installation of the QtWebKit module .pri file when building inside of Qt
* WebCore.pro:
2010-06-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix a QtWebKit.pc corruption problem.
https://bugs.webkit.org/show_bug.cgi?id=36826
The problem occurs while installing QtWebKit from trunk
or a source package.
* WebCore.pro:
2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Laszlo Gombos.
[Qt] Fix Symbian package dependencies of apps against QtWebKit when installing into Qt
Install the versioning qt_webkit_version.pri into $$[QMAKE_MKSPECS]/modules, which is
where mkspecs/features/qt.prf expects it.
* WebCore.pro:
2010-06-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60470.
http://trac.webkit.org/changeset/60470
https://bugs.webkit.org/show_bug.cgi?id=39990
Need to rollout until bot can be updated (Requested by jorlow
on #webkit).
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::namedPropertyDeleter):
(WebCore::V8HTMLDocument::namedPropertyGetter):
(WebCore::V8HTMLDocument::indexedPropertyGetter):
(WebCore::V8HTMLDocument::allAccessorSetter):
(WebCore::toV8):
2010-06-01 Anton Muhin <antonm@chromium.org>
Reviewed by Nate Chapin.
[Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
https://bugs.webkit.org/show_bug.cgi?id=39877
This patch makes callbacks invoked on named items addition/removal
install API accessors and thus there is no more need in
named and indexed interceptors on HTMLDocument which
speeds up invocation of methods on document.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::checkDocumentWrapper):
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
(WebCore::getter):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):
* bindings/v8/V8DOMWindowShell.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::WrapInShadowObject):
(WebCore::V8HTMLDocument::GetNamedProperty):
(WebCore::V8HTMLDocument::allAccessorSetter):
(WebCore::toV8):
2010-06-01 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Dirk Schulze.
Make the spot light anti-alias effect look similar to SVG expected values.
https://bugs.webkit.org/show_bug.cgi?id=39477
The W3 standard only mention, that the edge of the spotlight should be
anti-aliased but it does not specify how. The provided expected values
gives some hint about their intentions. The algorithm uses a fixed
range, which computed as follows: let a = cos(spot light cutoff range)
the light fades off in the [a-0.016, a] range.
Test: svg/W3C-SVG-1.1/filters-light-04-f.svg
Updated pixel test: svg/W3C-SVG-1.1/filters-light-01-f.svg
* svg/graphics/filters/SVGLightSource.cpp:
(WebCore::SpotLightSource::initPaintingData):
2010-05-31 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix default action for EndTagOpenState
https://bugs.webkit.org/show_bug.cgi?id=39982
Add a test for a bogus end tag to webkit01.dat and update expected
results now that we pass some more tests.
Adding this test revealed a bug in resuming the bogus comment state.
I've left these broken expectations, but I'll fix the bug in a future
patch. (The bug existed prior to this patch, just not the test.)
* html5lib/resources/webkit01.dat:
* html5lib/runner-expected-html5.txt:
* html5lib/webkit-resumer-expected-html5.txt:
2010-05-31 Lyon Chen <liachen@rim.com>
Reviewed by Kent Tamura.
Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
https://bugs.webkit.org/show_bug.cgi?id=35530
Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
(WebCore::AccessibilityRenderObject::doAXRangeForLine):
* editing/Editor.cpp:
(WebCore::Editor::deleteWithDirection):
(WebCore::Editor::markMisspellingsAfterTypingToPosition):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
* editing/EditorCommand.cpp:
(WebCore::executeDeleteBackward):
(WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
(WebCore::executeDeleteForward):
(WebCore::executeDeleteToBeginningOfLine):
(WebCore::executeDeleteToBeginningOfParagraph):
(WebCore::executeDeleteToEndOfLine):
(WebCore::executeDeleteToEndOfParagraph):
(WebCore::executeDeleteWordBackward):
(WebCore::executeDeleteWordForward):
(WebCore::executeForwardDelete):
(WebCore::executeMoveBackward):
(WebCore::executeMoveBackwardAndModifySelection):
(WebCore::executeMoveDown):
(WebCore::executeMoveDownAndModifySelection):
(WebCore::executeMoveForward):
(WebCore::executeMoveForwardAndModifySelection):
(WebCore::executeMoveLeft):
(WebCore::executeMoveLeftAndModifySelection):
(WebCore::executeMovePageDown):
(WebCore::executeMovePageDownAndModifySelection):
(WebCore::executeMovePageUp):
(WebCore::executeMovePageUpAndModifySelection):
(WebCore::executeMoveRight):
(WebCore::executeMoveRightAndModifySelection):
(WebCore::executeMoveToBeginningOfDocument):
(WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
(WebCore::executeMoveToBeginningOfLine):
(WebCore::executeMoveToBeginningOfLineAndModifySelection):
(WebCore::executeMoveToBeginningOfParagraph):
(WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
(WebCore::executeMoveToBeginningOfSentence):
(WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
(WebCore::executeMoveToEndOfDocument):
(WebCore::executeMoveToEndOfDocumentAndModifySelection):
(WebCore::executeMoveToEndOfSentence):
(WebCore::executeMoveToEndOfSentenceAndModifySelection):
(WebCore::executeMoveToEndOfLine):
(WebCore::executeMoveToEndOfLineAndModifySelection):
(WebCore::executeMoveToEndOfParagraph):
(WebCore::executeMoveToEndOfParagraphAndModifySelection):
(WebCore::executeMoveParagraphBackwardAndModifySelection):
(WebCore::executeMoveParagraphForwardAndModifySelection):
(WebCore::executeMoveUp):
(WebCore::executeMoveUpAndModifySelection):
(WebCore::executeMoveWordBackward):
(WebCore::executeMoveWordBackwardAndModifySelection):
(WebCore::executeMoveWordForward):
(WebCore::executeMoveWordForwardAndModifySelection):
(WebCore::executeMoveWordLeft):
(WebCore::executeMoveWordLeftAndModifySelection):
(WebCore::executeMoveWordRight):
(WebCore::executeMoveWordRightAndModifySelection):
(WebCore::executeMoveToLeftEndOfLine):
(WebCore::executeMoveToLeftEndOfLineAndModifySelection):
(WebCore::executeMoveToRightEndOfLine):
(WebCore::executeMoveToRightEndOfLineAndModifySelection):
* editing/SelectionController.cpp:
(WebCore::SelectionController::willBeModified):
(WebCore::SelectionController::modify):
* editing/SelectionController.h:
(WebCore::SelectionController::):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::modify):
(WebCore::DOMSelection::deleteFromDocument):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleKeyboardSelectionMovement):
2010-05-31 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
REGRESSION(60409): window.onload never fires when using HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39981
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::finish):
- The logic was just wrong here. We should only be setting
m_wasWaitingOnScriptsDuringFinish if isWaitingForScripts()
is true, and we should be calling end() when it is not.
(WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
- Add another ASSERT to catch cases like this.
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::finished):
- Add a comment about why we don't need to call m_document->finishedParsing()
2010-05-31 Tony Chang <tony@chromium.org>
Reviewed by Dan Bernstein.
REGRESSION (r58665): Infinite recursion in Position::getInlineBoxAndOffset()
https://bugs.webkit.org/show_bug.cgi?id=39946
r58665 added an infinite recursion check, but didn't take into consideration recursion between two
Positions. This adds a check for when
downstreamIgnoringEditingBoundaries(p1) == p2 and upstreamIgnoringEditingBoundaries(p2) == p1
Test: editing/selection/mixed-editability-12.html
* dom/Position.cpp:
(WebCore::Position::getInlineBoxAndOffset):
2010-05-31 Leo Yang <leo.yang@torchmobile.com.cn>
Reviewed by George Staikos.
Fix canvas.toDataURL(type, quality, ...) to let it support quality parameter.
And implement it in Qt port.
https://bugs.webkit.org/show_bug.cgi?id=37304
Tests: platform/qt/fast/canvas/toDataURL-jpeg-alpha.html
platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html
platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html
platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html
platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::toDataURL):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::toDataURLCallback):
* dom/CanvasSurface.cpp:
(WebCore::CanvasSurface::toDataURL):
* dom/CanvasSurface.h:
(WebCore::CanvasSurface::toDataURL):
* html/HTMLCanvasElement.idl:
* platform/graphics/ImageBuffer.h:
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/haiku/ImageBufferHaiku.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/wince/ImageBufferWince.cpp:
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/wx/ImageBufferWx.cpp:
(WebCore::ImageBuffer::toDataURL):
2010-05-31 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Add Context Menu implementation
https://bugs.webkit.org/show_bug.cgi?id=39821
* platform/ContextMenu.h: add port-specific attributes.
* platform/ContextMenuItem.h: create PlatformMenuItemDescription as in
other ports
(WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
* platform/efl/ContextMenuEfl.cpp:implement needed methods for this
port.
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::setPlatformDescription):
(WebCore::ContextMenu::releasePlatformDescription):
* platform/efl/ContextMenuItemEfl.cpp: implement needed methods for
this port.
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::releasePlatformDescription):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setType):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::checked):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::enabled):
(WebCore::ContextMenuItem::setEnabled):
2010-05-31 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: Classes for native serialization to JSON were implemented.
https://bugs.webkit.org/show_bug.cgi?id=34204
* GNUmakefile.am:
* WebCore.Inspector.exp:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorValues.cpp: Added.
(WebCore::escapeChar):
(WebCore::doubleQuoteString):
(WebCore::InspectorBaseValue::toJSONString):
(WebCore::InspectorBaseValue::writeJSON):
(WebCore::InspectorValue::writeJSON):
(WebCore::InspectorString::writeJSON):
(WebCore::InspectorObject::writeJSON):
(WebCore::InspectorArray::writeJSON):
* inspector/InspectorValues.h: Added.
(WebCore::InspectorBaseValue::InspectorBaseValue):
(WebCore::InspectorBaseValue::~InspectorBaseValue):
(WebCore::InspectorBaseValue::null):
(WebCore::InspectorBaseValue::):
(WebCore::InspectorBaseValue::type):
(WebCore::InspectorValue::create):
(WebCore::InspectorValue::InspectorValue):
(WebCore::InspectorValue::):
(WebCore::InspectorString::create):
(WebCore::InspectorString::InspectorString):
(WebCore::InspectorObject::create):
(WebCore::InspectorObject::~InspectorObject):
(WebCore::InspectorObject::InspectorObject):
(WebCore::InspectorArray::create):
(WebCore::InspectorArray::~InspectorArray):
(WebCore::InspectorArray::length):
(WebCore::InspectorArray::InspectorArray):
(WebCore::InspectorObject::setBool):
(WebCore::InspectorObject::setNumber):
(WebCore::InspectorObject::setString):
(WebCore::InspectorObject::set):
(WebCore::InspectorArray::pushBool):
(WebCore::InspectorArray::pushNumber):
(WebCore::InspectorArray::pushString):
(WebCore::InspectorArray::push):
2010-05-31 Olivier Goffart <olivier.goffart@nokia.com>
Reviewed by Oliver Hunt.
[PATCH] compilation error with clang in JSDOMBinding.h
https://bugs.webkit.org/show_bug.cgi?id=39945
JSNode is only forward declared at this point. And since neither
"wrapper" nor JSValue are type-dependent. Compilers should report errors
at the first compilation pass.
The fix is to move the conversion the line above, as the call to the
function getCachedDOMNodeWrapper is type-dependent, the conversion will
happen at template-instantiation time.
See also http://llvm.org/bugs/show_bug.cgi?id=7244
* bindings/js/JSDOMBinding.h:
(WebCore::getDOMNodeWrapper):
2010-05-31 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Moved breakpoints add/remove logic to the BreakpointManager.
https://bugs.webkit.org/show_bug.cgi?id=14190
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/Breakpoint.js:
* inspector/front-end/BreakpointManager.js: Added.
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype.addBreakpoint):
(WebInspector.BreakpointManager.prototype.removeBreakpoint):
(WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
(WebInspector.BreakpointManager.prototype.breakpointsForURL):
(WebInspector.BreakpointManager.prototype.reset):
(WebInspector.BreakpointManager.prototype._saveBreakpointOnBackend):
(WebInspector.BreakpointManager.prototype._removeBreakpointFromBackend):
(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.get enabled):
(WebInspector.Breakpoint.prototype.set enabled):
(WebInspector.Breakpoint.prototype.get sourceText):
(WebInspector.Breakpoint.prototype.set sourceText):
(WebInspector.Breakpoint.prototype.get label):
(WebInspector.Breakpoint.prototype.get id):
(WebInspector.Breakpoint.prototype.get condition):
(WebInspector.Breakpoint.prototype.set condition):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane):
(WebInspector.BreakpointsSidebarPane.prototype.reset):
(WebInspector.BreakpointsSidebarPane.prototype._breakpointAdded):
(WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
(WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
* inspector/front-end/Object.js:
(WebInspector.Object.prototype.dispatchEventToListeners):
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._breakpointAdded):
(WebInspector.ScriptsPanel.prototype._breakpointRemoved):
(WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
(WebInspector.ScriptsPanel.prototype.editScriptSource):
(WebInspector.ScriptsPanel.prototype._showScriptOrResource):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._contextMenu):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._addBreakpoint):
(WebInspector.SourceView.prototype._removeBreakpoint):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.loaded):
(WebInspector.restoredBreakpoint):
(WebInspector.reset):
2010-05-31 Alexander Pavlov <apavlov@chromium.org>
Unreviewed, build fix.
Add references to inspector/front-end/TabbedPane.js wherever applicable.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/WebKit.qrc:
2010-05-31 Alexander Pavlov <apavlov@chromium.org>
Unreviewed, add a file not added in r60445.
* inspector/front-end/TabbedPane.js: Added
2010-05-31 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Text copied from a WebView cannot be pasted into gnome-terminal
https://bugs.webkit.org/show_bug.cgi?id=39827
Switch all methods in Pasteboard to use the PasteboardHelper + DataObjectGtk
approach used in other parts of WebKit GTK+.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeSelection): Switch to using PasteboardHelper.
(WebCore::Pasteboard::writePlainText): Ditto.
(WebCore::Pasteboard::writeURL): Ditto.
(WebCore::Pasteboard::writeImage): Ditto.
(WebCore::Pasteboard::clear): Small cleanup.
(WebCore::Pasteboard::documentFragment): Switch to using PasteboardHelper.
(WebCore::Pasteboard::plainText): Ditto.
2010-05-31 Darin Adler <darin@apple.com>
Updated bindings test results for change in JavaScript host calling convention change
from 2 days ago.
* bindings/scripts/test/JS/JSTestObj.cpp: Regenerated and inspected to see that the new
result is correct.
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
2010-05-31 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Implement additional tabs support in ResourceView
https://bugs.webkit.org/show_bug.cgi?id=39822
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
(WebInspector.ResourceView.prototype._selectHeadersTab):
(WebInspector.ResourceView.prototype._innerSelectContentTab):
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.show):
(WebInspector.SourceView.prototype.hide):
(WebInspector.SourceView.prototype.resize):
(WebInspector.SourceView.prototype.updateLocalContent):
(WebInspector.SourceView.prototype.selectLocalContentTab):
* inspector/front-end/TabbedPane.js: Added.
(WebInspector.TabbedPane):
(WebInspector.TabbedPane.prototype.appendTab):
(WebInspector.TabbedPane.prototype.tabObjectForId):
(WebInspector.TabbedPane.prototype.hideTab):
(WebInspector.TabbedPane.prototype.selectTabById):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._getSelection):
* inspector/front-end/inspector.html:
2010-05-31 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Implement retrieval of CSS stylesheets for source editing
https://bugs.webkit.org/show_bug.cgi?id=39833
Test: inspector/styles-source-offsets.html
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::createStyleRule):
* css/CSSParser.h:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::getStyleSheet):
(WebCore::InspectorBackend::getRuleRangesForStyleSheetId):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
(WebCore::InspectorCSSStore::asCSSStyleRule):
(WebCore::InspectorCSSStore::styleSheetForId):
* inspector/InspectorCSSStore.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getStyleSheet):
(WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
(WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
(WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
(WebCore::InspectorDOMAgent::getParentStyleSheet):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::didGetStyleSheet):
* inspector/InspectorFrontend.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.CSSStyleDeclaration):
2010-05-31 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GStreamer] float variables misused
https://bugs.webkit.org/show_bug.cgi?id=38842
Use 0.0f for float variables instead of 0.0. Also added some
missing casts around GST_SECOND.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::playbackPosition):
(WebCore::MediaPlayerPrivateGStreamer::duration):
(WebCore::MediaPlayerPrivateGStreamer::currentTime):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::naturalSize):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
(WebCore::MediaPlayerPrivateGStreamer::totalBytes):
2010-05-31 Steve Block <steveblock@google.com>
Unreviewed, rolling out r60069.
http://trac.webkit.org/changeset/60069
https://bugs.webkit.org/show_bug.cgi?id=39288
Roll out r60069 while the need for Geolocation::stop() is
investigated.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
* page/Geolocation.cpp:
(WebCore::Geolocation::disconnectFrame):
* page/Geolocation.h:
2010-05-31 Olivier Tilloy <olivier@tilloy.net>
Reviewed by Gustavo Noronha Silva.
[Gtk] Implement RenderThemeGtk::systemColor to apply the correct colors
from the current GTK theme.
https://bugs.webkit.org/show_bug.cgi?id=37779
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::RenderThemeGtk):
(WebCore::RenderThemeGtk::systemColor):
(WebCore::RenderThemeGtk::gtkButton):
* platform/gtk/RenderThemeGtk.h:
2010-05-31 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVG Filter: Crash if parent and child elements use the same filter
https://bugs.webkit.org/show_bug.cgi?id=39536
If a parent and a child used the same filter, the temporary saved
context reference got overwritten by the child. The reference is
stored in FilterData now. FilterData depends to the target object
and avoids overwriting any reference.
Test: svg/filters/parent-children-with-same-filter.svg
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):
* rendering/RenderSVGResourceFilter.h:
2010-05-31 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Fix all compiler warnings.
* plugins/gtk/gtk2xtbin.c:
(xt_event_dispatch):
(gtk_xtbin_get_type):
(gtk_xtbin_set_position):
(xt_add_focus_listener):
(xt_remove_focus_listener):
2010-05-31 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Escape backslashes in the .pro files
qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
* WebCore.pro:
2010-05-31 Anton Muhin <antonm@chromium.org>
Reviewed by Darin Adler.
Make NodeList getters take AtomicString instead of plain String
https://bugs.webkit.org/show_bug.cgi?id=39892
Those methods turn String into AtomicString later. And this conversion
is faster if underlying string is already atomic.
That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
I don't know if Safari benefits from it.
* dom/Node.cpp:
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
* dom/Node.h:
2010-05-30 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39939
Turns out we need to implement the bogus comment state. :)
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
2010-05-30 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
https://bugs.webkit.org/show_bug.cgi?id=39935
Test: fast/tokenizer/write-partial-entity.html
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::executeScript):
- Use m_source.append(oldInsertionPoint) instead of
oldInsertionPoint.prepend(m_source) because m_source may have had
characters pushed onto it and prepend() does not handle that case.
2010-05-30 Lyon Chen <liachen@rim.com>
Reviewed by Kent Tamura.
This is a coding style cleanup before fixing to bug 35530.
Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
https://bugs.webkit.org/show_bug.cgi?id=35530
* editing/Editor.cpp:
(WebCore::Editor::deleteWithDirection):
(WebCore::Editor::fontForSelection):
(WebCore::Editor::applyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::applyStyleToSelection):
(WebCore::Editor::applyParagraphStyleToSelection):
(WebCore::triStateOfStyleInComputedStyle):
(WebCore::Editor::selectionStartHasStyle):
(WebCore::Editor::selectionHasStyle):
(WebCore::Editor::paste):
(WebCore::Editor::ignoreSpelling):
(WebCore::Editor::learnSpelling):
(WebCore::findFirstMisspellingInRange):
(WebCore::findFirstGrammarDetailInRange):
(WebCore::findFirstBadGrammarInRange):
(WebCore::findFirstMisspellingOrBadGrammarInRange):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::isSelectionMisspelled):
(WebCore::isRangeUngrammatical):
(WebCore::Editor::guessesForMisspelledSelection):
(WebCore::guessesForMisspelledOrUngrammaticalRange):
(WebCore::Editor::markMisspellingsAfterTypingToPosition):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeToggleStyleInList):
(WebCore::executeApplyParagraphStyle):
(WebCore::executeDelete):
(WebCore::executeForwardDelete):
(WebCore::executeInsertLineBreak):
(WebCore::supportedCopyCut):
(WebCore::supportedPaste):
(WebCore::enabledDelete):
* editing/SelectionController.cpp:
(WebCore::SelectionController::modifyExtendingRight):
(WebCore::SelectionController::modifyExtendingForward):
(WebCore::SelectionController::modifyMovingRight):
(WebCore::SelectionController::modifyMovingForward):
(WebCore::SelectionController::modifyExtendingLeft):
(WebCore::SelectionController::modifyExtendingBackward):
(WebCore::SelectionController::modifyMovingLeft):
(WebCore::SelectionController::modifyMovingBackward):
(WebCore::SelectionController::modify):
(WebCore::SelectionController::xPosForVerticalArrowNavigation):
(WebCore::SelectionController::debugRenderer):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::doApply):
(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::updatePreservesTypingStyle):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::canHandleDragAndDropForTarget):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::handleKeyboardSelectionMovement):
(WebCore::EventHandler::handleDrag):
2010-05-30 Daniel Bates <dbates@rim.com>
Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::isEnabledFormControl):
(WebCore::HTMLFormControlElement::isReadOnlyFormControl):
(WebCore::HTMLFormControlElement::isFormControlElement):
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isPasswordField):
2010-05-30 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Make more HTML DOM members private, especially constructors, third and final batch
https://bugs.webkit.org/show_bug.cgi?id=39916
* dom/Document.cpp:
(WebCore::Document::implicitClose):
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI):
* editing/EditorCommand.cpp:
(WebCore::executeInsertHorizontalRule):
(WebCore::executeInsertImage):
* editing/htmlediting.cpp:
(WebCore::createDefaultParagraphElement):
(WebCore::createListItemElement):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError):
(WebCore::HTMLParser::headCreateErrorCheck):
(WebCore::HTMLParser::formCreateErrorCheck):
(WebCore::HTMLParser::createHead):
(WebCore::HTMLParser::handleIsindex):
(WebCore::HTMLParser::finished):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::createSubtreeIfNeeded):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
Use create instead of new to create HTML elements.
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::formCollectionInfo):
(WebCore::HTMLFormCollection::item):
(WebCore::HTMLFormCollection::getNamedFormItem):
(WebCore::HTMLFormCollection::updateNameCache):
* html/HTMLFormControlElement.h:
Updated for name and privacy changes in HTMLFormElement.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::create):
(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::length):
(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::HTMLFormElement::createFormData):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::reset):
(WebCore::HTMLFormElement::formElementIndex):
(WebCore::HTMLFormElement::registerFormElement):
(WebCore::HTMLFormElement::removeFormElement):
(WebCore::HTMLFormElement::registerImgElement):
(WebCore::HTMLFormElement::removeImgElement):
(WebCore::HTMLFormElement::defaultButton):
(WebCore::HTMLFormElement::collectUnhandledInvalidControls):
(WebCore::HTMLFormElement::addElementAlias):
(WebCore::HTMLFormElement::documentDidBecomeActive):
* html/HTMLFormElement.h:
Added create functions. Made constructors and other members private.
Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
m_collectionCache and used an OwnPtr for it. Renamed formElements to
m_associatedElements (since its contents are what HTML5 calls
"form-associated element", not form elements). Renamed imgElements to
m_imageElements.
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
(WebCore::HTMLFrameSetElement::create):
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
* html/HTMLFrameSetElement.h:
Added create functions. Made constructors and other members private.
Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
OwnArrayPtr for both.
* html/HTMLLabelElement.cpp:
(WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
of HTMLElement, since isFormControlElement is available on Element.
(WebCore::HTMLLabelElement::HTMLLabelElement):
(WebCore::HTMLLabelElement::create):
* html/HTMLLabelElement.h:
Added create functions. Made constructors and other members private.
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::HTMLLegendElement):
(WebCore::HTMLLegendElement::create):
(WebCore::HTMLLegendElement::associatedControl):
(WebCore::HTMLLegendElement::focus):
(WebCore::HTMLLegendElement::accessKeyAction):
* html/HTMLLegendElement.h:
Added create functions. Made constructors and other members private.
Renamed formElement to associatedControl since hte control associated
with this legend is not a "form element".
* editing/DeleteButton.cpp:
(WebCore::DeleteButton::DeleteButton):
(WebCore::DeleteButton::create):
* editing/DeleteButton.h:
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::HTMLDivElement):
(WebCore::HTMLDivElement::create):
* html/HTMLDivElement.h:
* html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::create):
* html/HTMLFontElement.h:
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::HTMLHRElement):
(WebCore::HTMLHRElement::create):
* html/HTMLHRElement.h:
* html/HTMLHeadElement.cpp:
(WebCore::HTMLHeadElement::HTMLHeadElement):
(WebCore::HTMLHeadElement::create):
* html/HTMLHeadElement.h:
* html/HTMLHeadingElement.cpp:
(WebCore::HTMLHeadingElement::HTMLHeadingElement):
(WebCore::HTMLHeadingElement::create):
* html/HTMLHeadingElement.h:
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::HTMLHtmlElement):
(WebCore::HTMLHtmlElement::create):
* html/HTMLHtmlElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::create):
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
* html/HTMLInputElement.h:
* html/HTMLIsIndexElement.cpp:
(WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
(WebCore::HTMLIsIndexElement::create):
* html/HTMLIsIndexElement.h:
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::HTMLLIElement):
(WebCore::HTMLLIElement::create):
* html/HTMLLIElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement):
(WebCore::HTMLLinkElement::create):
* html/HTMLLinkElement.h:
Added create functions. Made constructors and other members private.
* html/HTMLTagNames.in: Removed the createWithNew flag from all the
tags that were still using it: div, font, form, frameset, h1, h2, h3,
h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
legend, li, and link.
* html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
function, since the one in HTMLFormElement does the same thing.
* loader/ImageDocument.cpp:
(WebCore::ImageDocumentElement::ImageDocumentElement):
(WebCore::ImageDocumentElement::create):
(WebCore::ImageDocument::createDocumentStructure):
Added create functions. Made constructors and other members private.
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
function instead of the virtual isEnabledFormControl function, which just
turns around and calls the disabled function.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
(WebCore::MediaControlShadowRootElement::create):
(WebCore::MediaControlElement::MediaControlElement):
(WebCore::MediaControlElement::create):
(WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
(WebCore::MediaControlTimelineContainerElement::create):
(WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
(WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
(WebCore::MediaControlVolumeSliderContainerElement::create):
(WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
(WebCore::MediaControlStatusDisplayElement::create):
(WebCore::MediaControlStatusDisplayElement::update):
(WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
(WebCore::MediaControlInputElement::MediaControlInputElement):
(WebCore::MediaControlInputElement::styleForElement):
(WebCore::MediaControlInputElement::rendererIsNeeded):
(WebCore::MediaControlInputElement::attach):
(WebCore::MediaControlInputElement::updateStyle):
(WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
(WebCore::MediaControlMuteButtonElement::create):
(WebCore::MediaControlMuteButtonElement::defaultEventHandler):
(WebCore::MediaControlMuteButtonElement::updateDisplayType):
(WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
(WebCore::MediaControlPlayButtonElement::create):
(WebCore::MediaControlPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlPlayButtonElement::updateDisplayType):
(WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
(WebCore::MediaControlSeekButtonElement::create):
(WebCore::MediaControlSeekButtonElement::isForwardButton):
(WebCore::MediaControlSeekButtonElement::defaultEventHandler):
(WebCore::MediaControlSeekButtonElement::seekTimerFired):
(WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
(WebCore::MediaControlRewindButtonElement::create):
(WebCore::MediaControlRewindButtonElement::defaultEventHandler):
(WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
(WebCore::MediaControlReturnToRealtimeButtonElement::create):
(WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
(WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlTimelineElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::update):
(WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
(WebCore::MediaControlVolumeSliderElement::create):
(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
(WebCore::MediaControlVolumeSliderElement::update):
(WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
(WebCore::MediaControlFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
(WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
(WebCore::MediaControlTimeDisplayElement::create):
* rendering/MediaControlElements.h:
Added create functions. Made constructors and other members private.
* rendering/RenderFileUploadControl.cpp:
(WebCore::ShadowInputElement::ShadowInputElement):
(WebCore::ShadowInputElement::create):
(WebCore::RenderFileUploadControl::updateFromElement):
Added create functions. Made constructors and other members private.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::createControlsShadowRoot):
(WebCore::RenderMedia::createPanel):
(WebCore::RenderMedia::createMuteButton):
(WebCore::RenderMedia::createPlayButton):
(WebCore::RenderMedia::createSeekBackButton):
(WebCore::RenderMedia::createSeekForwardButton):
(WebCore::RenderMedia::createRewindButton):
(WebCore::RenderMedia::createReturnToRealtimeButton):
(WebCore::RenderMedia::createToggleClosedCaptionsButton):
(WebCore::RenderMedia::createStatusDisplay):
(WebCore::RenderMedia::createTimelineContainer):
(WebCore::RenderMedia::createTimeline):
(WebCore::RenderMedia::createVolumeSliderContainer):
(WebCore::RenderMedia::createVolumeSlider):
(WebCore::RenderMedia::createCurrentTimeDisplay):
(WebCore::RenderMedia::createTimeRemainingDisplay):
(WebCore::RenderMedia::createFullscreenButton):
Use create instead of new.
* rendering/RenderProgress.cpp:
(WebCore::ProgressValueElement::ProgressValueElement):
(WebCore::ProgressValueElement::create):
(WebCore::RenderProgress::updateValuePartState):
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::SliderThumbElement):
(WebCore::SliderThumbElement::create):
(WebCore::RenderSlider::updateFromElement):
Added create functions. Made constructors and other members private.
* rendering/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::TextControlInnerElement):
(WebCore::TextControlInnerElement::create):
(WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
(WebCore::TextControlInnerTextElement::create):
(WebCore::TextControlInnerTextElement::defaultEventHandler):
(WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
(WebCore::SearchFieldResultsButtonElement::create):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
(WebCore::SearchFieldCancelButtonElement::create):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
(WebCore::SpinButtonElement::SpinButtonElement):
(WebCore::SpinButtonElement::create):
(WebCore::SpinButtonElement::defaultEventHandler):
* rendering/TextControlInnerElements.h:
Added create functions. Made constructors and other members private.
2010-05-30 Xan Lopez <xlopez@igalia.com>
Reviewed by Darin Adler.
Incorrect build dependencies for GObject DOM Bindings
https://bugs.webkit.org/show_bug.cgi?id=39932
-include does not execute the implicit % expansion, we have to do
it manually.
* GNUmakefile.am:
2010-05-30 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
https://bugs.webkit.org/show_bug.cgi?id=36004
Fix the bug in webkit.org/b/29601 for Qt. A delta not divisible by 120
indicates a device that is sending fine-resolution scroll events, so
use the delta as the number of pixels to scroll.
* platform/qt/WheelEventQt.cpp:
(WebCore::PlatformWheelEvent::applyDelta):
2010-05-30 Jessie Berlin <jberlin@webkit.org>
Reviewed by Pavel Feldman.
https://bugs.webkit.org/show_bug.cgi?id=39224
Bug 39224 - Web Inspector: There should be a way to clean up profiles
Adds a button to clear the profiles from the profiles panel like that
used for the console, the audits panel, and the timeline panel.
Consolidates the css rules, since they all use the same image.
Also allows for individual profiles to be deleted via the keyboard
(U+0008 or U+007F) and uses this new schema for the Elements Tree.
* English.lproj/localizedStrings.js:
Add tooltip text for the button to clear the profiles pane.
* inspector/InspectorBackend.idl:
Add ability to remove the profiles from the backend when they are
deleted or cleared in the frontend.
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::removeProfile):
(WebCore::InspectorBackend::clearProfiles):
* inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::removeProfile):
(WebCore::InspectorController::clearProfiles):
* inspector/InspectorController.h:
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
Use the 'clear-status-bar-item' class.
* inspector/front-end/ChangesView.js:
(WebInspector.ChangesView):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._createStatusbarButtons):
* inspector/front-end/audits.css:
* inspector/front-end/inspector.css:
(.clear-status-bar-item .glyph):
* inspector/front-end/inspector.html:
* inspector/front-end/ElementsTreeOutline.js:
Replace the keyDown handler on the Outline with specific methods to
handle delete and enter on the TreeElements.
(WebInspector.ElementsTreeOutline):
(WebInspector.ElementsTreeOutline.prototype.get editing):
Return whether or not an element in the tree is currently being edited.
(WebInspector.ElementsTreeElement.prototype.ondelete):
(WebInspector.ElementsTreeElement.prototype.onenter):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.createSidebar):
Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
Add the clear button.
(WebInspector.ProfilesPanel.prototype.get statusBarItems):
(WebInspector.ProfilesPanel.prototype._clearProfiles):
Remove the profiles from the backend, the reset the frontend interface.
(WebInspector.ProfilesPanel.prototype.removeProfileHeader):
Remove the profile from both the frontend and the backend, and clear the
view when the last profile is removed.
(WebInspector.ProfilesPanel.prototype._updateInterface):
Hide the clear button when profiling is disabled.
(WebInspector.ProfileSidebarTreeElement.prototype.onselect):
Replace access to global variable with reference to the Panel held by the
TreeOutline.
(WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
Remove the profile corresponding the tree element when the user deletes
that tree element.
* inspector/front-end/treeoutline.js:
(TreeOutline.prototype._treeKeyDown):
Allow the selected tree element to handle the user pressing a delete
key or enter key.
2010-05-29 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Darin Adler.
Check if a CC environment variable is defined before hard-coding gcc's
path. Simply hard-coding it breaks cross-compilation and Linux
distributions with more than one gcc installed (or not in the default
path).
https://bugs.webkit.org/show_bug.cgi?id=35551
No new functionality, so no new tests.
* bindings/scripts/CodeGeneratorObjC.pm:
* bindings/scripts/IDLParser.pm:
* dom/make_names.pl:
2010-05-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.
https://bugs.webkit.org/show_bug.cgi?id=39923
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.FormattedRecord):
(WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
(WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2010-05-29 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
HTML5 parser should block script execution until stylesheets load
https://bugs.webkit.org/show_bug.cgi?id=39903
All <script> tag execution now blocks on stylesheet load, including
inline <script> content which the old parser doesn't support blocking.
Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
once our primary parser knows how to wait for stylesheets
before executing inline <script> content.
All of http/tests/local passes in --html5-parser mode now.
Also fixed fast/parser/tokenizer-close-during-document-write.html.
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
- Added a m_hasScriptsWaitingForStylesheets bool so that we can
detect when we're actually waiting on stylesheets or not.
If we're not waiting on stylesheets then we're still parsing and
executing scripts would cause parser/script reentrancy and bad news bears.
(WebCore::HTML5ScriptRunner::isPendingScriptReady):
- Re-enable the check that the stylesheets have loaded.
(WebCore::HTML5ScriptRunner::executePendingScript):
- ASSERT that stylesheets have loaded.
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
- ASSERT that this is never called reentrantly.
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
- Execute any scripts which were blocked on stylesheet loads.
- ASSERT (in two ways) that this is never called reentrantly.
* html/HTML5ScriptRunner.h:
(WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
- Callers need to check this before calling executeScriptsWaitingForLoad.
(WebCore::HTML5ScriptRunner::inScriptExecution):
- Used by callers to ASSERT that we're not called re-entrantly.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::HTML5Tokenizer):
- Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
due to stylesheets or not. Callers need to know this to know if they
should ignore executeScriptsWaitingForStylesheets calls from
Document (which may be generated when parsing </script> tags).
We only care about executeScriptsWaitingForStylesheets calls when
we've actually blocked the parser due to waiting on a stylesheet load.
(WebCore::HTML5Tokenizer::end):
- Move m_source.close() back to this method now that I understand more
about when finish() is called. This should fix several layout test ASSERTS.
(WebCore::HTML5Tokenizer::finish):
- This should not close m_source since scripts may still write to
the document. Set m_wasWaitingOnScriptsDuringFinish to indicate
that we were not able to end parsing during finish.
(WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
- ASSERT that this is never caller re-entrantly.
(WebCore::HTML5Tokenizer::executeScript):
- ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
(WebCore::HTML5Tokenizer::executingScript):
- Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
(WebCore::HTML5Tokenizer::notifyFinished):
- ASSERT that this is never called re-entrantly.
(WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
- Call the ScriptRunner to tell it that stylesheets have loaded if
it is blocked on stylesheet loads.
- ASSERT(m_hasScriptsWaitingForStylesheets). We can't just assert
isPaused() since we may be paused for script loads.
* html/HTML5Tokenizer.h:
2010-05-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Darin Adler.
Remove set but never used variables
https://bugs.webkit.org/show_bug.cgi?id=35252
No new tests as there is no new functionality.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::lastChildConsideringContinuation):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceUnicodeRange):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::loadManifestHostHashes):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::getTimeToNextEvent):
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::layout):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::calcInlinePrefWidths):
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::createClipData):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
2010-05-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60405.
http://trac.webkit.org/changeset/60405
https://bugs.webkit.org/show_bug.cgi?id=39921
It broke GTK build. (Requested by Ossy on #webkit).
* dom/Node.cpp:
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
* dom/Node.h:
2010-05-29 Anton Muhin <antonm@chromium.org>
Reviewed by Darin Adler.
Make NodeList getters take AtomicString instead of plain String
https://bugs.webkit.org/show_bug.cgi?id=39892
Those methods turn String into AtomicString later. And this conversion
is faster if underlying string is already atomic.
That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
I don't know if Safari benefits from it.
* dom/Node.cpp:
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
* dom/Node.h:
2010-05-29 Justin Schuh <jschuh@chromium.org>
Reviewed by Adam Barth.
Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
https://bugs.webkit.org/show_bug.cgi?id=39750
Fix for local HTML package breakage when each file is its own origin.
In this case we should allow descendant file: frames to navigate each
other when they share the same top frame.
Test: fast/frames/location-change-no-file-access.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldAllowNavigation):
2010-05-29 Geoffrey Garen <ggaren@apple.com>
Qt build fix: Updated for ArgList changes.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeConnectionMethod::call):
2010-05-29 Geoffrey Garen <ggaren@apple.com>
Qt build fix: Updated for ArgList changes.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
2010-05-29 Geoffrey Garen <ggaren@apple.com>
Qt build fix: Updated for ArgList changes.
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapInstance::invokeMethod):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::findMethodIndex):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
* bridge/qt/qt_runtime.h:
2010-05-29 Geoffrey Garen <ggaren@apple.com>
Qt build fix: Updated for ArgList changes.
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
(JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
(JSC::Bindings::QtPixmapToStringMethod::invoke):
(JSC::Bindings::QtPixmapInstance::invokeMethod):
* bridge/qt/qt_pixmapruntime.h:
2010-05-29 Geoffrey Garen <ggaren@apple.com>
Qt build fix: Keep this borken class limping along.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::invokeMethod):
* bridge/qt/qt_instance.h:
2010-05-28 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
Simplified the host calling convention.
PART ONE: Functional code changes.
[ None in WebCore ]
PART TWO: Global search and replace.
In the areas below, I used global search-and-replace to change
(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)
* bindings/js/JSArrayBufferViewCustom.cpp:
(WebCore::JSArrayBufferView::slice):
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::setWebGLArrayHelper):
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
(WebCore::JSCanvasRenderingContext2D::strokeRect):
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
(WebCore::JSCanvasRenderingContext2D::createPattern):
(WebCore::JSCanvasRenderingContext2D::createImageData):
(WebCore::JSCanvasRenderingContext2D::putImageData):
(WebCore::JSCanvasRenderingContext2D::fillText):
(WebCore::JSCanvasRenderingContext2D::strokeText):
* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::clearData):
(WebCore::JSClipboard::getData):
(WebCore::JSClipboard::setDragImage):
* bindings/js/JSDOMApplicationCacheCustom.cpp:
(WebCore::JSDOMApplicationCache::hasItem):
(WebCore::JSDOMApplicationCache::add):
(WebCore::JSDOMApplicationCache::remove):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::JSDOMFormData::append):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::JSDOMWindow::postMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
(WebCore::JSDOMWindow::openDatabase):
* bindings/js/JSDatabaseCustom.cpp:
(WebCore::JSDatabase::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabase::transaction):
(WebCore::JSDatabase::readTransaction):
* bindings/js/JSDatabaseSyncCustom.cpp:
(WebCore::JSDatabaseSync::changeVersion):
(WebCore::createTransaction):
(WebCore::JSDatabaseSync::transaction):
(WebCore::JSDatabaseSync::readTransaction):
* bindings/js/JSDedicatedWorkerContextCustom.cpp:
(WebCore::JSDedicatedWorkerContext::postMessage):
* bindings/js/JSDesktopNotificationsCustom.cpp:
(WebCore::JSNotificationCenter::requestPermission):
* bindings/js/JSFloatArrayCustom.cpp:
(WebCore::JSFloatArray::set):
* bindings/js/JSGeolocationCustom.cpp:
(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):
(WebCore::JSHTMLAllCollection::namedItem):
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::callHTMLCollection):
(WebCore::JSHTMLCollection::item):
(WebCore::JSHTMLCollection::namedItem):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::open):
(WebCore::documentWrite):
(WebCore::JSHTMLDocument::write):
(WebCore::JSHTMLDocument::writeln):
* bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::JSHTMLInputElement::setSelectionRange):
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::add):
(WebCore::JSHTMLOptionsCollection::remove):
* bindings/js/JSHTMLSelectElementCustom.cpp:
(WebCore::JSHTMLSelectElement::remove):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::databaseForId):
(WebCore::JSInjectedScriptHost::currentCallFrame):
(WebCore::JSInjectedScriptHost::nodeForId):
(WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
(WebCore::JSInjectedScriptHost::selectDatabase):
(WebCore::JSInjectedScriptHost::selectDOMStorage):
(WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::platform):
(WebCore::JSInspectorFrontendHost::port):
(WebCore::JSInspectorFrontendHost::showContextMenu):
* bindings/js/JSInt16ArrayCustom.cpp:
(WebCore::JSInt16Array::set):
* bindings/js/JSInt32ArrayCustom.cpp:
(WebCore::JSInt32Array::set):
* bindings/js/JSInt8ArrayCustom.cpp:
(WebCore::JSInt8Array::set):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::evaluate):
(WebCore::JSJavaScriptCallFrame::scopeType):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::replace):
(WebCore::JSLocation::reload):
(WebCore::JSLocation::assign):
(WebCore::JSLocation::toString):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::initMessageEvent):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::postMessage):
* bindings/js/JSMessagePortCustom.h:
(WebCore::handlePostMessage):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::callNodeList):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::callPlugin):
* bindings/js/JSSQLResultSetRowListCustom.cpp:
(WebCore::JSSQLResultSetRowList::item):
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
* bindings/js/JSSQLTransactionSyncCustom.cpp:
(WebCore::JSSQLTransactionSync::executeSql):
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/js/JSSVGMatrixCustom.cpp:
(WebCore::JSSVGMatrix::multiply):
(WebCore::JSSVGMatrix::inverse):
(WebCore::JSSVGMatrix::rotateFromVector):
* bindings/js/JSSVGPODListCustom.h:
(WebCore::JSSVGPODListCustom::clear):
(WebCore::JSSVGPODListCustom::initialize):
(WebCore::JSSVGPODListCustom::getItem):
(WebCore::JSSVGPODListCustom::insertItemBefore):
(WebCore::JSSVGPODListCustom::replaceItem):
(WebCore::JSSVGPODListCustom::removeItem):
(WebCore::JSSVGPODListCustom::appendItem):
* bindings/js/JSSVGPathSegListCustom.cpp:
(WebCore::JSSVGPathSegList::clear):
(WebCore::JSSVGPathSegList::initialize):
(WebCore::JSSVGPathSegList::getItem):
(WebCore::JSSVGPathSegList::insertItemBefore):
(WebCore::JSSVGPathSegList::replaceItem):
(WebCore::JSSVGPathSegList::removeItem):
(WebCore::JSSVGPathSegList::appendItem):
* bindings/js/JSUint16ArrayCustom.cpp:
(WebCore::JSUint16Array::set):
* bindings/js/JSUint32ArrayCustom.cpp:
(WebCore::JSUint32Array::set):
* bindings/js/JSUint8ArrayCustom.cpp:
(WebCore::JSUint8Array::set):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::bufferData):
(WebCore::JSWebGLRenderingContext::bufferSubData):
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContext::getBufferParameter):
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContext::getParameter):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getTexParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::JSWebGLRenderingContext::getVertexAttrib):
(WebCore::JSWebGLRenderingContext::texImage2D):
(WebCore::JSWebGLRenderingContext::texSubImage2D):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
(WebCore::JSWebGLRenderingContext::uniform1fv):
(WebCore::JSWebGLRenderingContext::uniform1iv):
(WebCore::JSWebGLRenderingContext::uniform2fv):
(WebCore::JSWebGLRenderingContext::uniform2iv):
(WebCore::JSWebGLRenderingContext::uniform3fv):
(WebCore::JSWebGLRenderingContext::uniform3iv):
(WebCore::JSWebGLRenderingContext::uniform4fv):
(WebCore::JSWebGLRenderingContext::uniform4iv):
(WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
(WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
(WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
(WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocket::send):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::importScripts):
(WebCore::JSWorkerContext::setTimeout):
(WebCore::JSWorkerContext::setInterval):
(WebCore::JSWorkerContext::openDatabase):
(WebCore::JSWorkerContext::openDatabaseSync):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorker::postMessage):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
(WebCore::JSXMLHttpRequest::send):
* bindings/js/JSXSLTProcessorCustom.cpp:
(WebCore::JSXSLTProcessor::importStylesheet):
(WebCore::JSXSLTProcessor::transformToFragment):
(WebCore::JSXSLTProcessor::transformToDocument):
(WebCore::JSXSLTProcessor::setParameter):
(WebCore::JSXSLTProcessor::getParameter):
(WebCore::JSXSLTProcessor::removeParameter):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
(WebCore::ScheduledAction::ScheduledAction):
* bindings/js/ScheduledAction.h:
* bindings/js/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
* bindings/js/ScriptCallFrame.h:
* bindings/js/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::ScriptCallStack):
(WebCore::ScriptCallStack::initialize):
* bindings/js/ScriptCallStack.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
* bridge/c/c_instance.h:
* bridge/jni/jsc/JavaInstanceJSC.cpp:
(JavaInstance::invokeMethod):
* bridge/jni/jsc/JavaInstanceJSC.h:
* bridge/jsc/BridgeJSC.h:
(JSC::Bindings::Instance::invokeDefaultMethod):
* bridge/objc/objc_instance.h:
* bridge/objc/objc_instance.mm:
(ObjcInstance::invokeMethod):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::callObjCFallbackObject):
* bridge/runtime_method.cpp:
(JSC::callRuntimeMethod):
* bridge/runtime_object.cpp:
(JSC::Bindings::callRuntimeObject):
2010-05-28 Stephen White <senorblanco@chromium.org>
Reviewed by Darin Fisher.
Implement GraphicsContext::setImageInterpolation() for the Chromium
port. This is preparatory work for bug 38233. A number of
background-resize tests will need a rebaseline, since the images are
taken during the initial "low quality" phase (<800ms).
[CHROMIUM] Chromium port should support image interpolation quality
https://bugs.webkit.org/show_bug.cgi?id=38686
Covered by fast/backgrounds/size/backgroundSize15.html, and others.
* platform/graphics/skia/GraphicsContextSkia.cpp:
Implement WebCore::GraphicsContext::setImageInterpolationQuality.
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::computeResamplingMode): Only enable high quality
interpolation if it has been requested in the GraphicsContext.
(WebCore::drawResampledBitmap): Enable cacheing of resampled images
even if the size is not full (fix from Brett Wilson).
(WebCore::paintSkBitmap): Pass in the PlatformContextSkia to
computeResamplingMode, so it can query it for interpolation quality.
(WebCore::Image::drawPattern): Ibid.
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::State::State):
(PlatformContextSkia::interpolationQuality):
(PlatformContextSkia::setInterpolationQuality):
* platform/graphics/skia/PlatformContextSkia.h:
Add a member fn and accessors to retain the image interpolation quality
in the platform context, and to save/restore it with the state.
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Remove compiler warnings about uninitialized variable.
https://bugs.webkit.org/show_bug.cgi?id=39871
No new tests, just cosmetic changes.
* platform/efl/WidgetEfl.cpp:
(WebCore::Widget::applyCursor):
2010-05-28 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Dimitri Glazkov.
Prevent chromium composited layers from rendering on top of the scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=39851
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayers):
2010-05-28 Aaron Boodman <aa@chromium.org>
Reviewed by Darin Fisher.
Added isXHTMLDocument() to WebCore::Document.
https://bugs.webkit.org/show_bug.cgi?id=39887
* dom/Document.h: Add isXHTMLDocument().
(WebCore::Document::isXHTMLDocument): Ditto.
2010-05-28 Peter Kasting <pkasting@google.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=39857
Make GIFs loop the correct number of times. Previously, everyone looped
one time too few for non-infinitely-looping GIFs.
Modified a Qt manual test to be correct and moved it to the general
manual test directory.
* manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
* manual-tests/qt/qt-10loop-anim.gif: Removed.
* manual-tests/qt/qt-anim.gif: Removed.
* manual-tests/qt/qt-gif-test.html: Removed.
* manual-tests/qt/qt-noanim.gif: Removed.
* manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
* manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
* manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::repetitionCount):
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count. Qt itself may still have a bug here.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::repetitionCount):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).
2010-05-28 Ben Murdoch <benm@google.com>
Reviewed by Darin Adler.
openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
https://bugs.webkit.org/show_bug.cgi?id=39882
No new tests. Existing tests in fast/files should suffice.
* platform/posix/FileSystemPOSIX.cpp:
(WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.
2010-05-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Named entities in attributes aren't parsed correctly by HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39873
I misplaced this if statement when writing this code originally. Now
that we have test coverage for this paragraph in the spec, we can see
and fix the bug.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::consumeEntity):
2010-05-28 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Handle edge cases in HTML5 entity parsing
https://bugs.webkit.org/show_bug.cgi?id=39823
The HTML5 specification tells us to handle HTML entities in a somewhat
complicated way. This patch attempts to correctly handle numeric
entities. Some of this code is duplicated from HTMLTokenizer.
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::):
(WebCore::HTMLNames::adjustEntity):
(WebCore::HTMLNames::legalEntityFor):
(WebCore::HTML5Lexer::consumeEntity):
(WebCore::HTML5Lexer::processEntity):
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::emitCodePoint):
* html/HTML5Lexer.h:
2010-05-28 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: stop prepping value conversion in accessibilityAttributeValueForParameter
https://bugs.webkit.org/show_bug.cgi?id=39880
Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(visiblePositionForTextMarker):
(-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2010-05-28 Adam Treat <atreat@rim.com>
Reviewed by Daniel Bates.
RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859
Layout is not dependent upon ScrollView::frameRect when useFixedLayout
is true. No reason to set the needs layout flag in this case.
* platform/ScrollView.cpp:
(WebCore::ScrollView::setFrameRect):
2010-05-28 Mikhail Naganov <mnaganov@chromium.org>
Unreviewed. Revert 60353 -- immature.
https://bugs.webkit.org/show_bug.cgi?id=39646
* bindings/js/JSConsoleCustom.cpp:
* bindings/v8/custom/V8ConsoleCustom.cpp:
* page/Console.cpp:
* page/Console.h:
* page/Console.idl:
2010-05-27 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Make more HTML DOM members private, especially constructors, batch 2
https://bugs.webkit.org/show_bug.cgi?id=39706
Refactoring so no new tests.
Worked my way up from the bottom of HTMLTagNames.in.
* html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
script, select, source, style, table, tbody, td, textarea, tfoot,
th, thead, title, tr, ul, video, xmp, and noscript.
* editing/htmlediting.cpp:
(WebCore::createOrderedListElement): Use create function instead of new.
(WebCore::createUnorderedListElement): Ditto.
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError): Ditto.
(WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
(WebCore::HTMLViewSourceDocument::addLine): Ditto.
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
instead of new.
(WebCore::HTMLKeygenElement::create): Added.
* html/HTMLKeygenElement.h: Made constructor and virtual function
overrides private, added create function.
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::HTMLMapElement):
(WebCore::HTMLMapElement::create):
* html/HTMLMapElement.h:
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
(WebCore::HTMLMarqueeElement::create):
* html/HTMLMarqueeElement.h:
* html/HTMLMenuElement.cpp:
(WebCore::HTMLMenuElement::HTMLMenuElement):
(WebCore::HTMLMenuElement::create):
* html/HTMLMenuElement.h:
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::HTMLMetaElement):
(WebCore::HTMLMetaElement::create):
* html/HTMLMetaElement.h:
* html/HTMLNoScriptElement.cpp:
(WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
(WebCore::HTMLNoScriptElement::create):
(WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
* html/HTMLNoScriptElement.h:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::create):
* html/HTMLOListElement.h:
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
(WebCore::HTMLOptGroupElement::create):
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::HTMLOptionElement):
(WebCore::HTMLOptionElement::create):
* html/HTMLOptionElement.h:
* html/HTMLParagraphElement.cpp:
(WebCore::HTMLParagraphElement::HTMLParagraphElement):
(WebCore::HTMLParagraphElement::create):
* html/HTMLParagraphElement.h:
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::HTMLParamElement):
(WebCore::HTMLParamElement::create):
* html/HTMLParamElement.h:
* html/HTMLPreElement.cpp:
(WebCore::HTMLPreElement::HTMLPreElement):
(WebCore::HTMLPreElement::create):
* html/HTMLPreElement.h:
* html/HTMLQuoteElement.cpp:
(WebCore::HTMLQuoteElement::HTMLQuoteElement):
(WebCore::HTMLQuoteElement::create):
* html/HTMLQuoteElement.h:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::HTMLScriptElement):
(WebCore::HTMLScriptElement::create):
* html/HTMLScriptElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::create):
* html/HTMLSelectElement.h:
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::HTMLSourceElement):
(WebCore::HTMLSourceElement::create):
* html/HTMLSourceElement.h:
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement):
(WebCore::HTMLStyleElement::create):
* html/HTMLStyleElement.h:
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::HTMLTableRowElement):
(WebCore::HTMLTableRowElement::create):
(WebCore::HTMLTableRowElement::insertCell):
* html/HTMLTableRowElement.h:
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
(WebCore::HTMLTableSectionElement::create):
(WebCore::HTMLTableSectionElement::insertRow):
* html/HTMLTableSectionElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::create):
* html/HTMLTextAreaElement.h:
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::HTMLTitleElement):
(WebCore::HTMLTitleElement::create):
* html/HTMLTitleElement.h:
* html/HTMLUListElement.cpp:
(WebCore::HTMLUListElement::HTMLUListElement):
(WebCore::HTMLUListElement::create):
* html/HTMLUListElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::HTMLVideoElement):
(WebCore::HTMLVideoElement::create):
* html/HTMLVideoElement.h:
Made constructors and virtual function overrides private, added
create function.
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
names of data members. Renamed _row to m_row, _col to m_col,
rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
rowHeight and m_solid.
(WebCore::HTMLTableCellElement::create): Added.
(WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
* html/HTMLTableCellElement.h: Ditto.
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::create): Added.
(WebCore::HTMLTableElement::createTHead): Used create instead of new.
(WebCore::HTMLTableElement::createTFoot): Ditto.
(WebCore::HTMLTableElement::insertRow): Ditto.
* html/HTMLTableElement.h:
* html/HTMLTablePartElement.h: Made members protected instead of
public.
2010-05-28 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
https://bugs.webkit.org/show_bug.cgi?id=39784
Move coordinate transformation from TransparencyLayer to clipToImageBuffer()
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::TransparencyLayer::TransparencyLayer):
(WebCore::GraphicsContext::clipToImageBuffer):
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[EF] Implement methods for supporting PopupMenu
https://bugs.webkit.org/show_bug.cgi?id=39629
* platform/PopupMenu.h: add needed attribute
* platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
menu
(WebCore::PopupMenu::PopupMenu): initialize new attribute
(WebCore::PopupMenu::show): ditto.
(WebCore::PopupMenu::hide): ditto.
2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
Reorder class initializers to remove compiler warnings.
https://bugs.webkit.org/show_bug.cgi?id=39596
* platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
* platform/efl/PlatformMouseEventEfl.cpp: ditto.
(WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
* platform/efl/PlatformWheelEventEfl.cpp: ditto
(WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.
2010-05-27 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add IndexedDB's IDBIndex
https://bugs.webkit.org/show_bug.cgi?id=39850
Flesh out IDBIndex as much as possible until Andrei finishes
his patch to get around passing Frame*'s all around. I also
cleaned up a bunch of existing files as I noticed style
violations (while basing my new files off of the old).
Not hooked up enough to test. Will add tests soon.
* Android.derived.jscbindings.mk
* Android.derived.v8bindings.mk
* Android.mk
* CMakeLists.txt
* DerivedSources.cpp
* DerivedSources.make
* GNUmakefile.am
* WebCore.pri
* WebCore.pro
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj
* WebCore.xcodeproj/project.pbxproj
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbIndexRequest):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBDatabase.h:
* storage/IDBDatabaseError.h:
(WebCore::IDBDatabaseError::):
* storage/IDBDatabaseError.idl:
* storage/IDBDatabaseException.h:
* storage/IDBDatabaseException.idl:
* storage/IDBDatabaseImpl.cpp:
* storage/IDBDatabaseImpl.h:
* storage/IDBDatabaseRequest.cpp:
* storage/IDBDatabaseRequest.h:
* storage/IDBDatabaseRequest.idl:
* storage/IDBIndex.h: Added.
(WebCore::IDBIndex::~IDBIndex):
* storage/IDBIndexImpl.cpp: Added.
(WebCore::IDBIndexImpl::IDBIndexImpl):
(WebCore::IDBIndexImpl::~IDBIndexImpl):
* storage/IDBIndexImpl.h: Added.
(WebCore::IDBIndexImpl::create):
(WebCore::IDBIndexImpl::name):
(WebCore::IDBIndexImpl::keyPath):
(WebCore::IDBIndexImpl::unique):
* storage/IDBIndexRequest.cpp: Added.
(WebCore::IDBIndexRequest::IDBIndexRequest):
(WebCore::IDBIndexRequest::~IDBIndexRequest):
* storage/IDBIndexRequest.h: Added.
(WebCore::IDBIndexRequest::create):
(WebCore::IDBIndexRequest::name):
(WebCore::IDBIndexRequest::keyPath):
(WebCore::IDBIndexRequest::unique):
* storage/IDBIndexRequest.idl: Added.
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::~IDBObjectStore):
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::removeIndex):
* storage/IDBObjectStore.h:
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
(WebCore::IDBObjectStoreRequest::name):
(WebCore::IDBObjectStoreRequest::keyPath):
(WebCore::IDBObjectStoreRequest::indexNames):
(WebCore::IDBObjectStoreRequest::createIndex):
(WebCore::IDBObjectStoreRequest::index):
(WebCore::IDBObjectStoreRequest::removeIndex):
* storage/IDBObjectStoreRequest.h:
* storage/IDBObjectStoreRequest.idl:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
* storage/IndexedDatabaseRequest.idl:
2010-05-28 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: hide node highlight when inspected page closes.
https://bugs.webkit.org/show_bug.cgi?id=39872
* inspector/InspectorController.cpp:
(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
2010-05-28 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: add Console API for retrieving memory stats
Add 'console.memory' property which returns an object. Currently
it has two fields: totalHeapSize and usedHeapSize. Later, it can be
extended for reporting total browser's memory consumption.
https://bugs.webkit.org/show_bug.cgi?id=39840
* bindings/js/JSConsoleCustom.cpp:
(WebCore::JSConsole::memory):
* bindings/v8/custom/V8ConsoleCustom.cpp:
(WebCore::V8Console::memoryAccessorGetter):
* page/Console.cpp:
(WebCore::Console::memory):
* page/Console.h:
* page/Console.idl:
2010-05-28 Xan Lopez <xlopez@igalia.com>
Add new file to the build system.
* GNUmakefile.am:
2010-05-28 Antti Koivisto <koivisto@iki.fi>
Reviewed by Kenneth Rohde Christiansen.
https://bugs.webkit.org/show_bug.cgi?id=39874
[Qt] Make tiled backing store more configurable
Make tile size, tile creation delay and tiling area dynamically configurable.
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::TiledBackingStore):
(WebCore::TiledBackingStore::setTileSize):
(WebCore::TiledBackingStore::setTileCreationDelay):
(WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
(WebCore::TiledBackingStore::createTiles):
* platform/graphics/TiledBackingStore.h:
(WebCore::TiledBackingStore::tileSize):
(WebCore::TiledBackingStore::tileCreationDelay):
(WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
2010-05-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
document.write does not work correctly in the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39828
Added a new HTML5ScriptRunnerHost interface which
HTML5Tokenizer implements. This allows HTML5ScriptController
to delegate the actual ScriptController::executeScript back to
HTML5Tokenizer. HTML5Tokenizer saves off the current m_source
before calling ScriptController::executeScript to allow safe
reentrancy through document.write().
* WebCore.xcodeproj/project.pbxproj:
- Added HTML5ScriptRunnerHost.h
* html/HTML5ScriptRunner.cpp:
(WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
(WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
- Unregister m_parsingBlockingScript if stopped before
load completion. This was probably causing some of the
crashes on page navigation we saw during LayoutTest runs.
(WebCore::documentURLForScriptExecution):
- Unify our documentURL handling so all callsites get it right.
(WebCore::HTML5ScriptRunner::sourceFromPendingScript):
- Use documentURLForScriptExecution
(WebCore::HTML5ScriptRunner::executePendingScript):
- Call stopWatchingForLoad instead of removeClient()
- Call executeScript instead of ScriptController directly.
(WebCore::HTML5ScriptRunner::executeScript):
- Wraps calls to HTML5ScriptRunnerHost::executeScript
(WebCore::HTML5ScriptRunner::watchForLoad):
- Wraps calls to HTML5ScriptRunnerHost::watchForLoad
(WebCore::HTML5ScriptRunner::stopWatchingForLoad):
- Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
(WebCore::HTML5ScriptRunner::requestScript):
- Only watch for load if the CachedScript isn't already loaded.
This gets rid of rentrancy due to addClient calls, and as a result
also stops us from hitting ASSERT(m_scriptNestingLevel)
in executePendingScript.
(WebCore::HTML5ScriptRunner::runScript):
- Use the new fancy documentURLForScriptExecution and executeScript.
* html/HTML5ScriptRunner.h:
(WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
- Add a watchingForLoad bool so we know if we ever called watchForLoad
with this CachedScript*.
* html/HTML5ScriptRunnerHost.h: Added.
(WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::HTML5Tokenizer):
- Store an m_document pointer since we need to access
m_document->frame()->script() for script execution.
(WebCore::HTML5Tokenizer::pumpLexer):
- Always pause or unpause the TreeBuilder after script execution.
Previously nested script execution would leave the TreeBuilder
paused even though the top-level loop wanted to resume parsing.
Now whenever m_scriptRunner->execute returns "continue parsing"
parsing will actually continue. This fixed cases where we would
ignore the rest of the document after document.write() of a script tag.
(WebCore::HTML5Tokenizer::write):
- Explain how document.write() reentrancy is safe in the new world.
(WebCore::HTML5Tokenizer::watchForLoad):
- HTML5ScriptRunnerHost implementation. We assert that this call will
never cause script execution since that's our current design.
(WebCore::HTML5Tokenizer::stopWatchingForLoad):
- HTML5ScriptRunnerHost implementation.
(WebCore::HTML5Tokenizer::executeScript):
- HTML5ScriptRunnerHost implementation. Save off the current source
before executing scripts in case document.write is called during
script execution.
* html/HTML5Tokenizer.h:
- Implement HTML5ScriptRunnerHost.
2010-05-28 Nathan Lawrence <nlawrence@apple.com>
Reviewed by Geoffrey Garen.
https://bugs.webkit.org/show_bug.cgi?id=39460
Because not just <img> and <image> elements can preload images, we
dont want to restrict the element associated with the loader.
No new tests. Should share the same tests as the last patch.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
2010-05-27 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
Cursor movement and text selection does not work well if a block is followed by an inline.
https://bugs.webkit.org/show_bug.cgi?id=32123
RenderInline::setSelectionState() missed selection state
propagation for ancestors. This fix pulled
RenderBlock::setSelectionState() up to RenderBoxModelObject, to
share it with RenderInline.
Test: editing/selection/range-between-block-and-inline.html: Added.
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::setSelectionState):
* rendering/RenderBoxModelObject.h:
Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
2010-05-27 MORITA Hajime <morrita@google.com>
Not reviewed. Fixed typo
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
2010-05-27 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Make more HTML DOM members private, especially constructors
https://bugs.webkit.org/show_bug.cgi?id=39697
Refactoring, so no new tests needed.
Working my way through HTMLTagNames.in from top to bottom, skipping any
that are non-trivial for some reason.
* html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
datalist, dcell, dcol, drow, del, dir, dl, and fieldset.
* mathml/mathtags.in: Removed createWithNew from msub, and msup.
* dom/Document.cpp:
(WebCore::Document::implicitClose): Use create function instead of new.
(WebCore::Document::getCSSCanvasElement): Ditto.
* editing/IndentOutdentCommand.cpp:
(WebCore::createIndentBlockquoteElement): Ditto.
* editing/htmlediting.cpp:
(WebCore::createBreakElement): Ditto.
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::createCaption): Ditto.
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setInnerTextValue): Ditto.
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError): Use create function instead of new.
Required reordering the code slightly, but the new order works fine.
* html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::create):
* html/HTMLAudioElement.h:
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::create):
* html/HTMLBRElement.h:
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::create):
* html/HTMLBaseElement.h:
* html/HTMLBaseFontElement.cpp:
(WebCore::HTMLBaseFontElement::create):
* html/HTMLBaseFontElement.h:
* html/HTMLBlockquoteElement.cpp:
(WebCore::HTMLBlockquoteElement::create):
* html/HTMLBlockquoteElement.h:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::create):
* html/HTMLBodyElement.h:
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::create):
* html/HTMLButtonElement.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::create):
* html/HTMLCanvasElement.h:
* html/HTMLDListElement.cpp:
(WebCore::HTMLDListElement::create):
* html/HTMLDListElement.h:
* html/HTMLDataGridCellElement.cpp:
(WebCore::HTMLDataGridCellElement::create):
* html/HTMLDataGridCellElement.h:
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::create):
* html/HTMLDataGridColElement.h:
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::create):
* html/HTMLDataGridElement.h:
* html/HTMLDataGridRowElement.cpp:
(WebCore::HTMLDataGridRowElement::create):
* html/HTMLDataGridRowElement.h:
* html/HTMLDataListElement.cpp:
(WebCore::HTMLDataListElement::create):
* html/HTMLDataListElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setInnerText):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::create):
* html/HTMLFieldSetElement.h:
* html/HTMLModElement.cpp:
(WebCore::HTMLModElement::HTMLModElement):
(WebCore::HTMLModElement::create):
* html/HTMLModElement.h:
* html/HTMLTableCaptionElement.cpp:
(WebCore::HTMLTableCaptionElement::create):
* html/HTMLTableCaptionElement.h:
Made constructors and virtual function overrides private, added create functions.
Made constructors inline in cases where they were called in only one place.
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
from _span to m_span.
(WebCore::HTMLTableColElement::create): Added.
(WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
* html/HTMLTableColElement.h:
Made constructor and virtual function overrides private, added create function.
Renamed _span to m_span.
2010-05-27 Kwang Yul Seo <skyul@company100.net>
Reviewed by Darin Adler.
wx port: build fix for Linux
https://bugs.webkit.org/show_bug.cgi?id=39860
Use uint16_t instead of uint16.
* plugins/PluginPackageNone.cpp:
(WebCore::PluginPackage::NPVersion):
2010-05-27 Nathan Lawrence <nlawrence@apple.com>
Reviewed by Geoffrey Garen.
https://bugs.webkit.org/show_bug.cgi?id=39460
Fixes the issue where images prefetched by JavaScript do not report
their memory usage to the GC.
There is a new test manual-tests/image-prefetch-stress.html that loads
a new 4MB image every half a second.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
* manual-tests/image-prefetch-stress.html: Added.
2010-05-27 Eric Uhrhane <ericu@chromium.org>
Reviewed by Adam Barth.
Add v8 bindings for async DB API in workers
https://bugs.webkit.org/show_bug.cgi?id=39145
No new tests. This should share layout tests with JSC.
Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
* bindings/scripts/CodeGeneratorV8.pm:
As with CodeGeneratorV8; these are pretty much all tiny tweaks.
We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
* bindings/v8/custom/V8CustomPositionCallback.cpp:
(WebCore::V8CustomPositionCallback::handleEvent):
* bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
(WebCore::V8CustomPositionErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
(WebCore::V8SQLStatementErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomVoidCallback.cpp:
(WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
(WebCore::V8CustomVoidCallback::handleEvent):
(WebCore::invokeCallback):
* bindings/v8/custom/V8CustomVoidCallback.h:
(WebCore::V8CustomVoidCallback::create):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::openDatabaseCallback):
* bindings/v8/custom/V8DatabaseCustom.cpp:
(WebCore::V8Database::changeVersionCallback):
(WebCore::createTransaction):
* bindings/v8/custom/V8DatabaseSyncCustom.cpp:
(WebCore::V8DatabaseSync::changeVersionCallback):
(WebCore::createTransaction):
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::requestPermissionCallback):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::V8SQLTransaction::executeSqlCallback):
Add openDatabaseCallback.
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::V8WorkerContext::openDatabaseCallback):
Remove an obsolete parameter.
(WebCore::V8WorkerContext::openDatabaseSyncCallback):
2010-05-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.
https://bugs.webkit.org/show_bug.cgi?id=39848
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
(WebInspector.ResourceView.prototype._refreshRequestPayload):
2010-05-27 Nico Weber <thakis@chromium.org>
Reviewed by Eric Seidel
https://bugs.webkit.org/show_bug.cgi?id=39092
Add Yank support to chromium mac. Do this by moving WebKit Mac's
implementation of Editor::yankFromKillRing() into its own class and
then using that.
* editing/Editor.cpp:
Use new KillRing class.
* editing/Editor.h:
(WebCore::Editor::killRing):
Use new KillRing class.
* editing/EditorCommand.cpp:
(WebCore::executeYankAndSelect):
Use new KillRing class.
* platform/KillRing.h:
Add new KillRing class, which acts as null object.
(WebCore::KillRing::~KillRing):
* platform/mac/KillRingMac.h:
Add new KillRingMac class, which writes to the mac's kill ring.
* platform/mac/KillRingMac.mm:
Add new KillRingMac class, which writes to the mac's kill ring.
2010-05-27 Ben Murdoch <benm@google.com>
Reviewed by Jian Li.
Build break in FileStream.cpp
https://bugs.webkit.org/show_bug.cgi?id=39841
When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
in FileStream.cpp:114. Fix by using the correct variable.
Build fix so no new tests.
* html/FileStream.cpp:
(WebCore::FileStream::openForRead): Replace undefined variable with a defined one.
2010-05-27 Hans Wennborg <hans@chromium.org>
Reviewed by Jeremy Orlow.
[Chromium] Default popup window size should not depend on zoom level
https://bugs.webkit.org/show_bug.cgi?id=39835
V8DOMWindow::openCallback should not set width and height of new
window unless specified in the function's arguments.
There is already code to reset the new window's origin coordinates,
but the same thing should be done to its dimensions as well. Otherwise,
a new popup with unspecified size will have its size depending on the
parent's zoom level, which is not desirable.
This is the same as what is done in
bindings/js/JSDOMWindowCustom.cpp:826.
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::openCallback):
2010-05-27 Anders Bakken <agbakken@gmail.com>
Reviewed by David Levin.
qt_instance.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39744
Fix webkit coding style issues in qt_instance.cpp
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::removeCachedMethod):
(JSC::Bindings::QtInstance::markAggregate):
(JSC::Bindings::QtInstance::getPropertyNames):
(JSC::Bindings::QtInstance::stringValue):
(JSC::Bindings::QtField::name):
(JSC::Bindings::QtField::valueFromInstance):
2010-05-27 Anders Bakken <agbakken@gmail.com>
Reviewed by David Levin.
qt_instance.h has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39743
Fix webkit coding style issues in qt_instance.h
* bridge/qt/qt_instance.h:
2010-05-27 Anders Bakken <agbakken@gmail.com>
Reviewed by David Levin.
qt_class.h has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39742
Fix webkit coding style issues in qt_class.h
* bridge/qt/qt_class.h:
2010-05-27 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
compressed movie.
Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
use a CAImageQueue so there will be less conversion required before display. This change also
works around the issue that causes the RLE compressed movie to crash.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext
constructor instead of CFDictionary.
* platform/graphics/win/QTMovieVisualContext.cpp:
(SetNumberValue):
(getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual
context type.
(pixelBufferCreationOptions): New, return options dictionary appropriate for the visual
context type.
(QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from
getPixelBufferCreationOptions insteaad of taking it as a parameter.
(QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for
visual context configuration type.
* platform/graphics/win/QTMovieVisualContext.h:
2010-05-27 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Roben.
[Qt] REGRESSION(r60258): It broke 10 tests.
https://bugs.webkit.org/show_bug.cgi?id=39819
* plugins/qt/PluginDataQt.cpp:
(WebCore::PluginData::initPlugins):
Append the MimeClassInfo object after it's been initialized.
2010-05-27 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fixes for Windows after recent changes.
* platform/graphics/wx/FontWx.cpp:
* wscript:
2010-05-27 Chris Fleizach <cfleizach@apple.com>
No review, build fixage.
Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
https://bugs.webkit.org/show_bug.cgi?id=39324
Rolling out change from r60307 until a better fix is ready.
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2010-05-27 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: check that ScriptDebugListener was not removed
while messages were dispatched in the nested loop.
https://bugs.webkit.org/show_bug.cgi?id=39838
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::handleV8DebugEvent):
2010-05-27 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: undefined script URL value should be converted to an emtpy
WebCore::String instead of "undefined" string. Otherwise it's shown
in the Scripts panel with "undefined:<line no>" URL.
https://bugs.webkit.org/show_bug.cgi?id=39845
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
2010-05-27 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
https://bugs.webkit.org/show_bug.cgi?id=39324
Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2010-05-27 Xan Lopez <xlopez@igalia.com>
More GTK+ distcheck fixes.
* GNUmakefile.am:
2010-05-27 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[v8] Web Inspector: notify ScriptDebugListener when execution is resumed
https://bugs.webkit.org/show_bug.cgi?id=39838
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::handleV8DebugEvent):
2010-05-27 Anders Bakken <agbakken@gmail.com>
Reviewed by David Levin.
qt_pixmapruntime.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39745
Fix webkit coding style issues in qt_pixmapruntime.cpp
* bridge/qt/qt_pixmapruntime.cpp:
2010-05-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Clean up IndexedDB layout tests
https://bugs.webkit.org/show_bug.cgi?id=39748
Remove an assert that always fires.
Tests: storage/indexeddb/idb-database-request.html
storage/indexeddb/indexed-database-request.html
* storage/IDBDatabaseImpl.cpp:
(WebCore::IDBDatabaseImpl::objectStores):
2010-05-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Get CSS rule offsets lazily.
https://bugs.webkit.org/show_bug.cgi?id=39832
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::getStartEndOffsets):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForRule):
2010-05-27 Anders Bakken <agbakken@gmail.com>
Reviewed by David Levin.
qt_class.cpp has coding-style errors
https://bugs.webkit.org/show_bug.cgi?id=39741
Fix webkit coding style issues in qt_class.cpp
* bridge/qt/qt_class.cpp:
(JSC::Bindings::QtClass::fieldNamed):
2010-05-27 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
https://bugs.webkit.org/show_bug.cgi?id=39714
This came from a discussion on #webkit with Hyatt about this code
being old and no longer used to either of our knowledge.
No functional changes, thus no tests.
I also removed a bogus FIXME I had added in an earlier patch
before I understood what the HTMLTokenizer was trying to do.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::scriptHandler):
(WebCore::HTMLTokenizer::scriptExecution):
(WebCore::HTMLTokenizer::continueProcessing):
(WebCore::HTMLTokenizer::willWriteHTML):
(WebCore::HTMLTokenizer::didWriteHTML):
(WebCore::HTMLTokenizer::timerFired):
(WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
2010-05-27 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
Add callbacks to ScriptController to allow notifications on named items additions and removals
https://bugs.webkit.org/show_bug.cgi?id=39679
* bindings/js/ScriptController.h: Callbacks with empty implementation added.
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):
* bindings/v8/ScriptController.h: Callbacks added.
* html/HTMLDocument.cpp: Hooking in callbacks.
(WebCore::HTMLDocument::addItemToMap):
(WebCore::HTMLDocument::removeItemFromMap):
* html/HTMLDocument.h:
2010-05-27 Zhenyao Mo <zmo@google.com>
Reviewed by Dimitri Glazkov.
Implement lazy clearing of renderbuffers
https://bugs.webkit.org/show_bug.cgi?id=36248
Test: fast/canvas/webgl/renderbuffer-initialization.html
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
(WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
(WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
(WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
(WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
(WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
(WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
* html/canvas/WebGLFramebuffer.h:
(WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
(WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
(WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
* html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
* html/canvas/WebGLRenderbuffer.h:
(WebCore::WebGLRenderbuffer::isInitialized): As the function name.
(WebCore::WebGLRenderbuffer::setInitialized): Ditto.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
(WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
(WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
(WebCore::WebGLRenderingContext::deleteTexture): Ditto.
(WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
(WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
(WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
(WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
* platform/graphics/mac/GraphicsContext3DMac.cpp:
(WebCore::GraphicsContext3D::reshape): Initialize internal buffers.
2010-05-27 Kristian Monsen <kristianm@google.com>
Reviewed by Darin Adler.
Compile fix for Android, added include for Refcounted.h, this did not get
included through Threading.h in Android.
https://bugs.webkit.org/show_bug.cgi?id=39678
Build fix only, no new tests.
* storage/SQLTransactionSyncCallback.h:
2010-05-27 Joone Hur <joone@kldp.org>
Reviewed by Xan Lopez.
Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+
https://bugs.webkit.org/show_bug.cgi?id=39567
* platform/gtk/ScrollbarGtk.cpp:
2010-05-27 Hans Wennborg <hans@chromium.org>
Reviewed by Alexey Proskuryakov.
Increase limit on number of (i)frames from 200 to 1000.
https://bugs.webkit.org/show_bug.cgi?id=39427
The limit on number of iframes was introduced in r3707 back in 2003.
An example of a page that is broken because of this is:
http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
Neither Firefox nor IE has such a limit.
It seems that WebKit can handle a significantly higher number of frames, and
the original reasons for imposing the limit are believed to be gone.
Tests: compositing/iframes/lots-of-iframes.html
compositing/iframes/lots-of-objects.html
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::isURLAllowed):
* page/FrameTree.cpp:
(WebCore::FrameTree::uniqueChildName):
* page/Page.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::isURLAllowed):
2010-05-27 Kwang Yul Seo <skyul@company100.net>
Reviewed by Xan Lopez.
[GTK] writeToFile fails when length is large
https://bugs.webkit.org/show_bug.cgi?id=39666
writeToFile forgot to increment data pointer.
* platform/gtk/FileSystemGtk.cpp:
(WebCore::writeToFile):
2010-05-26 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
|to| argument to be a RenderBlock.
Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
by hand.
Make the append forms of the functions just use the insert forms with a beforeChild of 0.
Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
case where it does an append.
Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
messed up when using append/insertChildNode.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
(WebCore::RenderBlock::createAndAppendRootInlineBox):
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveChildrenTo):
(WebCore::RenderBlock::makeChildrenNonInline):
(WebCore::RenderBlock::removeChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveAllChildrenTo):
(WebCore::RenderBlock::moveChildrenTo):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveInlineChildren):
2010-05-27 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
https://bugs.webkit.org/show_bug.cgi?id=39818
HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
for authoring convenience. Our new HTML5Lexer didn't have this hack yet
so there were 4 HTML5 tests failing. Fixing this fixed the last of the HTML5
test suite regressions using the HTML5Lexer vs the old lexer.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::reset):
(WebCore::HTML5Lexer::nextToken):
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::skipLeadingNewLineForListing):
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2010-05-26 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Teach the HTML5 parser how to handle external scripts
https://bugs.webkit.org/show_bug.cgi?id=39716
Make it possible for the HTML5Tokenizer to run external scripts.
I created a new class HTML5ScriptRunner to hold all of the
script-logic which is scattered throughout the old HTMLTokenizer.
The design is for the HTML5Tokenizer (the "controller") to hold
the Lexer, TreeBuilder and ScriptRunner. The Lexer returns back
to the controller, which passes tokens to the TreeBuilder. When the
treebuilder encounters a </script> tag it pauses itself and returns
back to the controller which calls the ScriptRunner. The TreeBuilder
is un-paused when the HTML5Tokenizer calls takeScriptToProcess().
The ScriptRunner attempts to process the passed script, and additionally
any blocked scripts it can. It returns to the controller indicating if
parsing should continue. If not, callbacks when external scripts load
or when stylesheets are finished parsing will cause the controller to
kick off script execution and parsing again at a later point.
* WebCore.xcodeproj/project.pbxproj:
- Add HTML5ScriptRunner.*
* bindings/js/CachedScriptSourceProvider.h:
- Add missing include discovered while building.
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::finishParsingChildren):
- Remove previous hack for inline <script> execution.
* dom/ScriptElement.h:
- Explain the HTML5 spec names for m_evaluated and m_createdByParser.
* html/HTML5ScriptRunner.cpp: Added.
(WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
- The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
CachedResourceClient. The HTML5ScriptRunner will register the
HTML5Tokenizer for notifyFinished callbacks when the scripts load.
The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
execute any loaded scripts at that point.
(WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
(WebCore::HTML5ScriptRunner::frame): Helper method.
(WebCore::createScriptLoadEvent): Helper method.
(WebCore::createScriptErrorEvent): Helper method.
(WebCore::HTML5ScriptRunner::sourceFromPendingScript):
- Helper method for dealing with both inline and external script types.
(WebCore::HTML5ScriptRunner::isPendingScriptReady):
- Helper for dealing with both inline and external scripts.
(WebCore::HTML5ScriptRunner::executePendingScript):
- Execute one script. Both external and inline scripts
can become m_parsingBlockingScript if they can't be executed
immediately after parsing.
(WebCore::HTML5ScriptRunner::execute):
- Takes a script element from the tree builder and tries
to process it.
(WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
- Runs the current parsing blocking script if ready.
- Running a script could add another parsing blocking script
so we loop until there is no ready-to-run parsing blocking script.
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
- Called by HTML5Tokenizer when a script loads.
(WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
- Called by HTML5Tokenizer when stylesheets complete.
(WebCore::HTML5ScriptRunner::requestScript):
- Transcription of the HTML5 spec.
(WebCore::HTML5ScriptRunner::runScript):
- Transcription of the HTML5 spec.
* html/HTML5ScriptRunner.h: Added.
- New class to handle script loading and execution for the HTML5 parser.
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::HTML5Tokenizer):
- Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
(WebCore::HTML5Tokenizer::pumpLexer):
- When the parser is paused, try to run scripts.
(WebCore::HTML5Tokenizer::write):
- Only pump the lexer when the parser is not paused.
(WebCore::HTML5Tokenizer::end):
- finish() tells us that we've reached EOF, not end()
- Only pump the lexer when the parser is not paused.
(WebCore::HTML5Tokenizer::finish):
- Mark EOF, and end() if we're not waiting on scripts.
(WebCore::HTML5Tokenizer::isWaitingForScripts):
- isPaused() seems to mean isPausedForExternalScripts().
(WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
(WebCore::HTML5Tokenizer::notifyFinished):
(WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
* html/HTML5Tokenizer.h:
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
- Add an m_isPaused flag.
(WebCore::HTML5TreeBuilder::handleScriptStartTag):
(WebCore::HTML5TreeBuilder::handleScriptEndTag):
(WebCore::HTML5TreeBuilder::takeScriptToProcess):
- Acknowledge that the caller has received the script element.
It is the caller's responsibility to execute the script if necessary
and re-pause the tree builder if necessary.
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
- Save off the current script tag so that it can be passed to
the HTML5ScriptRunner when we're paused.
* html/HTML5TreeBuilder.h:
(WebCore::HTML5TreeBuilder::setPaused):
(WebCore::HTML5TreeBuilder::isPaused):
2010-05-26 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Implement SegmentedString::lookAheadSlowCase
https://bugs.webkit.org/show_bug.cgi?id=39802
The slow case is need by the resumer test suite. Sadly, the resumer
test suite is really slow and produces infinite errors (many of which
are false positives). I'll land more of the resumer test suite in a
future patch.
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::advance):
* platform/text/SegmentedString.h:
(WebCore::SegmentedString::lookAhead):
(WebCore::SegmentedString::lookAheadIgnoringCase):
(WebCore::SegmentedString::equalsLiterally):
(WebCore::SegmentedString::equalsIgnoringCase):
(WebCore::SegmentedString::lookAheadInline):
(WebCore::SegmentedString::lookAheadSlowCase):
2010-05-26 Jer Noble <jer.noble@apple.com>
Patch edited by Adele Peterson and Mark Rowe.
Reviewed by Eric Carlson
Video elements show no video on Windows machines that do not support accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=39446
rdar://problem/7999794
Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
tearDownVideoRendering (as opposed to in the destructor.)
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
return MediaRenderingNone.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode,
make sure the visual context has been set up when saying the setup has been done.
* platform/graphics/win/QTMovieVisualContext.cpp:
(QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
(QTMovieVisualContext::create): Added.
* platform/graphics/win/QTMovieVisualContext.h:
2010-05-26 Gustavo Noronha Silva <gns@gnome.org>
Build fixes for make distcheck.
* GNUmakefile.am:
2010-05-26 Zelidrag Hornung <zelidrag@chromium.org>
Reviewed by Ojan Vafai.
Fixed frame page up/down scrolling calculation. Made sure that the
cursor moves with page up/down event. Please note that now for mac
editing behavior we will scroll the content to center the cursor on
page up/down while other platforms will align the cursor with the top of
displayed frame.
https://bugs.webkit.org/show_bug.cgi?id=38213
Tests: editing/input/option-page-up-down.html (fixed)
editing/input/scroll-viewport-page-up-down.html
* WebCore.base.exp:
* editing/EditorCommand.cpp:
(WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
(WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
(WebCore::executeMovePageDownAndModifySelection): Ditto.
(WebCore::executeMovePageUp): Ditto.
(WebCore::executeMovePageUpAndModifySelection): Ditto.
* editing/SelectionController.cpp:
* editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
(WebCore::SelectionController::setSelection): Ditto.
(WebCore::SelectionController::modify): Ditto.
* editing/SelectionController.h: Ditto.
(WebCore::SelectionController::): Ditto.
(WebCore::SelectionController::setSelection): Ditto.
2010-05-26 Jaime Yap <jaimeyap@google.com>
Reviewed by Pavel Feldman.
ScriptCallStack::callLocation() sometimes passed an empty handle to
toWebCoreString() causing a null pointer deref.
https://bugs.webkit.org/show_bug.cgi?id=39681
* bindings/v8/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::callLocation):
2010-05-26 Brian Weinstein <bweinstein@apple.com>
Reviewed by Mark Rowe.
Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
https://bugs.webkit.org/show_bug.cgi?id=39804
Initialize the title attribute of the Pause on Exceptions button when we initialize other information
about it.
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
2010-05-26 Adam Barth <abarth@webkit.org>
Unreviewed, rolling out r60262.
http://trac.webkit.org/changeset/60262
https://bugs.webkit.org/show_bug.cgi?id=39783
Broke every build and is blocking me from working. :(
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveAllChildrenTo):
(WebCore::RenderBlock::makeChildrenNonInline):
(WebCore::RenderBlock::removeChild):
* rendering/RenderBlock.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):
(WebCore::RenderRubyBase::mergeBlockChildren):
2010-05-26 Anders Carlsson <andersca@apple.com>
Unreviewed, rolling out r60256.
http://trac.webkit.org/changeset/60256
https://bugs.webkit.org/show_bug.cgi?id=39382
Causes fast/dom/prototype-inheritance-2.html to start
crashing.
* history/PageCache.cpp:
(WebCore::PageCache::PageCache):
(WebCore::PageCache::add):
* history/PageCache.h:
(WebCore::PageCache::get):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitIfReady):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::canCachePageContainingThisFrame):
(WebCore::FrameLoader::canCachePage):
(WebCore::pageCacheLogPrefix):
(WebCore::pageCacheLog):
(WebCore::FrameLoader::logCanCachePageDecision):
(WebCore::FrameLoader::logCanCacheFrameDecision):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
(WebCore::FrameLoader::cachePageForHistoryItem):
(WebCore::FrameLoader::navigateToDifferentDocument):
* loader/FrameLoader.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2010-05-26 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
|to| argument to be a RenderBlock.
Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
by hand.
Make the append forms of the functions just use the insert forms with a beforeChild of 0.
Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
case where it does an append.
Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
messed up when using append/insertChildNode.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
(WebCore::RenderBlock::createAndAppendRootInlineBox):
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveChildrenTo):
(WebCore::RenderBlock::makeChildrenNonInline):
(WebCore::RenderBlock::removeChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveAllChildrenTo):
(WebCore::RenderBlock::moveChildrenTo):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveInlineChildren):
2010-05-26 Anders Carlsson <andersca@apple.com>
Fix GTK+ test failures.
* plugins/gtk/PluginDataGtk.cpp:
(WebCore::PluginData::initPlugins):
* plugins/win/PluginDataWin.cpp:
(WebCore::PluginData::initPlugins):
2010-05-25 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Clean up MimeClassInfo and PluginInfo
https://bugs.webkit.org/show_bug.cgi?id=39700
This gets rid of all the heap allocation from MimeClassInfo and PluginInfo.
It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
and PluginClassInfo objects.
* page/Page.cpp:
(WebCore::Page::refreshPlugins):
* plugins/MimeType.cpp:
(WebCore::MimeType::type):
(WebCore::MimeType::suffixes):
(WebCore::MimeType::description):
(WebCore::MimeType::enabledPlugin):
* plugins/MimeType.h:
(WebCore::MimeType::mimeClassInfo):
* plugins/MimeTypeArray.cpp:
(WebCore::MimeTypeArray::item):
(WebCore::MimeTypeArray::canGetItemsForName):
(WebCore::MimeTypeArray::namedItem):
* plugins/Plugin.cpp:
(WebCore::Plugin::name):
(WebCore::Plugin::filename):
(WebCore::Plugin::description):
(WebCore::Plugin::length):
(WebCore::Plugin::item):
(WebCore::Plugin::canGetItemsForName):
(WebCore::Plugin::namedItem):
* plugins/Plugin.h:
(WebCore::Plugin::pluginInfo):
* plugins/PluginArray.cpp:
(WebCore::PluginArray::length):
(WebCore::PluginArray::item):
(WebCore::PluginArray::canGetItemsForName):
(WebCore::PluginArray::namedItem):
(WebCore::PluginArray::pluginData):
* plugins/PluginArray.h:
* plugins/PluginData.cpp:
(WebCore::PluginData::PluginData):
(WebCore::PluginData::~PluginData):
(WebCore::PluginData::supportsMimeType):
(WebCore::PluginData::pluginNameForMimeType):
* plugins/PluginData.h:
(WebCore::operator==):
(WebCore::PluginData::create):
(WebCore::PluginData::disconnectPage):
(WebCore::PluginData::page):
(WebCore::PluginData::plugins):
(WebCore::PluginData::mimes):
* plugins/chromium/PluginDataChromium.cpp:
(WebCore::PluginCache::reset):
(WebCore::PluginCache::plugins):
(WebCore::PluginData::initPlugins):
(WebCore::getPluginMimeTypeFromExtension):
* plugins/gtk/PluginDataGtk.cpp:
(WebCore::PluginData::initPlugins):
* plugins/mac/PluginDataMac.mm:
(WebCore::PluginData::initPlugins):
* plugins/qt/PluginDataQt.cpp:
(WebCore::PluginData::initPlugins):
* plugins/win/PluginDataWin.cpp:
(WebCore::PluginData::initPlugins):
* plugins/wx/PluginDataWx.cpp:
(WebCore::PluginData::initPlugins):
2010-05-26 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Factor PageCache functionality out of FrameLoader and into
PageCache.
https://bugs.webkit.org/show_bug.cgi?id=39382
Refactor only, so no new tests.
* history/PageCache.cpp:
(WebCore::pageCacheLogPrefix):
(WebCore::pageCacheLog):
(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
(WebCore::PageCache::canCache):
(WebCore::PageCache::add):
(WebCore::PageCache::get):
* history/PageCache.h:
* loader/DocumentLoader.cpp:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::prepareForCachedPageRestore):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
(WebCore::FrameLoader::navigateToDifferentDocument):
* loader/FrameLoader.h:
(WebCore::FrameLoader::quickRedirectComing):
* svg/graphics/SVGImage.cpp:
2010-05-26 Peter Kasting <pkasting@google.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=39786
Properly reset |bytes_to_consume| when reaching the "gif_done" state in
the open-source GIF decoder.
No tests, since there's no test harness support for checking the
internal ImageDecoder state values.
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file. Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).
2010-05-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60251.
http://trac.webkit.org/changeset/60251
https://bugs.webkit.org/show_bug.cgi?id=39788
broke tests (Requested by dhyatt on #webkit).
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveAllChildrenTo):
(WebCore::RenderBlock::makeChildrenNonInline):
(WebCore::RenderBlock::removeChild):
* rendering/RenderBlock.h:
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):
(WebCore::RenderRubyBase::mergeBlockChildren):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
2010-05-26 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix webkit01.dat resumer tests in HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39796
To match the old tokenizer, we should only flush character tokens when
we reach EOF. Added a notion of a "closed" segmented string that
cannot be appended to, which models EOF.
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
* html/HTML5Lexer.h:
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::pumpLexer):
(WebCore::HTML5Tokenizer::write):
(WebCore::HTML5Tokenizer::end):
* html/HTML5Tokenizer.h:
* platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::SegmentedString):
(WebCore::SegmentedString::clear):
(WebCore::SegmentedString::append):
* platform/text/SegmentedString.h:
(WebCore::SegmentedString::SegmentedString):
(WebCore::SegmentedString::close):
(WebCore::SegmentedString::isClosed):
2010-05-26 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Make HTML5 lexer not ASSERT when resuming partial parses
https://bugs.webkit.org/show_bug.cgi?id=39755
I'm working through a variation of the webkit-runner.html test suite
that stops the parser at every character to make sure we can resume
parsing correctly. This patch fixes some errors caught by ASSERTs,
which prevent the basic tests from running to completion. There's a
bunch more work to do, however.
Test: html5lib/webkit-resumer.html
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::isEndTagBufferingState):
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::addToPossibleEndTag):
* html/HTML5Lexer.h:
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::write):
* html/HTML5Tokenizer.h:
2010-05-26 Alexey Proskuryakov <ap@apple.com>
Mac 32 bit build fix.
* platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.
2010-05-26 David Hyatt <hyatt@apple.com>
Reviewed by Ojan.
https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.
Cut out the need to pass the to block's child list by tightening up the type of the to object
from RenderObject to RenderBlock.
Implement the "append" versions of the move functions using their "insert" counterparts, since
insertChildNode just calls appendChildNode when beforeChild is 0 anyway.
Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
of the move functions have the optional parameter for consistency.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAndAppendRootInlineBox):
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveAllChildrenTo):
(WebCore::RenderBlock::makeChildrenNonInline):
(WebCore::RenderBlock::removeChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::moveChildTo):
(WebCore::RenderBlock::moveAllChildrenTo):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):
(WebCore::RenderRubyBase::mergeBlockChildren):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
2010-05-26 Dan Bernstein <mitz@apple.com>
Typed and reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=39682
<rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random
Test: fast/css/custom-font-xheight.html
* platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
Calling an Objective C method that returns a structure with a null object can leave garbage in
returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
platformBoundsForGlyph() function instead, which works with CGFont.
(WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
have an NSFont), since this is now used in more cases.
2010-05-26 Beth Dakin <bdakin@apple.com>
Build fix for Mac clean builds.
* storage/IDBDatabaseRequest.idl:
2010-05-26 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
Must not cast between CFNumberRef and CFBooleanRef.
<rdar://problem/8030739>
https://bugs.webkit.org/show_bug.cgi?id=39756
* platform/graphics/win/QTMovieVisualContext.cpp:
(QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated
with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.
2010-05-26 Xan Lopez <xlopez@igalia.com>
GTK+ build fix, strike two.
* bindings/gobject/WebKitDOMEventTarget.cpp:
(webkit_dom_event_target_get_type):
(webkit_dom_event_target_default_init):
2010-05-26 Jeremy Orlow <jorlow@chromium.org>
Unreviewed build fix for Windows + clean up the Visual Studio project.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
2010-05-26 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
Indexed Database component is missing IDBObjectStoreRequest interface
https://bugs.webkit.org/show_bug.cgi?id=39490
Adding IDL and stub implementation for IDBObjectStoreRequest.
No new tests, indexed database isn't yet testable.
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
(WebCore::JSIDBObjectStoreRequest::remove):
(WebCore::JSIDBObjectStoreRequest::addOrModify):
(WebCore::JSIDBObjectStoreRequest::modify):
(WebCore::JSIDBObjectStoreRequest::add):
(WebCore::JSIDBObjectStoreRequest::get):
* bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
(WebCore::V8IDBObjectStoreRequest::removeCallback):
(WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
(WebCore::V8IDBObjectStoreRequest::modifyCallback):
(WebCore::V8IDBObjectStoreRequest::addCallback):
(WebCore::V8IDBObjectStoreRequest::getCallback):
* storage/IDBObjectStore.cpp: Added.
* storage/IDBObjectStore.h: Added.
(WebCore::IDBObjectStore::~IDBObjectStore):
* storage/IDBObjectStoreRequest.cpp: Added.
(WebCore::IDBObjectStoreRequest::name):
(WebCore::IDBObjectStoreRequest::keyPath):
(WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
* storage/IDBObjectStoreRequest.h: Added.
(WebCore::IDBObjectStoreRequest::create):
(WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
* storage/IDBObjectStoreRequest.idl: Added.
2010-05-26 Xan Lopez <xlopez@igalia.com>
Unreviewed GTK+ build fix.
Use G_DEFINE_INTERFACE only if it's available.
* bindings/gobject/WebKitDOMEventTarget.cpp:
(webkit_dom_event_target_get_type):
(webkit_dom_event_target_default_init):
2010-05-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
Implement WebDOMStorageList and make WebIDBDatabase use it
https://bugs.webkit.org/show_bug.cgi?id=39731
Remove unused function.
* dom/DOMStringList.h:
2010-05-26 Jessie Berlin <jberlin@webkit.org>
Reviewed by Pavel Feldman
Bug 31296 - Web Inspector: Should support console.groupCollapsed
https://bugs.webkit.org/show_bug.cgi?id=31296
* inspector/InspectorController.cpp:
(WebCore::InspectorController::startGroup):
Set the message type based on whether or not it should be initially collapsed.
* inspector/InspectorController.h:
* inspector/front-end/ConsoleView.js:
Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
(WebInspector.ConsoleView.prototype.addMessage):
(WebInspector.ConsoleMessage.prototype.toMessageElement):
(WebInspector.ConsoleMessage.prototype.toString):
(WebInspector.ConsoleGroup.prototype.addMessage):
* page/Console.cpp:
(WebCore::Console::groupCollapsed):
Create a group and indicate that it should be collapsed.
* page/Console.h:
Add the StartGroupCollapsed message type.
(WebCore::):
* page/Console.idl:
Create the JS bindings for groupCollapsed.
2010-05-26 yael aharon <yael.aharon@nokia.com>
Reviewed by Kent Tamura.
Support the labels attribute in labelable form controls
https://bugs.webkit.org/show_bug.cgi?id=38713
Added a new cache type in NodeRareData to store the new cache type.
This cache is created on demand.
Added the "labels" attribute to all form controls that support this attribute.
Tests: fast/forms/labels-add-htmlFor-label.html
fast/forms/labels-add-parent-label.html
fast/forms/labels-change-htmlFor-attribute.html
fast/forms/labels-item-index.html
fast/forms/labels-remove-htmlFor-attribute.html
fast/forms/labels-remove-htmlFor-label.html
fast/forms/labels-remove-parent-label.html
fast/forms/labels-set-htmlFor-attribute.html
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Node.cpp:
(WebCore::Node::notifyLocalNodeListsLabelChanged):
(WebCore::Node::removeCachedLabelsNodeList):
(WebCore::NodeListsNodeData::invalidateCaches):
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
(WebCore::NodeListsNodeData::isEmpty):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::NodeListsNodeData):
* html/HTMLButtonElement.idl:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isLabelable):
(WebCore::HTMLFormControlElement::labels):
* html/HTMLFormControlElement.h:
* html/HTMLInputElement.idl:
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::parseMappedAttribute):
* html/HTMLLabelElement.h:
* html/HTMLMeterElement.idl:
* html/HTMLProgressElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTextAreaElement.idl:
* html/LabelsNodeList.cpp: Added.
(WebCore::LabelsNodeList::LabelsNodeList):
(WebCore::LabelsNodeList::~LabelsNodeList):
(WebCore::LabelsNodeList::nodeMatches):
* html/LabelsNodeList.h: Added.
(WebCore::LabelsNodeList::create):
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Jeremy Orlow.
Style fix in JSEventCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=39727
Conditional includes should be all together after the
unconditional includes.
* bindings/js/JSEventCustom.cpp:
2010-05-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Add IDBDatabase's attributes
https://bugs.webkit.org/show_bug.cgi?id=39602
Add the attributes (like name, description, etc) for
IDBDatabaseRequest. Plumb that back to the IDBDatabase
object which stores the data.
CMake and Android build changes in another CL (that
fixes other stuff too).
Updated the layout test, but there's some further testing
that needs to be added once the Chromium side of this lands.
* GNUmakefile.am
* WebCore.gypi:
* WebCore.pro
* WebCore.vcproj/WebCore.vcproj
* WebCore.xcodeproj/project.pbxproj
* dom/DOMStringList.h:
(WebCore::DOMStringList::strings):
* storage/IDBDatabase.cpp: Removed.
* storage/IDBDatabase.h:
* storage/IDBDatabaseImpl.cpp: Added.
(WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
(WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
(WebCore::IDBDatabaseImpl::objectStores):
* storage/IDBDatabaseImpl.h: Added.
(WebCore::IDBDatabaseImpl::create):
(WebCore::IDBDatabaseImpl::name):
(WebCore::IDBDatabaseImpl::description):
(WebCore::IDBDatabaseImpl::version):
* storage/IDBDatabaseRequest.h:
(WebCore::IDBDatabaseRequest::name):
(WebCore::IDBDatabaseRequest::description):
(WebCore::IDBDatabaseRequest::version):
(WebCore::IDBDatabaseRequest::objectStores):
* storage/IDBDatabaseRequest.idl:
* storage/IDBSuccessEvent.cpp:
(WebCore::IDBSuccessEvent::IDBSuccessEvent):
* storage/IndexedDatabaseImpl.cpp:
(WebCore::IndexedDatabaseImpl::open):
* storage/IndexedDatabaseImpl.h:
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by NOBODY Gustavo Noronha.
[GTK] Add support for DOM events in the GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=38844
Add actual GObject event objects to the DOM event signals.
* GNUmakefile.am:
* bindings/gobject/GObjectEventListener.cpp:
(WebCore::GObjectEventListener::handleEvent):
* bindings/gobject/WebKitDOMBinding.cpp:
(WebKit::wrapEventTarget):
(WebKit::kit):
* bindings/gobject/WebKitDOMBinding.h:
* bindings/gobject/WebKitDOMEventTarget.cpp: Added.
(webkit_dom_event_target_default_init):
(webkit_dom_event_target_dispatch_event):
* bindings/gobject/WebKitDOMEventTarget.h: Added.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-05-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
[Android] Add IndexedDB to the build
https://bugs.webkit.org/show_bug.cgi?id=39593
Add the current list of build files to Android's make files. From now on,
I'll try to be sure to update these along with the rest.
Also, fix a nit in the gypi file.
No tests..just changing build files.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* WebCore.gypi:
2010-05-26 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Expose CSS rule body start/end offsets in the parent stylesheet
https://bugs.webkit.org/show_bug.cgi?id=38906
CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
This Vector is only used when the Web Inspector needs the body ranges, thus there is no
memory overhead until the user starts editing styles via the Web Inspector.
Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.
Test: inspector/styles-source-offsets.html
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::setupParser):
(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::updateLastSelectorLineAndPosition):
(WebCore::CSSParser::markRuleBodyStart):
(WebCore::CSSParser::markRuleBodyEnd):
* css/CSSParser.h:
(WebCore::CSSParser::resetRuleBodyMarks):
* inspector/InspectorCSSStore.cpp:
(WebCore::InspectorCSSStore::InspectorCSSStore):
(WebCore::InspectorCSSStore::reset):
(WebCore::InspectorCSSStore::removeDocument):
(WebCore::InspectorCSSStore::inspectorStyleSheet):
(WebCore::InspectorCSSStore::getStartEndOffsets):
(WebCore::InspectorCSSStore::getIndexInStyleRules):
(WebCore::InspectorCSSStore::disabledStyleForId):
(WebCore::InspectorCSSStore::styleForId):
(WebCore::InspectorCSSStore::ruleForId):
(WebCore::InspectorCSSStore::bindStyle):
(WebCore::InspectorCSSStore::bindStyleSheet):
(WebCore::InspectorCSSStore::bindRule):
* inspector/InspectorCSSStore.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::resourceForURL):
* inspector/InspectorController.h:
(WebCore::InspectorController::inspectorFrontend):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::getStyles):
(WebCore::InspectorDOMAgent::getAllStyles):
(WebCore::InspectorDOMAgent::buildArrayForCSSRules):
(WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
(WebCore::InspectorDOMAgent::applyStyleText):
(WebCore::InspectorDOMAgent::setStyleText):
(WebCore::InspectorDOMAgent::setStyleProperty):
(WebCore::InspectorDOMAgent::toggleStyleEnabled):
(WebCore::InspectorDOMAgent::setRuleSelector):
(WebCore::InspectorDOMAgent::addRule):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
(WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
(WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.CSSStyleDeclaration):
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Add support for DOM events in the GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=38844
Use GObject-like names for the DOM event signals. Basically go
from 'mousewheel' to 'mouse-wheel-event'.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-05-26 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Sort Xcode project file.
* WebCore.xcodeproj/project.pbxproj:
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] Add support for DOM events in the GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=38844
First step towards DOM events support. We create one signal per
event supported in the DOM classes, and create a custom
GObjectEventListener that will emit a GObject signal when an event
is dispatched to the object. There is no event object at the
moment (we just pass NULL), and no support for hooking into the
capture phase.
* GNUmakefile.am:
* bindings/gobject/GObjectEventListener.cpp: Added.
(WebCore::GObjectEventListener::handleEvent):
(WebCore::GObjectEventListener::operator==):
* bindings/gobject/GObjectEventListener.h: Added.
(WebCore::GObjectEventListener::create):
(WebCore::GObjectEventListener::cast):
(WebCore::GObjectEventListener::GObjectEventListener):
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
(WebKit::core):
(webkit_dom_test_callback_finalize):
(webkit_dom_test_callback_class_init):
(WebKit::wrapTestCallback):
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
(WebKit::core):
(webkit_dom_test_interface_finalize):
(webkit_dom_test_interface_class_init):
(WebKit::wrapTestInterface):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(WebKit::core):
(webkit_dom_test_obj_finalize):
(webkit_dom_test_obj_class_init):
(WebKit::wrapTestObj):
* dom/EventListener.h:
(WebCore::EventListener::):
2010-05-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=33590
We need to protect the body of some methods with #ifdefs, since
the availability of the code they call into is decided at compile
time.
* bindings/scripts/CodeGeneratorGObject.pm:
2010-05-26 Kent Tamura <tkent@chromium.org>
Reviewed by Shinichiro Hamaji.
Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=39423
The minimum and maximum values for date, datetime, datetime-local,
month, time, and week types depend on the implementation of
DateComponents. So move them to DateComponents.
* html/DateComponents.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::minimum):
(WebCore::HTMLInputElement::maximum):
2010-05-26 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Simon Hausmann.
Buildfix for build without ENABLE(RUBY) after r60201.
* rendering/RenderBlock.cpp:
(WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.
2010-05-26 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
(WebCore::JSTestInterface::createPrototype):
* bindings/scripts/test/JS/JSTestInterface.h:
(WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::JSTestObjConstructor):
(WebCore::JSTestObj::createPrototype):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObjPrototype::JSTestObjPrototype):
2010-05-25 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GStreamer] Apple trailers not playing
https://bugs.webkit.org/show_bug.cgi?id=37390
Set the AppleTrailer User-Agent workaround after
FrameLoader::addExtraFieldsToSubresourceRequest has been called
because that method sets the global User-Agent.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart):
2010-05-25 Dumitru Daniliuc <dumi@chromium.org>
Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::dropVTable):
2010-05-25 Mark Rowe <mrowe@apple.com>
Build fix.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2010-05-25 Yuta Kitamura <yutak@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Show HTTP status message sent from server in Resources tab.
This patch obtains an HTTP status message of each resource and pass it to
the front end of Web Inspector. The status message is shown in "Headers" tab in
the detail view of that resource, along with the HTTP status code.
Web Inspector does not respect HTTP status message
https://bugs.webkit.org/show_bug.cgi?id=39595
* inspector/InspectorResource.cpp:
(WebCore::InspectorResource::updateResponse):
(WebCore::InspectorResource::updateScriptObject):
* inspector/InspectorResource.h:
* inspector/front-end/Resource.js:
(WebInspector.Resource.CompareByTransferSize):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView.prototype._refreshHTTPInformation):
* inspector/front-end/inspector.js:
(WebInspector.updateResource):
* inspector/front-end/utilities.js:
(String.prototype.escapeHTML): Escape '"' so that we can escape messages
that may occur inside HTML attributes.
2010-05-24 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.
This patch adds support for -webkit-column-span elements that can span across all of the columns
in a multi-column block. In this first stage, column span support is limited to only immediate
children of the multi-column block, so no elements actually have to split across a span yet.
Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
span blocks. When a span gets inserted into a multicol block, the block is split, with the
column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
wrapped in anonymous column span blocks. The multicol block then stops being multicol and lets
the anonymous multicol blocks take over column layout.
Many new tests added in fast/multicol/span.
* dom/Node.cpp:
(WebCore::Node::diff):
Changes to column span result in a detach/attach, since spanning elements don't typically have
much content.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleDidChange):
Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
This method handles the insertion of new children into the block after it has had to wrap its
children in anonymous column/column-span blocks.
(WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
A helper method for splitting all anonymous blocks between beforeChild and this block so that
a new element with an incompatible type can be inserted between them.
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
This method does the initial split of a block into anonymous components. This happens the first
time a column-span element gets inserted into the block.
(WebCore::columnsBlockForSpanningElement):
This function checks whether or not the column-span element is actually being inserted into a viable
columns block.
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
This is the original RenderBlock::addChild. It handles everything else just like it used to.
(WebCore::RenderBlock::addChild):
Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
in anonymous column/column-span blocks already.
(WebCore::RenderBlock::moveAllChildrenTo):
moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
are shifting across layers. (This should arguably be the default behavior, but that can happen in
a future patch.)
(WebCore::RenderBlock::removeLeftoverAnonymousBlock):
Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
block from being coalesced with a parent if they are non-empty.
(WebCore::canMergeContiguousAnonymousBlocks):
Whether or not two contiguous anonymous blocks can merge after the removal of a child.
(WebCore::RenderBlock::removeChild):
removeChild has been patched to handle more cases of merging/deletion than it did before. It
can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
that don't share the same childrenInline() setting (by putting one inside the other). It also
makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
(WebCore::RenderBlock::fillSelectionGaps):
Don't let the selection extend outside of a column-span.
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):
Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
column/column-span blocks.
(WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
(WebCore::RenderBlock::createAnonymousColumnsBlock):
(WebCore::RenderBlock::createAnonymousColumnSpanBlock):
New helper functions for anonymous block creation.
(WebCore::RenderBlock::renderName):
Patched to dump anonymous column and column-span blocks so that they can be distinguished from
regular anonymous blocks.
* rendering/RenderBlock.h:
* rendering/RenderObject.h:
(WebCore::RenderObject::isAnonymousColumnsBlock):
(WebCore::RenderObject::isAnonymousColumnSpanBlock):
New helper functions for asking the type of an anonymous block.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::inheritColumnPropertiesFrom):
A helper function to allow anonymous column blocks to easily inherit all column properties for
rendering.
2010-05-25 Dirk Pranke <dpranke@chromium.org>
Reviewed by Dimitri Glazkov.
Re-commit r58765 - it had been rolled out to see if it was causing
a perf regression (in r59787), but that does not seem to have been
the case.
Tests: fast/notifications/notifications-replace.html
fast/notifications/notifications-rtl.html
https://bugs.webkit.org/show_bug.cgi?id=39605
* notifications/Notification.h:
(WebCore::Notification::dir):
(WebCore::Notification::setDir):
(WebCore::Notification::replaceId):
(WebCore::Notification::setReplaceId):
* notifications/Notification.idl:
2010-05-22 Jer Noble <jer.noble@apple.com>
Reviewed by Adam Roben.
Full screen doesn't work for video elements
https://bugs.webkit.org/show_bug.cgi?id=39557
rdar://problem/8011813
Add fullscreen support for MediaPlayerPrivateVisualContext. A new class, MediaPlayerPrivateFullscreenWindow,
provides the fullscreen hwnd and layer renderer. Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
so future additional MediaPlayerPrivate implementations can use the fullscreen window.
Minor additions have been made to the FloatSize and IntSize classes.
MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new
videoLayer; this is an existing bug that was never really exposed before now.
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
(WebCore::FloatSize::aspectRatio):
(WebCore::FloatSize::scale):
* platform/graphics/IntSize.h: Added aspectRatio().
(WebCore::IntSize::aspectRatio):
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::WKCACFLayer):
(WebCore::WKCACFLayer::removeFromSuperlayer):
(WebCore::WKCACFLayer::setFrame):
(WebCore::WKCACFLayer::internalSetNeedsDisplay):
(WebCore::WKCACFLayer::setLayoutClient):
(WebCore::WKCACFLayer::layoutSublayersProc):
(WebCore::WKCACFLayer::layoutClient):
(WebCore::WKCACFLayer::setNeedsLayout):
* platform/graphics/win/WKCACFLayer.h: Add layout client class.
(WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
(WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
* platform/graphics/win/WebTiledLayer.cpp:
(WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
* platform/graphics/win/WebTiledLayer.h:
* platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
(WebCore::WebTiledLayer::setFrame):
* platform/graphics/win/WebTiledLayer.h:
2010-05-25 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Brady Eidson.
Allow FTS3 functions.
https://bugs.webkit.org/show_bug.cgi?id=38003
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
(WebCore::DatabaseAuthorizer::createVTable):
2010-05-25 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Get rid of PluginDatabaseClient
https://bugs.webkit.org/show_bug.cgi?id=39685
PluginDatabaseClient isn't used anywhere so just remove it.
* GNUmakefile.am:
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::PluginDatabase):
(WebCore::PluginDatabase::refresh):
* plugins/PluginDatabase.h:
* plugins/PluginDatabaseClient.h: Removed.
2010-05-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=18595
REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze
Test: fast/events/frame-detached-in-mousedown.html
* page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
node on mouse up. It's only done for nodes that hold subframes - elements that capture events
are responsible for resetting the state.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
RefPtr and is initialized automatically.
(WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
capturing node on its own.
(WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
from the below in r21156. Copied correct code instead.
(WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
(WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
reset capturing node on its own.
2010-05-25 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix for missing symbol.
* wscript:
2010-05-25 Darin Adler <darin@apple.com>
* dom/Element.cpp:
(WebCore::Element::getIDAttribute): Added comments about problems with this function.
2010-05-25 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Gustavo Noronha Silva.
[EFL] Build fix.
http://webkit.org/b/39598
* CMakeLists.txt:
2010-05-25 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
https://bugs.webkit.org/show_bug.cgi?id=36037
<rdar://problem/8022887>
The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
cases would iterate through every position as offset in a block before moving to the last child in the block.
This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
every position in the block before considering the last true position in the block.
The performance was linear with the number of child nodes in the block, instead of constant.
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::decrement):
2010-05-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=39621
<rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
The largest cause of memory growth on this test were autoreleased DOMNode objects created
to make webView:formStateDidChangeForNode: delegate calls.
* html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
safe to call functions that are likely to create temporary wrappers (wrapper destructor
would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).
2010-05-25 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
[DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
https://bugs.webkit.org/show_bug.cgi?id=39652
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.
2010-05-25 Darin Adler <darin@apple.com>
Sort ".exp" files with the sort tool.
This makes later merging easier.
These Mac-specific files should probably move into a subdirectory
at some point.
* WebCore.Inspector.exp: Sorted.
* WebCore.PluginHostProcess.exp: Removed blank line.
* WebCore.VideoProxy.exp: Sorted.
* WebCore.base.exp: Ditto.
2010-05-25 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
Removing the persistent GraphicsContext from LayerChromium to save on
memory and simplify code. Layers now create a temporary context, draw into
it, update the GL texture and discard the context.
https://bugs.webkit.org/show_bug.cgi?id=39640
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::~LayerChromium):
(WebCore::LayerChromium::setLayerRenderer):
(WebCore::LayerChromium::updateTextureContents):
(WebCore::LayerChromium::setContents):
(WebCore::LayerChromium::setBounds):
(WebCore::LayerChromium::setNeedsDisplay):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::setRootLayerCanvasSize):
(WebCore::LayerRendererChromium::drawLayers):
(WebCore::LayerRendererChromium::assignTextureForLayer):
(WebCore::LayerRendererChromium::compositeLayersRecursive):
* platform/graphics/chromium/LayerRendererChromium.h:
(WebCore::LayerRendererChromium::rootLayerGraphicsContext):
2010-05-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Hausmann.
[Qt] Make text filling work together with text stroke.
When the text has stroke a new QPen was set, overriding the pen
set for text filling. This patch fixes that by storing the two
pens and using where appropriate.
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::drawComplexText):
2010-05-17 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Darin Adler.
Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
https://bugs.webkit.org/show_bug.cgi?id=39217
It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
could receive a parameter to specify where to start scrolling from. Currently they
start scrolling from either the current focused node or the node where mouse last
pressed on. Patch proposes an aditional starting point as an optional parameter.
Since it is optional, all call sites can remain as are, and if a Null node is passed
in, both methods work as previously.
* page/EventHandler.cpp:
(WebCore::EventHandler::scrollOverflow):
(WebCore::EventHandler::scrollRecursively):
* page/EventHandler.h:
2010-05-25 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: localize heap graph strings.
https://bugs.webkit.org/show_bug.cgi?id=39674
* English.lproj/localizedStrings.js:
2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Switch HTML parsing benchmark to use document.write instead of innerHTML
https://bugs.webkit.org/show_bug.cgi?id=39661
We'd like to exercise the main parsing pipeline instead of the fragment
parsing pipeline.
* benchmarks/parser/html-parser.html:
2010-05-25 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Laszlo Gombos.
[Qt] Running with accelerated compositing enabled sometimes result in a crash
https://bugs.webkit.org/show_bug.cgi?id=39609
Check if we have a scene before applying the workaround for
the QGraphicsScene bug where opacity change doesn't always have
immediate effect.
* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::OpacityAnimationQt::applyFrame):
2010-05-25 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix Chromium Mac Release build.
* bindings/v8/ScriptDebugServer.cpp:
2010-05-24 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
depend on v8 debugging protocol, instead it uses ExecState to collect debugging
info and pass it to the listeners.
New implementation of ScriptDebugServer uses methods provided by client to dispatch
its messages while JS is paused(previously the messages was dispatched in a callback
passed to v8 along with DebugEventHandler).
https://bugs.webkit.org/show_bug.cgi?id=39594
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidPause):
(WebCore::ScriptDebugServer::dispatchDidContinue):
(WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
invocation of ScriptDebugListener methods that have non-empty argument list.
(WebCore::ScriptDebugServer::pauseIfNeeded):
* bindings/js/ScriptDebugServer.h:
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::retrieveFrame):
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::addListener):
(WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
corresponding debugger window closes.
(WebCore::ScriptDebugServer::clearBreakpoints):
(WebCore::ScriptDebugServer::pauseOnExceptionsState):
(WebCore::ScriptDebugServer::setPauseOnExceptionsState):
(WebCore::ScriptDebugServer::continueProgram):
(WebCore::ScriptDebugServer::stepIntoStatement):
(WebCore::ScriptDebugServer::stepOverStatement):
(WebCore::ScriptDebugServer::stepOutOfFunction):
(WebCore::ScriptDebugServer::v8DebugEventCallback):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
(WebCore::ScriptDebugServer::didResume):
* bindings/v8/ScriptDebugServer.h:
(WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
(WebCore::ScriptDebugServer::setClientMessageLoop):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didPause):
* inspector/InspectorController.h:
* inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
where execution is paused.
2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Clear attributes for each tag in the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39660
Yes, I did screw this up.
* html/HTML5Token.h:
(WebCore::HTML5Token::beginStartTag):
(WebCore::HTML5Token::beginEndTag):
2010-05-25 Anders Bakken <agbakken@gmail.com>
Reviewed by Darin Adler.
Remove warning for GCC 4.4.3
GCC suggest parentheses around && within ||
* dom/Element.cpp:
(WebCore::Element::recalcStyle):
2010-05-25 Xan Lopez <xlopez@igalia.com>
Fix the GTK+ build, PluginInfoStore was removed.
* GNUmakefile.am:
2010-05-25 Ada Chan <adachan@apple.com>
Reviewed by Steve Falkenburg.
Add a base class for DOMTimer called SuspendableTimer which captures just the
basic functionality of TimerBase and ActiveDOMObject combined. It does not
contain functionality specific to scripting timers.
SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::contextDestroyed):
(WebCore::DOMTimer::stop):
* page/DOMTimer.h:
* page/SuspendableTimer.cpp: Added.
(WebCore::SuspendableTimer::SuspendableTimer):
(WebCore::SuspendableTimer::~SuspendableTimer):
(WebCore::SuspendableTimer::hasPendingActivity):
(WebCore::SuspendableTimer::stop):
(WebCore::SuspendableTimer::suspend):
(WebCore::SuspendableTimer::resume):
(WebCore::SuspendableTimer::canSuspend):
* page/SuspendableTimer.h: Added.
2010-05-25 Justin Schuh <jschuh@chromium.org>
Reviewed by Nate Chapin.
Remove custom bindings for Element.SetAttribute*
https://bugs.webkit.org/show_bug.cgi?id=39604
Custom bindings are no longer needed because origin checks were moved
out of the bindings by: http://trac.webkit.org/changeset/59866
Behavior isn't changed and is covered by existing tests.
* bindings/js/JSElementCustom.cpp:
* bindings/v8/custom/V8ElementCustom.cpp:
* dom/Element.idl:
2010-05-25 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Add memory graph to Timeline overview pane.
https://bugs.webkit.org/show_bug.cgi?id=37879
* inspector/front-end/Drawer.js:
(WebInspector.Drawer):
(WebInspector.Drawer.prototype.show.animationFinished):
(WebInspector.Drawer.prototype.show):
(WebInspector.Drawer.prototype.hide):
(WebInspector.Drawer.prototype.set currentPanelCounters):
* inspector/front-end/Panel.js:
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.showTimelines):
(WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
(WebInspector.TimelineOverviewPane.prototype._forAllRecords):
(WebInspector.TimelineOverviewPane.prototype.update):
(WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
(WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
(WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
(WebInspector.HeapGraph):
(WebInspector.HeapGraph.prototype.get element):
(WebInspector.HeapGraph.prototype.get visible):
(WebInspector.HeapGraph.prototype.show):
(WebInspector.HeapGraph.prototype.hide):
(WebInspector.HeapGraph.prototype.setSize):
(WebInspector.HeapGraph.prototype.update):
(WebInspector.HeapGraph.prototype._clear):
(WebInspector.HeapGraph.prototype._drawScale):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
(WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
(WebInspector.TimelinePanel.prototype.setSidebarWidth):
(WebInspector.TimelinePanel.prototype.show):
(WebInspector.TimelinePanel.prototype.hide):
* inspector/front-end/inspector.css:
(#counters):
(#timeline-overview-sidebar):
(.timeline-category-statusbar-item):
(.timeline-category-statusbar-item .timeline-category-checkbox):
(.timeline-category-statusbar-item .timeline-category-checkbox:checked):
(.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
(.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
(.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
(#timeline-overview-memory):
(.timeline-records-counter):
(#main-status-bar > .timeline-records-counter):
(#counters > .timeline-records-counter):
* inspector/front-end/inspector.html:
* inspector/front-end/utilities.js:
():
2010-05-25 Adam Barth <abarth@webkit.org>
Unreviewed. Fix typo pointed out by Maciej.
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::unconsumeCharacters):
(WebCore::HTML5Lexer::consumeEntity):
2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Fix <noembed> and <plaintext> content models
https://bugs.webkit.org/show_bug.cgi?id=39653
PLAINTEXTState is my favorite lexer state. :)
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2010-05-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
First cut at HTML5 entities
https://bugs.webkit.org/show_bug.cgi?id=39649
There's still a bunch more work to do to get our entity parsing fully
up to spec. This patch contains the bulk of the implementation
however.
The basics are covered by the existing html5lib tests. I'll add more
detailed tests in a followup patch.
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::legalEntityFor):
(WebCore::HTMLNames::isHexDigit):
(WebCore::HTMLNames::isAlphaNumeric):
(WebCore::HTMLNames::uncomsumeCharacters):
(WebCore::HTML5Lexer::consumeEntity):
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::haveBufferedCharacterToken):
* html/HTML5Lexer.h:
(WebCore::HTML5Lexer::):
* html/HTML5Tokenizer.cpp:
(WebCore::HTML5Tokenizer::write):
2010-05-24 Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Fix compilation with QT_NO_TEMPORARYFILE
https://bugs.webkit.org/show_bug.cgi?id=38324
* platform/qt/FileSystemQt.cpp:
(WebCore::openTemporaryFile):
2010-05-24 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Fixed handling of bare '/' and '?' at console prompt.
https://bugs.webkit.org/show_bug.cgi?id=39585
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):
2010-05-24 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Sam Weinig.
The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.
Spec link:
http://www.w3.org/TR/WebIDL/#interface-object
https://bugs.webkit.org/show_bug.cgi?id=39436
Test: fast/dom/prototype-property.html
* bindings/scripts/CodeGeneratorJS.pm:
2010-05-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add RCDATA and RAWTEXT suport to the HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=39642
Adam Barth wrote half of this patch.
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2010-05-24 Tony Chang <tony@chromium.org>
Not reviewed, build fix.
Fix the chromium compile due to pageZoomFactor refactoring.
* page/EventHandler.cpp:
(WebCore::pageZoomFactor):
2010-05-24 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
HTML5 <video> tag performance worse than Flash
https://bugs.webkit.org/show_bug.cgi?id=39577
rdar://problem/7982458
Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
a CAImageQueueRef to be set as a layer's contents.
WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if
certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTPixelBuffer.cpp:
* platform/graphics/win/QTPixelBuffer.h:
* platform/graphics/win/WKCACFLayer.cpp:
* platform/graphics/win/WKCACFLayer.h:
* platform/graphics/win/WKCAImageQueue.cpp: Added.
* platform/graphics/win/WKCAImageQueue.h: Added.
2010-05-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Teach the HTML5 parser how to lex escaped script data
https://bugs.webkit.org/show_bug.cgi?id=39630
* html/HTML5Lexer.cpp:
(WebCore::HTMLNames::vectorEqualsString):
(WebCore::HTML5Lexer::nextToken):
(WebCore::HTML5Lexer::temporaryBufferIs):
(WebCore::HTML5Lexer::isAppropriateEndTag):
(WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
(WebCore::HTML5Lexer::flushBufferedEndTag):
* html/HTML5Lexer.h:
2010-05-24 Eric Seidel <eric@webkit.org>
Unreviewed. Trick MSVC into ignoring our unused code for the moment.
Prepare HTML5TreeBuilder for addition of new HTML5 parser code
https://bugs.webkit.org/show_bug.cgi?id=39623
* html/HTML5TreeBuilder.cpp:
(WebCore::HTML5TreeBuilder::constructTreeFromToken):
2010-05-24 Darin Adler <darin@apple.com>
Fix build on platforms with touch code enabled.
* page/EventHandler.cpp:
(WebCore::pageZoomFactor): Added.
(WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.
2010-05-24 Darin Adler <darin@apple.com>
Reviewed by Eric Seidel.
Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366
Refactoring only so adds no new tests.
* WebCore.base.exp: Updated.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
on FrameView.
(WebCore::CSSStyleSelector::applyProperty): Ditto.
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
* dom/Document.cpp:
(WebCore::Document::elementFromPoint): Ditto.
(WebCore::Document::caretRangeFromPoint): Ditto.
* dom/MouseRelatedEvent.cpp:
(WebCore::contentsX): Ditto.
(WebCore::contentsY): Ditto.
(WebCore::pageZoomFactor): Added helper function.
(WebCore::MouseRelatedEvent::computePageLocation): Use helper.
(WebCore::MouseRelatedEvent::receivedTarget): Ditto.
* dom/Node.cpp:
(WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
(WebCore::Node::dispatchWheelEvent): Ditto.
* dom/Touch.cpp:
(WebCore::contentsX): Call zoom factor function on FrameView.
(WebCore::contentsY): Ditto.
* html/HTMLBodyElement.cpp:
(WebCore::adjustForZoom): Ditto.
(WebCore::HTMLBodyElement::setScrollLeft): Ditto.
(WebCore::HTMLBodyElement::setScrollTop): Ditto.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::width): Ditto.
(WebCore::HTMLImageElement::height): Ditto.
* loader/ImageDocument.cpp:
(WebCore::pageZoomFactor): Added helper function.
(WebCore::ImageTokenizer::finish): Use helper function
(WebCore::ImageDocument::scale): Ditto.
(WebCore::ImageDocument::resizeImageToFit): Ditto.
(WebCore::ImageDocument::imageChanged): Ditto.
(WebCore::ImageDocument::restoreImageSize): Ditto.
(WebCore::ImageDocument::imageFitsInWindow): Ditto.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight): Ditto.
(WebCore::DOMWindow::innerWidth): Ditto.
(WebCore::DOMWindow::scrollX): Ditto.
(WebCore::DOMWindow::scrollY): Ditto.
(WebCore::DOMWindow::scrollTo): Ditto.
* page/DragController.cpp:
(WebCore::elementUnderMouse): Ditto.
* page/Frame.cpp:
(WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
* page/Frame.h: Moved functions to FrameView. Moved all #if to the left
margin to make the style consistent. Removed empty function
removeEditingStyleFromBodyElement.
* page/FrameView.cpp:
(WebCore::parentZoomFactor): Added helper function for constructor.
(WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
(WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
(WebCore::FrameView::shouldApplyPageZoom): Ditto.
(WebCore::FrameView::setZoomFactor): Ditto.
* page/FrameView.h: Added members moved here from Frame.
* rendering/RenderView.cpp:
(WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentScale): Ditto.
(WebCore::SVGSVGElement::setCurrentScale): Ditto.
2010-05-24 Jer Noble <jer.noble@apple.com>
No review; build fix only.
Roll-out changes r60094, 60096-60097.
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTPixelBuffer.cpp:
* platform/graphics/win/QTPixelBuffer.h:
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::printLayer):
* platform/graphics/win/WKCACFLayer.h:
(WebCore::WKCACFLayer::setContents):
(WebCore::WKCACFLayer::contents):
(WebCore::WKCACFLayer::speed):
(WebCore::WKCACFLayer::timeOffset):
* platform/graphics/win/WKCAImageQueue.cpp: Removed.
* platform/graphics/win/WKCAImageQueue.h: Removed.
2010-05-24 Eric Seidel <eric@webkit.org>
Unreviewed. Add wtf/UnusedParam.h include to make Chromium happy.
Chromium does not use a prefix header in order to support
distcc3. Other ports all do. The real fix is to remove
wtf/UnusedParam.h from the prefix header.
* html/HTML5TreeBuilder.cpp:
2010-05-24 Jer Noble <jer.noble@apple.com>
No review; build fix only.
Second half of previous build fix, in which I add the include in the correct place.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2010-05-24 Jer Noble <jer.noble@apple.com>
No review; build fix only.
Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2010-05-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Prepare HTML5TreeBuilder for addition of new HTML5 parser code
https://bugs.webkit.org/show_bug.cgi?id=39623
Before we start transcribing the parser, we need a place to put it.
This also cleans up HTML5 token to not convert comment and character
data into AtomicStrings (which makes no sense).
No functionality change, so no new tests.
* html/HTML5Token.h:
(WebCore::HTML5Token::beginStartTag):
(WebCore::HTML5Token::beginEndTag):
(WebCore::HTML5Token::beginCharacter):
(WebCore::HTML5Token::beginComment):
(WebCore::HTML5Token::name):
(WebCore::HTML5Token::adoptDataAsStringImpl):
(WebCore::HTML5Token::characters):
(WebCore::HTML5Token::commentData):
(WebCore::HTML5Token::clearData):
* html/HTML5TreeBuilder.cpp:
(WebCore::convertToOldStyle):
(WebCore::HTML5TreeBuilder::constructTreeFromToken):
(WebCore::HTML5TreeBuilder::processToken):
* html/HTML5TreeBuilder.h:
2010-05-23 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
HTML5 <video> tag performance worse than Flash
https://bugs.webkit.org/show_bug.cgi?id=39577
rdar://problem/7982458
Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
a CAImageQueueRef to be set as a layer's contents.
WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if
certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
* platform/graphics/win/QTPixelBuffer.cpp:
* platform/graphics/win/QTPixelBuffer.h:
* platform/graphics/win/WKCACFLayer.cpp:
* platform/graphics/win/WKCACFLayer.h:
* platform/graphics/win/WKCAImageQueue.cpp: Added.
* platform/graphics/win/WKCAImageQueue.h: Added.
2010-05-24 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
<rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
Currently, a Tracker needs to know it's path before origins are populated. Testing databases and
related features is made very difficult with this regression, so instead of changing things in a
complicated way to make this not the case, I've added an "initialize Tracker with this path" function
that calls the DatabaseTracker constructor with the initial path.
I checked the other platforms besides Mac and Win, and none of them seem to perform the
"initialize databases if necessary" step in their init routines, so this change shouldn't effect them.
No new tests. (API specific layout test in DRT is forthcoming)
* WebCore.base.exp:
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
(WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
can share it. Add a fallback to not change behavior of platforms that don't call the new
"initializeTracker()" method.
(WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
* storage/DatabaseTracker.h:
* storage/chromium/DatabaseTrackerChromium.cpp:
(WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
(WebCore::DatabaseTracker::DatabaseTracker): Ditto.
2010-05-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Teach the HTML5 parser to lex DOCTYPEs
https://bugs.webkit.org/show_bug.cgi?id=39571
* html/HTML5Lexer.cpp:
(WebCore::HTML5Lexer::nextToken):
* html/HTML5Lexer.h:
* html/HTML5Token.h:
(WebCore::HTML5Token::beginDOCTYPE):
(WebCore::HTML5Token::publicIdentifier):
(WebCore::HTML5Token::systemIdentifier):
(WebCore::HTML5Token::setPublicIdentifierToEmptyString):
(WebCore::HTML5Token::setSystemIdentifierToEmptyString):
(WebCore::HTML5Token::appendToPublicIdentifier):
(WebCore::HTML5Token::appendToSystemIdentifier):
(WebCore::HTML5Token::DoctypeData::DoctypeData):
* html/HTML5TreeBuilder.cpp:
(WebCore::convertToOldStyle):
(WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
* platform/text/SegmentedString.h:
(WebCore::SegmentedString::lookAheadIgnoringCase):
(WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
== Rolled over to ChangeLog-2010-05-24 ==