ChangeLog-2010-12-06 [plain text]
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 ancestor’s
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 DumpRenderTree’s 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 I’d 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
table’s 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 table’s 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 don’t 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 don’t support different block flows yet.
This change still doesn’t support cells whose block flow differs from the table’s.
* 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 table’s block flow, not the cell’s, 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 table’s 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
table’s 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.
(Web