blob: a6c6abbc0ed224d4d4ef034576af386300b8d514 [file] [log] [blame]
2007-12-27 Dan Bernstein <mitz@apple.com>
Reviewed by Alexey Proskuryakov.
- fix http://bugs.webkit.org/show_bug.cgi?id=16628
ASSERTION FAILED: m_resizeLayer (running layout tests)
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::~RenderLayer): Avoid calling
EventHandler::resizeLayerDestroyed() if the document is being destroyed.
2007-12-27 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- fix http://bugs.webkit.org/show_bug.cgi?id=16603
<rdar://problem/5664199> Crash when resizing text field
Test: fast/layers/resize-layer-deletion-crash.html
The event handler has only a weak reference to the layer that is
currently in resize mode, so it is the layer's responsibility to let
the event handler know if it has been destroyed while in that mode.
* page/EventHandler.cpp:
(WebCore::EventHandler::resizeLayerDestroyed): Added. Resets
m_resizeLayer to 0.
* page/EventHandler.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::~RenderLayer): Added a call to
EventHandler::resizeLayerDestroyed() if the layer is in resize mode.
2007-12-27 Collin Jackson <webkit@collinjackson.com>
Reviewed by Sam Weinig.
http://bugs.webkit.org/show_bug.cgi?id=16539
<rdar://problem/5659269>
The same-origin check was missing in the implementation of
setTimeout, setInterval, addEventListener, and removeEventListener.
Suppose <http://www.badguy.com/> contains an iframe to
<http://www.goodguy.com/>. Now www.badguy.com can steal
www.goodguy.com cookies by running this code:
setTimeout.call(frames[0], "alert(document.cookie)", 1000);
This patch changes the behavior so that setTimeout to does
nothing and returns an undefined value if the caller is not
permitted to script the window whose setTimeout method is being
called. The same applies to setInterval, addEventListener, and
removeEventListener.
Tests: http/tests/security/cross-frame-access-call.html
* bindings/js/kjs_window.cpp:
(KJS::WindowProtoFuncSetTimeout::callAsFunction)
(KJS::WindowProtoFuncSetInterval::callAsFunction)
(KJS::WindowProtoFuncAddEventListener::callAsFunction)
(KJS::WindowProtoFuncRemoveEventListener::callAsFunction)
2007-12-27 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt and Sam Weinig.
- fix <rdar://problem/5605937> Inspector: Disclosure triangle not drawn in node's properties panel until click
Test: fast/layers/add-layer-with-nested-stacking.html
Test: fast/layers/remove-layer-with-nested-stacking.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild): If the new child is overflow-only
but has children of its own, dirty the stacking context's z-order lists
since the grandchildren might need to be in them.
(WebCore::RenderLayer::removeChild): Similarly for the old child.
2007-12-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16353
[GTK] Check for deprecated API use (G_DISABLE_DEPRECATED etc.)
Added the flags mentioned in the bug only when doing 'debug'
builds. -DGST_DISABLE_DEPRECATED only added when video is enabled.
* GNUmakefile.am:
* WebCore.pro:
2007-12-27 Dan Bernstein <mitz@apple.com>
Reviewed by Eric Seidel.
- fix http://bugs.webkit.org/show_bug.cgi?id=16490
ASSERT in ~FrameView while viewing/reloading WICD test case
Test: fast/dynamic/paused-event-dispatch.html
* page/FrameView.cpp:
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::layout): Changed to always pause event dispatch and
always resume event dispatch, regardless of whether the post-layout
task timer is active. However, if it is active, assert that event
dispatch is still paused.
2007-12-27 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=14500
need to be more generous about charset declaration with meta tag
http://bugs.webkit.org/show_bug.cgi?id=12526
<rdar://problem/4867183> Safari ignores encoding description "charset=Shift_JIS" in invalid html
<rdar://problem/4892428> Unlike other browsers, WebKit ignores <meta> charset definitions outside the head
<rdar://problem/5643774> REGRESSION: Text is garbled when clicking a link inside an Arabic website
Tests: fast/encoding/ahram-org-eg.html
fast/encoding/bandai-co-jp-releases.html
fast/encoding/floraexpress-ru.html
fast/encoding/hanarei-blog32-fc2-com.html
fast/encoding/yahoo-mail.html
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForHeadCharset): Don't stop looking for <meta> until we've
seen at least 512 bytes of input.
2007-12-26 Jan Michael Alonzo <jmalonzo@unpluggable.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16390
Use autotools or GNU make as the build system for the GTK port
* GNUmakefile.am: Added.
2007-12-26 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Sam Weinig.
http://bugs.webkit.org/show_bug.cgi?id=16609
Make manual-tests/xmlhttprequest-contenttype-empty.html test automatic
* manual-tests/xmlhttprequest-contenttype-empty.html: Removed (moved to LayoutTests/http).
2007-12-26 Mark Rowe <mrowe@apple.com>
Windows build fix.
* platform/Threading.h:
2007-12-25 Rob Buis <buis@kde.org>
Reviewed by Eric.
http://bugs.webkit.org/show_bug.cgi?id=15514
<clipPath> with <use> not respected
http://bugs.webkit.org/show_bug.cgi?id=16557
SVG circle elements have been clipped away completely, instead of partially.
Add toClipPath to get clip path data for the clipping paths. Implement it for <use>, thereby allowing clip paths using use.
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::canvasResource):
* svg/SVGStyledTransformableElement.h:
(WebCore::SVGStyledTransformableElement::toClipPath):
* svg/SVGUseElement.cpp:
(WebCore::isDirectReference):
(WebCore::SVGUseElement::toClipPath):
* svg/SVGUseElement.h:
2007-12-25 Sam Weinig <sam@webkit.org>
Reviewed by Eric Seidel.
Clean up the files relating to NodeLists.
* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList):
(WebCore::ChildNodeList::length):
(WebCore::ChildNodeList::item):
(WebCore::ChildNodeList::nodeMatches):
* dom/ChildNodeList.h:
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::itemForwardsFromCurrent):
(WebCore::DynamicNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicNodeList::itemWithName):
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeList::needsNotifications):
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::rootNodeAttributeChanged):
(WebCore::NameNodeList::nodeMatches):
* dom/NameNodeList.h:
* dom/NodeList.h:
* dom/SelectorNodeList.h:
2007-12-25 Sam Weinig <sam@webkit.org>
Fix non-mac builds.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCoreSources.bkl:
2007-12-25 Sam Weinig <sam@webkit.org>
Rubber stamped by Eric Seidel.
Move TagNodeList into its own file.
* WebCore.xcodeproj/project.pbxproj:
* dom/Node.cpp:
* dom/TagNodeList.cpp: Copied from dom/Node.cpp.
(WebCore::TagNodeList::TagNodeList):
* dom/TagNodeList.h: Copied from dom/Node.cpp.
2007-12-25 Sam Weinig <sam@webkit.org>
Reviewed by Eric Seidel.
Simplify the NodeList architecture.
- Rename recursiveItem() to item(), since it is not recursive.
- Make recursiveLength() iterative and rename to length().
- Remove now unneeded overrides of item() and length() that used
to call the recursive variants.
* dom/ClassNodeList.cpp:
* dom/ClassNodeList.h:
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::length):
(WebCore::DynamicNodeList::item):
(WebCore::DynamicNodeList::rootNodeAttributeChanged): Move implementation
into the .cpp file since virtual methods can't be inlined.
* dom/DynamicNodeList.h:
* dom/NameNodeList.cpp:
* dom/NameNodeList.h:
* dom/Node.cpp:
2007-12-25 Alp Toker <alp@atoker.com>
More complete GTK+/Qt/Wx/Win build fixes for breakage introduced in
r28981.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCoreSources.bkl:
2007-12-25 Alp Toker <alp@atoker.com>
Win build fix for breakage introduced in r28981.
* WebCore.vcproj/WebCore.vcproj:
2007-12-25 Alp Toker <alp@atoker.com>
Wx build fix for breakage introduced in r28981.
* WebCoreSources.bkl:
2007-12-25 Alp Toker <alp@atoker.com>
GTK+/Qt build fix for breakage introduced in r28981.
* WebCore.pro:
2007-12-25 David Smith <catfish.man@gmail.com> and Sam Weinig <sam@webkit.org>
Reviewed by Oliver.
- http://bugs.webkit.org/show_bug.cgi?id=16587
Implement the most useful part of the W3C Selectors API.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.h: Make Node a friend of CSSStyleSelector so it can use checkSelector()
* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList): Change to being a DynamicNodeList
* dom/ChildNodeList.h:
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList): Change to being a DynamicNodeList
* dom/ClassNodeList.h:
* dom/Document.idl: Add the new functions
* dom/DynamicNodeList.cpp: Copied from WebCore/dom/NodeList.cpp.
(WebCore::DynamicNodeList::DynamicNodeList): Rename NodeList to DynamicNodeList, to differentiate it from the new StaticNodeList
(WebCore::DynamicNodeList::~DynamicNodeList):
(WebCore::DynamicNodeList::recursiveLength):
(WebCore::DynamicNodeList::itemForwardsFromCurrent):
(WebCore::DynamicNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicNodeList::recursiveItem):
(WebCore::DynamicNodeList::itemWithName):
(WebCore::DynamicNodeList::rootNodeChildrenChanged):
(WebCore::DynamicNodeList::Caches::Caches):
(WebCore::DynamicNodeList::Caches::reset):
* dom/DynamicNodeList.h: Copied from WebCore/dom/NodeList.h.
(WebCore::DynamicNodeList::rootNodeAttributeChanged):
* dom/Element.idl: Add the new functions
* dom/NameNodeList.cpp: Change to being a DynamicNodeList
(WebCore::NameNodeList::NameNodeList):
* dom/NameNodeList.h:
(WebCore::NameNodeList::rootNodeAttributeChanged):
* dom/Node.cpp:
(WebCore::TagNodeList::TagNodeList): Change to being a DynamicNodeList
(WebCore::Node::registerDynamicNodeList):
(WebCore::Node::unregisterDynamicNodeList):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::querySelector): new
(WebCore::Node::querySelectorAll): new
* dom/Node.h:
* dom/NodeList.cpp: Removed.
* dom/NodeList.h: This is now an abstract superclass of DynamicNodeList and StaticNodeList
(WebCore::NodeList::NodeList):
(WebCore::NodeList::~NodeList):
* dom/SelectorNodeList.cpp: Added.
(WebCore::SelectorNodeList::SelectorNodeList): New StaticNodeList subclass that filters elements by CSS selector
* dom/SelectorNodeList.h: Added.
* dom/StaticNodeList.cpp: Added.
(WebCore::StaticNodeList::length):
(WebCore::StaticNodeList::item):
(WebCore::StaticNodeList::itemWithName):
* dom/StaticNodeList.h: Added.
(WebCore::StaticNodeList::StaticNodeList):
(WebCore::StaticNodeList::~StaticNodeList):
2007-12-25 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Implement a lock-free ThreadSafeShared for i386, x86_64, ppc and ppc64.
http://bugs.webkit.org/show_bug.cgi?id=16596
This is a 1.7x as fast as the lock-based implementation on x86 for a single-threaded use
of ThreadSafeShared but is closer to 280x as fast when there is heavy concurrent multi-threaded
access to a single ThreadSafeShared object.
The atomic operations are based on those used by the Boost C++ library's shared_ptr implementation.
* platform/Threading.h:
(WebCore::atomicIncrement):
(WebCore::atomicDecrement):
(WebCore::ThreadSafeShared::ThreadSafeShared):
(WebCore::ThreadSafeShared::ref): Use lock-free operations if available.
(WebCore::ThreadSafeShared::deref): Ditto.
(WebCore::ThreadSafeShared::hasOneRef):
(WebCore::ThreadSafeShared::refCount):
(WebCore::ThreadSafeShared::isThreadSafe):
2007-12-24 Darin Adler <darin@apple.com>
* platform/text/PlatformString.h: Removed now-incorrect comment.
Added a comment about copy().
* platform/text/StringImpl.h: Added a comment about copy().
2007-12-24 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=16550
make StringImpl immutable
I tried to keep the changes to a minimum. In some cases there is
room for optimization -- I didn't try to add in the "single ref count"
optimizations and there might be a tiny bit more string copying than
we had before.
* WebCore.base.exp: Updated.
* dom/CharacterData.cpp:
(WebCore::CharacterData::appendData): Changed to use String since
StringImpl doesn't have mutating functions any more.
(WebCore::CharacterData::insertData): Ditto.
(WebCore::CharacterData::deleteData): Ditto.
(WebCore::CharacterData::replaceData): Ditto.
* dom/Text.cpp:
(WebCore::Text::splitText): Changed to use substring instead of
remove since StringImpl does't have mutating functions any more.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::deleteInsignificantText): Changed
to use String instead of StringImpl so we can use remove.
* platform/text/PlatformString.h: Removed newUninitialized.
Added append that takes a character pointer and length.
* platform/text/String.cpp:
(WebCore::String::insert): Added an implementation that does not
rely on an underlying StringImpl function.
(WebCore::String::append): Ditto.
(WebCore::String::truncate): Ditto.
(WebCore::String::remove): Ditto.
(WebCore::String::charactersWithNullTermination): Added an
implementation that uses the new StringImpl null termination feature,
which does not require modifying a string.
* platform/text/StringImpl.cpp:
(WebCore::isSpace): Fix comment.
(WebCore::StringImpl::StringImpl): Added a new constructor that makes
a string with a trailing null character.
(WebCore::StringImpl::substring): Marked const.
(WebCore::StringImpl::replace): Marked const; had to add quite a few
const_cast. Also rewrote one of these to work without modifying the
existing string.
* platform/text/StringImpl.h: Fixed a mistake where the empty string had
m_hasTerminatingNullCharacter uninitialized. Added a type and constructor
for creating strings that have a trailing null character. Added a
hasTerminatingNullCharacter function. Removed newUninitialized,
charactersWithNullTermination, append, insert, truncate, and remove.
Marked lots of other functions const.
* platform/text/TextCodecLatin1.cpp:
(WebCore::TextCodecLatin1::decode): Rewrote to use a Vector instead of
newUninitialized.
* platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::decode): Ditto.
* platform/text/TextCodecUserDefined.cpp:
(WebCore::TextCodecUserDefined::decode): Ditto.
* rendering/RenderStyle.cpp:
(WebCore::RenderStyle::setContent): Changed to use String since
StringImpl doesn't have mutating functions any more.
2007-12-24 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Oliver.
Fix fast/events/arrow-keys-on-body.html, failing on Windows.
* platform/win/KeyEventWin.cpp:
(WebCore::isKeypadEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
Use HIWORD() macro instead of shifting the value explicitly (no change in behavior).
2007-12-23 Alexey Proskuryakov <ap@webkit.org>
Fix Debug and Release QTMovieWin bulds.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/debug.vsprops:
* WebCore.vcproj/debug_internal.vsprops:
* WebCore.vcproj/release.vsprops:
Use LibraryConfigSuffix instead of WebKitConfigSuffix for pthreadVC2.
Build release import lib into \lib, not \bin.
2007-12-23 Alp Toker <alp@atoker.com>
Reviewed by Holger Freyther.
http://bugs.webkit.org/show_bug.cgi?id=15382
[CAIRO] Canvas pattern support
http://bugs.webkit.org/show_bug.cgi?id=16577
Merge Cairo enhancements from Apollo project
Add support for canvas patterns.
Make Image::nativeImageForCurrentFrame() public.
Fix some typos along the way.
The globalAlpha canvas fixes are not included in this patch as
they're slightly more intrusive and may conflict conceptually with
GraphicsContext::setAlpha().
* html/CanvasPattern.cpp:
(WebCore::CanvasPattern::CanvasPattern):
(WebCore::CanvasPattern::~CanvasPattern):
(WebCore::CanvasPattern::createPattern):
* html/CanvasPattern.h:
(WebCore::CanvasPattern::platformImage):
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::applyShadow):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::createPattern):
(WebCore::CanvasRenderingContext2D::applyStrokePattern):
(WebCore::CanvasRenderingContext2D::applyFillPattern):
* platform/graphics/Image.h:
(WebCore::Image::nativeImageForCurrentFrame):
2007-12-23 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Eric Seidel.
Remove getWxBitmap as we have nativeImageForCurrentFrame now,
and don't draw a border in fillRect.
* platform/graphics/BitmapImage.h:
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::fillRect):
* platform/graphics/wx/ImageWx.cpp:
2007-12-23 Alp Toker <alp@atoker.com>
Reviewed by Holger Freyther.
http://bugs.webkit.org/show_bug.cgi?id=16577
Merge Cairo enhancements from Apollo project
This patch is based on initial merging work by Brent Fulgham. Adobe's
code has been modified in a few places to better suit the existing
coding style.
Implement more clipping and drawing functions.
Save and restore the fill rule manually when clipping.
Avoid image surface creation when the image buffer has height zero.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::addPath):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipOutEllipseInRect):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::createFrameAtIndex):
2007-12-23 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Mark.
Fix wrong placed ifdef - wrapping SVGDefsElement, instead of SVGDefinitionSrcElement in SVG_FONTS block.
* bindings/objc/DOM.mm:
(WebCore::createElementClassMap):
2007-12-22 Alp Toker <alp@atoker.com>
GTK+ build fix
GTK_TARGET_OTHER_APP is not available in older GTK+ versions. Pass
empty target flags for now.
Check GTK+, not GLib versions, since they are different.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::documentFragment):
2007-12-22 Luca Bruno <lethalman88@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16311
[Gtk] Copy rich text to clipboard as text/plain and text/html.
Hook into the WebView to get the correct clipboard object on the
appropriate display. This is necessary because GTK+ does not have
global clipboards.
* WebCore.pro:
* platform/Pasteboard.h:
(WebCore::Pasteboard::setHelper): added for GTK
(WebCore::Pasteboard::m_helper): private added for GTK
* platform/gtk/PasteboardGtk.cpp:
(WebCore::PasteboardSelectionData): added to support GTK selection data callback
(WebCore::clipboard_get_contents_cb): added
(WebCore::clipboard_clear_contents_cb): added
(WebCore::Pasteboard::~Pasteboard):
(WebCore::Pasteboard::setHelper):
(WebCore::Pasteboard::writeSelection): copy rich text
(WebCore::Pasteboard::documentFragment):
(WebCore::Pasteboard::plainText):
* platform/gtk/PasteboardHelper.h: Added.
2007-12-22 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=15966 (Crash in SVGRootInlineBox::walkTextChunks() on mouse hover)
Add new isSVGRootInlineBox() function to InlineBox to be able to differentiate between RootInlineBox/SVGRootInlineBox.
SVG assumed it's root inline box (for <text> elements) is always of type SVGRootInlineBox, which is not the case
for HTML text in <foreignObject>. Text selection doesn't work so far as line box offsets are wrong - which is visible
in Web Inspector.
* rendering/InlineBox.h:
(WebCore::InlineBox::isSVGRootInlineBox):
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::svgRootInlineBox):
(WebCore::SVGInlineTextBox::closestCharacterToPosition):
(WebCore::SVGInlineTextBox::selectionRect):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineTextBox):
* rendering/SVGRootInlineBox.h:
(WebCore::SVGRootInlineBox::isSVGRootInlineBox):
2007-12-22 Alp Toker <alp@atoker.com>
LOW_BANDWIDTH_DISPLAY build fix
Track recent KURL DeprecatedString changes.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2007-12-22 Dan Bernstein <mitz@apple.com>
- Windows build fix
* WebCore.vcproj/WebCore.vcproj:
2007-12-22 Xan Lopez <xan@gnome.org>
Reviewed by Alp Toker.
Add missing return 0 to fix a compile warning.
* page/gtk/FrameGtk.cpp:
(WebCore::Frame::createScriptInstanceForWidget):
2007-12-21 Antti Koivisto <antti@apple.com>
Reviewed by Darin, Adam and Steve.
Add media playback support for Windows.
The implementation uses low level QuickTime API. DLL is
needed to work around CF use in both WebKit and QuickTime.
This makes Windows build depend on the QuickTime SDK
http://developer.apple.com/quicktime/download/
but not QuickTime itself.
QTMovieWinTimer contains some copy code from SharedTimerWin. It
is used in the QuickTime access DLL which can't use WebCore
SharedTimer due to dependency problems.
* WebCore.vcproj/QTMovieWin.vcproj: Added.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/build-generated-files.sh:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSrc):
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Added.
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::load):
(WebCore::MediaPlayerPrivate::play):
(WebCore::MediaPlayerPrivate::pause):
(WebCore::MediaPlayerPrivate::duration):
(WebCore::MediaPlayerPrivate::currentTime):
(WebCore::MediaPlayerPrivate::seek):
(WebCore::MediaPlayerPrivate::doSeek):
(WebCore::MediaPlayerPrivate::cancelSeek):
(WebCore::MediaPlayerPrivate::seekTimerFired):
(WebCore::MediaPlayerPrivate::setEndTime):
(WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
(WebCore::MediaPlayerPrivate::endPointTimerFired):
(WebCore::MediaPlayerPrivate::paused):
(WebCore::MediaPlayerPrivate::seeking):
(WebCore::MediaPlayerPrivate::naturalSize):
(WebCore::MediaPlayerPrivate::hasVideo):
(WebCore::MediaPlayerPrivate::setVolume):
(WebCore::MediaPlayerPrivate::setMuted):
(WebCore::MediaPlayerPrivate::setRate):
(WebCore::MediaPlayerPrivate::dataRate):
(WebCore::MediaPlayerPrivate::maxTimeBuffered):
(WebCore::MediaPlayerPrivate::maxTimeSeekable):
(WebCore::MediaPlayerPrivate::maxTimeLoaded):
(WebCore::MediaPlayerPrivate::bytesLoaded):
(WebCore::MediaPlayerPrivate::totalBytesKnown):
(WebCore::MediaPlayerPrivate::totalBytes):
(WebCore::MediaPlayerPrivate::cancelLoad):
(WebCore::MediaPlayerPrivate::updateStates):
(WebCore::MediaPlayerPrivate::didEnd):
(WebCore::MediaPlayerPrivate::setRect):
(WebCore::MediaPlayerPrivate::setVisible):
(WebCore::MediaPlayerPrivate::paint):
(WebCore::MediaPlayerPrivate::getSupportedTypes):
(WebCore::MediaPlayerPrivate::movieEnded):
(WebCore::MediaPlayerPrivate::movieLoadStateChanged):
(WebCore::MediaPlayerPrivate::movieTimeChanged):
(WebCore::MediaPlayerPrivate::movieNewImageAvailable):
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Added.
(WebCore::MediaPlayerPrivate::networkState):
(WebCore::MediaPlayerPrivate::readyState):
* platform/graphics/win/QTMovieWin.cpp: Added.
(updateTaskTimer):
(QTMovieWinPrivate::QTMovieWinPrivate):
(QTMovieWinPrivate::~QTMovieWinPrivate):
(taskTimerFired):
(QTMovieWinPrivate::startTask):
(QTMovieWinPrivate::endTask):
(QTMovieWinPrivate::task):
(QTMovieWinPrivate::registerDrawingCallback):
(QTMovieWinPrivate::drawingComplete):
(QTMovieWinPrivate::createGWorld):
(QTMovieWinPrivate::setSize):
(QTMovieWinPrivate::deleteGWorld):
(QTMovieWin::QTMovieWin):
(QTMovieWin::~QTMovieWin):
(QTMovieWin::play):
(QTMovieWin::pause):
(QTMovieWin::rate):
(QTMovieWin::setRate):
(QTMovieWin::duration):
(QTMovieWin::currentTime):
(QTMovieWin::setCurrentTime):
(QTMovieWin::setVolume):
(QTMovieWin::setMuted):
(QTMovieWin::dataSize):
(QTMovieWin::maxTimeLoaded):
(QTMovieWin::loadState):
(QTMovieWin::getNaturalSize):
(QTMovieWin::setSize):
(QTMovieWin::setVisible):
(QTMovieWin::paint):
(QTMovieWin::load):
(movieDrawingCompleteProc):
(initializeSupportedTypes):
(QTMovieWin::countSupportedTypes):
(QTMovieWin::getSupportedType):
(QTMovieWin::initializeQuickTime):
(DllMain):
* platform/graphics/win/QTMovieWin.h: Added.
* platform/graphics/win/QTMovieWinTimer.cpp: Added.
(TimerWindowWndProc):
(initializeOffScreenTimerWindow):
(setSharedTimerFiredFunction):
(timerFired):
(setSharedTimerFireDelay):
(stopSharedTimer):
(setSharedTimerInstanceHandle):
(systemTime):
* platform/graphics/win/QTMovieWinTimer.h: Added.
* rendering/RenderMedia.cpp:
(WebCore::MediaControlPlayButtonElement::update):
2007-12-21 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16558
Cairo WebCore Rendering Fails on arc drawing
Fix for bug reported (and patched) by Apollo team in which
arcs were draw in reverse (resulting in inverted images).
Review of the source found that the 'clockwise' term was
actually meant to mean 'anticlockwise' so the IDL and
supporting classes have been changed to match this.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::arc):
* html/CanvasRenderingContext2D.idl:
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addArc):
(WebCore::Path::addEllipse):
* platform/graphics/Path.h:
2007-12-21 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Oliver.
<rdar://problem/5629995> Incorrect display of Danish characters on web site.
Test: http/tests/xmlhttprequest/response-encoding.html
* xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData):
Default to UTF-8 for HTML, too. It's unfortunate that we have to use different
rules for main content and XHR responses, but this matches both IE and Firefox.
2007-12-20 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/5655797> REGRESSION(304-306A10) Safari does not find
shockwave plugin on freshly installed OS
Look for Director plugin in its native directory.
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::PluginDatabaseWin::getPluginsInPaths): The Director plugin
doesn't start with "np," so special case its filename.
(WebCore::addMacromediaPluginPaths): Add Flash and "Shockwave 10"
directories to the plugin paths.
(WebCore::PluginDatabaseWin::defaultPluginPaths):
2007-12-20 Peter Kasting <zerodpx@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16508
Fix regression in GIFImageDecoder.cpp: "Haeberli hack" led to wrongly
decoded transparent areas.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::output_row):
2007-12-20 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/5543472> GoogleDocs: Safari hangs when creating a list from a particular selection
Still need to fix similar issues with the other operations that iterate
over selected paragraphs, like FormatBlock, Indent and Outdent (<rdar://problem/5658933>).
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::indentRegion): Added a FIXME.
* editing/IndentOutdentCommand.h: Removed an unused function.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::modifyRange):
Renamed visibleStart to startOfSelection and visibleEnd to endOfSelection.
Call the new selectionForParagraphIteration, which a) prevents operations like this
one from being performed on a table that isn't fully selected (where the selection
starts just before the table and ends inside it), and b) helps prevent paragraph
iteration from going past the end of the selection.
Call the new startOfNextParagraph, instead of using endOfParagraph(v).next(),
since when v is in the last paragraph of the last cell of a table, that expression
will return the position after the table, not the start of the next paragraph.
* editing/htmlediting.cpp:
(WebCore::enclosingListChild): Don't go above a table cell, so that list operations
take effect inside the table cell where they are performed.
(WebCore::selectionForParagraphIteration): Added, see above.
(WebCore::indexForVisiblePosition): Moved from IndentOutdentCommand.cpp.
* editing/htmlediting.h:
* editing/visible_units.cpp:
(WebCore::startOfNextParagraph): Added, see above.
* editing/visible_units.h:
* editing/TextIterator.h:
(WebCore::TextIterator::exitNode): Added a FIXME.
2007-12-20 Alp Toker <alp@atoker.com>
Rubber-stamped by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16542
[GTK] Text is missing with old Pango version
Back out commits r28880, r28876, r28865, r28864 which added Pango font
selection support. These changes caused a regression where no text was
displayed with older Pango versions.
* platform/graphics/gtk/FontCacheGtk.cpp:
(WebCore::FontCache::fontExists):
* platform/graphics/gtk/FontDataGtk.cpp:
(WebCore::FontData::platformDestroy):
(WebCore::FontData::containsCharacters):
* platform/graphics/gtk/FontPlatformData.h:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::hash):
* platform/graphics/gtk/FontPlatformDataGtk.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::init):
(WebCore::FontPlatformData::~FontPlatformData):
(WebCore::FontPlatformData::isFixedPitch):
(WebCore::FontPlatformData::operator==):
* platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
(WebCore::GlyphPage::fill):
2007-12-20 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/5604897> Double-clicking on JavaScript console error
won't show the line where it occurred
Make the URLs clickable in the console, since double clicking is used for
word text selection. Makes the word "line" localizable. Messages that don't
have a URL will no longer print "undefined". Messages that have a line number
less than or equal to 0 will no longer be printed.
* English.lproj/InspectorLocalizedStrings.js: Add "%s (line %d)".
* page/inspector/ConsolePanel.js: Tweak how the DOM nodes are created
and change the click handler to look for a link with the
"console-message-url" class name.
* page/inspector/SourcePanel.js: Call setupSourceFrameIfNeeded() if a
line row is needed.
* page/inspector/inspector.css: Update the look of the URL in the console.
2007-12-20 Adam Barth <hk9565@gmail.com>
Reviewed and landed by Sam Weinig.
http://bugs.webkit.org/show_bug.cgi?id=15313
<rdar://problem/5514516>
The same-origin check was incorrect in two cases (both fixed in this
patch):
A) If both the source and the target have set their document.domain
to the same value, the protocol must also match in order for
access to be allowed. Without this requirement, the browser is
vulnerable to the following attack:
1) Suppose there is an HTTPS site (www.example.com) that sets
document.domain = "example.com".
2) A network attacker redirects the browser to http://www.example.com/
a) injects script to set document.domain = "example.com", and
b) opens a window to https://www.example.com/
3) Now the network attacker can inject script into the HTTPS page,
stealing cookies and issuing banking transactions.
B) If only one of the source and target has set document.domain, then
access should be denied. With this behavior, the browser is
vulnerable to the following attack:
1) Suppose http://foo.example.com/ opens an iframe to
http://foo.example.com/frame.html that
a) sets document.domain = "example.com", and
b) opens an iframe to http://bar.example.com/
This is a common usage of document.domain for cross-domain
communication, see for example:
http://www.collinjackson.com/research/papers/fp801-jackson.pdf
2) The inner-most iframe, which is from bar.example.com, sets
document.domain = "example.com".
3) Now the inner-most iframe can inject script into the middle
iframe (say via document.write). This bar.example.com script
now has access to the outer-most frame (from foo.example.com).
Both these changes cause WebKit to match the behavior of Firefox 2 and
IE6 in these cases. This patch includes regression tests for both
issues.
Internet Explorer 7 and Opera 9 are more strict in that they require
the port numbers to match when both pages have document.domain set.
Opera 9 allows access when only one page has set document.domain, but
this is a security vulnerability.
Tests: http/tests/security/cross-frame-access-child-explicit-domain.html
http/tests/security/cross-frame-access-parent-explicit-domain.html
* bindings/js/kjs_window.cpp:
(KJS::createWindow):
(KJS::Window::allowsAccessFrom):
* dom/Document.cpp:
(WebCore::Document::domain):
(WebCore::Document::setDomain):
(WebCore::Document::initSecurityOrigin):
* dom/Document.h:
(WebCore::Document::securityOrigin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::checkCallImplicitClose):
(WebCore::FrameLoader::shouldAllowNavigation):
* platform/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::setForURL):
(WebCore::SecurityOrigin::createForFrame):
(WebCore::SecurityOrigin::canAccess):
* platform/SecurityOrigin.h:
(WebCore::SecurityOrigin::domain):
* storage/Database.cpp:
(WebCore::Database::openDatabase):
(WebCore::Database::Database):
(WebCore::Database::securityOriginData):
* storage/Database.h:
(WebCore::Database::databaseDebugName):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
2007-12-20 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Darin Adler.
Define XP_UNIX when building with plugins on X11.
Use new npruntime_internal.h instead of npruntime.h.
http://bugs.webkit.org/show_bug.cgi?id=15669
* ForwardingHeaders/bindings/npruntime_internal.h
* WebCore.pro:
* html/HTMLPlugInElement.h:
2007-12-19 johnnyding.webkit <johnnyding.webkit@gmail.com>
Reviewed by Alexey. Landed by Stephanie.
- fix http://bugs.webkit.org/show_bug.cgi?id=16179 | <rdar://problem/5619399>
Any attribute name start with a unicode which like #xx00(x could be any hex number[0-9a-f]) will cause HTMLTokenizer parse error
Actually any unicode characters which great than 255 in attribute name will cause Webkit parse the attribute name wrong. So after comparing
the same scenario in IE 6/7, FireFox 2/3, Opera, we should treat those characters as part of attribute name.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseEntity): Handle Unicode Entity Name by using ASCII version of findEntity.
(WebCore::HTMLTokenizer::parseTag): Let type of ptr match type of cBuffer.
* html/HTMLTokenizer.h: Change type of cBuffer from char to UChar.
2007-12-20 Eric Seidel <eric@webkit.org>
Reviewed by Nikolas Zimmermann.
WebKit claims to support SVG feature strings it shouldn't
http://bugs.webkit.org/show_bug.cgi?id=15480
* dom/DOMImplementation.cpp:
(WebCore::isSVG10Feature):
(WebCore::isSVG11Feature):
2007-12-20 John Sullivan <sullivan@apple.com>
Reviewed by Oliver and Geoff
- fix <rdar://problem/5536858> Yellow highlight for find results is sometimes shorter
than white "hole" behind it
* rendering/RenderText.cpp:
(WebCore::RenderText::addLineBoxRects):
respect useSelectionHeight in all cases; we were only respecting it in one of the two cases
2007-12-20 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5656368> REGRESSION(3.0.4-ToT): Acid2 test fails to render anything
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::maximumScroll): Changed back to return the maximum
scroll offsets even if scrolling is not allowed, because navigation and
scrollTo should still work.
(WebCore::ScrollView::wheelEvent): Added early return if scrolling is
not allowed.
2007-12-17 Tony Chang <idealisms@gmail.com>
Reviewed by Darin.
- Fix for http://bugs.webkit.org/show_bug.cgi?id=16479
text selection does not always begin at mouse down point
Reset the m_dragSrc object on mouse down on all platforms.
Test: fast/text/reset-drag-on-mouse-down.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::mouseDown):
2007-12-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Build support:
* ForwardingHeaders/kjs/SymbolTable.h: Added.
* ForwardingHeaders/wtf/VectorTraits.h: Added.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::customGetOwnPropertySlot): Replaced use of
getDirectLocation with getOwnPropertySlot. getDirectLocation is no
longer valid, since global declarations are not stored in the property
map.
(WebCore::JSDOMWindow::customPut): Replaced use of JSObject::put with
JSGlobalObject::put. JSObject::put is no longer valid, since global
declarations are not stored in the property map.
* bindings/js/kjs_window.cpp: Replaced JSObject:: calls with Base::
calls, since JSObject is not our base class. This was always a bug, but
the bug is even more apparent after some of my changes.
(KJS::Window::clear): Removed call to clearProperties because
JSGlobalObject::reset takes care of that now.
* history/CachedPage.cpp:
* history/CachedPage.h: Added support for saving a symbol table and
localStorage to the page cache, and restoring it.
2007-12-19 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler and Dave Hyatt.
- Substitute the user's preferred standard font for an unknown primary
font before falling back on the platform's last resort font
Cannot be tested in DumpRenderTree because it sets the standard font to
Times, which is also the hard-coded last resort font on Mac.
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::getFontData): Changed the early bail out
condition to allow getting generic font families from settings even if
there are not @font-face rules. Fixed a typo that mapped fantasy to
cursive. Added a mapping from -webkit-standard to the standard family.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector): Changed to always create
a font selector.
(WebCore::CSSRuleSet::addRulesFromSheet):
(WebCore::CSSStyleSelector::applyProperty): Changed to always use the
font selector.
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::fontSelector):
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::getFontData): Try the user's preferred standard
font before the platform's last resort font.
2007-12-19 Sven Herzberg <sven@imendio.com>
Reviewed by Alp Toker.
Scaled font destruction takes place in FontData::platformDestroy(). No
need to do it in FontPlatformData::~FontPlatformData().
Destroying platform data in platformDestroy() is a convention we
borrow from the Mac and Win ports.
* platform/graphics/gtk/FontPlatformDataGtk.cpp:
2007-12-19 Alice Liu <alice.liu@apple.com>
build fix (Windows)
Changed uint to unsigned int. uint caused Windows build breakage
* page/Page.cpp:
(WebCore::Page::markAllMatchesForText):
* page/Page.h:
2007-12-19 Christian Dywan <christian@twotoasts.de>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16222
[GTK] Implement inline search and highlighting of matching strings.
Implement search and highlighting logic directly in WebCore.
* page/Page.cpp:
(WebCore::incrementFrame):
(WebCore::Page::findString):
(WebCore::Page::markAllMatchesForText):
(WebCore::Page::unmarkAllTextMatches):
* page/Page.h:
2007-12-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig, Dan Bernstein.
Tiger build fix: restored some graphics code still needed on Tiger.
* platform/graphics/GraphicsTypes.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::setCompositeOperation):
2007-12-19 Alp Toker <alp@atoker.com>
Build fix for Pango < 1.18.0 breakage introduced in r28864. Use Fc and
the Pango backend API in these cases.
* platform/graphics/gtk/FontPlatformDataGtk.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::~FontPlatformData):
2007-12-19 Alice Liu <alice.liu@apple.com>
Reviewed by Darin.
Fixed <rdar://problem/5592485> Safari crashed trying to get a motorcycle insurance quote
on Geico.com WebCore::Document::inPageCache()
Calling Node::willRemove on the focusedNode would immediately tell the document to remove
the focused node, and trigger JS events. This means that the document is mutated while
the engine is trying to tell all child nodes that it's about to removed. To avoid
crashing, we need to hold off on mutating the document until node traversal is finished.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::removeChildren):
* dom/Node.cpp:
* dom/Node.h:
(WebCore::Node::willRemove):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear):
2007-12-19 Andre Boule <aboule@apple.com>
Reviewed by Dan Bernstein.
Test: fast/canvas/canvas-composite.html
Fix for:
<rdar://problem/5640059> GraphicsContext::setCompositeOperation should use CGContextSetBlendMode
This fix makes setCompositeOperation consistent across all platforms that use CG.
The following compositing modes don't pass however that is covered by another bug:
source-in
source-out
destination-in
destination-atop
copy
<rdar://problem/5651783> Some canvas tag compositing modes don't render correctly
* platform/graphics/GraphicsTypes.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setCompositeOperation):
* platform/graphics/mac/GraphicsContextMac.mm:
* platform/win/GraphicsContextWin.cpp:
2007-12-19 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/5650045> REGRESSION: major layout problems in svn r28754 WebKit on Vox.com page
Test: fast/dynamic/subtree-boundary-percent-height.html
* rendering/RenderObject.cpp:
(WebCore::objectIsRelayoutBoundary): Do not allow overflows with
percent heights because sometimes they compute to 'auto'.
2007-12-19 Sam Weinig <sam@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16511
Speed up ClassNodeList and NamedNodeList by using the caching mechanism employed by ChildNodeList.
- This give a ~2.15x speedup on the native test @ http://ejohn.org/apps/classname/
* dom/ChildNodeList.cpp: Use the caching NodeList constructor to turn on caching.
(WebCore::ChildNodeList::ChildNodeList):
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList):
* dom/ClassNodeList.h:
Move getElementsByName and getElementsByClassName to Node so they
can use easily employ the caching already used by ChildNodeLists. In the case of
getElementsByClassName, this reduces code duplication in Element as well
* dom/Document.cpp:
* dom/Document.h:
Move getElementsByClassName to Node.
* dom/Element.cpp:
* dom/Element.h:
* dom/NameNodeList.cpp: Use the caching NodeList constructor to turn on caching.
(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::item):
* dom/NameNodeList.h:
Add maps of caches for ClassNodeLists and NameNodeList to NodeListsNodeData.
* dom/Node.cpp:
(WebCore::TagNodeList::TagNodeList):
(WebCore::Node::Node):
(WebCore::Node::~Node):
(WebCore::Node::childNodes):
(WebCore::Node::registerNodeList):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
* dom/Node.h: Make m_nodeLists an OwnPtr. Moved getElementsByName and getElementsByClassName here
Allow subclasses to choose whether they want to receive the notifications using a new bit.
* dom/NodeList.cpp:
(WebCore::NodeList::NodeList):
* dom/NodeList.h:
(WebCore::NodeList::needsNotifications):
2007-12-19 Dave Hyatt <hyatt@apple.com>
Add support for GDI text rendering to WebKit.
Reviewed by mitz
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* page/Settings.cpp:
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::fontRenderingMode):
* page/Settings.h:
* platform/graphics/Font.h:
(WebCore::Font::renderingMode):
* platform/graphics/FontCache.cpp:
(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
(WebCore::FontPlatformDataCacheKey::operator==):
(WebCore::computeHash):
(WebCore::FontCache::getCachedFontPlatformData):
* platform/graphics/FontDescription.h:
(WebCore::):
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::renderingMode):
(WebCore::FontDescription::setRenderingMode):
(WebCore::FontDescription::operator==):
* platform/graphics/GraphicsContext.h:
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::fontExists):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/win/FontDataWin.cpp:
(WebCore::FontData::platformInit):
(WebCore::FontData::smallCapsFontData):
(WebCore::FontData::containsCharacters):
(WebCore::FontData::determinePitch):
(WebCore::FontData::platformWidthForGlyph):
* platform/graphics/win/FontPlatformData.h:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::useGDI):
(WebCore::FontPlatformData::operator==):
* platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/win/FontWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/win/IconWin.cpp:
(WebCore::Icon::paint):
* platform/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::getWindowsContext):
(WebCore::GraphicsContext::releaseWindowsContext):
* platform/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem):
* platform/win/UniscribeController.h:
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::paint):
2007-12-19 Sven Herzberg <sven@imendio.com>
Reviewed by Alp Toker.
Replace the fontconfig/freetype based font management with a pango
based one. Fixes:
http://bugs.webkit.org/show_bug.cgi?id=15229
* platform/gtk/FontDataGtk.cpp (FontData::platformDestroy()): updated
the platform specific destroy code
(FontData::containsCharacters()): implemented font coverage with pango
* platform/gtk/FontPlatformData.h: replaced fontconfig specific
members with pango-specific ones
* platform/gtk/FontPlatformDataGtk.cpp: added static members for the
FontPlatformData class
(FontPlatformData::FontPlatformData()): implemented the font-matching
with a PangoFontDescription instead of an FcPattern; initialize the
scaled font by using the API for PangoCairoFont
(FontPlatformData::init()): initialize the PangoFontMap and set up a
hash table to translate the font family name into a font family
(FontPlatformData::isFixedPitch()): implemented by querying the
PangoFontFamily
(FontPlatformData::operator==): compare the FontPlatformData by
comparing the font pointers or the described fonts
* platform/gtk/GlyphPageTreeNodeGtk.cpp (pango_font_get_glyph()):
added a function to query a glyph from a PangoFont
(GlyphPage::fill()): implemented the fill function with Pango instead
of fontconfig/freetype
2007-12-19 Alp Toker <alp@atoker.com>
Reviewed by Holger Freyther.
Improve graphics operator approximations
These changes match Cairo's own CG approximations.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::toCairoOperator):
2007-12-19 Alp Toker <alp@atoker.com>
Reviewed by Holger Freyther.
Check the bounding box before doing a full hit test
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::contains):
2007-12-18 Sam Weinig <sam@webkit.org>
Reviewed by Geoff.
Fix for <rdar://problem/5646478>
REGRESSION: fast/events/event-view-toString fails on Leopard
This fixes an issue where we were incorrectly setting the lastInPrototypeChain
for the JSDOMWindow (the global object) before a call to setPrototype overwrote
it. This fixes it by passing the prototype up the constructor chain so that it
is set before any calls can be made.
* bindings/js/kjs_window.cpp:
(KJS::Window::Window):
* bindings/js/kjs_window.h:
* bindings/scripts/CodeGeneratorJS.pm:
2007-12-18 Beth Dakin <bdakin@apple.com>
Reviewed by Oliver.
Fix for <rdar://problem/5616982> SVGs with width and height 100%
fail to render when used as <img> or CSS image (16167)
This final part of the work fixes the <img> tag.
This is the real fix.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::calcReplacedWidth): Set the container size
on the image. Setting the container size only actually sticks if
the values are non-zero, so if the container size really was set,
use the imageSize that is calculated using the container size. If
it did not stick but the image does have relative width (meaning
that the container size is 0), set the width to 0 by hand. We want
to avoid setting the width before we have a container size or we
will end up incorrectly using the default size of 300x150.
(WebCore::RenderImage::calcReplacedHeight): Same as above, but for
height.
A few more pieces of information have to be exposed through cached
image to make this happen.
* loader/CachedImage.cpp:
(WebCore::CachedImage::usesImageContainerSize): As mentioned above,
when setContainerSize() is called, the container size is only
actually set if the values are non-zero. This call tells you if it
was set.
(WebCore::CachedImage::imageHasRelativeWidth):
(WebCore::CachedImage::imageHasRelativeHeight):
* loader/CachedImage.h:
* platform/graphics/Image.h:
(WebCore::Image::usesContainerSize):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::usesContainerSize):
* svg/graphics/SVGImage.h:
2007-12-18 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Maciej Stachowiak.
Remove outdated and non-functioning project files for the Apollo port.
* WebCore.apolloproj: Removed.
2007-12-18 Steve Falkenburg <sfalken@apple.com>
<rdar://problem/5649911> REGRESSION (304-306A9): Typing 'p' in popup menu for type-to-select brings up Safari Help
Need to translate the char back into a key code for posting our WM_KEYDOWN.
Reviewed by Ada.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupWndProc):
2007-12-18 Steve Falkenburg <sfalken@apple.com>
<rdar://problem/5651534> REGRESSION(r28764-r28765): GDI leak drawing text when no appropriate font is available
Our captured metafile from Uniscribe may contain multiple calls to CreateFontIndirect.
Only create a font with the last one.
Reviewed by Mitz, Darin.
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::metaFileEnumProc):
(WebCore::FontCache::getFontDataForCharacters):
2007-12-17 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16464
Modify WebCore to use win32 thread primitives
Updates to support native windows threading primitives
rather than pthreads emulation library.
* WebCore.vcproj/WebCore.vcproj:
* config.h:
* platform/Threading.h:
* platform/win/MutexWin.cpp: Added.
(WebCore::Mutex::Mutex):
(WebCore::Mutex::~Mutex):
(WebCore::Mutex::lock):
(WebCore::Mutex::tryLock):
(WebCore::Mutex::unlock):
* platform/win/ThreadConditionWin.cpp: Added.
(WebCore::ThreadCondition::ThreadCondition):
(WebCore::ThreadCondition::~ThreadCondition):
(WebCore::ThreadCondition::wait):
(WebCore::ThreadCondition::signal):
(WebCore::ThreadCondition::broadcast):
* platform/win/ThreadingWin.cpp:
(WebCore::threadMapMutex):
(WebCore::threadMap):
(WebCore::storeThreadHandleByIdentifier):
(WebCore::identifierByThreadHandle):
(WebCore::threadHandleForIdentifier):
(WebCore::clearThreadHandleForIdentifier):
(WebCore::createThread):
(WebCore::waitForThreadCompletion):
(WebCore::detachThread):
(WebCore::currentThread):
2007-12-18 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Darin Adler.
Handle EINTR when set by select() and try the select() again
http://bugs.webkit.org/show_bug.cgi?id=16071
* platform/network/curl/ResourceHandleManager.cpp:
(ResourceHandleManager::downloadTimerCallback):
2007-12-18 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- avoid the simplified Chinese font linking code for characters that are
not in any Windows code page
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontDataForCharacters):
2007-12-18 Brady Eidson <beidson@apple.com>
Reviewed by Adele
<rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet
Some http-auth protected sites have the main resource(s) unprotected, but many subresources are
protected by authentication. Occasionally one can view the main page of a site but the favicon
is behind the iron curtain - in these cases, we should *not* prompt for a username and password
solely for the favicon.
* loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method
is virtual from ResourceLoader, SubresourceLoader can override. First call to the
SubresourceLoaderClient. If they cancel the resource load, return early. Otherwise, let
ResourceLoader work its magic (resulting in the auth sheet coming down)
* loader/SubresourceLoader.h:
* loader/SubresourceLoaderClient.h:
(WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should
never prompt the user for credentials just for a favicon.
* loader/icon/IconLoader.h:
2007-12-18 John Sullivan <sullivan@apple.com>
Reviewed by Brady
- fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
pass "name" instead of "displayName" if there's no displayName
2007-12-17 Dan Bernstein <mitz@apple.com>
Reviewed by Maciej Stachowiak.
- restore ButtonFace and ThreeDFace to their previous values for non-Mac
platforms. The Mac port also uses the same values for now instead
of NSColor-based ones.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::systemColor):
2007-12-17 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Maciej Stachowiak.
Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+
Add required Frame::createScriptInstanceForWidget to FrameGtk
* config.h:
* page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget):
2007-12-17 Alice Liu <alice.liu@apple.com>
Reviewed by Adam.
Fixed <rdar://5566435> window with no scrollbars can be scrolled
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::maximumScroll):
corrected maximumScroll() to account for scrolling not allowed.
(WebCore::ScrollView::wheelEvent):
2007-12-14 Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16042
[GTK] Eliminate webkit_init()
Move webkit initialization to WebView class init.
* WebCore.pro:
2007-12-17 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Darin.
<rdar://problem/5651291> REGRESSION: Flash content doesn't display
(www.adobe.com)
We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not
NPEvent*
(WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent*
(WebCore::PluginViewWin::handleKeyboardEvent): same
(WebCore::PluginViewWin::handleMouseEvent): same
* plugins/win/PluginViewWin.h:
2007-12-17 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
Live to the promise of never making AppKit special character codes visible via DOM.
Test: fast/events/arrow-keys-on-body.html
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation,
to let quirks-aware code strip special charactrers.
* platform/mac/KeyEventMac.mm:
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks
mode, remove the text if it's a special character.
2007-12-17 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Fix incorrect array size and incorrect array index in convertNSColorToColor.
* rendering/RenderThemeMac.mm:
(WebCore::convertNSColorToColor):
2007-12-17 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
- fix http://bugs.webkit.org/show_bug.cgi?id=16468
REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database
because there's no guarantee it won't lose its last reference otherwise.
2007-12-17 Dan Bernstein <mitz@apple.com>
Reviewed by Maciej Stachowiak.
- fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not
and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontDataForCharacters): To ensure that font
linking gives consistent results for characters that are exclusive to
the simplified Chinese code page and characters that belong to that
code page and other code pages, always ask to map to simplified Chinese
alone first.
2007-12-17 Christian Dywan <christian@twotoasts.de>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16378
Implement Icon for Gtk
Icon provides a GdkPixbuf containing a themed icon.
The icon theme is probed for an icon name according to the
Icon Naming Specification or conventional Gnome icon names respectively.
See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
* platform/graphics/Icon.h:
* platform/graphics/gtk/IconGtk.cpp:
(WebCore::Icon::~Icon):
(WebCore::lookupIconName):
(WebCore::Icon::newIconForFile):
(WebCore::Icon::paint):
2007-12-16 Sam Weinig <sam@webkit.org>
Reviewed by Mitz.
Fix for http://bugs.webkit.org/show_bug.cgi?id=16466
Move the JS Location object to its own file
- Move Location into its own file and rename it JSLocation.
* DerivedSources.make:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/JSDocumentCustom.cpp:
* bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp.
(WebCore::):
(WebCore::JSLocation::JSLocation):
(WebCore::JSLocation::getValueProperty):
(WebCore::JSLocation::getOwnPropertySlot):
(WebCore::JSLocation::put):
(WebCore::JSLocationProtoFuncReplace::callAsFunction):
(WebCore::JSLocationProtoFuncReload::callAsFunction):
(WebCore::JSLocationProtoFuncAssign::callAsFunction):
(WebCore::JSLocationProtoFuncToString::callAsFunction):
* bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h.
(WebCore::JSLocation::):
(WebCore::JSLocation::frame):
(WebCore::JSLocation::classInfo):
* bindings/js/kjs_window.cpp:
(KJS::Window::location):
* bindings/js/kjs_window.h:
* history/CachedPage.cpp:
2007-12-16 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- make 'cursor: copy' and 'cursor: none' work.
Already covered by manual-tests/cursor.html
* rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits,
needed for the 33rd and 34th cursor values.
2007-12-16 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej Stachowiak.
Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* loader/NetscapePlugInStreamLoader.h:
* loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed.
* loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit.
2007-12-16 Sam Weinig <sam@webkit.org>
Reviewed by Maciej.
Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385
Cleanup kjs_window
- Move ScheduledAction into its own file and put it in the WebCore namespace.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/PausedTimeouts.cpp:
* bindings/js/PausedTimeouts.h:
* bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp.
(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::execute):
* bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h.
(WebCore::ScheduledAction::ScheduledAction):
* bindings/js/kjs_window.cpp:
(KJS::DOMWindowTimer::DOMWindowTimer):
(KJS::DOMWindowTimer::action):
(KJS::DOMWindowTimer::takeAction):
(KJS::Window::installTimeout):
(KJS::Window::timerFired):
* bindings/js/kjs_window.h:
2007-12-16 Alp Toker <alp@atoker.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16356
[GTK] Integrate GStreamer video with the graphics backend
Integrate the GStreamer media backend with the Cairo graphics backend.
There are still some issues: Data is copied more often than necessary,
and repaint() is not called, causing transformed video not to update
sometimes.
* WebCore.pro:
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::currentTime):
(WebCore::MediaPlayerPrivate::setEndTime):
(WebCore::MediaPlayerPrivate::seeking):
(WebCore::MediaPlayerPrivate::naturalSize):
(WebCore::MediaPlayerPrivate::setMuted):
(WebCore::MediaPlayerPrivate::setRect):
(WebCore::MediaPlayerPrivate::setVisible):
(WebCore::MediaPlayerPrivate::repaint):
(WebCore::MediaPlayerPrivate::paint):
(WebCore::MediaPlayerPrivate::createGSTPlayBin):
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
(webkit_video_sink_base_init):
(webkit_video_sink_init):
(webkit_video_sink_idle_func):
(webkit_video_sink_render):
(webkit_video_sink_set_caps):
(webkit_video_sink_dispose):
(webkit_video_sink_finalize):
(webkit_video_sink_set_property):
(webkit_video_sink_get_property):
(webkit_video_sink_stop):
(webkit_video_sink_class_init):
(webkit_video_sink_new):
(webkit_video_sink_set_surface):
(plugin_init):
* platform/graphics/gtk/VideoSinkGStreamer.h: Added.
2007-12-16 Mark Rowe <mrowe@apple.com>
Mac build fix.
* WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
new shared implementation.
2007-12-16 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Maciej Stachowiak.
http://bugs.webkit.org/show_bug.cgi?id=16389
Bug 16389: Common Implementation of NetscapePlugInStreamLoader
* WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
* loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
* loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
2007-12-16 Grace Kloba <klobag@gmail.com>
Reviewed by Darin Adler.
Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
* dom/Document.cpp:
(WebCore::Document::Document):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::addLowBandwidthDisplayRequest):
(WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2007-12-16 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
Test: storage/execute-sql-args.html
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
exception happens, we won't try to do any more argument processing. Changed processing
of the second argument so that we allow an undefined value or null, and simply omit the
array. Changed processing of the second argument so that we don't require an actual
JavaScript array. Instead, as with the JavaScript array operations themselves, we use
the length property and corresponding numeric properties of the object, allowing other
objects to act as arrays. Changed processing of the third and fourth arguments to
allow the undefined value as well as null; we check the value of the argument rather
than looking at the size of the passed-in arguments list.
2007-12-16 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
More of http://bugs.webkit.org/show_bug.cgi?id=16385
Cleanup kjs_window
- Move PausedTimeouts into its own file and put it in the WebCore namespace.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
* bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
* bindings/js/kjs_window.cpp:
(KJS::Window::pauseTimeouts):
* bindings/js/kjs_window.h:
* history/CachedPage.cpp:
* history/CachedPage.h:
* page/Chrome.cpp:
2007-12-16 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff.
Make relative-size SVGs work in border-image.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calculateBackgroundSize):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintBorderImage):
2007-12-16 Darin Adler <darin@apple.com>
- fix Tiger build (my fault it was broken)
* rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
2007-12-16 Andrew Wellington <proton@wiretapped.net>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=6129
Incomplete implementation of CSS 2.1 system colors
Test: fast/css/css2-system-color.html
Based on original patch by Rob Buis.
System colors are retrieved from NSColor as appropriate. If the color is a pattern color
(and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
color and sample that to get a solid color.
* css/CSSStyleSelector.cpp:
(WebCore::):
(WebCore::colorForCSSValue):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::systemColor):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::getSystemColor):
(WebCore::RenderThemeMac::platformColorsDidChange):
(WebCore::RenderThemeMac::systemColor):
2007-12-16 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix http://bugs.webkit.org/show_bug.cgi?id=16426
Divs with overflow:auto: scrollbars not correctly updated when contents change
Test: fast/overflow/scrollbar-position-update.html
* platform/mac/PlatformScrollBarMac.mm:
(WebCore::PlatformScrollbar::updateThumbProportion): Update the
NSScroller's value for the new proportions.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
repaint(). Scrollbars repaint themselves as needed.
2007-12-16 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=14140
<rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
* dom/KeyboardEvent.h:
(WebCore::KeypressCommand::KeypressCommand):
(WebCore::KeyboardEvent::keypressCommands):
Change stored command class to preserve complete information about commands.
* editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
as a command.
* page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
2007-12-16 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16462
REGRESSION: access keys broken on Windows
* page/EventHandler.cpp:
(WebCore::EventHandler::handleAccessKey):
(WebCore::EventHandler::keyEvent):
* page/EventHandler.h:
Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
2007-12-16 Xan Lopez <xan@gnome.org>
Reviewed by Alexey Proskuryakov.
http://bugs.webkit.org/show_bug.cgi?id=16454
[GTK] Text input doesn't work consistently on PPC
* platform/gtk/KeyEventGtk.cpp:
(WebCore::singleCharacterString):
UChar is 2 bytes (UTF-16), so transform accordingly from
gunichar (UCS-4). Fixes keyboard input on big endian systems.
2007-12-15 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
- better build fix for the problem affecting GTK and some other platforms
"this time for sure"
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
* bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
which won't work, declare the tables that are in the .lut.h file in the header.
2007-12-12 Kevin Watters <kevin@dotsyntax.com>
Reviewed by Darin Adler.
Fixed the Wx port's FontPlatformData for use in HashTable.
- FontPlatformData(Deleted) made unequal to FontPlatformData()
* platform/graphics/wx/FontPlatformData
2007-12-15 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::metaFileEnumProc): Added. Called during metafile record
enumeration and extracts the font from the create font record.
(WebCore::FontCache::getFontDataForCharacters): If font linking fails,
let Uniscribe draw the characters and see what font it chooses.
2007-12-15 Darin Adler <darin@apple.com>
* WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
2007-12-15 Darin Adler <darin@apple.com>
Another try at a GTK build fix.
* WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
2007-12-15 Sam Weinig <sam@webkit.org>
Force windows to regenerate COM DOM bindings.
* WebCore.vcproj/build-generated-files.sh: Add license.
* bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
2007-12-15 Sam Weinig <sam@webkit.org>
Fix Windows and wx builds.
* WebCore.vcproj/WebCore.vcproj:
* WebCoreSources.bkl:
2007-12-15 Mark Rowe <mrowe@apple.com>
Gtk build fix. Add JSEventTargetBase.cpp to SOURCES.
* WebCore.pro:
2007-12-15 Sam Weinig <sam@webkit.org>
Fix wx build.
* WebCoreSources.bkl:
2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
Not reviewed. Build fix for Qt/Gtk.
* WebCore.pro: Include JSEventTargetBase.lut.h in generation
2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
in the base class. Applied the same refactorization to EventTargetNode.
This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
to share as much code as possible with the EventTargetNode classes.
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventTargetBase.cpp: Added.
(WebCore::retrieveEventTargetAndCorrespondingNode):
(WebCore::eventNameForPropertyToken):
* bindings/js/JSEventTargetBase.h: Added.
(WebCore::JSEventTargetProperties::):
(WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
(WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
(WebCore::):
(WebCore::::create):
(WebCore::JSEventTargetBase::JSEventTargetBase):
(WebCore::JSEventTargetBase::getValueProperty):
(WebCore::JSEventTargetBase::putValueProperty):
(WebCore::JSEventTargetBase::getOwnPropertySlot):
(WebCore::JSEventTargetBase::put):
(WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
(WebCore::JSEventTargetPrototype::self):
(WebCore::JSEventTargetPrototype::getOwnPropertySlot):
(WebCore::JSEventTargetPrototype::classInfo):
* bindings/js/JSEventTargetNode.cpp:
(WebCore::JSEventTargetNode::getOwnPropertySlot):
(WebCore::JSEventTargetNode::getValueProperty):
(WebCore::JSEventTargetNode::put):
(WebCore::JSEventTargetNode::putValueProperty):
(WebCore::JSEventTargetNode::setListener):
(WebCore::toEventTargetNode):
* bindings/js/JSEventTargetNode.h:
(WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
(WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
* dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::dispatchGenericEvent):
(WebCore::EventTarget::removeAllEventListeners):
(WebCore::EventTarget::insertedIntoDocument):
(WebCore::EventTarget::removedFromDocument):
(WebCore::EventTarget::handleLocalEvents):
(WebCore::EventTarget::applySVGEventTargetRules):
(WebCore::forbidEventDispatch):
(WebCore::allowEventDispatch):
(WebCore::eventDispatchForbidden):
* dom/EventTarget.h:
(WebCore::EventTarget::preDispatchEventHandler):
(WebCore::EventTarget::postDispatchEventHandler):
(WebCore::forbidEventDispatch):
(WebCore::allowEventDispatch):
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::~EventTargetNode):
(WebCore::EventTargetNode::insertedIntoDocument):
(WebCore::EventTargetNode::removedFromDocument):
(WebCore::EventTargetNode::addEventListener):
(WebCore::EventTargetNode::removeEventListener):
(WebCore::EventTargetNode::removeAllEventListeners):
(WebCore::EventTargetNode::handleLocalEvents):
(WebCore::EventTargetNode::dispatchEvent):
(WebCore::EventTargetNode::dispatchWindowEvent):
* dom/EventTargetNode.h:
(WebCore::EventTargetNode::localEventListeners):
* svg/SVGElement.cpp:
(WebCore::SVGElement::sendSVGLoadEventIfPossible):
(WebCore::SVGElement::dispatchEvent):
2007-12-15 Eric Seidel <eric@webkit.org>
Reviewed by Oliver.
Width of SVG elements not applied to container elements
http://bugs.webkit.org/show_bug.cgi?id=16305
Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
This is caused by poor factoring in the render tree. RenderContainer probably should be a template.
svg/css/css-box-min-width.html
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::calcPrefWidths): Added.
* rendering/RenderSVGRoot.h:
* css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
2007-12-15 David Kilzer <ddkilzer@apple.com>
Fix comment after isSafeScript() was renamed to allowsAccessFrom().
* bindings/js/kjs_window.cpp:
(KJS::createWindow):
2007-12-15 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=16449
cairo_arc() functions hang or crash when passed inf as radius or start/end angle
Add checks. This matches a similar workaround for a CG bug in the CG
graphics backend: <rdar://problem/5189233>
Fixes:
fast/canvas/arc-crash.html
fast/canvas/canvas-with-incorrect-args.html
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addArc):
2007-12-15 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16078
Google Maps zooming via the scroll wheel (almost) always zooms IN only.
* dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
Ensure that delta is never rounded down to zero - we are getting values less than 1 from
many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
2007-12-14 Dan Bernstein <mitz@apple.com>
- Windows build fix
* WebCore.vcproj/WebCore.vcproj:
2007-12-14 Alp Toker <alp@atoker.com>
GTK+/Qt build fix. Track added files in r28722.
* WebCore.pro:
2007-12-14 Sam Weinig <sam@webkit.org>
Reviewed by Geoff.
Speed up getElementByClassName.
- This makes getElementByClassName 33% faster on the stress test
linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
* platform/text/StringImpl.cpp:
(WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
2007-12-14 Alp Toker <alp@atoker.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16432
[GTK] Update license headers
Consent has been given by the authors of these files to change license
to the LGPL as outlined in the bug report.
* platform/gtk/ClipboardGtk.cpp:
* platform/gtk/ContextMenuGtk.cpp:
* platform/gtk/ContextMenuItemGtk.cpp:
* platform/gtk/CookieJarGtk.cpp:
* platform/gtk/CursorGtk.cpp:
* platform/gtk/DragDataGtk.cpp:
* platform/gtk/DragImageGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
* platform/gtk/PlatformScreenGtk.cpp:
* platform/gtk/PlatformScrollBarGtk.cpp:
* platform/gtk/SearchPopupMenuGtk.cpp:
* platform/gtk/WidgetGtk.cpp:
2007-12-14 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugs.webkit.org/show_bug.cgi?id=16442
navigation policy delegate gets called twice for each load
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
That's handled by FrameLoader.
* loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
and continueAfterNavigationPolicy.
2007-12-14 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
return nil in that case.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didExplicitOpen):
2007-12-14 David Smith <catfish.man@gmail.com>
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=14955
Implement getElementsByClassName.
This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
and takes advantage of admitting that it's class-specific to encapsulate class attribute
parsing so it can be shared. It also changes the class to use a Vector, rather than a linked
list to store the class names.
Tests: fast/dom/getElementsByClassName/001.html
fast/dom/getElementsByClassName/002.html
fast/dom/getElementsByClassName/003.html
fast/dom/getElementsByClassName/004.html
fast/dom/getElementsByClassName/005.html
fast/dom/getElementsByClassName/006.html
fast/dom/getElementsByClassName/007.html
fast/dom/getElementsByClassName/008.html
fast/dom/getElementsByClassName/009.html
fast/dom/getElementsByClassName/010.xml
fast/dom/getElementsByClassName/011.xml
fast/dom/getElementsByClassName/012.html
fast/dom/getElementsByClassName/013.html
fast/dom/getElementsByClassName/014.html
fast/dom/getElementsByClassName/array/001.html
fast/dom/getElementsByClassName/array/002.html
fast/dom/getElementsByClassName/array/003.html
fast/dom/getElementsByClassName/array/004.html
fast/dom/getElementsByClassName/dumpNodeList.html
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchRules):
(WebCore::CSSStyleSelector::checkOneSelector):
* dom/AtomicStringList.h: Removed.
* dom/ClassNames.cpp: Added.
(WebCore::ClassNames::contains):
(WebCore::ClassNames::parseClassAttribute):
* dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
(WebCore::ClassNames::ClassNames):
(WebCore::ClassNames::size):
(WebCore::ClassNames::clear):
(WebCore::ClassNames::operator[]):
(WebCore::isClassWhitespace):
* dom/ClassNodeList.cpp: Added.
(WebCore::ClassNodeList::ClassNodeList):
(WebCore::ClassNodeList::length):
(WebCore::ClassNodeList::item):
(WebCore::ClassNodeList::nodeMatches):
* dom/ClassNodeList.h: Added.
* dom/Document.cpp:
(WebCore::Document::getElementsByName):
(WebCore::Document::getElementsByClassName):
* dom/Document.h:
* dom/Document.idl:
* dom/Element.cpp:
(WebCore::Element::getClassNames):
(WebCore::Element::getElementsByClassName):
* dom/Element.h:
* dom/Element.idl:
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::item):
(WebCore::NameNodeList::nodeMatches):
* dom/NameNodeList.h:
* dom/NamedMappedAttrMap.cpp:
(WebCore::NamedMappedAttrMap::clearAttributes):
(WebCore::NamedMappedAttrMap::parseClassAttribute):
* dom/NamedMappedAttrMap.h:
(WebCore::NamedMappedAttrMap::getClassNames):
* dom/StyledElement.cpp:
(WebCore::StyledElement::getClassNames):
* dom/StyledElement.h:
2007-12-14 Darin Adler <darin@apple.com>
Reviewed by Sam.
- fix http://bugs.webkit.org/show_bug.cgi?id=16351
FontFallbackList.h doesn't include wtf/PassRefPtr.h
* platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
* platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
2007-12-14 Darin Adler <darin@apple.com>
Reviewed by Alexey.
- http://bugs.webkit.org/show_bug.cgi?id=16420
change regression tests to use document.execCommand instead of textInputController.doCommand
Add a few more operations to document.execCommand.
Finished up the transition to the new Editor::Command, including removing
the Editor::execCommand function.
* WebCore.base.exp: Added Editor::Command::isSupported.
* editing/Editor.h: Removed execCommand.
* editing/EditorCommand.cpp:
(WebCore::expandSelectionToGranularity): Added.
(WebCore::verticalScrollDistance): Added; replaces canScroll.
(WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
(WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
(WebCore::executeDeleteForward): Ditto.
(WebCore::executeDeleteToBeginningOfLine): Ditto.
(WebCore::executeDeleteToBeginningOfParagraph): Ditto.
(WebCore::executeDeleteToEndOfLine): Ditto.
(WebCore::executeDeleteToEndOfParagraph): Ditto.
(WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
removing the explicit scrolling, and letting it be done automatically by code that makes
the caret visible. In some cases the old code would scroll twice which was harmless but
unnecessary.
(WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
(WebCore::executeMovePageUp): See MovePageDown above.
(WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
(WebCore::executeSelectLine): Ditto.
(WebCore::executeSelectParagraph): Ditto.
(WebCore::executeSelectSentence): Ditto.
(WebCore::executeSelectWord): Ditto.
(WebCore::executeSwapWithMark): Some small tweaks.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
bit more, but I didn't do that this time.
- Removed some obsolete unused code.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
NSTextView. This was left over from when we used NSTextField and NSTextView for form
elements and is no longer used at all.
* page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
of the bridge or another. We really need to find a time to tear down the rest of the
bridge, but that's not this patch.
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
instead of using a method.
(-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
Took out obsolete comment about matching enums (we use a single enum now and have for some
time).
(-[WebCoreFrameBridge selectionGranularity]): Ditto.
2007-12-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
* editing/CompositeEditCommand.h:
* editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
* editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
it and listNode, if they exists, so that moving listChildNode doesn't put it out
of order. Added a test case to cover each change.
* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
tries to split a container at a bogus child, and an early return to avoid a
hang in that case.
2007-12-14 Anders Carlsson <andersca@apple.com>
Reviewed by Darin and Geoff.
<rdar://problem/5619295>
REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
_NPN_CreateScriptObject doesn't take an origin root object anymore.
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::createNPObject):
* page/Frame.cpp:
(WebCore::Frame::windowScriptNPObject):
2007-12-14 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
which is the root cause of:
http://bugs.webkit.org/show_bug.cgi?id=12943
box-shadow: small values don't affect shadow position
http://bugs.webkit.org/show_bug.cgi?id=14736
Safari implementation of text-shadow off by 1px
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
of the offsets passed to CGContextSetShadow* to ensure that the end
result after truncation is the desired integer offsets.
2007-12-13 Alp Toker <alp@atoker.com>
curl backend build fix for breakage introduced in r28709.
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
2007-12-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
handle editing positions, like [input, 0];
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
the input element itself.
Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
nesting a <div>.
2007-12-13 Alp Toker <alp@atoker.com>
Reviewed by Oliver Hunt.
http://bugs.webkit.org/show_bug.cgi?id=16365
[cURL] Acid2 test segmentation fault
This patch makes the Acid2 test pass.
Defer the cleanup of cancelled jobs and halt further transfer as early
as possible.
Bug found by and initial patch provided by Luca Bruno.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::writeCallback):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::cancel):
2007-12-13 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
* page/InspectorController.cpp:
(WebCore::moveByUnrestricted):
(WebCore::InspectorController::windowScriptObjectAvailable):
(WebCore::InspectorController::moveWindowBy):
* page/InspectorController.h:
* page/inspector/inspector.js:
2007-12-13 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
Test: fast/css/transition-timing-function.html
* css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
not reject non-primitive non-list values, and instead made sure that the
mapping functions rejected them if necessary. This allows non-primitive
timing functions to be mapped.
(WebCore::CSSStyleSelector::mapBackgroundAttachment):
(WebCore::CSSStyleSelector::mapBackgroundClip):
(WebCore::CSSStyleSelector::mapBackgroundComposite):
(WebCore::CSSStyleSelector::mapBackgroundOrigin):
(WebCore::CSSStyleSelector::mapBackgroundImage):
(WebCore::CSSStyleSelector::mapBackgroundRepeat):
(WebCore::CSSStyleSelector::mapBackgroundXPosition):
(WebCore::CSSStyleSelector::mapBackgroundYPosition):
(WebCore::CSSStyleSelector::mapTransitionDuration):
(WebCore::CSSStyleSelector::mapTransitionRepeatCount):
(WebCore::CSSStyleSelector::mapTransitionTimingFunction):
(WebCore::CSSStyleSelector::mapTransitionProperty):
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
regression test.
* css/CSSTimingFunctionValue.h:
(WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
Added. Returns true.
* css/CSSValue.h:
(WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
false.
2007-12-13 Steve Falkenburg <sfalken@apple.com>
Move source file generation into its own vcproj to fix build dependencies.
Reviewed by Adam.
* WebCore.vcproj/WebCore.make:
* WebCore.vcproj/WebCore.sln:
* WebCore.vcproj/WebCore.submit.sln:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreGenerated.vcproj: Added.
2007-12-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
Some of the operations performed in removeHTMLFontStyle were non-undoable.
I'm having trouble writing a layout test for this because I can't get DRT to
perform editing operations in separate Undo steps without adding unacceptably long
wait times between operations. I filed:
<rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeHTMLFontStyle):
2007-12-13 Sam Weinig <sam@webkit.org>
Reviewed by Anders.
Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
Toolbar dragged inspector cannot be moved beyond screen edges
* page/InspectorController.cpp:
(WebCore::moveByUnrestricted):
(WebCore::InspectorController::windowScriptObjectAvailable):
(WebCore::InspectorController::moveByUnrestricted):
* page/InspectorController.h:
* page/inspector/inspector.js:
2007-12-13 Adam Roben <aroben@apple.com>
Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
Windows Media Player has a modal message loop that will deliver
messages to us at inappropriate times and we will crash if we handle
them when they are delivered. In PluginViewWin, we add a quirk for
Media Player to set a flag whenever we give the plugin a chance to
execute code, and in SharedTimerWin we check if the plugin is
executing code and repost messages if so.
Reviewed by Anders.
* platform/win/SharedTimerWin.cpp:
(WebCore::TimerWindowWndProc): Repost messages if we're calling a
plugin.
* plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
setCallingPlugin(true/false).
(WebCore::PluginViewWin::updateWindow):
(WebCore::PluginViewWin::dispatchNPEvent):
(WebCore::PluginViewWin::setNPWindowRect):
(WebCore::PluginViewWin::start):
(WebCore::PluginViewWin::stop):
(WebCore::PluginViewWin::performRequest):
(WebCore::PluginViewWin::bindingInstance):
(WebCore::PluginViewWin::determineQuirks):
(WebCore::PluginViewWin::setCallingPlugin): Added.
(WebCore::PluginViewWin::isCallingPlugin): Added.
* plugins/win/PluginViewWin.h: Added a new quirk.
2007-12-13 Alp Toker <alp@atoker.com>
Add a missing DEPENDPATH. Fixes non-clean builds following networking
header changes.
* WebCore.pro:
2007-12-13 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
- fix regression in fast/text/international/bidi-override on Tiger
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
too. I forgot to add them when I added them to treatAsZeroWidthSpace in
an earlier patch.
2007-12-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
The code that checks the selected Range to see if it's inside an anchor
checks ancestors of the Range's commonAncestor() but not the
commonAncestor() itself, and so we'd fail to add markup for the enclosing
anchor to the pasteboard.
Some enclosing element getters check the node passed to the getter and some
don't. There were a few places where we incorrectly assumed that enclosing
element getters check the node passed to the getter, but this is the only
case that I'm able to write a test case for at the moment.
In this patch I've:
Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
like the newer enclosing element getters. This is important because we must
soon add code to the getters so that they understand that some editing positions
inside nodes don't actually refer to positions inside those nodes but positions
before and after them. Like [table, 0].
Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
n where [n, o] is the position passed to the getter, instead of starting the the parent
of n. This makes all but a few of the enclosing element getters behave consistently.
Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable
nodes if the input position was editable. This fixes a bug that that the above change
exposed.
Changed enclosingTableCell to simply call enclosingNodeWithType. We should do
this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
unless doing so would affect readability, like it would in the case of enclosingTableCell.
Ditto for enclosingBlock.
* editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::doApply):
* editing/DeleteButtonController.cpp:
(WebCore::enclosingDeletableElement):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializePositionData):
(WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
* editing/Editor.cpp:
(WebCore::Editor::selectionUnorderedListState):
(WebCore::Editor::selectionOrderedListState):
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
(WebCore::IndentOutdentCommand::outdentParagraph):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldMerge):
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
(WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
* editing/TextIterator.cpp:
* editing/htmlediting.cpp:
(WebCore::enclosingBlock):
(WebCore::enclosingNodeWithTag):
(WebCore::enclosingNodeOfType):
(WebCore::enclosingTableCell):
(WebCore::isTableCell):
* editing/htmlediting.h:
* editing/markup.cpp:
(WebCore::appendStartMarkup):
(WebCore::createMarkup):
2007-12-13 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
* WebCore.base.exp:
* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::charCode):
* page/EventHandler.cpp:
(WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
(WebCore::EventHandler::keyEvent):
* page/EventHandler.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
* page/Settings.h:
(WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
* platform/PlatformKeyboardEvent.h:
* platform/mac/KeyEventMac.mm:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2007-12-13 Dan Bernstein <mitz@apple.com>
- build fix
* platform/network/cf/ResourceErrorCF.cpp:
2007-12-13 Antti Koivisto <antti@apple.com>
Reviewed by Tim Hatcher.
Fix <rdar://problem/5605674>
Make <video> display WebKit context menu instead of the QTKit one.
It doesn't really matter where the QTMovieView is.
* ChangeLog:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovieView):
(WebCore::MediaPlayerPrivate::setRect):
2007-12-13 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
- ensure that Unicode bidi control characters are rendered as zero width
spaces
Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
* platform/graphics/Font.h:
(WebCore::Font::treatAsZeroWidthSpace):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
* platform/text/CharacterNames.h:
2007-12-13 Brady Eidson <beidson@apple.com>
Build fix
* platform/wx/TemporaryLinkStubs.cpp:
2007-12-12 Brady Eidson <beidson@apple.com>
Build fix
* platform/gtk/TemporaryLinkStubs.cpp:
2007-12-12 Brady Eidson <beidson@apple.com>
Build fix
* WebCore.pro:
* history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
2007-12-12 Brady Eidson <beidson@apple.com>
Build fix
* platform/win/TemporaryLinkStubs.cpp:
2007-12-12 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
All back/forward list and page cache related items used to be in WebKit.
When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs
in CachedPage and having the Mac-only CachedPageMac.mm
To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the
concept of "CachedPagePlatformData" which can contain anything the platform API wants.
I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* history/CachedPage.cpp:
(WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
(WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData.
(WebCore::CachedPage::setCachedPagePlatformData):
(WebCore::CachedPage::cachedPagePlatformData):
* history/CachedPage.h:
* history/CachedPagePlatformData.h: Added.
(WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
(WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
* history/PageCache.cpp:
(WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
* history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform
(setting the cached DocumentLoader to the Frame).
(WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods
* loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
* svg/graphics/SVGImageEmptyClients.h:
(WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
(WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
(WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
2007-12-12 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): When the font property is
set to 'initial', set the font size to its initial value, 'medium',
and the font family to the standard family.
2007-12-12 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
Don't remove the table row that contained the end of the selection if it is where we are
about to place the ending selection.
Don't remove all empty rows after the row that contained the start of the selection,
they might come after the row that contained the end of the selection.
2007-12-12 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Add button to clear the Web Inspector's console.
* English.lproj/InspectorLocalizedStrings.js:
* page/inspector/ConsolePanel.js:
* page/inspector/inspector.css:
2007-12-12 Anders Carlsson <andersca@apple.com>
Reviewed by Adam and Jon.
<rdar://problem/5349282>
popup blocking is not applied to plugins on Windows.
Implement popup blocking. If the plug-in supports the new
NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
to determine if a plug-in request can open new windows.
If a plug-in does not support the new API, we assume that a plug-in can open new windows
in response to either mouse click or key press events.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginRequestWin::PluginRequestWin):
(WebCore::PluginRequestWin::shouldAllowPopups):
Add new shouldAllowPopups member.
(WebCore::PluginViewWin::popPopupsStateTimerFired):
Reset the popup state.
(WebCore::isWindowsMessageUserGesture):
New function that given a windows message id returns whether it's a user gesture or not.
(WebCore::PluginViewWin::wndProc):
Allow popups if the window message is a user gesture.
(WebCore::PluginViewWin::dispatchNPEvent):
New method that dispatches an NPEvent, turning on popups if necessary.
(WebCore::PluginViewWin::paint):
(WebCore::PluginViewWin::handleKeyboardEvent):
(WebCore::PluginViewWin::handleMouseEvent):
Call dispatchNPEvent().
(WebCore::PluginViewWin::performRequest):
(WebCore::PluginViewWin::load):
Add calls to shouldAllowPopups().
(WebCore::PluginViewWin::pushPopupsEnabledState):
(WebCore::PluginViewWin::popPopupsEnabledState):
New methods that maintain the popup state stack.
(WebCore::PluginViewWin::arePopupsAllowed):
New method that returns whether popups are allowed.
(WebCore::PluginViewWin::PluginViewWin):
* plugins/win/PluginViewWin.h:
Add new instance variables.
* plugins/win/npapi.cpp:
(NPN_PushPopupsEnabledState):
(NPN_PopPopupsEnabledState):
Implement these.
2007-12-12 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- fix a bug in debug builds only where selecting an earlier item in
a popup selects the first item
Test: fast/forms/menulist-selection-reset.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::recalcListItems): Added an argument that
tells that function whether it should update the selected state of
option elements.
(WebCore::HTMLSelectElement::checkListItems): Changed to pass false
as the above argument.
* html/HTMLSelectElement.h:
2007-12-12 Adele Peterson <adele@apple.com>
Reviewed by Geoff.
Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
When the specification for cue ranges is more final, we will implement those.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::load):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::load):
(WebCore::MediaPlayerPrivate::play):
(WebCore::MediaPlayerPrivate::pause):
(WebCore::MediaPlayerPrivate::setEndTime):
(WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
(WebCore::MediaPlayerPrivate::endPointTimerFired):
(WebCore::MediaPlayerPrivate::timeChanged):
(WebCore::MediaPlayerPrivate::didEnd):
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
(WebCore::MediaPlayerPrivate::endPointTimerFired):
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2007-12-12 MorganL <morganl.webkit@yahoo.com>
Reviewed by Maciej.
Fixes:
http://bugs.webkit.org/show_bug.cgi?id=16408
When navigating back/forward to a http:// link, we should prefer to
load from cache if possible.
* loader/FrameLoader.cpp:
2007-12-12 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
<rdar://problem/5132003>
dumpResourceLoadCallbacks is not implemented in DRT on Windows.
* platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::unpackPlatformError):
Handle kCFErrorDomainWinSock.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::willSendRequest):
Ignore willSendRequest calls where the redirect response is null, like we do in
the Mac version.
2007-12-12 Steve Falkenburg <sfalken@apple.com>
<rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
Reviewed by Anders.
* platform/win/SharedTimerWin.cpp:
(WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
2007-12-12 Beth Dakin <bdakin@apple.com>
Reviewed by Oliver.
Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs
with width and height 100% clip to 300 x 150
Though it was correct in an earlier iteration of my patch, it is
not sufficient in the final, committed version to ask if the
relativeWidthValue() or relativeHeightValue() is greater than 0
just to determine if one has been set, for, they are now
initialized to 300 and 150 respectively! This patch instead adds a
bool to keep track of whether a container size has been set, and
only used the relative value if it has.
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::calcViewport):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::setContainerSize):
(WebCore::SVGSVGElement::hasSetContainerSize):
2007-12-12 Brady Eidson <beidson@apple.com>
Reviewed by Steve Falkenburg
<rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
* platform/network/ProtectionSpace.cpp:
(WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
2007-12-12 Alp Toker <alp@atoker.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16388
[GTK] Widget::setCursor() gets called frequently
Cache the current cursor to avoid calling gdk_window_set_cursor() when
there's no change in cursor.
* platform/gtk/WidgetGtk.cpp:
(WebCore::Widget::Widget):
(WebCore::Widget::cursor):
(WebCore::Widget::setCursor):
2007-12-12 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16342
Build Warning and Error fixes in WebCore GTK+
Use C-style casts for casting function pointers to gpointer
Use static_cast<int> to cast a float to int to fix a warning
* platform/gtk/PlatformScrollBarGtk.cpp:
(PlatformScrollbar::PlatformScrollbar):
(PlatformScrollbar::~PlatformScrollbar):
(PlatformScrollbar::gtkValueChanged):
* platform/gtk/ThreadingGtk.cpp:
(callFunctionOnMainThread):
(callOnMainThread):
2007-12-12 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- better fix for a crash when pressing a key that is not associated
with a command
* editing/EditorCommand.cpp:
(WebCore::Editor::command): Return the empty command if the command name
is empty.
2007-12-12 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16410
Implement isKeypadEvent() on Windows
Test: platform/win/fast/events/keyLocation-numpad.html
* platform/win/KeyEventWin.cpp:
(WebCore::isKeypadEvent): Added.
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
2007-12-12 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej.
<rdar://problem/5071781> window.mouseout events are not sent
to window when mouse moves out of window
Make PlatformMouseEvent recognise WM_MOUSELEAVE.
* platform/win/PlatformMouseEventWin.cpp:
(WebCore::messageToEventType):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
2007-12-12 Sam Weinig <sam@webkit.org>
Fix Mac release build.
* WebCore.base.exp:
2007-12-12 Sam Weinig <sam@webkit.org>
Build fix for Qt, Gtk, and Wx.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* loader/win/FrameLoaderWin.cpp:
(WebCore::FrameLoader::urlSelected):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::parseDataUrl):
(WebCore::ResourceHandleManager::startJob):
* platform/network/win/CookieJarWin.cpp:
(WebCore::setCookies):
(WebCore::cookies):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeURL):
2007-12-11 Dan Bernstein <mitz@apple.com>
Reviewed by Maciej Stachowiak.
- allow non-integer font sizes on Windows for small caps
* platform/graphics/win/FontDataWin.cpp:
(WebCore::FontData::smallCapsFontData):
* platform/graphics/win/FontPlatformData.h:
(WebCore::FontPlatformData::size):
(WebCore::FontPlatformData::setSize):
* platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):
2007-12-11 Sam Weinig <sam@webkit.org>
Build fix for Qt, Gtk, and Wx.
* platform/gtk/CookieJarGtk.cpp:
(WebCore::setCookies):
(WebCore::cookies):
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::writeURL):
* platform/qt/CookieJarQt.cpp:
(WebCore::setCookies):
(WebCore::cookies):
* platform/wx/PasteboardWx.cpp:
(WebCore::Pasteboard::writeURL):
2007-12-11 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Scrub URL out of the tree in preparation for renaming KURL to URL.
- Renames Document::URL() -> Document::url()
- Renames DocumentLoader::URL() -> DocumentLoader::url()
- Renames KURL::url() to KURL::string() and KURL::deprecatedString()
- Remove FrameLoader::URL()
- Various variable renames.
The change from Document::URL() to Document::url() required changes
to the bindings scripts as well, because URL() is the name of a DOM
method. The code generation scripts now have code to special case URL()
to url().
* WebCore.base.exp:
* bindings/js/kjs_events.cpp:
(WebCore::JSLazyEventListener::parseCode):
* bindings/js/kjs_navigator.cpp:
(KJS::Navigator::getValueProperty):
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::initScript):
* bindings/js/kjs_window.cpp:
(KJS::Window::put):
(KJS::Window::allowsAccessFrom):
(KJS::Location::put):
(KJS::LocationProtoFuncReplace::callAsFunction):
(KJS::LocationProtoFuncReload::callAsFunction):
(KJS::LocationProtoFuncAssign::callAsFunction):
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorCOM.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::insertedIntoParent):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseBackgroundImage):
(WebCore::CSSParser::parseFontFaceSrc):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::createImportRule):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::setEncodedURL):
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
(WebCore::Document::domain):
(WebCore::Document::setDomain):
(WebCore::Document::getImageMap):
(WebCore::Document::completeURL):
* dom/Document.h:
(WebCore::Document::url):
(WebCore::Document::baseURL):
* dom/Element.cpp:
(WebCore::Element::baseURI):
* dom/ProcessingInstruction.h:
* dom/StyledElement.cpp:
(WebCore::StyledElement::addCSSImageProperty):
* dom/StyledElement.h:
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::endElementNs):
(WebCore::XMLTokenizer::end):
(WebCore::):
* dom/XMLTokenizer.h:
* editing/Editor.cpp:
(WebCore::Editor::copy):
* editing/markup.cpp:
(WebCore::completeURLs):
* history/CachedPage.h:
(WebCore::CachedPage::url):
* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
(WebCore::HistoryItem::setURL):
(WebCore::HistoryItem::isCurrentDocument):
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::process):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::reportErrorToConsole):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::childrenChanged):
(WebCore::HTMLScriptElement::insertedIntoDocument):
(WebCore::HTMLScriptElement::evaluateScript):
* html/HTMLScriptElement.h:
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::scriptExecution):
* loader/Cache.cpp:
(WebCore::createResource):
(WebCore::Cache::requestResource):
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify):
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
* loader/CachedResource.h:
(WebCore::CachedResource::):
* loader/CachedScript.h:
* loader/DocLoader.cpp:
(WebCore::DocLoader::checkForReload):
(WebCore::DocLoader::requestResource):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::url):
(WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
(WebCore::DocumentLoader::setRequest):
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FormSubmission::FormSubmission):
(WebCore::ScheduledRedirection::ScheduledRedirection):
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::requestFrame):
(WebCore::FrameLoader::loadSubframe):
(WebCore::FrameLoader::submitFormAgain):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::didExplicitOpen):
(WebCore::FrameLoader::replaceContentsWithScriptResult):
(WebCore::FrameLoader::executeScript):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::startIconLoader):
(WebCore::FrameLoader::commitIconURLToIconDatabase):
(WebCore::FrameLoader::scheduleRefresh):
(WebCore::FrameLoader::redirectionTimerFired):
(WebCore::FrameLoader::loadPlugin):
(WebCore::FrameLoader::didNotOpenURL):
(WebCore::FrameLoader::updatePolicyBaseURL):
(WebCore::FrameLoader::scrollToAnchor):
(WebCore::FrameLoader::startRedirectionTimer):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::canLoad):
(WebCore::FrameLoader::shouldHideReferrer):
(WebCore::FrameLoader::shouldAllowNavigation):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::clientRedirected):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::didTellBridgeAboutLoad):
(WebCore::FrameLoader::haveToldBridgeAboutLoad):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
(WebCore::FrameLoader::createHistoryItem):
(WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
(WebCore::FrameLoader::loadItem):
(WebCore::FrameLoader::urlsMatchItem):
(WebCore::FrameLoader::recursiveGoToItem):
(WebCore::FrameLoader::updateHistoryForStandardLoad):
(WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
* loader/FrameLoader.h:
(WebCore::FrameLoader::url):
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
* loader/MainResourceLoader.cpp:
(WebCore::shouldLoadAsEmptyDocument):
(WebCore::MainResourceLoader::didFinishLoading):
* loader/NavigationAction.cpp:
(WebCore::NavigationAction::NavigationAction):
* loader/NavigationAction.h:
(WebCore::NavigationAction::url):
* loader/PluginDocument.cpp:
(WebCore::PluginTokenizer::createDocumentStructure):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::load):
(WebCore::SubresourceLoader::create):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::finishLoading):
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
* loader/mac/LoaderNSURLExtras.m:
(urlOriginalData):
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* page/Frame.cpp:
(WebCore::Frame::setUserStyleSheetLocation):
* page/InspectorController.cpp:
(WebCore::InspectorResource::type):
(WebCore::addSourceToFrame):
(WebCore::InspectorController::addScriptResource):
(WebCore::InspectorController::updateScriptResourceRequest):
(WebCore::InspectorController::didCommitLoad):
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getData:andResponse:forURL:]):
* platform/KURL.h:
(WebCore::KURL::string):
(WebCore::KURL::deprecatedString):
* platform/mac/ClipboardMac.mm:
(WebCore::ClipboardMac::getData):
* platform/mac/CookieJar.mm:
(WebCore::cookies):
(WebCore::setCookies):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::writeURL):
(WebCore::fileWrapperForImage):
(WebCore::Pasteboard::writeImage):
(WebCore::Pasteboard::plainText):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::portAllowed):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::isNull):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::willSendRequest):
(WebCore::didReceiveResponse):
(WebCore::didReceiveData):
(WebCore::didFinishLoading):
(WebCore::didFail):
(WebCore::didReceiveChallenge):
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::start):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::createGlobalData):
(WebCore::urlToMarkup):
* platform/win/ClipboardWin.cpp:
(WebCore::writeURL):
(WebCore::writeImageToDataObject):
(WebCore::ClipboardWin::writeURL):
(WebCore::ClipboardWin::writeRange):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURL):
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::PluginDatabaseWin::findPlugin):
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::startStream):
(WebCore::PluginStreamWin::destroyStream):
* plugins/win/PluginViewWin.cpp:
(WebCore::scriptStringIfJavaScriptURL):
(WebCore::PluginViewWin::performRequest):
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::updateFromElement):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::getResponseXML):
(WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::loadSheet):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
(WebCore::xsltStylesheetPointer):
(WebCore::xmlDocPtrFromNode):
2007-12-11 Beth Dakin <bdakin@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/5641255> SVGs with width and height 100%
fail to render when used as background images
CachedImage now has a setImageContainerSize function. It is only
needed for SVG right now.
* loader/CachedImage.cpp:
(WebCore::CachedImage::setImageContainerSize):
* loader/CachedImage.h:
Relatively sized SVGs have no intrinsic size. Because this call is
low-level enough that we cannot pass in the container size and get
the real size of the SVG, we need to know if it has relative
dimensions, and if so, we need to get the size from scaledTileSize.
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
(WebCore::Image::setContainerSize):
(WebCore::Image::hasRelativeWidth):
(WebCore::Image::hasRelativeHeight):
Re-factored calculateBackgroundSize a bit so that it returns an
IntSize. Made it a member function so that it can send m_width and
m_height along to setImageContainerSize.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calculateBackgroundSize):
(WebCore::RenderBox::calculateBackgroundImageGeometry):
* rendering/RenderBox.h:
Need to account for relatively sized SVGs in calcViewport()
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::calcViewport):
Added new member variables to store the size of the SVG container.
relativeWidthValue() and relativeHeightValue() use the stored SVG
container size to correctly calculate the width and height of a
relatively sized SVG.
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::setContainerSize):
(WebCore::SVGSVGElement::relativeWidthValue):
(WebCore::SVGSVGElement::relativeHeightValue):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::containerSize):
Re-factored size calculations to use the size of the container.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::size):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
* svg/graphics/SVGImage.h:
2007-12-11 Darin Adler <darin@apple.com>
* editing/Editor.cpp:
(WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
a missing return statement.
2007-12-11 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- exposed many new commands to the DOM Document executeCommand function by
merging the JSEditor and Editor executeCommand implementations
- replaced the execCommand function with a EditorCommand class
- replaced the WTF::StrHash<> class template with the WebCore::StringHash class
- replaced the WTF::CaseInsensitiveHash<> class template with the
WebCore::CaseFoldingHash class
* WebCore.base.exp: Updated.
* WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* WebCoreSources.bkl: Ditto.
* dom/Document.cpp:
(WebCore::Document::Document): Removed code to set up m_jsEditor.
(WebCore::Document::~Document): Removed code to delete m_jsEditor.
(WebCore::command): Added. Helper function that gets an Editor::Command.
(WebCore::Document::executeCommand): Changed to use Editor::Command instead of
JSEditor.
(WebCore::Document::queryCommandEnabled): Ditto.
(WebCore::Document::queryCommandIndeterm):
(WebCore::Document::queryCommandState): Ditto.
(WebCore::Document::queryCommandSupported): Ditto.
(WebCore::Document::queryCommandValue): Ditto.
* dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
use CaseFoldingHash.
* editing/Editor.cpp:
(WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
made into a member function so it is accessible from the new EditorCommand.cpp file.
Also changed to get the selection from the passed-in frame instead of from the
page, because this should work on the targeted frame unless the event overrides it.
(WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
(WebCore::Editor::handleInputMethodKeypress): Ditto.
(WebCore::imageElementFromImageDocument): Renamed and changed to return
a HTMLImageElement instead of a Node*.
(WebCore::Editor::canCopy): Updated for name change.
(WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
(WebCore::Editor::selectionOrderedListState): Ditto.
(WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
(WebCore::updateState): Moved here from Frame.
(WebCore::Editor::selectionHasStyle): Ditto.
(WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
(WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
selectionForCommand change.
(WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
(WebCore::Editor::toggleBold): Call the ToggleBold command via the command
machinery since it's no longer in this file as a local function.
(WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
(WebCore::Editor::setBaseWritingDirection): Change type of argument and of
local variable.
(WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
without a kill ring, but it's relatively straightforward to implement one.
(WebCore::Editor::appendToKillRing): Put default implementation here for
platforms other than Mac. We should probably put a simple kill ring
implementation here -- doesn't need to be shared with the OS oh platforms
other than Mac.
(WebCore::Editor::prependToKillRing): Ditto.
(WebCore::Editor::yankFromKillRing): Ditto.
(WebCore::Editor::startNewKillRingSequence): Ditto.
(WebCore::Editor::setKillRingToYankedState): Ditto.
* editing/Editor.h: Moved the TriState enum here instead of inside the
Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
here from the Frame class. Added Editor::Command class with five functions
for the various things you can do with a command (execute it, check if it
can be used, and its state and value). Changed hte parameter of
setBaseWritingDirection to be a const String& rather than a String.
Got rid of the kill-ring-related operations, but added the kill ring
functions themselves. Made selectedRange() public. Made the
m_startNewKillRingSequence not Mac-specific and added "should" to its
name.
* editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
Retained only the editing commands.
(WebCore::targetFrame): Moved to the top of the file.
(WebCore::executeApplyStyle): Added. Helper function for commands
that need to apply styles.
(WebCore::executeToggleStyle): Added. Helper function for commands
that need to toggle styles based on the style of the start of selection.
(WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
for paragraph styles.
(WebCore::executeInsertFragment): Added. Helper function for commands
that need to insert a DOM fragment.
(WebCore::executeInsertNode): Added. Helper function for commands that
need to insert a tree rooted in a single DOM node.
(WebCore::stateStyle): Added. Helper function for the state of commands
that represent style.
(WebCore::valueStyle): Added. Helper function for the value of commands
that represent style.
(WebCore::canScroll): Added. Helper functions for some move and scroll
commands that need to determine if the renderer they are in can scroll.
(WebCore::unionDOMRanges): Moved here from EditorMac.
(WebCore::executeBackColor):
(WebCore::executeBackwardDelete):
(WebCore::executeCopy):
(WebCore::executeCreateLink):
(WebCore::executeCut):
(WebCore::executeDelete):
(WebCore::executeDeleteToMark):
(WebCore::executeDeleteWordBackward):
(WebCore::executeDeleteWordForward):
(WebCore::executeFindString):
(WebCore::executeFontName):
(WebCore::executeFontSize):
(WebCore::executeFontSizeDelta):
(WebCore::executeForeColor):
(WebCore::executeFormatBlock):
(WebCore::executeForwardDelete):
(WebCore::executeIndent):
(WebCore::executeInsertBacktab):
(WebCore::executeInsertHorizontalRule):
(WebCore::executeInsertHTML):
(WebCore::executeInsertImage):
(WebCore::executeInsertLineBreak):
(WebCore::executeInsertNewline):
(WebCore::executeInsertNewlineInQuotedContent):
(WebCore::executeInsertOrderedList):
(WebCore::executeInsertParagraph):
(WebCore::executeInsertTab):
(WebCore::executeInsertText):
(WebCore::executeInsertUnorderedList):
(WebCore::executeJustifyCenter):
(WebCore::executeJustifyFull):
(WebCore::executeJustifyLeft):
(WebCore::executeJustifyRight):
(WebCore::executeMoveBackward):
(WebCore::executeMoveBackwardAndModifySelection):
(WebCore::executeMoveDown):
(WebCore::executeMoveDownAndModifySelection):
(WebCore::executeMoveDownByPageAndModifyCaret):
(WebCore::executeMoveForward):
(WebCore::executeMoveForwardAndModifySelection):
(WebCore::executeMoveLeft):
(WebCore::executeMoveLeftAndModifySelection):
(WebCore::executeMoveRight):
(WebCore::executeMoveRightAndModifySelection):
(WebCore::executeMoveToBeginningOfDocument):
(WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
(WebCore::executeMoveToBeginningOfLine):
(WebCore::executeMoveToBeginningOfLineAndModifySelection):
(WebCore::executeMoveToBeginningOfParagraph):
(WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
(WebCore::executeMoveToBeginningOfSentence):
(WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
(WebCore::executeMoveToEndOfDocument):
(WebCore::executeMoveToEndOfDocumentAndModifySelection):
(WebCore::executeMoveToEndOfSentence):
(WebCore::executeMoveToEndOfSentenceAndModifySelection):
(WebCore::executeMoveToEndOfLine):
(WebCore::executeMoveToEndOfLineAndModifySelection):
(WebCore::executeMoveToEndOfParagraph):
(WebCore::executeMoveToEndOfParagraphAndModifySelection):
(WebCore::executeMoveParagraphBackwardAndModifySelection):
(WebCore::executeMoveParagraphForwardAndModifySelection):
(WebCore::executeMoveUp):
(WebCore::executeMoveUpAndModifySelection):
(WebCore::executeMoveUpByPageAndModifyCaret):
(WebCore::executeMoveWordBackward):
(WebCore::executeMoveWordBackwardAndModifySelection):
(WebCore::executeMoveWordForward):
(WebCore::executeMoveWordForwardAndModifySelection):
(WebCore::executeMoveWordLeft):
(WebCore::executeMoveWordLeftAndModifySelection):
(WebCore::executeMoveWordRight):
(WebCore::executeMoveWordRightAndModifySelection):
(WebCore::executeOutdent):
(WebCore::executePaste):
(WebCore::executePasteAndMatchStyle):
(WebCore::executePrint):
(WebCore::executeRedo):
(WebCore::executeRemoveFormat):
(WebCore::executeSelectAll):
(WebCore::executeSelectToMark):
(WebCore::executeSetMark):
(WebCore::executeStrikethrough):
(WebCore::executeSubscript):
(WebCore::executeSuperscript):
(WebCore::executeSwapWithMark):
(WebCore::executeToggleBold):
(WebCore::executeToggleItalic):
(WebCore::executeTranspose):
(WebCore::executeUnderline):
(WebCore::executeUndo):
(WebCore::executeUnlink):
(WebCore::executeUnscript):
(WebCore::executeUnselect):
(WebCore::executeYank):
(WebCore::executeYankAndSelect):
(WebCore::supported):
(WebCore::supportedPaste):
(WebCore::enabled):
(WebCore::enabledAnySelection):
(WebCore::enabledAnySelectionAndMark):
(WebCore::enableCaretInEditableText):
(WebCore::enabledCopy):
(WebCore::enabledCut):
(WebCore::enabledInEditableText):
(WebCore::enabledInRichlyEditableText):
(WebCore::enabledPaste):
(WebCore::enabledRangeInEditableText):
(WebCore::enabledRangeInRichlyEditableText):
(WebCore::enabledRedo):
(WebCore::enabledUndo):
(WebCore::stateNone):
(WebCore::stateBold):
(WebCore::stateItalic):
(WebCore::stateOrderedList):
(WebCore::stateStrikethrough):
(WebCore::stateSubscript):
(WebCore::stateSuperscript):
(WebCore::stateUnderline):
(WebCore::stateUnorderedList):
(WebCore::valueNull):
(WebCore::valueBackColor):
(WebCore::valueFontName):
(WebCore::valueFontSize):
(WebCore::valueFontSizeDelta):
(WebCore::valueForeColor):
(WebCore::createCommandMap): Added lots of commands, including all the commands
from JSEditor. A few commands needed different behavior based on whether they are
invoked from the DOM or a keyboard binding.
(WebCore::Editor::command): Added. Gets a command object given a name.
(WebCore::Editor::Command::Command): Added.
(WebCore::Editor::Command::execute): Added.
(WebCore::Editor::Command::isSupported): Added.
(WebCore::Editor::Command::isEnabled): Added.
(WebCore::Editor::Command::state): Added.
(WebCore::Editor::Command::value): Added.
(WebCore::Editor::execCommand): Changed to call command().execute().
* editing/JSEditor.cpp: Removed.
* editing/JSEditor.h: Removed.
* editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
kill ring commands, so the kill ring commands can be cross-platform.
(WebCore::Editor::appendToKillRing): Added.
(WebCore::Editor::prependToKillRing): Added.
(WebCore::Editor::yankFromKillRing): Added.
(WebCore::Editor::startNewKillRingSequence): Added.
(WebCore::Editor::setKillRingToYankedState): Added.
* page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
* page/Frame.h: Ditto.
* page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
* page/mac/WebCoreFrameBridge.h: Ditto.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
* platform/text/StringHash.h:
(WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
(WebCore::StringHash::equal): Ditto.
(WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
classes into this.
(WebCore::CaseFoldingHash::equal): Ditto.
* platform/text/StringImpl.cpp:
(WebCore::equal): Changed to invoke StringHash.
(WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
* dom/DOMImplementation.cpp:
(WebCore::addString): Updated to use StringHash and CaseFoldingHash.
(WebCore::isSVG10Feature): Ditto.
(WebCore::isSVG11Feature): Ditto.
* loader/FrameLoader.cpp:
(WebCore::localSchemes): Ditto.
* platform/graphics/FontCache.cpp:
(WebCore::computeHash): Ditto.
* platform/network/HTTPHeaderMap.h: Ditto.
* platform/text/PlatformString.h: Ditto.
* platform/text/StringImpl.h: Ditto.
* rendering/RenderPartObject.cpp:
(WebCore::RenderPartObject::updateWidget): Ditto.
* xml/XMLHttpRequest.cpp:
(WebCore::canSetRequestHeader): Ditto.
* rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
2007-12-11 Darin Adler <darin@apple.com>
* platform/wx/KeyboardEventWx.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
WX build. Changes the code around a little bit.
2007-12-11 Darin Adler <darin@apple.com>
* platform/wx/KeyboardEventWx.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
2007-12-11 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
Test: fast/text/international/complex-character-based-fallback.html
* platform/graphics/Font.cpp:
(WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
that forces this function to use the small caps font. It is used for
combining marks that need to combine with a small cap.
* platform/graphics/Font.h:
* platform/win/UniscribeController.cpp:
(WebCore::UniscribeController::advance): Changed to split the string
into runs of characters that will be rendered using the same FontData.
This is done by calling glyphDataForCharacter() for each cahracter to
find the FontData it should be rendered with.
(WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
argument that is passed on to shapeAndPlaceItem() instead of the
smallCaps argument.
(WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
argument and removed the font fallback logic from this function, as
it is now expected to be called with an item all of whose characters
can be rendered with the given fontData.
* platform/win/UniscribeController.h:
2007-12-07 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
<rdar://problem/5535636>
Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
http://bugs.webkit.org/show_bug.cgi?id=13916
JavaScript detects Tab as a character input on a textfield validation
Test: platform/win/fast/events/double-dead-char.html
* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::):
(WebCore::PlatformKeyboardEvent::type):
(WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
(WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
(WebCore::PlatformKeyboardEvent::keyIdentifier):
(WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
Added an explicit type member to differentiate different kinds of events:
RawKeyDown == keydown == WM_KEYDOWN
KeyUp == keyup == WM_KEYUP
Char == keypress == WM_CHAR
KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
* platform/mac/KeyEventMac.mm:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
(WebCore::windowsKeyCodeForKeyEvent):
(WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
that it still fails.
(WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
should not be available in those (because it cannot be provided on Windows).
* platform/win/KeyEventWin.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
Used standard Windows constants for bit masks instead of our own ones.
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
* platform/gtk/KeyEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/wx/KeyboardEventWx.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
Updated for cross-platform changes as much as it was possible without appropriate build
environments.
* WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
* bridge/EditorClient.h:
Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
* dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
* dom/KeyboardEvent.cpp:
(WebCore::eventTypeForKeyboardEventType):
(WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
now straightforward, so scary hacks such as using autorepeat to distinguish types are
not needed.
(WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
(WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
character codes.
* editing/Editor.h:
* editing/Editor.cpp:
(WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
(WebCore::Editor::handleKeyboardEvent): Updated for new function names.
(WebCore::Editor::handleInputMethodKeydown): Ditto.
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
highlighted when Space is pressed.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
described above.
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
now being handleInputMethodKeydown().
(WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
(WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
as default tab handling happens when processing keydown.
(WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
event handling. Fixed accesskey processing to use information that's available in a raw keydown
event.
(WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
handle tabs during keydown processing.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
what callers want.
* platform/text/PlatformString.h:
* platform/text/String.cpp:
(WebCore::String::characterStartingAt):
* platform/text/StringImpl.cpp:
(WebCore::StringImpl::characterStartingAt):
* platform/text/StringImpl.h:
Added a UChar32 accessor.
* svg/graphics/SVGImageEmptyClients.h:
(WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
(WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
Updated for new function names.
2007-12-11 John Sullivan <sullivan@apple.com>
Reviewed by Adele
Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovieView):
(WebCore::MediaPlayerPrivate::detachQTMovieView):
2007-12-11 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16325
<rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
Fix this on Windows, too!
Test: http/tests/misc/empty-cookie.html
* platform/network/win/CookieJarWin.cpp:
(WebCore::setCookies):
(WebCore::cookies):
Same fix as on Mac, translated into CF.
* platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
2007-12-11 Christian Dywan <christian@twotoasts.de>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16371
Implement additional mouse cursors for Gtk
Added cursor bitmaps from Mozilla:
http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
* platform/gtk/CursorGtk.cpp:
(WebCore::customCursorNew):
(WebCore::verticalTextCursor):
(WebCore::cellCursor):
(WebCore::contextMenuCursor):
(WebCore::noDropCursor):
(WebCore::copyCursor):
(WebCore::progressCursor):
(WebCore::aliasCursor):
(WebCore::noneCursor):
(WebCore::notAllowedCursor):
(WebCore::zoomInCursor):
(WebCore::zoomOutCursor):
* platform/gtk/CursorGtk.h: Added.
2007-12-10 Oliver Hunt <oliver@apple.com>
Reviewed by Weinig, Dan, and Alexey.
Fix character set used for dynamically loaded scripts.
Fix for:
<rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
<rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
<rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
Use the same logic to determine the charset for a script loaded dynamically
as we do for a statically loaded script.
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::insertedIntoDocument):
2007-12-10 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
We were trying to insert a block of the requested type before the body element.
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::doApply):
Removed unnecessary ()s in the if condition.
Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
a) upstreamStart will never be outside the root editable element, since in that case
there would be no block inside the editable root to Format, and b) if upstreamStart.node()
*is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
at [root, 0].
Added comments to explain the use of upstream() in the second if-clause.
Added an early return for case where there is nothing selected, in that case, there is nothing
to move.
2007-12-10 Adele Peterson <adele@apple.com>
Reviewed and partially fixed by Tim Hatcher.
Remaining part of fix for <rdar://problem/5633400>
Transformed <video> is not clipped correctly until a repaint is forced
Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
from clobbering the WebCore repaints.
* html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
* platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(method_setImplementation): Added for Tiger.
(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
(WebCore::MediaPlayerPrivate::cancelLoad): ditto.
(WebCore::MediaPlayerPrivate::setVisible): ditto.
(WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
(WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer.
(-[WebCoreMovieObserver repaint]): ditto.
(WebCore::mainThreadSetNeedsDisplay): Added.
Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
(WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
2007-12-10 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Updated for rename in JavaScriptCore.
* bridge/mac/WebCoreScriptDebugger.mm:
(-[WebCoreScriptCallFrame scopeChain]):
(-[WebCoreScriptCallFrame functionName]):
(-[WebCoreScriptCallFrame evaluateWebScript:]):
2007-12-10 Rodney Dawes <dobey@wayofthemonkey.com>
Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
<http://bugs.webkit.org/show_bug.cgi?id=16383>
Use KJS::Window not the ambiguous Window
Reviewed by ddkilzer.
* bindings/js/kjs_dom.cpp (checkNodeSecurity):
2007-12-10 Sam Weinig <sam@webkit.org>
Fix non-mac builds.
* page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
2007-12-10 Marvin Decker <marv.decker@gmail.com>
Reviewed by Darin.
Fix a divide by 0 in the progress tracker.
http://bugs.webkit.org/show_bug.cgi?id=15055
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::incrementProgress):
2007-12-09 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
More cleanup of kjs_window.
- Move WindowFeatures from bridge/ to page/
- Move functions related to WindowFeatures (boolFeature,
floatFeature, setWindowFeature, parseWindowFeatures) into the class.
- Fix up whitespace.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_window.cpp:
(KJS::DOMWindowTimer::~DOMWindowTimer):
(KJS::createWindow):
(KJS::showModalDialog):
(KJS::Window::getOwnPropertySlot):
(KJS::Window::allowsAccessFrom):
(KJS::Window::shouldInterruptScript):
(KJS::WindowProtoFuncAToB::callAsFunction):
(KJS::WindowProtoFuncOpen::callAsFunction):
(KJS::Window::setReturnValueSlot):
(KJS::ScheduledAction::execute):
(KJS::Window::timerFired):
(KJS::Location::Location):
(KJS::Location::getValueProperty):
(KJS::Location::getOwnPropertySlot):
(KJS::Location::put):
(KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
(KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
(KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
allowsAccessFrom, cleanup the function a little.
(KJS::PausedTimeouts::~PausedTimeouts):
* bridge/WindowFeatures.h: Removed.
* page/WindowFeatures.cpp: Added.
(WebCore::isSeparator):
(WebCore::WindowFeatures::WindowFeatures):
(WebCore::WindowFeatures::setWindowFeature):
(WebCore::WindowFeatures::boolFeature):
(WebCore::WindowFeatures::floatFeature):
* page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
(WebCore::WindowFeatures::WindowFeatures):
2007-12-10 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
* Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2007-12-10 Alp Toker <alp@atoker.com>
Reviewed by Niko.
Cairo implementation of GraphicsContext::setUseAntialiasing().
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setUseAntialiasing):
2007-12-10 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16182
SVG should disable antialiasing for shape-rendering="crispEdges"
Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setUseAntialiasing):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setUseAntialiasing):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setUseAntialiasing):
* platform/graphics/wx/GraphicsContextWx.cpp:
(WebCore::GraphicsContext::setUseAntialiasing):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
2007-12-09 Rob Buis <buis@kde.org>
Reviewed by Niko.
http://bugs.webkit.org/show_bug.cgi?id=16163
SVG crash in Node::setChanged() on Debug builds only (trashed parent)
Fix the crash by properly unregistering as client from SVGResource
when deleting a styled svg node.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::~SVGStyledElement):
2007-12-10 Brady Eidson <beidson@apple.com>
Rubberstamped by John
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
for the new quota, we should allow the database to be created
2007-12-10 David D. Kilzer <ddkilzer@webkit.org>
Bug 9683: Implement select.options.remove() method
<http://bugs.webkit.org/show_bug.cgi?id=9683>
Reviewed by Maciej.
Implement select.options.remove() by calling select.remove()
with the same arguments. This is what MSIE 7 does, although its
select.remove() method differs from WebKit's by throwing an
exception when called with no arguments or with a negative
integer argument. Note that the DOM Level 1 documentation
specifies that select.remove() does not throw an exception.
Tests: fast/js/select-options-remove-gc.html
fast/js/select-options-remove.html
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::remove): Added.
* html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::remove): Added.
* html/HTMLOptionsCollection.h:
* html/HTMLOptionsCollection.idl:
2007-12-09 Sam Weinig <sam@webkit.org>
Rubber stamped by Mark Rowe.
* WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
2007-12-09 Oliver Hunt <oliver@apple.com>
Reviewed by Niko.
Correction, 'z' and 'Z' are the only commands that cannot have an extended
list of arguments.
* svg/SVGParserUtilities.cpp:
(WebCore::SVGPathParser::parseSVG):
2007-12-09 Oliver Hunt <oliver@apple.com>
Reviewed by Niko.
Prevent unlimited iteration in the case of invalid path data.
The only path commands that can leave numbers trailing the command processing
are 'm' and 'M', in which trailing numbers are parsed as arguments to an
implicit lineto command. In any case we should just terminate as an invalid
path.
* svg/SVGParserUtilities.cpp:
(WebCore::SVGPathParser::parseSVG):
2007-12-09 Luca Bruno <lethalman88@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=15825
[GTK] curl - slow dns causing hangs.
Create a vector of jobs, to satisfy requests in the right order.
Set a limit to the number of simultaneous connections.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::maxRunningJobs): added
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::ResourceHandleManager::removeFromCurl):
(WebCore::ResourceHandleManager::startScheduledJobs):
* platform/network/curl/ResourceHandleManager.h:
(WebCore::ResourceHandleList): removed
(WebCore::ResourceHandleManager::m_runningJobs): added
(WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
(WebCore::ResourceHandleManager::m_resourceHandleList): added
2007-12-08 Sam Weinig <sam@webkit.org>
Reviewed by Oliver.
Cleanup kjs_window.h/cpp.
* bindings/js/kjs_window.cpp:
(KJS::WindowPrivate::WindowPrivate):
(KJS::DOMWindowTimer::DOMWindowTimer):
(KJS::Window::Window):
(KJS::Window::retrieveWindow):
(KJS::Window::retrieveActive):
(KJS::Window::retrieve):
(KJS::Window::location):
(KJS::Window::mark):
(KJS::allowPopUp):
(KJS::parseModalDialogFeatures):
(KJS::floatFeature):
(KJS::canShowModalDialog):
(KJS::canShowModalDialogNow):
(KJS::showModalDialog):
(KJS::Window::getValueProperty):
(KJS::Window::getOwnPropertySlot):
(KJS::Window::globalExec):
(KJS::Window::setListener):
(KJS::Window::getListener):
(KJS::Window::findOrCreateJSEventListener):
(KJS::Window::findOrCreateJSUnprotectedEventListener):
(KJS::Window::clearHelperObjectProperties):
(KJS::Window::setCurrentEvent):
(KJS::WindowProtoFuncAToB::callAsFunction):
(KJS::WindowProtoFuncBToA::callAsFunction):
(KJS::WindowProtoFuncOpen::callAsFunction):
(KJS::WindowProtoFuncSetTimeout::callAsFunction):
(KJS::WindowProtoFuncClearTimeout::callAsFunction):
(KJS::WindowProtoFuncSetInterval::callAsFunction):
(KJS::WindowProtoFuncAddEventListener::callAsFunction):
(KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
(KJS::WindowProtoFuncShowModalDialog::callAsFunction):
(KJS::WindowProtoFuncNotImplemented::callAsFunction):
* bindings/js/kjs_window.h:
(KJS::PausedTimeouts::PausedTimeouts):
(KJS::PausedTimeouts::takeTimeouts):
(KJS::ScheduledAction::ScheduledAction):
2007-12-08 Sam Weinig <sam@webkit.org>
Reviewed by Mitz.
Move window scrolling, moving and resizing methods from KJS::Window
to WebCore::DOMWindow so that there bindings can be autogenerated.
Tests: fast/dom/Window/window-resize-and-move-arguments.html
fast/dom/Window/window-scroll-arguments.html
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_window.cpp:
(KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
(KJS::WindowProtoFuncOpen::callAsFunction):
(KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
* bindings/js/kjs_window.h:
* bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
to ensure that the no less than the declared number of attributes
is allowed.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
(WebCore::DOMWindow::scrollBy):
(WebCore::DOMWindow::scrollTo):
(WebCore::DOMWindow::moveBy):
(WebCore::DOMWindow::moveTo):
(WebCore::DOMWindow::resizeBy):
(WebCore::DOMWindow::resizeTo):
* page/DOMWindow.h:
(WebCore::DOMWindow::scroll):
* page/DOMWindow.idl:
2007-12-08 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=14651
[CURL] didReceiveResponse() only called for HTTP loads
http://bugs.webkit.org/show_bug.cgi?id=14583
[GDK] file:// relative CSS include URLs handled incorrectly
Make sure CURL sets the ResourceResponse URL and calls
didReceiveResponse for local files too.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::writeCallback):
2007-12-08 Oliver Hunt <oliver@apple.com>
Reviewed by Sam W.
Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
Fixes <rdar://problem/5620249> Must disable SVG animation
<rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
In order to allow finer grained control over the set of SVG features
this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
distinct flags:
ENABLE_SVG_ANIMATION
ENABLE_SVG_FILTERS
ENABLE_SVG_FONTS
ENABLE_SVG_AS_IMAGE
ENABLE_SVG_USE
by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
* Configurations/WebCore.xcconfig:
* DerivedSources.make:
Handle the increased number of build flags that may be necessary
* WebCore.SVG.Animation.exp: Added.
* WebCore.SVG.Filters.exp: Added.
* WebCore.SVG.exp:
We now may not need the animation or filter exports so
these need to be separate.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/build-generated-files.sh:
Update for new flags
Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES)
with the appropriate specific feature flag.
* bindings/js/JSSVGElementWrapperFactory.cpp:
(WebCore::createJSSVGWrapper):
* bindings/objc/DOM.mm:
(WebCore::createElementClassMap):
* dom/make_names.pl:
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
* page/DOMWindow.idl:
* rendering/RenderPath.cpp:
(WebCore::RenderPath::absoluteClippedOverflowRect):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::absoluteClippedOverflowRect):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paint):
(WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::absoluteClippedOverflowRect):
* rendering/SVGRenderSupport.cpp:
(WebCore::prepareToRenderSVGContent):
(WebCore::finishRenderSVGContent):
* svg/SVGAnimateElement.cpp:
* svg/SVGAnimateElement.h:
* svg/SVGAnimateElement.idl:
* svg/SVGAnimateMotionElement.cpp:
* svg/SVGAnimateMotionElement.h:
* svg/SVGAnimateTransformElement.cpp:
* svg/SVGAnimateTransformElement.h:
* svg/SVGAnimateTransformElement.idl:
* svg/SVGComponentTransferFunctionElement.cpp:
* svg/SVGComponentTransferFunctionElement.h:
* svg/SVGComponentTransferFunctionElement.idl:
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::startAnimations):
* svg/SVGFEBlendElement.cpp:
* svg/SVGFEBlendElement.h:
* svg/SVGFEBlendElement.idl:
* svg/SVGFEColorMatrixElement.cpp:
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFEColorMatrixElement.idl:
* svg/SVGFEComponentTransferElement.cpp:
* svg/SVGFEComponentTransferElement.h:
* svg/SVGFEComponentTransferElement.idl:
* svg/SVGFECompositeElement.cpp:
* svg/SVGFECompositeElement.h:
* svg/SVGFECompositeElement.idl:
* svg/SVGFEDiffuseLightingElement.cpp:
* svg/SVGFEDiffuseLightingElement.h:
* svg/SVGFEDiffuseLightingElement.idl:
* svg/SVGFEDisplacementMapElement.cpp:
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEDisplacementMapElement.idl:
* svg/SVGFEDistantLightElement.cpp:
* svg/SVGFEDistantLightElement.h:
* svg/SVGFEDistantLightElement.idl:
* svg/SVGFEFloodElement.cpp:
* svg/SVGFEFloodElement.h:
* svg/SVGFEFloodElement.idl:
* svg/SVGFEFuncAElement.cpp:
* svg/SVGFEFuncAElement.h:
* svg/SVGFEFuncAElement.idl:
* svg/SVGFEFuncBElement.cpp:
* svg/SVGFEFuncBElement.h:
* svg/SVGFEFuncBElement.idl:
* svg/SVGFEFuncGElement.cpp:
* svg/SVGFEFuncGElement.h:
* svg/SVGFEFuncGElement.idl:
* svg/SVGFEFuncRElement.cpp:
* svg/SVGFEFuncRElement.h:
* svg/SVGFEFuncRElement.idl:
* svg/SVGFEGaussianBlurElement.cpp:
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEGaussianBlurElement.idl:
* svg/SVGFEImageElement.cpp:
* svg/SVGFEImageElement.h:
* svg/SVGFEImageElement.idl:
* svg/SVGFELightElement.cpp:
* svg/SVGFELightElement.h:
* svg/SVGFEMergeElement.cpp:
* svg/SVGFEMergeElement.h:
* svg/SVGFEMergeElement.idl:
* svg/SVGFEMergeNodeElement.cpp:
* svg/SVGFEMergeNodeElement.h:
* svg/SVGFEMergeNodeElement.idl:
* svg/SVGFEOffsetElement.cpp:
* svg/SVGFEOffsetElement.h:
* svg/SVGFEOffsetElement.idl:
* svg/SVGFEPointLightElement.cpp:
* svg/SVGFEPointLightElement.h:
* svg/SVGFEPointLightElement.idl:
* svg/SVGFESpecularLightingElement.cpp:
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFESpecularLightingElement.idl:
* svg/SVGFESpotLightElement.cpp:
* svg/SVGFESpotLightElement.h:
* svg/SVGFESpotLightElement.idl:
* svg/SVGFETileElement.cpp:
* svg/SVGFETileElement.h:
* svg/SVGFETileElement.idl:
* svg/SVGFETurbulenceElement.cpp:
* svg/SVGFETurbulenceElement.h:
* svg/SVGFETurbulenceElement.idl:
* svg/SVGFilterElement.cpp:
* svg/SVGFilterElement.h:
* svg/SVGFilterElement.idl:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
* svg/SVGTimer.cpp:
(WebCore::SVGTimer::animationsByElement):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
* svg/SVGUseElement.h:
* svg/TimeScheduler.cpp:
(WebCore::TimeScheduler::connectIntervalTimer):
(WebCore::TimeScheduler::disconnectIntervalTimer):
* svg/graphics/SVGResourceFilter.cpp:
* svg/graphics/SVGResourceFilter.h:
* svg/graphics/cg/SVGResourceFilterCg.cpp:
* svg/graphics/cg/SVGResourceFilterCg.mm:
* svg/graphics/filters/SVGDistantLightSource.h:
* svg/graphics/filters/SVGFEBlend.cpp:
* svg/graphics/filters/SVGFEBlend.h:
* svg/graphics/filters/SVGFEColorMatrix.cpp:
* svg/graphics/filters/SVGFEColorMatrix.h:
* svg/graphics/filters/SVGFEComponentTransfer.cpp:
* svg/graphics/filters/SVGFEComponentTransfer.h:
* svg/graphics/filters/SVGFEComposite.cpp:
* svg/graphics/filters/SVGFEComposite.h:
* svg/graphics/filters/SVGFEConvolveMatrix.cpp:
* svg/graphics/filters/SVGFEConvolveMatrix.h:
* svg/graphics/filters/SVGFEDiffuseLighting.cpp:
* svg/graphics/filters/SVGFEDiffuseLighting.h:
* svg/graphics/filters/SVGFEDisplacementMap.cpp:
* svg/graphics/filters/SVGFEDisplacementMap.h:
* svg/graphics/filters/SVGFEFlood.cpp:
* svg/graphics/filters/SVGFEFlood.h:
* svg/graphics/filters/SVGFEGaussianBlur.cpp:
* svg/graphics/filters/SVGFEGaussianBlur.h:
* svg/graphics/filters/SVGFEImage.cpp:
* svg/graphics/filters/SVGFEImage.h:
* svg/graphics/filters/SVGFEMerge.cpp:
* svg/graphics/filters/SVGFEMerge.h:
* svg/graphics/filters/SVGFEMorphology.cpp:
* svg/graphics/filters/SVGFEMorphology.h:
* svg/graphics/filters/SVGFEOffset.cpp:
* svg/graphics/filters/SVGFEOffset.h:
* svg/graphics/filters/SVGFESpecularLighting.cpp:
* svg/graphics/filters/SVGFESpecularLighting.h:
* svg/graphics/filters/SVGFETile.h:
* svg/graphics/filters/SVGFETurbulence.cpp:
* svg/graphics/filters/SVGFETurbulence.h:
* svg/graphics/filters/SVGFilterEffect.cpp:
* svg/graphics/filters/SVGFilterEffect.h:
* svg/graphics/filters/SVGLightSource.cpp:
* svg/graphics/filters/SVGLightSource.h:
* svg/graphics/filters/SVGPointLightSource.h:
* svg/graphics/filters/SVGSpotLightSource.h:
* svg/graphics/filters/cg/SVGFEBlendCg.mm:
* svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
* svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
* svg/graphics/filters/cg/SVGFECompositeCg.mm:
* svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
* svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
* svg/graphics/filters/cg/SVGFEFloodCg.mm:
* svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
* svg/graphics/filters/cg/SVGFEHelpersCg.h:
* svg/graphics/filters/cg/SVGFEHelpersCg.mm:
* svg/graphics/filters/cg/SVGFEImageCg.mm:
* svg/graphics/filters/cg/SVGFEMergeCg.mm:
* svg/graphics/filters/cg/SVGFEOffsetCg.mm:
* svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
* svg/graphics/filters/cg/SVGFETileCg.mm:
* svg/graphics/filters/cg/SVGFilterEffectCg.mm:
* svg/graphics/filters/cg/WKArithmeticFilter.h:
* svg/graphics/filters/cg/WKArithmeticFilter.m:
* svg/graphics/filters/cg/WKComponentMergeFilter.h:
* svg/graphics/filters/cg/WKComponentMergeFilter.m:
* svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
* svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
* svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
* svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
* svg/graphics/filters/cg/WKDisplacementMapFilter.h:
* svg/graphics/filters/cg/WKDisplacementMapFilter.m:
* svg/graphics/filters/cg/WKDistantLightFilter.h:
* svg/graphics/filters/cg/WKDistantLightFilter.m:
* svg/graphics/filters/cg/WKGammaTransferFilter.h:
* svg/graphics/filters/cg/WKGammaTransferFilter.m:
* svg/graphics/filters/cg/WKIdentityTransferFilter.h:
* svg/graphics/filters/cg/WKIdentityTransferFilter.m:
* svg/graphics/filters/cg/WKLinearTransferFilter.h:
* svg/graphics/filters/cg/WKLinearTransferFilter.m:
* svg/graphics/filters/cg/WKNormalMapFilter.h:
* svg/graphics/filters/cg/WKNormalMapFilter.m:
* svg/graphics/filters/cg/WKPointLightFilter.h:
* svg/graphics/filters/cg/WKPointLightFilter.m:
* svg/graphics/filters/cg/WKSpecularLightingFilter.h:
* svg/graphics/filters/cg/WKSpecularLightingFilter.m:
* svg/graphics/filters/cg/WKSpotLightFilter.h:
* svg/graphics/filters/cg/WKSpotLightFilter.m:
* svg/graphics/filters/cg/WKTableTransferFilter.h:
* svg/graphics/filters/cg/WKTableTransferFilter.m:
* svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
* svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
* svg/svgtags.in:
2007-12-08 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
- fix two bugs in parsing of stylesheets in <style> elements created by
the parser:
1. each such stylesheet is parsed twice, once when the text node is
added and again when the </style> tag is reached
2. re-inserting such a <style> element into the document fails to
re-parse and apply its stylesheet.
Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::finishedParsing):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::finishedParsing):
2007-12-07 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
- Removes the faulty isSafeScript implementation that was only
used for plugins.
- Renames isSafeScript to allowsAccessFrom.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::customGetOwnPropertySlot):
(WebCore::JSDOMWindow::customPut):
* bindings/js/kjs_dom.cpp:
(WebCore::checkNodeSecurity):
* bindings/js/kjs_window.cpp:
(KJS::createWindow):
(KJS::Window::getValueProperty):
(KJS::Window::namedItemGetter):
(KJS::Window::getOwnPropertySlot):
(KJS::Window::put):
(KJS::Window::allowsAccessFrom):
(KJS::Window::setListener):
(KJS::Window::getListener):
(KJS::WindowProtoFuncOpen::callAsFunction):
(KJS::WindowProtoFuncSetTimeout::callAsFunction):
(KJS::WindowProtoFuncClearTimeout::callAsFunction):
(KJS::WindowProtoFuncSetInterval::callAsFunction):
(KJS::WindowProtoFuncAddEventListener::callAsFunction):
(KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
(KJS::WindowProtoFuncNotImplemented::callAsFunction):
(KJS::Location::getOwnPropertySlot):
(KJS::Location::put):
(KJS::LocationProtoFuncReplace::callAsFunction):
(KJS::LocationProtoFuncReload::callAsFunction):
(KJS::LocationProtoFuncAssign::callAsFunction):
(KJS::LocationProtoFuncToString::callAsFunction):
* bindings/js/kjs_window.h:
(KJS::Window::allowsAccessFrom):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
the new call.
* bindings/scripts/CodeGeneratorJS.pm:
2007-12-08 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15464
SVGLengthList allows bad values
Be more strict with svg lengths without a unit identifier.
Test: svg/custom/invalid-lengthlist.svg
* svg/SVGLength.cpp:
(WebCore::SVGLength::setValueAsString):
2007-12-08 Rob Buis <buis@kde.org>
Mac Tiger build fix.
Use the wtf prefix when including MathExtras.h.
* rendering/RenderMedia.cpp:
2007-12-08 Alp Toker <alp@atoker.com>
GTK+ build fix (for ENABLE_VIDEO builds):
Include MathExtras.h to get isfinite().
* rendering/RenderMedia.cpp:
2007-12-08 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15528
svg_dynamic_cast should be removed
Replace svg_dynamic_cast with a combination of
isSVGElement and static_cast.
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::buildLayoutInformation):
(WebCore::SVGRootInlineBox::buildTextChunks):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::targetElement):
* svg/SVGElement.h:
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::updateInstance):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::canvasResource):
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::buildStops):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::drawMaskerContent):
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::childShouldCreateRenderer):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::insertedIntoDocument):
(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::buildInstanceTree):
(WebCore::SVGUseElement::handleDeepUseReferencing):
(WebCore::SVGUseElement::buildShadowTree):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
* svg/graphics/SVGResource.cpp:
(WebCore::getResourceById):
2007-12-07 Antti Koivisto <antti@apple.com>
Reviewed by Adele.
Partial fix for <rdar://problem/5633400>
Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
Fix video painting when transform is applied.
Test: media/video-transformed.html
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::paint):
2007-12-07 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- fix http://bugs.webkit.org/show_bug.cgi?id=16348
@font-face does not affect the default style
Test: fast/css/font-face-default-font.html
* dom/Document.cpp:
(WebCore::Document::recalcStyle): Pass our font selector to
Font::update() if we already have one.
2007-12-07 Darin Adler <darin@apple.com>
- fix Windows build
* bridge/win/GlobalHistoryWin.cpp:
(WebCore::historyContains): Missed a rename.
2007-12-07 Brady Eidson <beidson@apple.com>
Reviewed by Anders and Darin
When a statement bumps up against the quota and the UI Delegate grants more space, we need to
actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
in the DatabaseTracker, which was already done)
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
the SQLiteDatabase to the new maximum size
2007-12-07 Darin Adler <darin@apple.com>
- fix Tiger build
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
2007-12-07 Darin Adler <darin@apple.com>
- fix 64-bit build, hopefully without breaking Tiger build
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::updateStates):
Don't use Movies.h constants that are nonexistent in 64-bit.
Define the new QTMovie.h constants, though, when using an older QTKit.
2007-12-07 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
(WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
* storage/DatabaseTracker.h:
2007-12-07 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- http://bugs.webkit.org/show_bug.cgi?id=15981
speed up visited-link code a bit
* bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
instead of requiring a DeprecatedString.
* bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
Also removes pointless "fast Latin-1" case that was never used.
* bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
* platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
* platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
* css/CSSStyleSelector.cpp:
(WebCore::findHash): Added. Helper for cleanpath.
(WebCore::findSlashDotDotSlash): Ditto.
(WebCore::findSlashSlash): Ditto.
(WebCore::findSlashDotSlash): Ditto.
(WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
DeprecatedString find function.
(WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
(WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
instead of an AtomicString for the attribute value. Changed to use fast helper function
instead of slower DeprecatedString::contains function, and also made the fast case not
bother allocating a DeprecatedConstString.
- unrelated tiny cleanup
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
(WebCore::cgGradientCallback): Ditto.
2007-12-07 Darin Adler <darin@apple.com>
Fix build on Tiger (Mark Rowe told me how).
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
Include <objc/objc-runtime.h>, which existed back on Tiger,
rather than <objc/runtime.h>, which did not.
2007-12-07 Geoffrey Garen <ggaren@apple.com>
Build fix: rolling out last build fix to change #include path.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2007-12-07 Steve Falkenburg <sfalken@apple.com>
Re-named our B&I flag from BUILDBOT to PRODUCTION.
Reviewed by Sam Weinig.
* WebCore.vcproj/WebCore.make:
2007-12-07 Geoffrey Garen <ggaren@apple.com>
Build fix: corrected #include path.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2007-12-07 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Added some namespace qualifications and a forwarding header, now that
KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
* ForwardingHeaders/wtf/ListRefPtr.h: Added.
* bindings/js/JSXSLTProcessor.cpp:
(KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::getDOMNodeForDocument):
(KJS::ScriptInterpreter::forgetDOMNodeForDocument):
(KJS::ScriptInterpreter::putDOMNodeForDocument):
(KJS::ScriptInterpreter::markDOMNodesForDocument):
(KJS::ScriptInterpreter::updateDOMNodeDocument):
2007-12-07 Adam Roben <aroben@apple.com>
Add SoftLinking.h for Windows and use it in a few places
Reviewed by Oliver.
* WebCore.vcproj/WebCore.vcproj: Added new file to project.
* platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
(WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
soft-linking calls.
(WebCore::PlatformScrollbar::paintButton): Check for the presence of
the SafariTheme library now that we can't check for the presence of
paintThemePart directly.
(WebCore::PlatformScrollbar::paintTrack): Ditto.
(WebCore::PlatformScrollbar::paintThumb): Ditto.
* platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
* rendering/RenderThemeSafari.cpp: Same basic changes as to
PlatformScrollBarSafari.cpp.
(WebCore::RenderThemeSafari::RenderThemeSafari):
(WebCore::RenderThemeSafari::isControlStyled):
(WebCore::RenderThemeSafari::paintCapsLockIndicator):
* rendering/RenderThemeSafari.h: Removed m_themeDLL member.
2007-12-07 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
at WebCore::HTMLSelectElement::saveState const + 152
Test: fast/forms/select-set-inner.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren): Added a return value, as with other
calls that change children, so we can optimize for the case where it does nothing.
(WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
* dom/ContainerNode.h: See above.
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
recalcSelectOptions in that case.
(WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
addChild, for consistency with HTMLSelectElement; no need to override both.
(WebCore::HTMLOptGroupElement::groupLabelText): Made const.
* html/HTMLOptGroupElement.h: See above.
* html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
override childrenChanged, and addChild calls that.
(WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
recalcSelectOptions in that case.
(WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
by using a for loop and traverseNextSibling. Also added some new comments and
removed some obsolete ones.
(WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
sure we don't have a stale list items vector.
* html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
This will help us catch cases where we have too few calls to setRecalcListItems.
2007-12-07 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
Test: fast/repaint/focus-ring.html
* editing/SelectionController.cpp:
(WebCore::SelectionController::caretRepaintRect): Changed to return just
the caret rect without any padding.
(WebCore::SelectionController::recomputeCaretRect): Changed to repaint
just the caret rect without any padding.
* platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
clearFocusRingClip().
* platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
* platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
* platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
m_focusRingClip member.
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawFocusRing): Changed to call
wkDrawFocusRing() once without setting up additional clip. On Leopard,
wkDrawFocusRing() respects the context clip now. On Tiger, a
transparency layer is used to apply clipping to the focus ring.
* platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
methods and member.
* platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
* platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
to wkDrawFocusRing().
* platform/mac/WebCoreSystemInterface.mm: Ditto.
* rendering/RenderLayer.cpp:
(WebCore::setClip): Removed call to set the focus ring clip.
(WebCore::restoreClip): Removed call to reset the focus ring clip.
2007-12-07 Darin Adler <darin@apple.com>
Reviewed by Antti Koivisto and Kevin Decker.
- fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
* WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
Made a lot more functions const. Made a few more members private and a couple inline.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
things we currently use in QTKit. It's a little more awkward for classes and other data objects
than it is for functions, but still relatively straightforward, with no changes needed to the
client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
members to nil.
(WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
(WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
(WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
Changed to use long instead of int because that's the type for a QTTime time scale anyway.
(WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
(WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
(WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
points set to avoid a potential problem with a set being modified as we iterate it.
(WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
(WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
values, used the constants from the headers directly.
(WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
no better). Used RetainPtr instead of explicit CFRelease calls.
* platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
It's not quite as automatic as the soft linking we can do for functions, since these define
functions to get the values, so you need to define macros to make what look like variable
accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
* html/HTMLMediaElement.h:
* html/TimeRanges.h:
* html/VoidCallback.h:
* platform/graphics/MediaPlayer.h:
Use angle brackets for wtf includes. Omit unneeded includes.
2007-12-07 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix http://bugs.webkit.org/show_bug.cgi?id=16334
<rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
Test: fast/dynamic/subtree-no-common-root-static-y.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
to setChildNeedsLayout() to not mark containing blocks and added a
separate call to markContainingBlocksForLayout() that will not schedule
a layout if we are already in the middle of scheduleRelayoutOfSubtree().
2007-12-07 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16325
<rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
Test: http/tests/misc/empty-cookie.html
* platform/mac/CookieJar.mm:
(WebCore::setCookies): Don't store empty cookies.
(WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
with an earlier version of Leopard!
2007-12-06 Ada Chan <adachan@apple.com>
Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
returning true when there's an error).
Reviewed by Steve.
* platform/win/FileSystemWin.cpp:
(WebCore::makeAllDirectories):
2007-12-06 Darin Adler <darin@apple.com>
- fix broken regression test
* bindings/js/kjs_binding.cpp:
(KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
2007-12-06 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
- fix http://bugs.webkit.org/show_bug.cgi?id=16332
ObjC DOM exception object descriptions should include the exception name
* WebCore.pro: Added ExceptionCode.cpp.
* WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
* WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
* WebCoreSources.bkl: Added ExceptionCode.cpp.
* bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
the many unneeded includes that were here. Had to keep one special case here, for
SECURITY_ERR.
* bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
new getExceptionCodeDescription function so that this shares the exception name
information that was previously only available to JavaScript.
* dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
(WebCore::getExceptionCodeDescription): Added some assertions, and made the function
handle exception names in a slightly more robust way that is not subject to integer
overflow. (Not a real world issue since we should never receive a bad exception code.)
* dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
getExceptionCodeDescription function.
* svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
the comments were mildly helpful, but others were incorrect. This now matches the other
exception-related headers such as RangeException.h.
2007-12-06 Brady Eidson <beidson@apple.com>
Reviewed by Darin
Fixed a glaring bug that would prevent a statement from getting run a second time
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
and return early
(WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
2007-12-06 Timothy Hatcher <timothy@apple.com>
Reviewed by Oliver Hunt.
Use keydown instead of keypress so keyIdentifier can be used.
* page/inspector/ConsolePanel.js: Use keydown instead of keypress.
* page/inspector/DatabasePanel.js: Ditto.
* page/inspector/inspector.js: Ditto. Plus call removeEventListener
before deleting windowLoaded.
2007-12-06 Adam Roben <aroben@apple.com>
Rename FontsTable.plist to FontsList.plist
Rubberstamped by Hyatt.
* platform/graphics/win/FontDatabase.cpp:
2007-12-06 Brady Eidson <beidson@apple.com>
Reviewed by Darin
Tweaked a comment and a few assertions from my last checkin
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
(WebCore::SQLStatement::clearFailureDueToQuota):
(WebCore::SQLStatement::lastExecutionFailedDueToQuota):
2007-12-06 Brady Eidson <beidson@apple.com>
Reviewed by Darin
Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
will ask the UI Delegate for more space when that quota is met
* platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
* platform/sql/SQLiteDatabase.h: Ditto
* storage/Database.cpp:
(WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
(WebCore::Database::stringIdentifier): Ditto
* storage/Database.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::SQLStatement):
(WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
If the result is quota, this statement expects that it might be run again, presumably after the user increases
the quota
(WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
(WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
(WebCore::SQLStatement::lastExecutionFailedDueToQuota):
* storage/SQLStatement.h:
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
(WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this
transaction. Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
(WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
decision and whether the current statement was already run
(WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
(WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
that handles a statement error was moved here
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then
reschedule the current statement on the database thread
* storage/SQLTransaction.h:
2007-12-06 Steve Falkenburg <sfalken@apple.com>
<rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
Don't use callback-based timers, since these cause Windows to eat Windows crashes
in code the timers call.
Windows appears to be defending against "shatter" attacks partially by setting
up a structured exception block while dispatching callback-based WM_TIMERs.
I verified this by adding a divide by zero into some timer callback code.
In the case where the timer was dispatched via a callback, the divide by zero
exception was silently handled and ignored, with execution continuing after
our call to DispatchMessage. When processed via the WNDPROC, no SEH
block was established by Windows, and our divide by zero generated a real
crash (which is what we wanted).
Windows handling our crashes for us led us to leave the timer data structures
in an invalid state so the next time a timer was set, we'd crash accessing an
invalid HashMap of timer data.
Reviewed by Hyatt.
* platform/win/SharedTimerWin.cpp:
(WebCore::TimerWindowWndProc):
(WebCore::setSharedTimerFireTime):
2007-12-06 Adam Roben <aroben@apple.com>
Fix <rdar://5108390> Feed title is too low in blue banner
Way back in r23069 we started applying the same font ascent hack that
Mac WebKit applies to Helvetica, Times, and Courier. We did this so
that those fonts would match the Mac metrics when we run the
regression tests. However, this hack was applying to Arial on Windows
when a site would specify the Helvetica font face because Windows will
alias the font names. Instead of removing the hack entirely, we
turn it off by default but provide some SPI so that DumpRenderTree can
turn it on.
Reviewed by Hyatt.
All tests pass.
* platform/graphics/FontData.h: Add a new static method to turn on the
hack on Windows only.
* platform/graphics/win/FontDataWin.cpp:
(WebCore::FontData::setShouldApplyMacAscentHack): Added.
(WebCore::FontData::platformInit): Only perform the hack if
shouldApplyMacAscentHack is true.
2007-12-06 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
REGRESSION (r28470): Crash expanding a GMail conversation
* page/Frame.cpp:
(WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
we haven't created the proxy yet. If we've created the proxy already, a
script may be in the midst of execution, even though we've lost our
settings object. During execution, scripts assume they have free access
to the proxy.
2007-12-06 Adele Peterson <adele@apple.com>
Reviewed by Oliver.
Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
* html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
* html/HTMLMediaElement.h:
2007-12-05 Antti Koivisto <antti@apple.com>
Reviewed by Oliver.
Rename
Movie -> MediaPlayer
MoviePrivate -> MediaPlayerPrivate
Movie is QuickTime terminology and clashes with its C API.
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
(WebCore::HTMLMediaElement::bufferingRate):
(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
(WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::progressEventTimerFired):
(WebCore::HTMLMediaElement::seek):
(WebCore::HTMLMediaElement::currentTime):
(WebCore::HTMLMediaElement::duration):
(WebCore::HTMLMediaElement::playbackRate):
(WebCore::HTMLMediaElement::setPlaybackRate):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::pause):
(WebCore::HTMLMediaElement::setVolume):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::pickMedia):
(WebCore::HTMLMediaElement::checkIfSeekNeeded):
(WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
(WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
(WebCore::HTMLMediaElement::addCuePoint):
(WebCore::HTMLMediaElement::buffered):
(WebCore::HTMLMediaElement::seekable):
(WebCore::HTMLMediaElement::effectiveStart):
(WebCore::HTMLMediaElement::effectiveEnd):
(WebCore::HTMLMediaElement::effectiveLoopStart):
(WebCore::HTMLMediaElement::effectiveLoopEnd):
(WebCore::HTMLMediaElement::updateMediaPlayer):
(WebCore::HTMLMediaElement::willSaveToCache):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::player):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::videoWidth):
(WebCore::HTMLVideoElement::videoHeight):
* platform/MIMETypeRegistry.cpp:
(WebCore::initialiseSupportedMediaMIMETypes):
(WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
(WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
* platform/MIMETypeRegistry.h:
* platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::~MediaPlayer):
(WebCore::MediaPlayer::load):
(WebCore::MediaPlayer::cancelLoad):
(WebCore::MediaPlayer::play):
(WebCore::MediaPlayer::pause):
(WebCore::MediaPlayer::duration):
(WebCore::MediaPlayer::currentTime):
(WebCore::MediaPlayer::seek):
(WebCore::MediaPlayer::paused):
(WebCore::MediaPlayer::seeking):
(WebCore::MediaPlayer::naturalSize):
(WebCore::MediaPlayer::hasVideo):
(WebCore::MediaPlayer::networkState):
(WebCore::MediaPlayer::readyState):
(WebCore::MediaPlayer::volume):
(WebCore::MediaPlayer::setVolume):
(WebCore::MediaPlayer::rate):
(WebCore::MediaPlayer::setRate):
(WebCore::MediaPlayer::muted):
(WebCore::MediaPlayer::setMuted):
(WebCore::MediaPlayer::dataRate):
(WebCore::MediaPlayer::setEndTime):
(WebCore::MediaPlayer::addCuePoint):
(WebCore::MediaPlayer::removeCuePoint):
(WebCore::MediaPlayer::clearCuePoints):
(WebCore::MediaPlayer::maxTimeBuffered):
(WebCore::MediaPlayer::maxTimeSeekable):
(WebCore::MediaPlayer::bytesLoaded):
(WebCore::MediaPlayer::totalBytesKnown):
(WebCore::MediaPlayer::totalBytes):
(WebCore::MediaPlayer::setRect):
(WebCore::MediaPlayer::visible):
(WebCore::MediaPlayer::setVisible):
(WebCore::MediaPlayer::paint):
(WebCore::MediaPlayer::getSupportedTypes):
(WebCore::MediaPlayer::networkStateChanged):
(WebCore::MediaPlayer::readyStateChanged):
(WebCore::MediaPlayer::volumeChanged):
(WebCore::MediaPlayer::timeChanged):
(WebCore::MediaPlayer::cuePointReached):
* platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.
(WebCore::MediaPlayerClient::~MediaPlayerClient):
(WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged):
(WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged):
(WebCore::MediaPlayerClient::mediaPlayerVolumeChanged):
(WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
(WebCore::MediaPlayerClient::mediaPlayerCuePointReached):
* platform/graphics/Movie.cpp: Removed.
* platform/graphics/Movie.h: Removed.
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp.
(WebCore::mediaPlayerPrivateErrorCallback):
(WebCore::mediaPlayerPrivateEOSCallback):
(WebCore::mediaPlayerPrivateStateCallback):
(WebCore::mediaPlayerPrivateBufferingCallback):
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::load):
(WebCore::MediaPlayerPrivate::play):
(WebCore::MediaPlayerPrivate::pause):
(WebCore::MediaPlayerPrivate::duration):
(WebCore::MediaPlayerPrivate::currentTime):
(WebCore::MediaPlayerPrivate::seek):
(WebCore::MediaPlayerPrivate::setEndTime):
(WebCore::MediaPlayerPrivate::addCuePoint):
(WebCore::MediaPlayerPrivate::removeCuePoint):
(WebCore::MediaPlayerPrivate::clearCuePoints):
(WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
(WebCore::MediaPlayerPrivate::cancelSeek):
(WebCore::MediaPlayerPrivate::cuePointTimerFired):
(WebCore::MediaPlayerPrivate::paused):
(WebCore::MediaPlayerPrivate::seeking):
(WebCore::MediaPlayerPrivate::naturalSize):
(WebCore::MediaPlayerPrivate::hasVideo):
(WebCore::MediaPlayerPrivate::setVolume):
(WebCore::MediaPlayerPrivate::setMuted):
(WebCore::MediaPlayerPrivate::setRate):
(WebCore::MediaPlayerPrivate::dataRate):
(WebCore::MediaPlayerPrivate::networkState):
(WebCore::MediaPlayerPrivate::readyState):
(WebCore::MediaPlayerPrivate::maxTimeBuffered):
(WebCore::MediaPlayerPrivate::maxTimeSeekable):
(WebCore::MediaPlayerPrivate::maxTimeLoaded):
(WebCore::MediaPlayerPrivate::bytesLoaded):
(WebCore::MediaPlayerPrivate::totalBytesKnown):
(WebCore::MediaPlayerPrivate::totalBytes):
(WebCore::MediaPlayerPrivate::cancelLoad):
(WebCore::MediaPlayerPrivate::updateStates):
(WebCore::MediaPlayerPrivate::loadStateChanged):
(WebCore::MediaPlayerPrivate::rateChanged):
(WebCore::MediaPlayerPrivate::sizeChanged):
(WebCore::MediaPlayerPrivate::timeChanged):
(WebCore::MediaPlayerPrivate::volumeChanged):
(WebCore::MediaPlayerPrivate::didEnd):
(WebCore::MediaPlayerPrivate::loadingFailed):
(WebCore::MediaPlayerPrivate::setRect):
(WebCore::MediaPlayerPrivate::setVisible):
(WebCore::MediaPlayerPrivate::paint):
(WebCore::MediaPlayerPrivate::getSupportedTypes):
(WebCore::MediaPlayerPrivate::createGSTPlayBin):
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h.
* platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed.
* platform/graphics/gtk/MoviePrivateGStreamer.h: Removed.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm.
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::createQTMovie):
(WebCore::MediaPlayerPrivate::createQTMovieView):
(WebCore::MediaPlayerPrivate::createQTTime):
(WebCore::MediaPlayerPrivate::load):
(WebCore::MediaPlayerPrivate::play):
(WebCore::MediaPlayerPrivate::pause):
(WebCore::MediaPlayerPrivate::duration):
(WebCore::MediaPlayerPrivate::currentTime):
(WebCore::MediaPlayerPrivate::seek):
(WebCore::MediaPlayerPrivate::doSeek):
(WebCore::MediaPlayerPrivate::cancelSeek):
(WebCore::MediaPlayerPrivate::seekTimerFired):
(WebCore::MediaPlayerPrivate::setEndTime):
(WebCore::MediaPlayerPrivate::addCuePoint):
(WebCore::MediaPlayerPrivate::removeCuePoint):
(WebCore::MediaPlayerPrivate::clearCuePoints):
(WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
(WebCore::MediaPlayerPrivate::cuePointTimerFired):
(WebCore::MediaPlayerPrivate::paused):
(WebCore::MediaPlayerPrivate::seeking):
(WebCore::MediaPlayerPrivate::naturalSize):
(WebCore::MediaPlayerPrivate::hasVideo):
(WebCore::MediaPlayerPrivate::setVolume):
(WebCore::MediaPlayerPrivate::setMuted):
(WebCore::MediaPlayerPrivate::setRate):
(WebCore::MediaPlayerPrivate::dataRate):
(WebCore::MediaPlayerPrivate::networkState):
(WebCore::MediaPlayerPrivate::readyState):
(WebCore::MediaPlayerPrivate::maxTimeBuffered):
(WebCore::MediaPlayerPrivate::maxTimeSeekable):
(WebCore::MediaPlayerPrivate::maxTimeLoaded):
(WebCore::MediaPlayerPrivate::bytesLoaded):
(WebCore::MediaPlayerPrivate::totalBytesKnown):
(WebCore::MediaPlayerPrivate::totalBytes):
(WebCore::MediaPlayerPrivate::cancelLoad):
(WebCore::MediaPlayerPrivate::updateStates):
(WebCore::MediaPlayerPrivate::loadStateChanged):
(WebCore::MediaPlayerPrivate::rateChanged):
(WebCore::MediaPlayerPrivate::sizeChanged):
(WebCore::MediaPlayerPrivate::timeChanged):
(WebCore::MediaPlayerPrivate::volumeChanged):
(WebCore::MediaPlayerPrivate::didEnd):
(WebCore::MediaPlayerPrivate::setRect):
(WebCore::MediaPlayerPrivate::setVisible):
(WebCore::MediaPlayerPrivate::paint):
(WebCore::MediaPlayerPrivate::getSupportedTypes):
(-[WebCoreMovieObserver initWithCallback:WebCore::]):
* platform/graphics/mac/MoviePrivateQTKit.h: Removed.
* platform/graphics/mac/MoviePrivateQTKit.mm: Removed.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::player):
* rendering/RenderMedia.h:
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::RenderVideo):
(WebCore::RenderVideo::~RenderVideo):
(WebCore::RenderVideo::videoSizeChanged):
(WebCore::RenderVideo::paintReplaced):
(WebCore::RenderVideo::layout):
(WebCore::RenderVideo::updateFromElement):
(WebCore::RenderVideo::updatePlayer):
* rendering/RenderVideo.h:
2007-12-06 Geoffrey Garen <ggaren@apple.com>
Build fix: access global object directly.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::bindingInstance):
2007-12-06 Mark Rowe <mrowe@apple.com>
Reviewed by Eric.
Fix bug spotted by GCC 4.2.
* bindings/js/kjs_window.cpp:
(KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
2007-12-06 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16173
Licensing change
Change license from BSD to LGPL.
* platform/gtk/FileSystemGtk.cpp:
2007-12-05 Rob Buis <buis@kde.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=15289
WebKit does not respect clip paths of a 0x0 rect
Make empty clip paths clip the whole referencing graphic.
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::canvasResource):
* svg/graphics/SVGResourceClipper.h:
(WebCore::ClipDataList::isEmpty):
2007-12-05 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fix http://bugs.webkit.org/show_bug.cgi?id=16266
<rdar://problem/5625279> REGRESSION: crash loading CNN.com at
Interpreter::createObjectsForGlobalObjectProperties()
I don't know how to reproduce this in a test.
* bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
right now, but it's best to call your base class, not your base's base.
* bindings/js/kjs_events.h: Removed unneeded virtual from the
JSUnprotectedEventListener::mark() function; it neither derives from or is
derived from anyone else with a mark() function so there's no need for virtual.
* bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
not JSObject::mark. This is the actual bug fix.
2007-12-05 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
http://bugs.webkit.org/show_bug.cgi?id=16145
[gtk] Implement media support in GTK backend
Reviewed by Alp Toker.
Remove old comments, fix variable names, match WebKit coding style.
* platform/graphics/gtk/MoviePrivateGStreamer.cpp:
(WebCore::moviePrivateEOSCallback):
(WebCore::MoviePrivate::MoviePrivate):
(WebCore::MoviePrivate::load):
(WebCore::MoviePrivate::play):
(WebCore::MoviePrivate::pause):
(WebCore::MoviePrivate::currentTime):
(WebCore::MoviePrivate::seek):
(WebCore::MoviePrivate::cancelSeek):
(WebCore::MoviePrivate::seeking):
(WebCore::MoviePrivate::naturalSize):
(WebCore::MoviePrivate::setVolume):
(WebCore::MoviePrivate::setMuted):
(WebCore::MoviePrivate::maxTimeBuffered):
(WebCore::MoviePrivate::bytesLoaded):
(WebCore::MoviePrivate::totalBytesKnown):
(WebCore::MoviePrivate::totalBytes):
(WebCore::MoviePrivate::updateStates):
(WebCore::MoviePrivate::didEnd):
(WebCore::MoviePrivate::paint):
(WebCore::MoviePrivate::createGSTPlayBin):
* platform/graphics/gtk/MoviePrivateGStreamer.h:
2007-12-05 Mark Rowe <mrowe@apple.com>
Speculative wx build fix. Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
* platform/wx/TemporaryLinkStubs.cpp:
2007-12-05 Alp Toker <alp@atoker.com>
Rubber stamped by Mark Rowe.
Remove DEPENDPATH on the generated sources directory. This causes
trouble and is no longer necessary following the glib-genmarshal
generator split.
* WebCore.pro:
2007-12-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
Third step in refactoring JSGlobalObject: Moved data members and data
member access from Interpreter to JSGlobalObject. Changed Interpreter
member functions to static functions. Same for the subclass,
ScriptInterpreter.
This is a big change, but it's mostly code motion and renaming.
2007-12-05 Darin Adler <darin@apple.com>
"Reviewed" by Geoff.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion.
(WebCore::FrameLoader::dispatchDidCommitLoad): This one too.
The assertions are firing like crazy. Not sure why yet.
2007-12-05 Darin Adler <darin@apple.com>
Reviewed by Adam Roben.
- fix http://bugs.webkit.org/show_bug.cgi?id=16306
Assertion failed in WebCore/loader/FrameLoader.cpp:4642
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
and don't deliver the client call in that case.
2007-12-05 Mark Rowe <mrowe@apple.com>
Reviewed by Kevin Decker.
Fix 64-bit debug build.
* platform/text/mac/TextCodecMac.cpp:
(WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit,
so we need to cast it to be able to use a single format specifier on both.
2007-12-05 Kevin Decker <kdecker@apple.com>
Reviewed by Hyatt.
<rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
takeover TIFF once again.
2007-12-05 Luca Bruno <lethalman88@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16290
[GTK] Pasting clipboard in rich text.
* platform/gtk/PasteboardGtk.cpp:
(Pasteboard::documentFragment): Implement rich text paste support.
2007-12-05 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
We need to just fix the underlying focus ring repaint problem.
* rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
2007-12-04 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin.
- <rdar://5621435>
- Security Fix. Instead of having it off by default, WebKit now must
explicitly turn off local-resource restriction when needed for backwards
compatibility reasons.
* loader/FrameLoader.cpp:
2007-12-05 Adam Roben <aroben@apple.com>
Set the menu item identifier for all menu items
This allows WebKit clients to distinguish between submenus in the
context menu.
Reviewed by Darin.
No test possible.
* platform/win/ContextMenuItemWin.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
2007-12-05 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
* manual-tests/nested-plug-ins.html: Added.
* manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
* manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
* platform/ScrollView.h:
* platform/Widget.h:
(WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
via visible ScrollViews to the root ScrollView of the WebView.
(WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer
connected via visible ScrollViews to the root ScrollView of the WebView.
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added
m_visible and m_attachedToWindow members.
(WebCore::ScrollView::attachToWindow): Added. Attaches all children if this
view is visible.
(WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this
view is visible (otherwise they would be detached already).
(WebCore::ScrollView::show): Added. Attaches all children if this view
is attached.
(WebCore::ScrollView::hide): Added. Detaches all children if this view
is attached (otherwise they would be detached already).
(WebCore::ScrollView::isAttachedToWindow): Added.
* platform/win/WidgetWin.cpp:
(WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow()
depending on whether the parent is set and attached or not.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::setFocus):
(WebCore::PluginViewWin::show): Changed to show the plug-in only if
this view is attached.
(WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this
view is attached (otherwise it would be hidden already).
(WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view
is visible.
(WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view
is visible (otherwise it would be hidden already).
(WebCore::PluginViewWin::PluginViewWin):
* plugins/win/PluginViewWin.h: Added m_attachedToWindow member.
2007-12-04 Alp Toker <alp@atoker.com>
Potential GTK+ build fix for the glib-genmarshal issue.
Split the glib-genmarshal qmake generator in two; one for the source
file, another for the header.
* WebCore.pro:
2007-12-04 Alp Toker <alp@atoker.com>
GTK+ build fix.
* platform/PlugInInfoStore.h:
2007-12-04 Kevin Decker <kdecker@apple.com>
Reviewed by Anders.
<rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
* page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method.
* platform/PlugInInfoStore.h:
* platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType.
(PlugInInfoStore::pluginNameForMIMEType):
* platform/mac/PlugInInfoStoreMac.mm:
(WebCore::PlugInInfoStore::pluginNameForMIMEType): Added.
* platform/qt/PlugInInfoStoreQt.cpp:
(WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
* plugins/win/PlugInInfoStoreWin.cpp:
(WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
2007-12-04 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
* rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
Adjust outline-offset so it doesn't extend beyond the border to interfere with typing
2007-12-04 Anders Carlsson <andersca@apple.com>
Reviewed by Jon.
Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript
result streams, even if the JavaScript expression threw an exception or returned undefined.
This matches what Firefox does.
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::sendJavaScriptStream):
Handle the result string being null, and set the correct NPReason if it is.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::performRequest):
Always send the JavaScript stream, regardless of the result could be converted to a string or not.
2007-12-04 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
Fix for <rdar://problem/5622464> controls should show up for audio element
* css/html4.css: Added styles for audio controls. This will need to be refined, since we may want a different look for audio controls.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary.
(WebCore::HTMLMediaElement::rendererIsNeeded): Added.
(WebCore::HTMLMediaElement::createRenderer): Added. Uses RenderMedia.
* html/HTMLMediaElement.h:
* rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size.
* rendering/RenderMedia.h:
2007-12-04 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
implementation, which always returns true(!).
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
Make the static isSafeScript method take two JSGlobalObjects.
* bindings/js/kjs_window.h:
(KJS::Window::isSafeScript):
Implement isSafeScript and have it call the static method.
2007-11-27 Adam Roben <aroben@apple.com>
Make the implementation of Frame::setNeedsReapplyStyles cross-platform
Reviewed by Hyatt.
No change in functionality.
* page/Frame.cpp:
(WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
FrameView so that FrameView::layout will be called, which ends up
calling reapplyStyles.
(WebCore::Frame::needsReapplyStyles): Added.
(WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
(WebCore::FramePrivate::FramePrivate):
* page/Frame.h:
* page/FramePrivate.h: Added new boolean member.
* page/FrameView.cpp:
(WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
(WebCore::FrameView::needsLayout): Say that we need layout if the
Frame needs styles reapplied.
* page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
rename.
* bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
* page/gtk/FrameGtk.cpp: Ditto.
* page/mac/FrameMac.mm: Ditto.
* page/qt/FrameQt.cpp: Ditto.
* platform/wx/TemporaryLinkStubs.cpp: Ditto.
2007-12-04 Antti Koivisto <antti@apple.com>
Reviewed by Adele.
Pass intrinsic size to the base class.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::RenderMedia):
2007-12-04 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
* loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation):
When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload.
2007-12-04 Darin Adler <darin@apple.com>
Reviewed by Kevin Decker.
- added an assertion for a situation that leads to a Safari assertion:
a commit that is not followed by a load completion
- removed some unneeded FrameLoader stuff -- maybe some day we'll get this
class cut down to size
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader): Added boolean for assertion.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert
that we already sent a commit before sending a complete.
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call
client directly instead of indirecting through a function.
(WebCore::FrameLoader::loadItem): Ditto.
(WebCore::FrameLoader::goToItem): Ditto.
(WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing
state from Settings instead of FrameLoaderClient. Also call client directly
instead of indirecting through a function.
(WebCore::FrameLoader::updateHistoryForReload): Call client directly instead
of indirecting through a function.
(WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert
that we did not yet send a commit and set the flag that will be used to check
that we don't do this twice in a row without an intervening completion call.
* loader/FrameLoader.h: Added a boolean for the assertion. Removed six
now-unneeded functions.
* loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
* loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
the private browsing state from Settings instead of FrameLoaderClient.
* svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
2007-12-03 Antti Koivisto <antti@apple.com>
Reviewed by Adele.
Fix <rdar://problem/5624802>
Controller displays outside of <video> element when width and height aren't specified
- Explicitly adjust size of the controls tree root.
- Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
by hand. This also allows better code sharing with other replaced element classes.
- Move duplicated layout and painting code from subclasses up to RenderReplaced.
Test: media/video-controls-rendering.html
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paintReplaced):
* rendering/RenderHTMLCanvas.h:
Share code.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::minimumReplacedHeight):
* rendering/RenderImage.h:
Share code.
* rendering/RenderMedia.cpp:
(WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
(WebCore::RenderMediaControlShadowRoot::setParent):
Add a subclass just to get through encapsulation to use setParent().
(WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
Move initialization to the constructor.
(WebCore::RenderMedia::RenderMedia):
(WebCore::RenderMedia::~RenderMedia):
(WebCore::RenderMedia::layout):
Resize and layout the controller root by hand.
(WebCore::RenderMedia::firstChild):
(WebCore::RenderMedia::lastChild):
(WebCore::RenderMedia::removeChild):
Support one child renderer for controls.
(WebCore::RenderMedia::createControlsShadowRoot):
* rendering/RenderMedia.h:
(WebCore::RenderMedia::isMedia):
Switch base class to RenderReplaced, delete the now unnecessary stuff.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
(WebCore::RenderReplaced::paint):
* rendering/RenderReplaced.h:
(WebCore::RenderReplaced::minimumReplacedHeight):
(WebCore::RenderReplaced::paintReplaced):
Share code.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::videoSizeChanged):
Simplify, just request relayout.
(WebCore::RenderVideo::paintReplaced):
(WebCore::RenderVideo::layout):
* rendering/RenderVideo.h:
Share code.
2007-12-04 Michael Natterer <mitch@imendio.com>
Reviewed by Alp Toker.
* WebCore.pro: fix build of webkit-marshal by building the
functions into a separate .cpp file instead of including them in
the header. This way we can use the marshallers from more than one
file without using bad hacks.
Add the generated sources directory to DEPENDPATH.
2007-12-04 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16145
[gtk] Implement media support in GTK backend
This implements the media tags of HTML5 on the GTK+ port based on the
Mac port. Media tests pass although some tests required a small modifications:
As per the HTML5 spec, the loading of the clip should start only after
all script are done. But in the case of the tests, the loading starts
before some callbacks get registered. This has been discussed with
Antti Koivisto, and the tests should be updated.
There is only one known issue: one time in 10 tries, loading a buffered
clip will never end buffering. The buffering will stall at 97% for no
apparent reasons. Reloading the page usually works around the problem.
On the GStreamer side, some codecs don't return correct values, therefore
they make the tests fail. For instance H.264 will make the video-end
test fail. This should be fixed in GStreamer 0.10.15.
This version displays video in a pop up window. A place holder is drawn
on the page where the video should appear.
By default, it is turned off in WebCore.pro until GStreamer/X
detection issues are sorted out.
* WebCore.pro:
Disable video for now
* platform/Logging.cpp:
(WebCore::):
* platform/Logging.h:
Added a logging level for Media stuff
* platform/graphics/Movie.cpp:
* platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added.
(WebCore::moviePrivateErrorCallback):
(WebCore::moviePrivateEOSCallback):
(WebCore::moviePrivateStateCallback):
(WebCore::moviePrivateBufferingCallback):
(WebCore::moviePrivateWindowIDCallback):
(WebCore::MoviePrivate::MoviePrivate):
(WebCore::MoviePrivate::~MoviePrivate):
(WebCore::MoviePrivate::load):
(WebCore::MoviePrivate::play):
(WebCore::MoviePrivate::pause):
(WebCore::MoviePrivate::duration):
(WebCore::MoviePrivate::currentTime):
(WebCore::MoviePrivate::seek):
(WebCore::MoviePrivate::setEndTime):
(WebCore::MoviePrivate::addCuePoint):
(WebCore::MoviePrivate::removeCuePoint):
(WebCore::MoviePrivate::clearCuePoints):
(WebCore::MoviePrivate::startCuePointTimerIfNeeded):
(WebCore::MoviePrivate::cancelSeek):
(WebCore::MoviePrivate::cuePointTimerFired):
(WebCore::MoviePrivate::paused):
(WebCore::MoviePrivate::seeking):
(WebCore::MoviePrivate::naturalSize):
(WebCore::MoviePrivate::hasVideo):
(WebCore::MoviePrivate::setVolume):
(WebCore::MoviePrivate::setMuted):
(WebCore::MoviePrivate::setRate):
(WebCore::MoviePrivate::dataRate):
(WebCore::MoviePrivate::networkState):
(WebCore::MoviePrivate::readyState):
(WebCore::MoviePrivate::maxTimeBuffered):
(WebCore::MoviePrivate::maxTimeSeekable):
(WebCore::MoviePrivate::maxTimeLoaded):
(WebCore::MoviePrivate::bytesLoaded):
(WebCore::MoviePrivate::totalBytesKnown):
(WebCore::MoviePrivate::totalBytes):
(WebCore::MoviePrivate::cancelLoad):
(WebCore::MoviePrivate::updateStates):
(WebCore::MoviePrivate::loadStateChanged):
(WebCore::MoviePrivate::rateChanged):
(WebCore::MoviePrivate::sizeChanged):
(WebCore::MoviePrivate::timeChanged):
(WebCore::MoviePrivate::volumeChanged):
(WebCore::MoviePrivate::didEnd):
(WebCore::MoviePrivate::loadingFailed):
(WebCore::MoviePrivate::setRect):
(WebCore::MoviePrivate::setVisible):
(WebCore::MoviePrivate::paint):
(WebCore::MoviePrivate::getSupportedTypes):
(WebCore::MoviePrivate::createGSTPlayBin):
* platform/graphics/gtk/MoviePrivateGStreamer.h: Added.
2007-12-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Simon.
* Implement the InspectorClient for the Qt port
* It does not support highlighting of nodes yet
* Use QRC to open the internal page. The important thing is the
'/' in the URL to make WebCore::Document::completeURL behave the
way we want.
* To make the InspectorClient work we will have to mark qrc as secure.
* WebCore.pro:
* loader/FrameLoader.cpp:
(WebCore::localSchemes):
* page/inspector/WebKit.qrc: Added.
2007-12-04 Alp Toker <alp@atoker.com>
Rubber stamped by Mark Rowe.
Remove two unused variables to silence warnings.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
2007-12-03 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::visibleWidth): Do not return negative values.
(WebCore::ScrollView::visibleHeight): Ditto.
2007-12-03 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
Test: fast/events/resize-subframe.html
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when
deferring tasks that need to be done after layout.
(WebCore::FrameViewPrivate::reset):
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::layout): Moved the updating of widget positions,
loading plug-ins and sending events queued up during layout into
performPostLayoutTasks(). performPostLayoutTasks() is called after
layout unless the layout was triggered by a previous layout's post-
layout tasks. In the latter case, performPostLayoutTasks() is scheduled
to run later.
(WebCore::FrameView::performPostLayoutTasks): Performs work that needs
to be done after layout but which can result in arbitrary code
execution and therefore may re-invalidate the layout. This includes
updating widget positions, loading plug-ins, and dispatching layout-
related DOM events (scroll, overflow and resize).
(WebCore::FrameView::postLayoutTimerFired):
(WebCore::FrameView::dispatchScheduledEvents):
* page/FrameView.h:
* page/mac/WebCoreFrameBridge.h:
* page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this
is handled by FrameView now.
2007-12-03 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15767
Text decorations do not respect "visibility" property
Only paint decorations if visibility is "visible".
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintDecoration):
2007-12-03 Steve Falkenburg <sfalken@apple.com>
Fix build.
* WebCore.vcproj/WebCore.vcproj:
2007-12-03 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by David.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645
Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree).
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::checkSelector):
2007-12-03 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
- fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild
Test: fast/dom/Document/replaceChild-null-oldChild.html
* dom/Document.cpp:
(WebCore::Document::canReplaceChild):
2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Simon.
* Avoid crashes by making sure everything is layouted before
we start painting. This avoids a crash in Widget::invalidateRect
because QPainter::begin would fail
* The QWebFrame::layout() methods and calls are left untouched because
this would be an API decision.
WARNING: NO TEST CASES ADDED OR CHANGED
* page/FrameView.cpp:
(WebCore::FrameView::updateControlTints):
* page/FrameView.h:
* platform/ScrollView.h:
* platform/qt/ScrollViewQt.cpp:
(WebCore::ScrollView::children):
2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Simon.
* Implement GraphicsContext::fillRoundedRect similiar to the
CoreGraphics implementation only addPath is not called this
seems to be only needed for CoreGraphics.
WARNING: NO TEST CASES ADDED OR CHANGED
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Simon.
* Coding Style fixes
WARNING: NO TEST CASES ADDED OR CHANGED
* platform/qt/ScrollViewQt.cpp:
(WebCore::ScrollView::addChild):
(WebCore::ScrollView::removeChild):
2007-12-03 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Don't delete the decoder if it's already been created. The one we have
is fine.
Cairo image cleanups. Nothing substantial.
Notify ImageObservers where appropriate.
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::BitmapImage::draw):
(WebCore::Image::drawPattern):
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::setData):
* platform/graphics/gtk/ImageGtk.cpp:
2007-12-03 Simon Hausmann <hausmann@webkit.org>
Reviewed by Lars.
Fixed crash when rendering form elements with Qt 4.4
QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the
help of QPaintDevice::devType().
Also fall back to the QApplication::style() if we don't have a widget.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::paintButton):
(WebCore::RenderThemeQt::paintTextField):
(WebCore::RenderThemeQt::paintMenuList):
(WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Sam Weinig.
* Add FrameLoader::shouldTreatSchemeAsLocal which is similar to
shouldTreatURLAsLocal.
* Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin
and do not hardcode "file". This is needed for the WebKit/qt port to make
the Web Inspector work as it using the qrc protocol instead of file.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldTreatSchemeAsLocal):
* loader/FrameLoader.h:
* platform/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::isSecureTransitionTo):
2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Rubber stamped by Sam Weinig.
Only add applewebdata to the localSchemes when building for the
mac. This is in preparation of adding qrc for the Qt port there
as well and http://bugs.webkit.org/show_bug.cgi?id=15938.
According to Anders applewebdata is not used on the win port.
* loader/FrameLoader.cpp:
(WebCore::localSchemes):
2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Rubber stamped by Sam Weinig.
Fix a typo. It is contains and not containts
* loader/FrameLoader.cpp:
2007-12-03 Alp Toker <alp@atoker.com>
Add another missing DEPENDPATH.
Noticed when fixing the build.
* WebCore.pro:
2007-12-03 Adam Roben <aroben@apple.com>
Speculative Windows build fix
* plugins/win/PluginViewWin.cpp:
(WebCore::getString):
2007-12-03 Geoffrey Garen <ggaren@apple.com>
Build fix: added symbols to the right .exp file.
* WebCore.base.exp:
2007-12-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Eric Seidel.
Updated to match the JavaScriptCore change to move virtual methods from
Interpreter to JSGlobalObject.
Moved virtual ScriptInterpreter functions to Window.
2007-12-02 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
There were two problems here:
1) Incorrect HTMLCollection behavior led to us trying to insert a
new row inside an existing row instead of next to it. The fix for
this is to make HTMLCollection work better for table-related
collections.
2) HTMLTableRowElement::insertCell would return a bad pointer if
the insertion failed. The code should have failed, but not crashed,
so it's worth fixing that too.
While fixing the HTMLCollection issues, I did some clean-up of that
class and its derived classes.
Test: fast/dom/HTMLTableElement/rows.html
Test: fast/dom/HTMLTableElement/tBodies.html
Test: fast/dom/HTMLTableRowElement/cells.html
Test: fast/dom/HTMLTableRowElement/insertCell.html
Test: fast/dom/HTMLTableSectionElement/rows.html
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJS): Updated because collectionType() was renamed to type().
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection): Updated for data member name
changes. Also added a protected constructor for use by derived classes
that pass in a CollectionInfo.
(WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of
the header.
(WebCore::isTableSection): Added.
(WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem,
because the old name was grammatically incorrect and thus a bit confusing.
Changed to operate on Element* instead of Node*, and use 0 to start
rather than passing in the base node (required since the base node can be
a document, which is not an element). Generalized the code that made
NodeChildren not descend into deeper descendants so it can be used for
TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the
switch statement and got rid of the "found" boolean since we can just
return when we find something. Got rid of the default case, and instead
listed all the enum values. Also changed to use a for loop for clarity.
(WebCore::HTMLCollection::calcLength): Updated for itemAfter changes.
(WebCore::HTMLCollection::item): Ditto.
(WebCore::HTMLCollection::nextItem): Ditto.
(WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element
instead of a Node pointer.
(WebCore::HTMLCollection::namedItem): More of the same.
(WebCore::HTMLCollection::updateNameCache): Ditto.
(WebCore::HTMLCollection::namedItems): Ditto.
(WebCore::HTMLCollection::nextNamedItem): Ditto.
(WebCore::HTMLCollection::tags): Ditto.
* html/HTMLCollection.h: Added a type FormElements, so that the
HTMLFormCollection would not have a type of DocImages, which is what
it previously did. Changed the base parameter to be a PassRefPtr to
make it clear we take ownership of it. Added a comment explaining
why we should change the name CollectionInfo. Made a lot more members
private instead of protected. Renamed traverseNextItem to itemAfter.
Changed most functions to take Element* instead of Node*.
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::formCollectionInfo): Added.
(WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass
collection info into the base class.
(WebCore::HTMLFormCollection::calcLength): Updated to use base() so we
don't need to get at m_base directly.
(WebCore::HTMLFormCollection::item): Same, but for info().
(WebCore::HTMLFormCollection::getNamedItem): Removed unused first
argument.
(WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded
checks that the base is still an element and still a form, since that's
guaranteed.
(WebCore::HTMLFormCollection::nextItem): Use info().
(WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of
Element, some name changes.
(WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere.
(WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop
to be much simpler.
(WebCore::HTMLFormCollection::updateNameCache): More of the same.
* html/HTMLFormCollection.h: Changed constructor to take an
HTMLFormElement, using a PassRefPtr to communicate transfer of
ownership. Made everything private instead of protected. Removed
unneeded override of firstItem. Made getNamedItem and
nextNamedItemInternal non-virtual. Removed unused first argument of
getNamedItem. Added declaration of formCollectionInfo.
* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass
collection info into the base class.
(WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and
changed into a for loop.
* html/HTMLNameCollection.h: Updated for name changes. Made function
private instead of public. Used PassRefPtr in constructor.
* html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to
pass collection info into the base class.
(WebCore::HTMLOptionsCollection::add): Updated for public/private
changes in the base class.
(WebCore::HTMLOptionsCollection::selectedIndex): Ditto.
(WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto.
(WebCore::HTMLOptionsCollection::setLength): Ditto.
* html/HTMLOptionsCollection.h: Changed constructor parameter to be a
PassRefPtr.
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr
and PassRefPtr since this creates a new object. This alone fixed the
crash. Also cleaned up logic a bit to be more readable.
* html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr.
Also reordered functions a bit to make things a little more logical and
removed the unused ncols data member.
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not
TableRows. This mistake was harmless before because TableRows and
TSectionRows were handled identically inside HTMLCollection, but that is
no longer the case with this fix.
* bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the
fact that HTMLOptionsCollection no longer includes HTMLOptionElement.
I don't think this really should be a special case -- might be worth
returning later to see if this can be optimized.
2007-12-02 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Adam.
RenderSVGViewportContainer sets wrong width/height.
Share code with RenderSVGContainer in a central calcBounds() function.
Fixes:
- svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403)
- svg/custom/deep-dynamic-updates.svg
- svg/custom/use-clipped-hit.svg
- svg/custom/image-clipped-hit.svg
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
(WebCore::RenderSVGContainer::calcBounds):
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::layout):
2007-12-02 Brady Eidson <beidson@apple.com>
Reviewed by Darin
databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
like all other notifications we send out!
* platform/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
* platform/SecurityOriginData.h:
* storage/DatabaseTracker.cpp:
(WebCore::notificationMutex):
(WebCore::notificationQueue):
(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
(WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
on the main thread
(WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
* storage/DatabaseTracker.h:
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
2007-12-02 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16002
Load SVG (and other) UA StyleSheets dynamically when needed
Load svg sheet when needed.
* css/CSSStyleSelector.cpp:
(WebCore::screenEval):
(WebCore::printEval):
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::loadDefaultStyle):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSRuleSet::addRulesFromSheet):
2007-12-02 Mark Rowe <mrowe@apple.com>
Try and fix the Windows build.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::bindingInstance):
2007-12-02 Nikolas Zimmermann <zimmermann@kde.org>
Rubber stamped by Eric.
Move platform/graphics/svg to graphics/svg as discussed on webkit-dev.
Updated all project files.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/svg: Removed.
* platform/graphics/svg/SVGImage.cpp: Removed.
* platform/graphics/svg/SVGImage.h: Removed.
* platform/graphics/svg/SVGImageEmptyClients.h: Removed.
* platform/graphics/svg/SVGPaintServer.cpp: Removed.
* platform/graphics/svg/SVGPaintServer.h: Removed.
* platform/graphics/svg/SVGPaintServerGradient.cpp: Removed.
* platform/graphics/svg/SVGPaintServerGradient.h: Removed.
* platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed.
* platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed.
* platform/graphics/svg/SVGPaintServerPattern.cpp: Removed.
* platform/graphics/svg/SVGPaintServerPattern.h: Removed.
* platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed.
* platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed.
* platform/graphics/svg/SVGPaintServerSolid.cpp: Removed.
* platform/graphics/svg/SVGPaintServerSolid.h: Removed.
* platform/graphics/svg/SVGResource.cpp: Removed.
* platform/graphics/svg/SVGResource.h: Removed.
* platform/graphics/svg/SVGResourceClipper.cpp: Removed.
* platform/graphics/svg/SVGResourceClipper.h: Removed.
* platform/graphics/svg/SVGResourceFilter.cpp: Removed.
* platform/graphics/svg/SVGResourceFilter.h: Removed.
* platform/graphics/svg/SVGResourceListener.h: Removed.
* platform/graphics/svg/SVGResourceMarker.cpp: Removed.
* platform/graphics/svg/SVGResourceMarker.h: Removed.
* platform/graphics/svg/SVGResourceMasker.cpp: Removed.
* platform/graphics/svg/SVGResourceMasker.h: Removed.
* platform/graphics/svg/cairo: Removed.
* platform/graphics/svg/cairo/RenderPathCairo.cpp: Removed.
* platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Removed.
* platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Removed.
* platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Removed.
* platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Removed.
* platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Removed.
* platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Removed.
* platform/graphics/svg/cg: Removed.
* platform/graphics/svg/cg/CgSupport.cpp: Removed.
* platform/graphics/svg/cg/CgSupport.h: Removed.
* platform/graphics/svg/cg/RenderPathCg.cpp: Removed.
* platform/graphics/svg/cg/SVGPaintServerCg.cpp: Removed.
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Removed.
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Removed.
* platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Removed.
* platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Removed.
* platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Removed.
* platform/graphics/svg/cg/SVGResourceFilterCg.mm: Removed.
* platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Removed.
* platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Removed.
* platform/graphics/svg/filters: Removed.
* platform/graphics/svg/filters/SVGDistantLightSource.h: Removed.
* platform/graphics/svg/filters/SVGFEBlend.cpp: Removed.
* platform/graphics/svg/filters/SVGFEBlend.h: Removed.
* platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Removed.
* platform/graphics/svg/filters/SVGFEColorMatrix.h: Removed.
* platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Removed.
* platform/graphics/svg/filters/SVGFEComponentTransfer.h: Removed.
* platform/graphics/svg/filters/SVGFEComposite.cpp: Removed.
* platform/graphics/svg/filters/SVGFEComposite.h: Removed.
* platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Removed.
* platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Removed.
* platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Removed.
* platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Removed.
* platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Removed.
* platform/graphics/svg/filters/SVGFEDisplacementMap.h: Removed.
* platform/graphics/svg/filters/SVGFEFlood.cpp: Removed.
* platform/graphics/svg/filters/SVGFEFlood.h: Removed.
* platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Removed.
* platform/graphics/svg/filters/SVGFEGaussianBlur.h: Removed.
* platform/graphics/svg/filters/SVGFEImage.cpp: Removed.
* platform/graphics/svg/filters/SVGFEImage.h: Removed.
* platform/graphics/svg/filters/SVGFEMerge.cpp: Removed.
* platform/graphics/svg/filters/SVGFEMerge.h: Removed.
* platform/graphics/svg/filters/SVGFEMorphology.cpp: Removed.
* platform/graphics/svg/filters/SVGFEMorphology.h: Removed.
* platform/graphics/svg/filters/SVGFEOffset.cpp: Removed.
* platform/graphics/svg/filters/SVGFEOffset.h: Removed.
* platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Removed.
* platform/graphics/svg/filters/SVGFESpecularLighting.h: Removed.
* platform/graphics/svg/filters/SVGFETile.h: Removed.
* platform/graphics/svg/filters/SVGFETurbulence.cpp: Removed.
* platform/graphics/svg/filters/SVGFETurbulence.h: Removed.
* platform/graphics/svg/filters/SVGFilterEffect.cpp: Removed.
* platform/graphics/svg/filters/SVGFilterEffect.h: Removed.
* platform/graphics/svg/filters/SVGLightSource.cpp: Removed.
* platform/graphics/svg/filters/SVGLightSource.h: Removed.
* platform/graphics/svg/filters/SVGPointLightSource.h: Removed.
* platform/graphics/svg/filters/SVGSpotLightSource.h: Removed.
* platform/graphics/svg/filters/cg: Removed.
* platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Removed.
* platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFETileCg.mm: Removed.
* platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Removed.
* platform/graphics/svg/filters/cg/WKArithmeticFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKArithmeticFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKArithmeticFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKComponentMergeFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKComponentMergeFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKDisplacementMapFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKDistantLightFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKDistantLightFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKDistantLightFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKGammaTransferFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKGammaTransferFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKIdentityTransferFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKIdentityTransferFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKLinearTransferFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKLinearTransferFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKNormalMapFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKNormalMapFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKNormalMapFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKPointLightFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKPointLightFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKPointLightFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKSpecularLightingFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKSpotLightFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKSpotLightFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKSpotLightFilter.m: Removed.
* platform/graphics/svg/filters/cg/WKTableTransferFilter.cikernel: Removed.
* platform/graphics/svg/filters/cg/WKTableTransferFilter.h: Removed.
* platform/graphics/svg/filters/cg/WKTableTransferFilter.m: Removed.
* platform/graphics/svg/mac: Removed.
* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Removed.
* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
* platform/graphics/svg/qt: Removed.
* platform/graphics/svg/qt/RenderPathQt.cpp: Removed.
* platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Removed.
* platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
* platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Removed.
* platform/graphics/svg/qt/SVGPaintServerQt.cpp: Removed.
* platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
* platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Removed.
* platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Removed.
* platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Removed.
* platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Removed.
* svg/graphics: Copied from platform/graphics/svg.
2007-12-02 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Maciej.
Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable.
When entering subdirectories the 'thisDir' variable got altered - see snippet:
THISDIR: WebCore/page FOUND FILE: FrameView.h (endCondition: 0)
..
-> ENTER: WebCore/page/gtk (THIS DIR: WebCore/page)
...
<- LEAVE: WebCore/page/gtk (THIS DIR: WebCore/page/gtk)
THISDIR: WebCore/page/gtk FOUND FILE: History.cpp (endCondition: 0)
'History.cpp' is located in WebCore/page not WebCore/page/gtk.
* bindings/scripts/CodeGenerator.pm:
2007-12-01 Alp Toker <alp@atoker.com>
Reviewed by Adam Roben.
Add the newly introduced webkit.h convenience header.
* WebCore.pro:
2007-12-01 Antti Koivisto <antti@apple.com>
Reviewed by Adam.
- Fix crash when removing a loading media element from the tree.
- Follow the spec by invoking pause() when element is removed from the tree instead of unloading.
Tests: http/tests/media/remove-while-loading.html
media/remove-from-document.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::removedFromDocument):
2007-12-01 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth Dakin.
Restored the test string in this test.
* manual-tests/window-open-features-parsing.html:
2007-11-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth Dakin.
Modified WebCore to follow the new JSGlobalObject/Interpreter ownership
rules in JavaScriptCore.
* bindings/js/kjs_binding.cpp:
* bindings/js/kjs_binding.h: Removed stale, unused
interpreterForGlobalObject().
* bindings/js/kjs_proxy.cpp: Changed to store a global object, rather
than an interpreter.
(WebCore::KJSProxy::finishedWithEvent): Need to NULL check
m_globalObject here because we no longer unnecessarily instantiate it.
* bindings/js/kjs_window.cpp:
(KJS::ScheduledAction::execute):
* bindings/js/kjs_window.h: Removed redundant and less efficient
interpreter() function -- global objects have direct access to their
interpreters now.
Changed these functions to pass around JSGlobalObjects instead of
Interpreters:
* page/Frame.cpp:
(WebCore::Frame::bindingRootObject):
(WebCore::Frame::createRootObject):
* page/Frame.h:
* page/mac/WebCoreFrameBridge.mm:
(createRootObject):
2007-12-01 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix problem tracked by these bugs:
http://bugs.webkit.org/show_bug.cgi?id=16097
<rdar://problem/5619305> Safari crashes during load of LexisNexis search results
<rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at
WebCore::DocumentLoader::isLoadingMultipartContent const
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement
instead of an HTMLImageElement.
(WebCore::ImageDocument::scale): Added a null check for m_imageElement.
(WebCore::ImageDocument::resizeImageToFit): Ditto.
(WebCore::ImageDocument::restoreImageSize): Ditto.
(WebCore::ImageDocument::imageFitsInWindow): Ditto.
(WebCore::ImageDocument::windowSizeChanged): Ditto.
(WebCore::ImageDocumentElement::~ImageDocumentElement): Call
disconnectImageElement so m_imageElement will be set to 0
if we're still connected to the document.
(WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto.
* loader/ImageDocument.h: Changed image element type to be
ImageDocumentElement instead of HTMLImageElement. Also added
a disconnectImageElement function that sets m_imageElement to 0.
2007-12-01 Darin Adler <darin@apple.com>
- remove the empty directories
* ksvg2: Removed.
* ksvg2/css: Removed.
* ksvg2/events: Removed.
* ksvg2/misc: Removed.
* ksvg2/scripts: Removed.
2007-12-01 Julien Chaffraix <julien.chaffraix@gmail.com>
Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers
Reviewed by Darin Adler.
* xml/XMLHttpRequest.cpp:
(WebCore::canSetRequestHeader):
Test: http/tests/xmlhttprequest/set-dangerous-headers.html
2007-12-01 Rahul Abrol <ra5ul@comcast.net>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=16128
Ignore resizable=no for window.open().
* bindings/js/kjs_window.cpp:
(KJS::setWindowFeature):
(KJS::parseWindowFeatures):
* manual-tests/window-open-features-parsing.html:
2007-12-01 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout)
Test: fast/dynamic/subtree-common-root.html
* page/FrameView.cpp:
(WebCore::FrameView::layoutRoot): Added a parameter to let this method
return the layout root for a pending layout as well.
(WebCore::FrameView::scheduleRelayoutOfSubtree): Pass the new root
to markContainingBlocksForLayout(). Otherwise,
markContainingBlocksForLayout() could mark past the new root, if it had
previously been marked as having a normal child needing layout and then
was reached via a positioned child.
* page/FrameView.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcWidth):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::~RenderObject): Fixed the ASSERT so that
it would really catch deletion of the layout root.
(WebCore::RenderObject::markContainingBlocksForLayout): Added the
newRoot parameter, which tells this method where to stop marking.
* rendering/RenderObject.h:
2007-12-01 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fold FontStyle into TextRun
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/Font.cpp:
(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::advance):
(WebCore::Font::width):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawGlyphBuffer):
(WebCore::Font::drawText):
(WebCore::Font::floatWidth):
(WebCore::Font::floatWidthForSimpleText):
(WebCore::Font::selectionRectForText):
(WebCore::Font::selectionRectForSimpleText):
(WebCore::Font::offsetForPosition):
(WebCore::Font::offsetForPositionForSimpleText):
* platform/graphics/Font.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::setText):
(WebCore::TextRun::allowTabs):
(WebCore::TextRun::xPos):
(WebCore::TextRun::padding):
(WebCore::TextRun::rtl):
(WebCore::TextRun::ltr):
(WebCore::TextRun::directionalOverride):
(WebCore::TextRun::applyRunRounding):
(WebCore::TextRun::applyWordRounding):
(WebCore::TextRun::spacingDisabled):
(WebCore::TextRun::disableSpacing):
(WebCore::TextRun::disableRoundingHacks):
(WebCore::TextRun::setRTL):
(WebCore::TextRun::setDirectionalOverride):
* platform/graphics/FontStyle.h: Removed.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawBidiText):
(WebCore::GraphicsContext::drawHighlightForText):
* platform/graphics/GraphicsContext.h:
* platform/graphics/StringTruncator.cpp:
(WebCore::stringWidth):
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/mac/FontMac.mm:
(WebCore::ATSULayoutParameters::ATSULayoutParameters):
(WebCore::addDirectionalOverride):
(WebCore::overrideLayoutOperation):
(WebCore::ATSULayoutParameters::initialize):
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/graphics/qt/FontQt.cpp:
(WebCore::generateComponents):
(WebCore::Font::drawText):
(WebCore::Font::width):
(WebCore::Font::offsetForPosition):
(WebCore::cursorToX):
(WebCore::Font::selectionRectForText):
* platform/graphics/win/FontWin.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/graphics/wx/FontWx.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreDrawTextAtPoint):
(WebCoreTextFloatWidth):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint):
* platform/win/UniscribeController.cpp:
(WebCore::UniscribeController::UniscribeController):
(WebCore::UniscribeController::offsetForPosition):
(WebCore::UniscribeController::advance):
(WebCore::UniscribeController::itemizeShapeAndPlace):
(WebCore::UniscribeController::resetControlAndState):
(WebCore::UniscribeController::shapeAndPlaceItem):
* platform/win/UniscribeController.h:
* platform/win/WebCoreTextRenderer.cpp:
(WebCore::doDrawTextAtPoint):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
(WebCore::RenderFileUploadControl::calcPrefWidths):
* rendering/RenderImage.cpp:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth):
* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::calcPrefWidths):
(WebCore::RenderText::width):
* rendering/RenderText.h:
(WebCore::RenderText::allowTabs):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::calcPrefWidths):
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::calculateGlyphWidth):
(WebCore::SVGInlineTextBox::paintCharacters):
(WebCore::SVGInlineTextBox::paintSelection):
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
(WebCore::cummulatedWidthOfInlineBoxCharacterRange):
(WebCore::svgTextRunForInlineTextBox):
* rendering/SVGRootInlineBox.h:
2007-12-01 Adam Treat <treat@kde.org>
Reviewed by Simon.
* Don't hide symbols when in Debug mode
* On Linux (glibc) provide a backtrace in the test output for debugging purposes
* WebCore.pro:
2007-11-30 Alp Toker <alp@atoker.com>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15691
[GTK] Public API does not follow GTK+ conventions
Refactor the WebKit/GTK+ public API. Changes:
WebKitPage -> WebKitWebView
WebKitFrame -> WebKitWebFrame
Public API source and header names have been updated to mirror the API
changes.
The API is now kept in WebKit/gtk/WebView to match other ports in the
same class such as Mac and Win.
* WebCore.pro:
2007-11-30 Anders Carlsson <andersca@apple.com>
Add platform/text project group.
* WebCore.vcproj/WebCore.vcproj:
2007-11-30 Anders Carlsson <andersca@apple.com>
Remove extra </Filter> tag which prevented the vcproj from being parsed correctly.
* WebCore.vcproj/WebCore.vcproj:
2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
Not reviewed. Try to fix qt/gtk build.
* WebCore.pro:
2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
Rubber stamped by Eric.
Final integration of ksvg2 in WebKit. Moving ksvg2/ to svg/ and killing all it's subdirectories,
by moving the files into approriate locations (css, rendering, ...) - as dicsussed on the
mailing list and on IRC with David/Darin & Eric.
Updated all build files - though I can't guarantee it builds on non-mac. Need buildbot to verify.
* DerivedSources.make:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGLazyEventListener.cpp: Copied from ksvg2/events/JSSVGLazyEventListener.cpp.
* bindings/js/JSSVGLazyEventListener.h: Copied from ksvg2/events/JSSVGLazyEventListener.h.
* css/SVGCSSComputedStyleDeclaration.cpp: Copied from ksvg2/css/SVGCSSComputedStyleDeclaration.cpp.
* css/SVGCSSParser.cpp: Copied from ksvg2/css/SVGCSSParser.cpp.
* css/SVGCSSPropertyNames.in: Copied from ksvg2/css/SVGCSSPropertyNames.in.
* css/SVGCSSStyleSelector.cpp: Copied from ksvg2/css/SVGCSSStyleSelector.cpp.
* css/SVGCSSValueKeywords.in: Copied from ksvg2/css/SVGCSSValueKeywords.in.
* dom/make_names.pl: Copied from ksvg2/scripts/make_names.pl.
* ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: Removed.
* ksvg2/css/SVGCSSParser.cpp: Removed.
* ksvg2/css/SVGCSSPropertyNames.in: Removed.
* ksvg2/css/SVGCSSStyleSelector.cpp: Removed.
* ksvg2/css/SVGCSSValueKeywords.in: Removed.
* ksvg2/css/SVGRenderStyle.cpp: Removed.
* ksvg2/css/SVGRenderStyle.h: Removed.
* ksvg2/css/SVGRenderStyleDefs.cpp: Removed.
* ksvg2/css/SVGRenderStyleDefs.h: Removed.
* ksvg2/events/JSSVGLazyEventListener.cpp: Removed.
* ksvg2/events/JSSVGLazyEventListener.h: Removed.
* ksvg2/events/SVGZoomEvent.cpp: Removed.
* ksvg2/events/SVGZoomEvent.h: Removed.
* ksvg2/events/SVGZoomEvent.idl: Removed.
* ksvg2/misc/PointerEventsHitRules.cpp: Removed.
* ksvg2/misc/PointerEventsHitRules.h: Removed.
* ksvg2/misc/SVGDocumentExtensions.cpp: Removed.
* ksvg2/misc/SVGDocumentExtensions.h: Removed.
* ksvg2/misc/SVGImageLoader.cpp: Removed.
* ksvg2/misc/SVGImageLoader.h: Removed.
* ksvg2/misc/SVGTimer.cpp: Removed.
* ksvg2/misc/SVGTimer.h: Removed.
* ksvg2/misc/TimeScheduler.cpp: Removed.
* ksvg2/misc/TimeScheduler.h: Removed.
* ksvg2/misc/xlinkattrs.in: Removed.
* ksvg2/scripts/make_names.pl: Removed.
* ksvg2/svg: Removed.
* ksvg2/svg/ColorDistance.cpp: Removed.
* ksvg2/svg/ColorDistance.h: Removed.
* ksvg2/svg/GradientAttributes.h: Removed.
* ksvg2/svg/LinearGradientAttributes.h: Removed.
* ksvg2/svg/PatternAttributes.h: Removed.
* ksvg2/svg/RadialGradientAttributes.h: Removed.
* ksvg2/svg/SVGAElement.cpp: Removed.
* ksvg2/svg/SVGAElement.h: Removed.
* ksvg2/svg/SVGAElement.idl: Removed.
* ksvg2/svg/SVGAngle.cpp: Removed.
* ksvg2/svg/SVGAngle.h: Removed.
* ksvg2/svg/SVGAngle.idl: Removed.
* ksvg2/svg/SVGAnimateColorElement.cpp: Removed.
* ksvg2/svg/SVGAnimateColorElement.h: Removed.
* ksvg2/svg/SVGAnimateColorElement.idl: Removed.
* ksvg2/svg/SVGAnimateElement.cpp: Removed.
* ksvg2/svg/SVGAnimateElement.h: Removed.
* ksvg2/svg/SVGAnimateElement.idl: Removed.
* ksvg2/svg/SVGAnimateMotionElement.cpp: Removed.
* ksvg2/svg/SVGAnimateMotionElement.h: Removed.
* ksvg2/svg/SVGAnimateTransformElement.cpp: Removed.
* ksvg2/svg/SVGAnimateTransformElement.h: Removed.
* ksvg2/svg/SVGAnimateTransformElement.idl: Removed.
* ksvg2/svg/SVGAnimatedAngle.idl: Removed.
* ksvg2/svg/SVGAnimatedBoolean.idl: Removed.
* ksvg2/svg/SVGAnimatedEnumeration.idl: Removed.
* ksvg2/svg/SVGAnimatedInteger.idl: Removed.
* ksvg2/svg/SVGAnimatedLength.idl: Removed.
* ksvg2/svg/SVGAnimatedLengthList.idl: Removed.
* ksvg2/svg/SVGAnimatedNumber.idl: Removed.
* ksvg2/svg/SVGAnimatedNumberList.idl: Removed.
* ksvg2/svg/SVGAnimatedPathData.cpp: Removed.
* ksvg2/svg/SVGAnimatedPathData.h: Removed.
* ksvg2/svg/SVGAnimatedPathData.idl: Removed.
* ksvg2/svg/SVGAnimatedPoints.cpp: Removed.
* ksvg2/svg/SVGAnimatedPoints.h: Removed.
* ksvg2/svg/SVGAnimatedPoints.idl: Removed.
* ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl: Removed.
* ksvg2/svg/SVGAnimatedRect.idl: Removed.
* ksvg2/svg/SVGAnimatedString.idl: Removed.
* ksvg2/svg/SVGAnimatedTemplate.h: Removed.
* ksvg2/svg/SVGAnimatedTransformList.idl: Removed.
* ksvg2/svg/SVGAnimationElement.cpp: Removed.
* ksvg2/svg/SVGAnimationElement.h: Removed.
* ksvg2/svg/SVGAnimationElement.idl: Removed.
* ksvg2/svg/SVGCircleElement.cpp: Removed.
* ksvg2/svg/SVGCircleElement.h: Removed.
* ksvg2/svg/SVGCircleElement.idl: Removed.
* ksvg2/svg/SVGClipPathElement.cpp: Removed.
* ksvg2/svg/SVGClipPathElement.h: Removed.
* ksvg2/svg/SVGClipPathElement.idl: Removed.
* ksvg2/svg/SVGColor.cpp: Removed.
* ksvg2/svg/SVGColor.h: Removed.
* ksvg2/svg/SVGColor.idl: Removed.
* ksvg2/svg/SVGComponentTransferFunctionElement.cpp: Removed.
* ksvg2/svg/SVGComponentTransferFunctionElement.h: Removed.
* ksvg2/svg/SVGComponentTransferFunctionElement.idl: Removed.
* ksvg2/svg/SVGCursorElement.cpp: Removed.
* ksvg2/svg/SVGCursorElement.h: Removed.
* ksvg2/svg/SVGCursorElement.idl: Removed.
* ksvg2/svg/SVGDefinitionSrcElement.cpp: Removed.
* ksvg2/svg/SVGDefinitionSrcElement.h: Removed.
* ksvg2/svg/SVGDefinitionSrcElement.idl: Removed.
* ksvg2/svg/SVGDefsElement.cpp: Removed.
* ksvg2/svg/SVGDefsElement.h: Removed.
* ksvg2/svg/SVGDefsElement.idl: Removed.
* ksvg2/svg/SVGDescElement.cpp: Removed.
* ksvg2/svg/SVGDescElement.h: Removed.
* ksvg2/svg/SVGDescElement.idl: Removed.
* ksvg2/svg/SVGDocument.cpp: Removed.
* ksvg2/svg/SVGDocument.h: Removed.
* ksvg2/svg/SVGDocument.idl: Removed.
* ksvg2/svg/SVGElement.cpp: Removed.
* ksvg2/svg/SVGElement.h: Removed.
* ksvg2/svg/SVGElement.idl: Removed.
* ksvg2/svg/SVGElementInstance.cpp: Removed.
* ksvg2/svg/SVGElementInstance.h: Removed.
* ksvg2/svg/SVGElementInstance.idl: Removed.
* ksvg2/svg/SVGElementInstanceList.cpp: Removed.
* ksvg2/svg/SVGElementInstanceList.h: Removed.
* ksvg2/svg/SVGElementInstanceList.idl: Removed.
* ksvg2/svg/SVGEllipseElement.cpp: Removed.
* ksvg2/svg/SVGEllipseElement.h: Removed.
* ksvg2/svg/SVGEllipseElement.idl: Removed.
* ksvg2/svg/SVGException.h: Removed.
* ksvg2/svg/SVGException.idl: Removed.
* ksvg2/svg/SVGExternalResourcesRequired.cpp: Removed.
* ksvg2/svg/SVGExternalResourcesRequired.h: Removed.
* ksvg2/svg/SVGExternalResourcesRequired.idl: Removed.
* ksvg2/svg/SVGFEBlendElement.cpp: Removed.
* ksvg2/svg/SVGFEBlendElement.h: Removed.
* ksvg2/svg/SVGFEBlendElement.idl: Removed.
* ksvg2/svg/SVGFEColorMatrixElement.cpp: Removed.
* ksvg2/svg/SVGFEColorMatrixElement.h: Removed.
* ksvg2/svg/SVGFEColorMatrixElement.idl: Removed.
* ksvg2/svg/SVGFEComponentTransferElement.cpp: Removed.
* ksvg2/svg/SVGFEComponentTransferElement.h: Removed.
* ksvg2/svg/SVGFEComponentTransferElement.idl: Removed.
* ksvg2/svg/SVGFECompositeElement.cpp: Removed.
* ksvg2/svg/SVGFECompositeElement.h: Removed.
* ksvg2/svg/SVGFECompositeElement.idl: Removed.
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp: Removed.
* ksvg2/svg/SVGFEDiffuseLightingElement.h: Removed.
* ksvg2/svg/SVGFEDiffuseLightingElement.idl: Removed.
* ksvg2/svg/SVGFEDisplacementMapElement.cpp: Removed.
* ksvg2/svg/SVGFEDisplacementMapElement.h: Removed.
* ksvg2/svg/SVGFEDisplacementMapElement.idl: Removed.
* ksvg2/svg/SVGFEDistantLightElement.cpp: Removed.
* ksvg2/svg/SVGFEDistantLightElement.h: Removed.
* ksvg2/svg/SVGFEDistantLightElement.idl: Removed.
* ksvg2/svg/SVGFEFloodElement.cpp: Removed.
* ksvg2/svg/SVGFEFloodElement.h: Removed.
* ksvg2/svg/SVGFEFloodElement.idl: Removed.
* ksvg2/svg/SVGFEFuncAElement.cpp: Removed.
* ksvg2/svg/SVGFEFuncAElement.h: Removed.
* ksvg2/svg/SVGFEFuncAElement.idl: Removed.
* ksvg2/svg/SVGFEFuncBElement.cpp: Removed.
* ksvg2/svg/SVGFEFuncBElement.h: Removed.
* ksvg2/svg/SVGFEFuncBElement.idl: Removed.
* ksvg2/svg/SVGFEFuncGElement.cpp: Removed.
* ksvg2/svg/SVGFEFuncGElement.h: Removed.
* ksvg2/svg/SVGFEFuncGElement.idl: Removed.
* ksvg2/svg/SVGFEFuncRElement.cpp: Removed.
* ksvg2/svg/SVGFEFuncRElement.h: Removed.
* ksvg2/svg/SVGFEFuncRElement.idl: Removed.
* ksvg2/svg/SVGFEGaussianBlurElement.cpp: Removed.
* ksvg2/svg/SVGFEGaussianBlurElement.h: Removed.
* ksvg2/svg/SVGFEGaussianBlurElement.idl: Removed.
* ksvg2/svg/SVGFEImageElement.cpp: Removed.
* ksvg2/svg/SVGFEImageElement.h: Removed.
* ksvg2/svg/SVGFEImageElement.idl: Removed.
* ksvg2/svg/SVGFELightElement.cpp: Removed.
* ksvg2/svg/SVGFELightElement.h: Removed.
* ksvg2/svg/SVGFEMergeElement.cpp: Removed.
* ksvg2/svg/SVGFEMergeElement.h: Removed.
* ksvg2/svg/SVGFEMergeElement.idl: Removed.
* ksvg2/svg/SVGFEMergeNodeElement.cpp: Removed.
* ksvg2/svg/SVGFEMergeNodeElement.h: Removed.
* ksvg2/svg/SVGFEMergeNodeElement.idl: Removed.
* ksvg2/svg/SVGFEOffsetElement.cpp: Removed.
* ksvg2/svg/SVGFEOffsetElement.h: Removed.
* ksvg2/svg/SVGFEOffsetElement.idl: Removed.
* ksvg2/svg/SVGFEPointLightElement.cpp: Removed.
* ksvg2/svg/SVGFEPointLightElement.h: Removed.
* ksvg2/svg/SVGFEPointLightElement.idl: Removed.
* ksvg2/svg/SVGFESpecularLightingElement.cpp: Removed.
* ksvg2/svg/SVGFESpecularLightingElement.h: Removed.
* ksvg2/svg/SVGFESpecularLightingElement.idl: Removed.
* ksvg2/svg/SVGFESpotLightElement.cpp: Removed.
* ksvg2/svg/SVGFESpotLightElement.h: Removed.
* ksvg2/svg/SVGFESpotLightElement.idl: Removed.
* ksvg2/svg/SVGFETileElement.cpp: Removed.
* ksvg2/svg/SVGFETileElement.h: Removed.
* ksvg2/svg/SVGFETileElement.idl: Removed.
* ksvg2/svg/SVGFETurbulenceElement.cpp: Removed.
* ksvg2/svg/SVGFETurbulenceElement.h: Removed.
* ksvg2/svg/SVGFETurbulenceElement.idl: Removed.
* ksvg2/svg/SVGFilterElement.cpp: Removed.
* ksvg2/svg/SVGFilterElement.h: Removed.
* ksvg2/svg/SVGFilterElement.idl: Removed.
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: Removed.
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: Removed.
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Removed.
* ksvg2/svg/SVGFitToViewBox.cpp: Removed.
* ksvg2/svg/SVGFitToViewBox.h: Removed.
* ksvg2/svg/SVGFitToViewBox.idl: Removed.
* ksvg2/svg/SVGFontFaceElement.cpp: Removed.
* ksvg2/svg/SVGFontFaceElement.h: Removed.
* ksvg2/svg/SVGFontFaceElement.idl: Removed.
* ksvg2/svg/SVGFontFaceFormatElement.cpp: Removed.
* ksvg2/svg/SVGFontFaceFormatElement.h: Removed.
* ksvg2/svg/SVGFontFaceFormatElement.idl: Removed.
* ksvg2/svg/SVGFontFaceNameElement.cpp: Removed.
* ksvg2/svg/SVGFontFaceNameElement.h: Removed.
* ksvg2/svg/SVGFontFaceNameElement.idl: Removed.
* ksvg2/svg/SVGFontFaceSrcElement.cpp: Removed.
* ksvg2/svg/SVGFontFaceSrcElement.h: Removed.
* ksvg2/svg/SVGFontFaceSrcElement.idl: Removed.
* ksvg2/svg/SVGFontFaceUriElement.cpp: Removed.
* ksvg2/svg/SVGFontFaceUriElement.h: Removed.
* ksvg2/svg/SVGFontFaceUriElement.idl: Removed.
* ksvg2/svg/SVGForeignObjectElement.cpp: Removed.
* ksvg2/svg/SVGForeignObjectElement.h: Removed.
* ksvg2/svg/SVGForeignObjectElement.idl: Removed.
* ksvg2/svg/SVGGElement.cpp: Removed.
* ksvg2/svg/SVGGElement.h: Removed.
* ksvg2/svg/SVGGElement.idl: Removed.
* ksvg2/svg/SVGGradientElement.cpp: Removed.
* ksvg2/svg/SVGGradientElement.h: Removed.
* ksvg2/svg/SVGGradientElement.idl: Removed.
* ksvg2/svg/SVGImageElement.cpp: Removed.
* ksvg2/svg/SVGImageElement.h: Removed.
* ksvg2/svg/SVGImageElement.idl: Removed.
* ksvg2/svg/SVGLangSpace.cpp: Removed.
* ksvg2/svg/SVGLangSpace.h: Removed.
* ksvg2/svg/SVGLangSpace.idl: Removed.
* ksvg2/svg/SVGLength.cpp: Removed.
* ksvg2/svg/SVGLength.h: Removed.
* ksvg2/svg/SVGLength.idl: Removed.
* ksvg2/svg/SVGLengthList.cpp: Removed.
* ksvg2/svg/SVGLengthList.h: Removed.
* ksvg2/svg/SVGLengthList.idl: Removed.
* ksvg2/svg/SVGLineElement.cpp: Removed.
* ksvg2/svg/SVGLineElement.h: Removed.
* ksvg2/svg/SVGLineElement.idl: Removed.
* ksvg2/svg/SVGLinearGradientElement.cpp: Removed.
* ksvg2/svg/SVGLinearGradientElement.h: Removed.
* ksvg2/svg/SVGLinearGradientElement.idl: Removed.
* ksvg2/svg/SVGList.h: Removed.
* ksvg2/svg/SVGListTraits.h: Removed.
* ksvg2/svg/SVGLocatable.cpp: Removed.
* ksvg2/svg/SVGLocatable.h: Removed.
* ksvg2/svg/SVGLocatable.idl: Removed.
* ksvg2/svg/SVGMPathElement.cpp: Removed.
* ksvg2/svg/SVGMPathElement.h: Removed.
* ksvg2/svg/SVGMarkerElement.cpp: Removed.
* ksvg2/svg/SVGMarkerElement.h: Removed.
* ksvg2/svg/SVGMarkerElement.idl: Removed.
* ksvg2/svg/SVGMaskElement.cpp: Removed.
* ksvg2/svg/SVGMaskElement.h: Removed.
* ksvg2/svg/SVGMaskElement.idl: Removed.
* ksvg2/svg/SVGMatrix.idl: Removed.
* ksvg2/svg/SVGMetadataElement.cpp: Removed.
* ksvg2/svg/SVGMetadataElement.h: Removed.
* ksvg2/svg/SVGMetadataElement.idl: Removed.
* ksvg2/svg/SVGNumber.idl: Removed.
* ksvg2/svg/SVGNumberList.cpp: Removed.
* ksvg2/svg/SVGNumberList.h: Removed.
* ksvg2/svg/SVGNumberList.idl: Removed.
* ksvg2/svg/SVGPaint.cpp: Removed.
* ksvg2/svg/SVGPaint.h: Removed.
* ksvg2/svg/SVGPaint.idl: Removed.
* ksvg2/svg/SVGParserUtilities.cpp: Removed.
* ksvg2/svg/SVGParserUtilities.h: Removed.
* ksvg2/svg/SVGPathElement.cpp: Removed.
* ksvg2/svg/SVGPathElement.h: Removed.
* ksvg2/svg/SVGPathElement.idl: Removed.
* ksvg2/svg/SVGPathSeg.h: Removed.
* ksvg2/svg/SVGPathSeg.idl: Removed.
* ksvg2/svg/SVGPathSegArc.cpp: Removed.
* ksvg2/svg/SVGPathSegArc.h: Removed.
* ksvg2/svg/SVGPathSegArcAbs.idl: Removed.
* ksvg2/svg/SVGPathSegArcRel.idl: Removed.
* ksvg2/svg/SVGPathSegClosePath.cpp: Removed.
* ksvg2/svg/SVGPathSegClosePath.h: Removed.
* ksvg2/svg/SVGPathSegClosePath.idl: Removed.
* ksvg2/svg/SVGPathSegCurvetoCubic.cpp: Removed.
* ksvg2/svg/SVGPathSegCurvetoCubic.h: Removed.
* ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Removed.
* ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Removed.
* ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
* ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: Removed.
* ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Removed.
* ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Removed.
* ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
* ksvg2/svg/SVGPathSegCurvetoQuadratic.h: Removed.
* ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Removed.
* ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Removed.
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: Removed.
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Removed.
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Removed.
* ksvg2/svg/SVGPathSegLineto.cpp: Removed.
* ksvg2/svg/SVGPathSegLineto.h: Removed.
* ksvg2/svg/SVGPathSegLinetoAbs.idl: Removed.
* ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: Removed.
* ksvg2/svg/SVGPathSegLinetoHorizontal.h: Removed.
* ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Removed.
* ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Removed.
* ksvg2/svg/SVGPathSegLinetoRel.idl: Removed.
* ksvg2/svg/SVGPathSegLinetoVertical.cpp: Removed.
* ksvg2/svg/SVGPathSegLinetoVertical.h: Removed.
* ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Removed.
* ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Removed.
* ksvg2/svg/SVGPathSegList.cpp: Removed.
* ksvg2/svg/SVGPathSegList.h: Removed.
* ksvg2/svg/SVGPathSegList.idl: Removed.
* ksvg2/svg/SVGPathSegMoveto.cpp: Removed.
* ksvg2/svg/SVGPathSegMoveto.h: Removed.
* ksvg2/svg/SVGPathSegMovetoAbs.idl: Removed.
* ksvg2/svg/SVGPathSegMovetoRel.idl: Removed.
* ksvg2/svg/SVGPatternElement.cpp: Removed.
* ksvg2/svg/SVGPatternElement.h: Removed.
* ksvg2/svg/SVGPatternElement.idl: Removed.
* ksvg2/svg/SVGPoint.idl: Removed.
* ksvg2/svg/SVGPointList.cpp: Removed.
* ksvg2/svg/SVGPointList.h: Removed.
* ksvg2/svg/SVGPointList.idl: Removed.
* ksvg2/svg/SVGPolyElement.cpp: Removed.
* ksvg2/svg/SVGPolyElement.h: Removed.
* ksvg2/svg/SVGPolygonElement.cpp: Removed.
* ksvg2/svg/SVGPolygonElement.h: Removed.
* ksvg2/svg/SVGPolygonElement.idl: Removed.
* ksvg2/svg/SVGPolylineElement.cpp: Removed.
* ksvg2/svg/SVGPolylineElement.h: Removed.
* ksvg2/svg/SVGPolylineElement.idl: Removed.
* ksvg2/svg/SVGPreserveAspectRatio.cpp: Removed.
* ksvg2/svg/SVGPreserveAspectRatio.h: Removed.
* ksvg2/svg/SVGPreserveAspectRatio.idl: Removed.
* ksvg2/svg/SVGRadialGradientElement.cpp: Removed.
* ksvg2/svg/SVGRadialGradientElement.h: Removed.
* ksvg2/svg/SVGRadialGradientElement.idl: Removed.
* ksvg2/svg/SVGRect.idl: Removed.
* ksvg2/svg/SVGRectElement.cpp: Removed.
* ksvg2/svg/SVGRectElement.h: Removed.
* ksvg2/svg/SVGRectElement.idl: Removed.
* ksvg2/svg/SVGRenderingIntent.h: Removed.
* ksvg2/svg/SVGRenderingIntent.idl: Removed.
* ksvg2/svg/SVGSVGElement.cpp: Removed.
* ksvg2/svg/SVGSVGElement.h: Removed.
* ksvg2/svg/SVGSVGElement.idl: Removed.
* ksvg2/svg/SVGScriptElement.cpp: Removed.
* ksvg2/svg/SVGScriptElement.h: Removed.
* ksvg2/svg/SVGScriptElement.idl: Removed.
* ksvg2/svg/SVGSetElement.cpp: Removed.
* ksvg2/svg/SVGSetElement.h: Removed.
* ksvg2/svg/SVGSetElement.idl: Removed.
* ksvg2/svg/SVGStopElement.cpp: Removed.
* ksvg2/svg/SVGStopElement.h: Removed.
* ksvg2/svg/SVGStopElement.idl: Removed.
* ksvg2/svg/SVGStringList.cpp: Removed.
* ksvg2/svg/SVGStringList.h: Removed.
* ksvg2/svg/SVGStringList.idl: Removed.
* ksvg2/svg/SVGStylable.cpp: Removed.
* ksvg2/svg/SVGStylable.h: Removed.
* ksvg2/svg/SVGStylable.idl: Removed.
* ksvg2/svg/SVGStyleElement.cpp: Removed.
* ksvg2/svg/SVGStyleElement.h: Removed.
* ksvg2/svg/SVGStyleElement.idl: Removed.
* ksvg2/svg/SVGStyledElement.cpp: Removed.
* ksvg2/svg/SVGStyledElement.h: Removed.
* ksvg2/svg/SVGStyledLocatableElement.cpp: Removed.
* ksvg2/svg/SVGStyledLocatableElement.h: Removed.
* ksvg2/svg/SVGStyledTransformableElement.cpp: Removed.
* ksvg2/svg/SVGStyledTransformableElement.h: Removed.
* ksvg2/svg/SVGSwitchElement.cpp: Removed.
* ksvg2/svg/SVGSwitchElement.h: Removed.
* ksvg2/svg/SVGSwitchElement.idl: Removed.
* ksvg2/svg/SVGSymbolElement.cpp: Removed.
* ksvg2/svg/SVGSymbolElement.h: Removed.
* ksvg2/svg/SVGSymbolElement.idl: Removed.
* ksvg2/svg/SVGTRefElement.cpp: Removed.
* ksvg2/svg/SVGTRefElement.h: Removed.
* ksvg2/svg/SVGTRefElement.idl: Removed.
* ksvg2/svg/SVGTSpanElement.cpp: Removed.
* ksvg2/svg/SVGTSpanElement.h: Removed.
* ksvg2/svg/SVGTSpanElement.idl: Removed.
* ksvg2/svg/SVGTests.cpp: Removed.
* ksvg2/svg/SVGTests.h: Removed.
* ksvg2/svg/SVGTests.idl: Removed.
* ksvg2/svg/SVGTextContentElement.cpp: Removed.
* ksvg2/svg/SVGTextContentElement.h: Removed.
* ksvg2/svg/SVGTextContentElement.idl: Removed.
* ksvg2/svg/SVGTextElement.cpp: Removed.
* ksvg2/svg/SVGTextElement.h: Removed.
* ksvg2/svg/SVGTextElement.idl: Removed.
* ksvg2/svg/SVGTextPathElement.cpp: Removed.
* ksvg2/svg/SVGTextPathElement.h: Removed.
* ksvg2/svg/SVGTextPathElement.idl: Removed.
* ksvg2/svg/SVGTextPositioningElement.cpp: Removed.
* ksvg2/svg/SVGTextPositioningElement.h: Removed.
* ksvg2/svg/SVGTextPositioningElement.idl: Removed.
* ksvg2/svg/SVGTitleElement.cpp: Removed.
* ksvg2/svg/SVGTitleElement.h: Removed.
* ksvg2/svg/SVGTitleElement.idl: Removed.
* ksvg2/svg/SVGTransform.cpp: Removed.
* ksvg2/svg/SVGTransform.h: Removed.
* ksvg2/svg/SVGTransform.idl: Removed.
* ksvg2/svg/SVGTransformDistance.cpp: Removed.
* ksvg2/svg/SVGTransformDistance.h: Removed.
* ksvg2/svg/SVGTransformList.cpp: Removed.
* ksvg2/svg/SVGTransformList.h: Removed.
* ksvg2/svg/SVGTransformList.idl: Removed.
* ksvg2/svg/SVGTransformable.cpp: Removed.
* ksvg2/svg/SVGTransformable.h: Removed.
* ksvg2/svg/SVGTransformable.idl: Removed.
* ksvg2/svg/SVGURIReference.cpp: Removed.
* ksvg2/svg/SVGURIReference.h: Removed.
* ksvg2/svg/SVGURIReference.idl: Removed.
* ksvg2/svg/SVGUnitTypes.h: Removed.
* ksvg2/svg/SVGUnitTypes.idl: Removed.
* ksvg2/svg/SVGUseElement.cpp: Removed.
* ksvg2/svg/SVGUseElement.h: Removed.
* ksvg2/svg/SVGUseElement.idl: Removed.
* ksvg2/svg/SVGViewElement.cpp: Removed.
* ksvg2/svg/SVGViewElement.h: Removed.
* ksvg2/svg/SVGViewElement.idl: Removed.
* ksvg2/svg/SVGViewSpec.cpp: Removed.
* ksvg2/svg/SVGViewSpec.h: Removed.
* ksvg2/svg/SVGViewSpec.idl: Removed.
* ksvg2/svg/SVGZoomAndPan.cpp: Removed.
* ksvg2/svg/SVGZoomAndPan.h: Removed.
* ksvg2/svg/SVGZoomAndPan.idl: Removed.
* ksvg2/svg/svgattrs.in: Removed.
* ksvg2/svg/svgtags.in: Removed.
* rendering/PointerEventsHitRules.cpp: Copied from ksvg2/misc/PointerEventsHitRules.cpp.
* rendering/PointerEventsHitRules.h: Copied from ksvg2/misc/PointerEventsHitRules.h.
* rendering/SVGRenderStyle.cpp: Copied from ksvg2/css/SVGRenderStyle.cpp.
* rendering/SVGRenderStyle.h: Copied from ksvg2/css/SVGRenderStyle.h.
* rendering/SVGRenderStyleDefs.cpp: Copied from ksvg2/css/SVGRenderStyleDefs.cpp.
* rendering/SVGRenderStyleDefs.h: Copied from ksvg2/css/SVGRenderStyleDefs.h.
* svg: Copied from ksvg2/svg.
* svg/SVGDocumentExtensions.cpp: Copied from ksvg2/misc/SVGDocumentExtensions.cpp.
* svg/SVGDocumentExtensions.h: Copied from ksvg2/misc/SVGDocumentExtensions.h.
* svg/SVGImageLoader.cpp: Copied from ksvg2/misc/SVGImageLoader.cpp.
* svg/SVGImageLoader.h: Copied from ksvg2/misc/SVGImageLoader.h.
* svg/SVGTimer.cpp: Copied from ksvg2/misc/SVGTimer.cpp.
* svg/SVGTimer.h: Copied from ksvg2/misc/SVGTimer.h.
* svg/SVGZoomEvent.cpp: Copied from ksvg2/events/SVGZoomEvent.cpp.
* svg/SVGZoomEvent.h: Copied from ksvg2/events/SVGZoomEvent.h.
* svg/SVGZoomEvent.idl: Copied from ksvg2/events/SVGZoomEvent.idl.
* svg/TimeScheduler.cpp: Copied from ksvg2/misc/TimeScheduler.cpp.
* svg/TimeScheduler.h: Copied from ksvg2/misc/TimeScheduler.h.
* svg/xlinkattrs.in: Copied from ksvg2/misc/xlinkattrs.in.
2007-11-30 Kevin Ollivier <kevino@theolliviers.com>
wx build fix. Add WebCore/platform/graphics/wx to includes.
* webcore-wx.bkl:
2007-11-30 Brady Eidson <beidson@apple.com>
Reviewed by Geoff
Further hookup of Database API
With this change, any database operation that writes to the database (UPDATE, INSERT, CREATE, etc) will
result in a didModifyDatabase notification when the transaction is successfully committed
* storage/DatabaseAuthorizer.cpp: Global rename of "m_lastActionIncreasedSize" to "m_lastActionChangedDatabase"
(WebCore::DatabaseAuthorizer::reset):
(WebCore::DatabaseAuthorizer::createTable):
(WebCore::DatabaseAuthorizer::allowAlterTable):
(WebCore::DatabaseAuthorizer::createIndex):
(WebCore::DatabaseAuthorizer::createTrigger):
(WebCore::DatabaseAuthorizer::createVTable):
(WebCore::DatabaseAuthorizer::allowInsert):
(WebCore::DatabaseAuthorizer::allowUpdate):
* storage/DatabaseAuthorizer.h:
(WebCore::DatabaseAuthorizer::lastActionChangedDatabase):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::notifyDatabaseChanged): Added. Allow external entities (SQLTransaction) to be able
to request a didModifyDatabase notification to the delegate
* storage/DatabaseTracker.h:
* storage/SQLTransaction.cpp: Added m_modifiedDatabase flag which tracks if any statement over the course of
a transaction resulted in a change to the database.
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::runCurrentStatement): Set m_modifiedDatabase to true if the authorizer reports a mutation
statement occurred
(WebCore::SQLTransaction::postflightAndCommit): If the transaction successfully commits, call DatabaseTracker::notifyDatabaseChanged
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
* storage/SQLTransaction.h:
2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
Rubber stamped by David.
Next round of moves - platform reorganization.
Move text/font/glyph related files from the individual port directories
into platform/text/<port> or platform/graphics/<port>.
* DerivedSources.make:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/cf/StringCF.cpp: Removed.
* platform/cf/StringImplCF.cpp: Removed.
* platform/graphics/gtk/FontCacheGtk.cpp: Copied from platform/gtk/FontCacheGtk.cpp.
* platform/graphics/gtk/FontDataGtk.cpp: Copied from platform/gtk/FontDataGtk.cpp.
* platform/graphics/gtk/FontGtk.cpp: Copied from platform/gtk/FontGtk.cpp.
* platform/graphics/gtk/FontPlatformData.h: Copied from platform/gtk/FontPlatformData.h.
* platform/graphics/gtk/FontPlatformDataGtk.cpp: Copied from platform/gtk/FontPlatformDataGtk.cpp.
* platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Copied from platform/gtk/GlyphPageTreeNodeGtk.cpp.
* platform/graphics/mac/FontCacheMac.mm: Copied from platform/mac/FontCacheMac.mm.
* platform/graphics/mac/FontCustomPlatformData.cpp: Copied from platform/mac/FontCustomPlatformData.cpp.
* platform/graphics/mac/FontCustomPlatformData.h: Copied from platform/mac/FontCustomPlatformData.h.
* platform/graphics/mac/FontDataMac.mm: Copied from platform/mac/FontDataMac.mm.
* platform/graphics/mac/FontMac.mm: Copied from platform/mac/FontMac.mm.
* platform/graphics/mac/FontPlatformData.h: Copied from platform/mac/FontPlatformData.h.
* platform/graphics/mac/FontPlatformDataMac.mm: Copied from platform/mac/FontPlatformDataMac.mm.
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Copied from platform/mac/GlyphPageTreeNodeMac.cpp.
* platform/graphics/qt/FontCacheQt.cpp: Copied from platform/qt/FontCacheQt.cpp.
* platform/graphics/qt/FontCustomPlatformData.cpp: Copied from platform/qt/FontCustomPlatformData.cpp.
* platform/graphics/qt/FontCustomPlatformData.h: Copied from platform/qt/FontCustomPlatformData.h.
* platform/graphics/qt/FontDataQt.cpp: Copied from platform/qt/FontDataQt.cpp.
* platform/graphics/qt/FontPlatformData.h: Copied from platform/qt/FontPlatformData.h.
* platform/graphics/qt/FontQt.cpp: Copied from platform/qt/FontQt.cpp.
* platform/graphics/qt/GlyphPageTreeNodeQt.cpp: Copied from platform/qt/GlyphPageTreeNodeQt.cpp.
* platform/graphics/win/FontCacheWin.cpp: Copied from platform/win/FontCacheWin.cpp.
* platform/graphics/win/FontCustomPlatformData.cpp: Copied from platform/win/FontCustomPlatformData.cpp.
* platform/graphics/win/FontCustomPlatformData.h: Copied from platform/win/FontCustomPlatformData.h.
* platform/graphics/win/FontDataWin.cpp: Copied from platform/win/FontDataWin.cpp.
* platform/graphics/win/FontDatabase.cpp: Copied from platform/win/FontDatabase.cpp.
* platform/graphics/win/FontDatabase.h: Copied from platform/win/FontDatabase.h.
* platform/graphics/win/FontPlatformData.h: Copied from platform/win/FontPlatformData.h.
* platform/graphics/win/FontPlatformDataWin.cpp: Copied from platform/win/FontPlatformDataWin.cpp.
* platform/graphics/win/FontWin.cpp: Copied from platform/win/FontWin.cpp.
* platform/graphics/win/GlyphPageTreeNodeWin.cpp: Copied from platform/win/GlyphPageTreeNodeWin.cpp.
* platform/graphics/wx/FontCacheWx.cpp: Copied from platform/wx/FontCacheWx.cpp.
* platform/graphics/wx/FontDataWx.cpp: Copied from platform/wx/FontDataWx.cpp.
* platform/graphics/wx/FontPlatformData.h: Copied from platform/wx/FontPlatformData.h.
* platform/graphics/wx/FontPlatformDataWx.cpp: Copied from platform/wx/FontPlatformDataWx.cpp.
* platform/graphics/wx/FontWx.cpp: Copied from platform/wx/FontWx.cpp.
* platform/graphics/wx/GlyphMapWx.cpp: Copied from platform/wx/GlyphMapWx.cpp.
* platform/gtk/FontCacheGtk.cpp: Removed.
* platform/gtk/FontDataGtk.cpp: Removed.
* platform/gtk/FontGtk.cpp: Removed.
* platform/gtk/FontPlatformData.h: Removed.
* platform/gtk/FontPlatformDataGtk.cpp: Removed.
* platform/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
* platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Removed.
* platform/mac/FontCacheMac.mm: Removed.
* platform/mac/FontCustomPlatformData.cpp: Removed.
* platform/mac/FontCustomPlatformData.h: Removed.
* platform/mac/FontDataMac.mm: Removed.
* platform/mac/FontMac.mm: Removed.
* platform/mac/FontPlatformData.h: Removed.
* platform/mac/FontPlatformDataMac.mm: Removed.
* platform/mac/GlyphPageTreeNodeMac.cpp: Removed.
* platform/mac/ShapeArabic.c: Removed.
* platform/mac/ShapeArabic.h: Removed.
* platform/mac/StringImplMac.mm: Removed.
* platform/mac/StringMac.mm: Removed.
* platform/mac/TextBoundaries.mm: Removed.
* platform/mac/TextBreakIteratorInternalICUMac.mm: Removed.
* platform/mac/TextCodecMac.cpp: Removed.
* platform/mac/TextCodecMac.h: Removed.
* platform/mac/character-sets.txt: Removed.
* platform/mac/mac-encodings.txt: Removed.
* platform/mac/make-charset-table.pl: Removed.
* platform/qt/FontCacheQt.cpp: Removed.
* platform/qt/FontCustomPlatformData.cpp: Removed.
* platform/qt/FontCustomPlatformData.h: Removed.
* platform/qt/FontDataQt.cpp: Removed.
* platform/qt/FontPlatformData.h: Removed.
* platform/qt/FontQt.cpp: Removed.
* platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
* platform/qt/StringQt.cpp: Removed.
* platform/qt/TextBoundaries.cpp: Removed.
* platform/qt/TextBreakIteratorQt.cpp: Removed.
* platform/qt/TextCodecQt.cpp: Removed.
* platform/qt/TextCodecQt.h: Removed.
* platform/symbian/StringImplSymbian.cpp: Removed.
* platform/symbian/StringSymbian.cpp: Removed.
* platform/text/cf: Added.
* platform/text/cf/StringCF.cpp: Copied from platform/cf/StringCF.cpp.
* platform/text/cf/StringImplCF.cpp: Copied from platform/cf/StringImplCF.cpp.
* platform/text/gtk: Added.
* platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp: Copied from platform/gtk/TextBreakIteratorInternalICUGtk.cpp.
* platform/text/mac/ShapeArabic.c: Copied from platform/mac/ShapeArabic.c.
* platform/text/mac/ShapeArabic.h: Copied from platform/mac/ShapeArabic.h.
* platform/text/mac/StringImplMac.mm: Copied from platform/mac/StringImplMac.mm.
* platform/text/mac/StringMac.mm: Copied from platform/mac/StringMac.mm.
* platform/text/mac/TextBoundaries.mm: Copied from platform/mac/TextBoundaries.mm.
* platform/text/mac/TextBreakIteratorInternalICUMac.mm: Copied from platform/mac/TextBreakIteratorInternalICUMac.mm.
* platform/text/mac/TextCodecMac.cpp: Copied from platform/mac/TextCodecMac.cpp.
* platform/text/mac/TextCodecMac.h: Copied from platform/mac/TextCodecMac.h.
* platform/text/mac/character-sets.txt: Copied from platform/mac/character-sets.txt.
* platform/text/mac/mac-encodings.txt: Copied from platform/mac/mac-encodings.txt.
* platform/text/mac/make-charset-table.pl: Copied from platform/mac/make-charset-table.pl.
* platform/text/qt: Added.
* platform/text/qt/StringQt.cpp: Copied from platform/qt/StringQt.cpp.
* platform/text/qt/TextBoundaries.cpp: Copied from platform/qt/TextBoundaries.cpp.
* platform/text/qt/TextBreakIteratorQt.cpp: Copied from platform/qt/TextBreakIteratorQt.cpp.
* platform/text/qt/TextCodecQt.cpp: Copied from platform/qt/TextCodecQt.cpp.
* platform/text/qt/TextCodecQt.h: Copied from platform/qt/TextCodecQt.h.
* platform/text/symbian: Added.
* platform/text/symbian/StringImplSymbian.cpp: Copied from platform/symbian/StringImplSymbian.cpp.
* platform/text/symbian/StringSymbian.cpp: Copied from platform/symbian/StringSymbian.cpp.
* platform/text/win: Added.
* platform/text/win/TextBreakIteratorInternalICUWin.cpp: Copied from platform/win/TextBreakIteratorInternalICUWin.cpp.
* platform/text/wx: Added.
* platform/text/wx/StringWx.cpp: Copied from platform/wx/StringWx.cpp.
* platform/win/FontCacheWin.cpp: Removed.
* platform/win/FontCustomPlatformData.cpp: Removed.
* platform/win/FontCustomPlatformData.h: Removed.
* platform/win/FontDataWin.cpp: Removed.
* platform/win/FontDatabase.cpp: Removed.
* platform/win/FontDatabase.h: Removed.
* platform/win/FontPlatformData.h: Removed.
* platform/win/FontPlatformDataWin.cpp: Removed.
* platform/win/FontWin.cpp: Removed.
* platform/win/GlyphPageTreeNodeWin.cpp: Removed.
* platform/win/TextBreakIteratorInternalICUWin.cpp: Removed.
* platform/wx/FontCacheWx.cpp: Removed.
* platform/wx/FontDataWx.cpp: Removed.
* platform/wx/FontPlatformData.h: Removed.
* platform/wx/FontPlatformDataWx.cpp: Removed.
* platform/wx/FontWx.cpp: Removed.
* platform/wx/GlyphMapWx.cpp: Removed.
* platform/wx/StringWx.cpp: Removed.
* webcore-wx.bkl:
2007-11-30 Kevin Ollivier <kevino@theolliviers.com>
Build fix for wx port. Adding editing/RemoveFormatCommand.cpp
* WebCoreSources.bkl:
2007-11-30 Simon Hausmann <hausmann@webkit.org>
Reviewed by Adam Roben.
Fix the build with DATABASE=0.
* page/Settings.cpp:
(WebCore::Settings::setDefaultDatabaseOriginQuota):
(WebCore::Settings::defaultDatabaseOriginQuota):
2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
Rubber stamped by Darin.
Fix misplaced file. The name "FontStyle" is not correct though - it probably
needs yet another move - but this time inside platform/graphics - as soon
as we agree on a better name.
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FontStyle.h: Copied from platform/text/FontStyle.h.
* platform/text/FontStyle.h: Removed.
2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Sam.
Rename "FontStyle FontStyle(...)" to "FontStyle fontStyle(...)".
I scripted a bit too much while doing the TextStyle -> FontStyle change.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setStyle):
(WebCore::RenderTextControl::createInnerTextStyle):
(WebCore::RenderTextControl::createSubtreeIfNeeded):
* rendering/RenderTextControl.h:
* rendering/SVGRootInlineBox.cpp:
(WebCore::svgFontStyleForInlineTextBox):
2007-11-30 Alp Toker <alp@atoker.com>
GTK+ build fix following the recent text reorganization.
* WebCore.pro:
2007-11-29 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Adam.
Part of <rdar://problem/5506522> Seed: cannot type into text box in
Facebook, don't see plugin content (Adobe Flash)
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::handleMouseEvent): Focus the plugin's parent
frame
2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
Not reviewed. Trying to fix gtk/qt/wx build. (I expected problems because of the moves)
* WebCore.pro:
* webcore-base.bkl:
2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
Rubber stamped by Brady.
Started platform reorganization (platform/text addition).
Moving string/text/font related classes into new places - as discussed on webkit-dev.
In a follow-up commit I'll move classes out of platform/{mac,win,...} into
platform/text/{mac,win,...}, and also do the ksvg2/ -> svg/ move.
* WebCore.order:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::insertFragmentForTestRendering):
* platform/AtomicString.cpp: Removed.
* platform/AtomicString.h: Removed.
* platform/AtomicStringImpl.h: Removed.
* platform/Base64.cpp: Removed.
* platform/Base64.h: Removed.
* platform/BidiContext.cpp: Removed.
* platform/BidiContext.h: Removed.
* platform/BidiResolver.h: Removed.
* platform/CString.cpp: Removed.
* platform/CString.h: Removed.
* platform/CharacterNames.h: Removed.
* platform/CharsetData.h: Removed.
* platform/Font.cpp: Removed.
* platform/Font.h: Removed.
* platform/FontCache.cpp: Removed.
* platform/FontCache.h: Removed.
* platform/FontData.cpp: Removed.
* platform/FontData.h: Removed.
* platform/FontDescription.h: Removed.
* platform/FontFallbackList.cpp: Removed.
* platform/FontFallbackList.h: Removed.
* platform/FontFamily.cpp: Removed.
* platform/FontFamily.h: Removed.
* platform/FontSelector.h: Removed.
* platform/GlyphBuffer.h: Removed.
* platform/GlyphPageTreeNode.cpp: Removed.
* platform/GlyphPageTreeNode.h: Removed.
* platform/GlyphWidthMap.cpp: Removed.
* platform/GlyphWidthMap.h: Removed.
* platform/PlatformString.h: Removed.
* platform/RegularExpression.cpp: Removed.
* platform/RegularExpression.h: Removed.
* platform/SegmentedString.cpp: Removed.
* platform/SegmentedString.h: Removed.
* platform/String.cpp: Removed.
* platform/StringHash.h: Removed.
* platform/StringImpl.cpp: Removed.
* platform/StringImpl.h: Removed.
* platform/StringTruncator.cpp: Removed.
* platform/StringTruncator.h: Removed.
* platform/TextBoundaries.h: Removed.
* platform/TextBoundariesICU.cpp: Removed.
* platform/TextBreakIterator.h: Removed.
* platform/TextBreakIteratorICU.cpp: Removed.
* platform/TextBreakIteratorInternalICU.h: Removed.
* platform/TextCodec.cpp: Removed.
* platform/TextCodec.h: Removed.
* platform/TextCodecICU.cpp: Removed.
* platform/TextCodecICU.h: Removed.
* platform/TextCodecLatin1.cpp: Removed.
* platform/TextCodecLatin1.h: Removed.
* platform/TextCodecUTF16.cpp: Removed.
* platform/TextCodecUTF16.h: Removed.
* platform/TextCodecUserDefined.cpp: Removed.
* platform/TextCodecUserDefined.h: Removed.
* platform/TextDecoder.cpp: Removed.
* platform/TextDecoder.h: Removed.
* platform/TextDirection.h: Removed.
* platform/TextEncoding.cpp: Removed.
* platform/TextEncoding.h: Removed.
* platform/TextEncodingRegistry.cpp: Removed.
* platform/TextEncodingRegistry.h: Removed.
* platform/TextStream.cpp: Removed.
* platform/TextStream.h: Removed.
* platform/TextStyle.h: Removed.
* platform/UnicodeRange.cpp: Removed.
* platform/UnicodeRange.h: Removed.
* platform/graphics/Font.cpp: Copied from platform/Font.cpp.
(WebCore::WidthIterator::WidthIterator):
(WebCore::Font::width):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawGlyphBuffer):
(WebCore::Font::drawText):
(WebCore::Font::floatWidth):
(WebCore::Font::floatWidthForSimpleText):
(WebCore::Font::selectionRectForText):
(WebCore::Font::selectionRectForSimpleText):
(WebCore::Font::offsetForPosition):
(WebCore::Font::offsetForPositionForSimpleText):
* platform/graphics/Font.h: Copied from platform/Font.h.
* platform/graphics/FontCache.cpp: Copied from platform/FontCache.cpp.
* platform/graphics/FontCache.h: Copied from platform/FontCache.h.
* platform/graphics/FontData.cpp: Copied from platform/FontData.cpp.
* platform/graphics/FontData.h: Copied from platform/FontData.h.
* platform/graphics/FontDescription.h: Copied from platform/FontDescription.h.
* platform/graphics/FontFallbackList.cpp: Copied from platform/FontFallbackList.cpp.
* platform/graphics/FontFallbackList.h: Copied from platform/FontFallbackList.h.
* platform/graphics/FontFamily.cpp: Copied from platform/FontFamily.cpp.
* platform/graphics/FontFamily.h: Copied from platform/FontFamily.h.
* platform/graphics/FontSelector.h: Copied from platform/FontSelector.h.
* platform/graphics/GlyphBuffer.h: Copied from platform/GlyphBuffer.h.
* platform/graphics/GlyphPageTreeNode.cpp: Copied from platform/GlyphPageTreeNode.cpp.
* platform/graphics/GlyphPageTreeNode.h: Copied from platform/GlyphPageTreeNode.h.
* platform/graphics/GlyphWidthMap.cpp: Copied from platform/GlyphWidthMap.cpp.
* platform/graphics/GlyphWidthMap.h: Copied from platform/GlyphWidthMap.h.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawBidiText):
(WebCore::GraphicsContext::drawHighlightForText):
* platform/graphics/GraphicsContext.h:
* platform/graphics/StringTruncator.cpp: Copied from platform/StringTruncator.cpp.
(WebCore::stringWidth):
* platform/graphics/StringTruncator.h: Copied from platform/StringTruncator.h.
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/gtk/FontGtk.cpp:
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/mac/FontMac.mm:
(WebCore::ATSULayoutParameters::ATSULayoutParameters):
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreDrawTextAtPoint):
(WebCoreTextFloatWidth):
* platform/qt/FontQt.cpp:
(WebCore::generateComponents):
(WebCore::Font::drawText):
(WebCore::Font::width):
(WebCore::Font::floatWidth):
(WebCore::Font::offsetForPosition):
(WebCore::cursorToX):
(WebCore::Font::selectionRectForText):
* platform/text: Added.
* platform/text/AtomicString.cpp: Copied from platform/AtomicString.cpp.
* platform/text/AtomicString.h: Copied from platform/AtomicString.h.
* platform/text/AtomicStringImpl.h: Copied from platform/AtomicStringImpl.h.
* platform/text/Base64.cpp: Copied from platform/Base64.cpp.
* platform/text/Base64.h: Copied from platform/Base64.h.
* platform/text/BidiContext.cpp: Copied from platform/BidiContext.cpp.
* platform/text/BidiContext.h: Copied from platform/BidiContext.h.
* platform/text/BidiResolver.h: Copied from platform/BidiResolver.h.
* platform/text/CString.cpp: Copied from platform/CString.cpp.
* platform/text/CString.h: Copied from platform/CString.h.
* platform/text/CharacterNames.h: Copied from platform/CharacterNames.h.
* platform/text/FontStyle.h: Copied from platform/TextStyle.h.
(WebCore::FontStyle::FontStyle):
* platform/text/PlatformString.h: Copied from platform/PlatformString.h.
* platform/text/RegularExpression.cpp: Copied from platform/RegularExpression.cpp.
* platform/text/RegularExpression.h: Copied from platform/RegularExpression.h.
* platform/text/SegmentedString.cpp: Copied from platform/SegmentedString.cpp.
* platform/text/SegmentedString.h: Copied from platform/SegmentedString.h.
* platform/text/String.cpp: Copied from platform/String.cpp.
* platform/text/StringHash.h: Copied from platform/StringHash.h.
* platform/text/StringImpl.cpp: Copied from platform/StringImpl.cpp.
* platform/text/StringImpl.h: Copied from platform/StringImpl.h.
* platform/text/TextBoundaries.h: Copied from platform/TextBoundaries.h.
* platform/text/TextBoundariesICU.cpp: Copied from platform/TextBoundariesICU.cpp.
(WebCore::findNextWordFromIndex):
* platform/text/TextBreakIterator.h: Copied from platform/TextBreakIterator.h.
* platform/text/TextBreakIteratorICU.cpp: Copied from platform/TextBreakIteratorICU.cpp.
* platform/text/TextBreakIteratorInternalICU.h: Copied from platform/TextBreakIteratorInternalICU.h.
* platform/text/TextCodec.cpp: Copied from platform/TextCodec.cpp.
* platform/text/TextCodec.h: Copied from platform/TextCodec.h.
* platform/text/TextCodecICU.cpp: Copied from platform/TextCodecICU.cpp.
* platform/text/TextCodecICU.h: Copied from platform/TextCodecICU.h.
* platform/text/TextCodecLatin1.cpp: Copied from platform/TextCodecLatin1.cpp.
* platform/text/TextCodecLatin1.h: Copied from platform/TextCodecLatin1.h.
* platform/text/TextCodecUTF16.cpp: Copied from platform/TextCodecUTF16.cpp.
* platform/text/TextCodecUTF16.h: Copied from platform/TextCodecUTF16.h.
* platform/text/TextCodecUserDefined.cpp: Copied from platform/TextCodecUserDefined.cpp.
* platform/text/TextCodecUserDefined.h: Copied from platform/TextCodecUserDefined.h.
* platform/text/TextDecoder.cpp: Copied from platform/TextDecoder.cpp.
* platform/text/TextDecoder.h: Copied from platform/TextDecoder.h.
* platform/text/TextDirection.h: Copied from platform/TextDirection.h.
* platform/text/TextEncoding.cpp: Copied from platform/TextEncoding.cpp.
* platform/text/TextEncoding.h: Copied from platform/TextEncoding.h.
* platform/text/TextEncodingRegistry.cpp: Copied from platform/TextEncodingRegistry.cpp.
* platform/text/TextEncodingRegistry.h: Copied from platform/TextEncodingRegistry.h.
* platform/text/TextStream.cpp: Copied from platform/TextStream.cpp.
* platform/text/TextStream.h: Copied from platform/TextStream.h.
* platform/text/UnicodeRange.cpp: Copied from platform/UnicodeRange.cpp.
* platform/text/UnicodeRange.h: Copied from platform/UnicodeRange.h.
* platform/text/mac: Added.
* platform/text/mac/CharsetData.h: Copied from platform/CharsetData.h.
* platform/win/FontWin.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint):
* platform/win/UniscribeController.cpp:
(WebCore::UniscribeController::UniscribeController):
* platform/win/UniscribeController.h:
* platform/win/WebCoreTextRenderer.cpp:
(WebCore::doDrawTextAtPoint):
* platform/wx/FontWx.cpp:
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
(WebCore::RenderFileUploadControl::calcPrefWidths):
* rendering/RenderImage.cpp:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth):
* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::calcPrefWidths):
(WebCore::RenderText::width):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setStyle):
(WebCore::RenderTextControl::createInnerFontStyle):
(WebCore::RenderTextControl::createSubtreeIfNeeded):
(WebCore::RenderTextControl::calcPrefWidths):
* rendering/RenderTextControl.h:
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::calculateGlyphWidth):
(WebCore::SVGInlineTextBox::paintCharacters):
(WebCore::SVGInlineTextBox::paintSelection):
* rendering/SVGRootInlineBox.cpp:
(WebCore::cummulatedWidthOfInlineBoxCharacterRange):
(WebCore::svgFontStyleForInlineTextBox):
* rendering/SVGRootInlineBox.h:
2007-11-30 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fix for http://bugs.webkit.org/show_bug.cgi?id=16072
<rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button (16072)
Test: fast/events/mousemove-after-drag-over-scrollbar.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseMoveEvent): If the mouse is pressed, and we've moved over a new scrollbar, then we can clear m_lastScrollbarUnderMouse.
We should only need to show the hover effect when the mouse isn't pressed.
2007-11-29 Brady Eidson <beidson@apple.com>
Reviewed by Tim
Part of <rdar://problem/5556377> - Need to accurately track and enforce database quota
SQLite has the ability to enforce the page usage for databases. This gives us bulletproof
enforcement of the database size limit with reasonable granularity (within 1023 bytes by
default on OS X with SQLite 3.4.0)
This also involved enhancing the ability to install/remove the authorizer to run the PRAGMA
statements involved
Note this patch does not actually use the new maximumSize() functionality of the
SQLiteDatabase class - that can be reviewed/landed seperately
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::maximumSize): Return the current maximum size in bytes
(WebCore::SQLiteDatabase::setMaximumSize): Based on m_pageSize, set the maximum page count
to enforce the maximum size in bytes
(WebCore::SQLiteDatabase::pageSize): Fetch m_pageSize if it hasn't been fetched, or return
the cached value
(WebCore::SQLiteDatabase::setAuthorizer): Use enableAuthorizer for the sqlite_* level
authorizer setup
(WebCore::SQLiteDatabase::enableAuthorizer): Install or remove the sqlite authorizer handler
* platform/sql/SQLiteDatabase.h: Add the m_pageSize member so we only have to fetch it once
2007-11-29 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Maciej.
* Fix fast/events/mousedown_in_scrollbar.html
* This test used to crash in PlatformScrollbarQt::mouse*Event due parent() returning 0.
* Extend the current check that the scrollbar in the mev can be go away.
This happens if we destroy a RenderLayer as the result of a click. In the
case of Qt we can have this scrollbar in m_lastScrollbarUnderMouse. The RenderLayer
is the ScrollbarClient, m_lastScrollbarUnderMouse is a RefPtr and keeps the
last reference. When calling into this scrollbar the m_client pointer is a dangling pointer.
We extend the check to set m_lastScrollbarUnderMouse back to zero when it was the
scrollbar in the old mev and is gone in the new one.
* This happens only on the Qt port because we send more/different move events.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
2007-11-29 Antti Koivisto <antti@apple.com>
Reviewed by Mitz.
Fix aspect ratio calculation of video.
Video should always be treated as a replaced element in size calculation.
Test: media/video-aspect-ratio.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcWidth):
(WebCore::RenderBox::calcHeight):
* rendering/RenderBox.h:
(WebCore::RenderBox::shouldCalculateSizeAsReplaced):
* rendering/RenderMedia.h:
(WebCore::RenderMedia::shouldCalculateSizeAsReplaced):
2007-11-29 Sam Weinig <sam@webkit.org>
Reviewed by Oliver.
Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
- More closely match IE's policy for frame navigation.
* bindings/js/kjs_window.cpp:
(KJS::WindowProtoFuncOpen::callAsFunction):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldAllowNavigation):
* page/FrameTree.cpp:
(WebCore::FrameTree::top):
* page/FrameTree.h:
2007-11-29 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben and John Sullivan.
- make the recent searches popup extend only along the straight part of
the search field (unless it needs to be wider).
* platform/PopupMenuClient.h:
Added clientInsetLeft() and clientInsetRight() for clients to
specify desired horizontal insets for the menu.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::calculatePositionAndSize):
(WebCore::PopupMenu::paint):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0.
(WebCore::RenderMenuList::clientInsetRight): Ditto.
* rendering/RenderMenuList.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the
control's height, which is the radius of the cap on the left.
(WebCore::RenderTextControl::clientInsetRight): Added.
* rendering/RenderTextControl.h:
2007-11-30 Alp Toker <alp@atoker.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16173
Licensing change
Change license from BSD to LGPL.
This is being done to encourage vendors to contribute their fixes back
upstream.
* platform/graphics/gtk/ColorGtk.cpp:
* platform/graphics/gtk/IntPointGtk.cpp:
* platform/graphics/gtk/IntRectGtk.cpp:
* platform/graphics/svg/cairo/RenderPathCairo.cpp:
* platform/graphics/svg/cairo/SVGPaintServerCairo.cpp:
* platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
* platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp:
* platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
* platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp:
* platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp:
* platform/gtk/Language.cpp:
* platform/gtk/LoggingGtk.cpp:
* platform/gtk/SoundGtk.cpp:
* platform/gtk/SystemTimeGtk.cpp:
* platform/gtk/TextBreakIteratorInternalICUGtk.cpp:
2007-11-29 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugs.webkit.org/show_bug.cgi?id=16191
REGRESSION: cannot tab to radio input after setting checked to false
Test: fast/forms/input-radio-checked-tab.html
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code
so that it doesn't call setChecked(false) until after the map has been updated.
Otherwise, we can end up deallocating the map before manipulating it. As long
as I was changing the function, I decided to make it do only a single hash
table lookup.
* html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked):
Remove the button from the radio buttons set before changing the checked
state. This matches the idiom used elsewhere and fixes the problem where
setting checked to false would not remove it from the set.
2007-11-29 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5620093> Brief hang when Safari caches page text of XML document
* editing/TextIterator.cpp:
(WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any
characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is
expensive. So, we perform the inexpensive checks on m_node to see if it necessitates
emitting a character first and will early return before encountering
shouldRepresentNodeOffsetZero()s worse case behavior.
2007-11-29 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
Don't install event handlers or set the zoom cursor if auto-shrink has been disabled.
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageDocument::imageChanged):
2007-11-29 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff.
Fix for <rdar://problem/5620151> Disable JavaScript for SVG as
image for <img> and CSS images
* platform/graphics/svg/SVGImage.cpp:
(WebCore::SVGImage::dataChanged): When we create the empty clients,
explicitly disable JavaScript in the settings.
2007-11-29 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Support for <rdar://problem/5556381> and <rdar://problem/5556379>
The Database feature in the engine needs to support delegate calls for policy decisions and
also provide notifications when origins and databases change their state.
This patch also polishes off the missing features of the management API
* page/Chrome.cpp: Implement the two UIDelegate methods
(WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit
(WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation
* page/Chrome.h:
* page/ChromeClient.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
(WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
* storage/Database.cpp:
(WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high
enough and if it isn't, the UIDelegate should have a change to bump the quota.
Also update the UI-relevant details (display name and estimated size) upon successful opening of the database
* storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a
site database and is not important to API clients
(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::isValid):
(WebCore::DatabaseDetails::name):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would
prevent you from having two databases of the same name from two different origins. Also simplify the origin-management schema
(WebCore::DatabaseTracker::canEstablishDatabase): Added. Does some estimated size vs quota checks, and asks the UI delegate for
more space if necessary
(WebCore::DatabaseTracker::hasEntryForOrigin):
(WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota
Also notifies the client of the new origin
(WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database
(WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes
(WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management
(WebCore::DatabaseTracker::usageForDatabase):
(WebCore::DatabaseTracker::usageForOrigin):
(WebCore::DatabaseTracker::quotaForOrigin):
(WebCore::DatabaseTracker::setQuota): Notify the client
(WebCore::DatabaseTracker::addDatabase): Notify the client
(WebCore::DatabaseTracker::deleteAllDatabases):
(WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
(WebCore::DatabaseTracker::deleteDatabaseFile):
* storage/DatabaseTracker.h:
2007-11-29 Dan Bernstein <mitz@apple.com>
Reviewed by Beth Dakin and Darin Adler.
- manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
* manual-tests/context-click-unfocused-frame.html: Added.
2007-11-28 Antti Koivisto <antti@apple.com>
Reviewed by Geoff.
Fallback content inside media elements should not be rendered.
Test: media/fallback.html
* rendering/RenderMedia.h:
(WebCore::RenderMedia::canHaveChildren):
2007-11-28 Mark Rowe <mrowe@apple.com>
Windows build fix.
* WebCore.vcproj/WebCore.vcproj:
2007-11-28 Mark Rowe <mrowe@apple.com>
Gtk build fix.
* WebCore.pro:
2007-11-28 Antti Koivisto <antti@apple.com>
Reviewed by Oliver.
Make QTMovieView fill color transparent. This behavior matches the specification
(and allows nice alpha blended video).
* platform/graphics/mac/MoviePrivateQTKit.mm:
(WebCore::MoviePrivate::createQTMovieView):
2007-11-28 Antti Koivisto <antti@apple.com>
Reviewed by Darin.
Test: media/video-controls.html
<rdar://problem/5605668>
Implement controls attribute for video element
- Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while
video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented
later by just instantiating RenderMedia as renderer.
- Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can
have child nodes (for controls).
- Controls are implemented as a shadow DOM.
- Current look is a placeholder. It is defined purely in CSS.
- Some things like volume controls are not yet implemented.
- Fade-in/out is done manually, CSS animations don't work well in shadow trees.
* WebCore.xcodeproj/project.pbxproj:
* css/html4.css:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged):
(WebCore::HTMLMediaElement::updateMovie):
(WebCore::HTMLMediaElement::defaultEventHandler):
* html/HTMLMediaElement.h:
* rendering/RenderMedia.cpp: Added.
(WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
(WebCore::MediaControlShadowRootElement::isShadowNode):
(WebCore::MediaControlShadowRootElement::shadowParentNode):
(WebCore::MediaControlInputElement::MediaControlInputElement):
(WebCore::MediaControlInputElement::attachToParent):
(WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
(WebCore::MediaControlPlayButtonElement::inPausedState):
(WebCore::MediaControlPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlPlayButtonElement::update):
(WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
(WebCore::MediaControlTimelineElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::update):
(WebCore::RenderMedia::RenderMedia):
(WebCore::RenderMedia::~RenderMedia):
(WebCore::RenderMedia::mediaElement):
(WebCore::RenderMedia::movie):
(WebCore::RenderMedia::setStyle):
(WebCore::RenderMedia::createControlsShadowRoot):
(WebCore::RenderMedia::createPanel):
(WebCore::RenderMedia::createPlayButton):
(WebCore::RenderMedia::createTimeline):
(WebCore::RenderMedia::createTimeDisplay):
(WebCore::RenderMedia::updateFromElement):
(WebCore::RenderMedia::updateControls):
(WebCore::RenderMedia::timeUpdateTimerFired):
(WebCore::RenderMedia::updateTimeDisplay):
(WebCore::RenderMedia::updateControlVisibility):
(WebCore::RenderMedia::changeOpacity):
(WebCore::RenderMedia::opacityAnimationTimerFired):
(WebCore::RenderMedia::forwardEvent):
* rendering/RenderMedia.h: Added.
(WebCore::RenderMedia::renderName):
(WebCore::RenderMedia::isMedia):
(WebCore::RenderMedia::intrinsicSize):
* rendering/RenderObject.h:
(WebCore::RenderObject::isMedia):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::RenderVideo):
(WebCore::RenderVideo::videoSizeChanged):
(WebCore::RenderVideo::paintObject):
(WebCore::RenderVideo::layout):
(WebCore::RenderVideo::updateFromElement):
(WebCore::RenderVideo::calcAspectRatioWidth):
(WebCore::RenderVideo::calcAspectRatioHeight):
* rendering/RenderVideo.h:
2007-11-28 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating
In the new beta, Google has added some custom code on top of our RemoveFormat
to work around a bug where fully selected lists aren't removed. This code corrupts
the undo stack and causes crashes. This change fixes two problems with RemoveFormat
so that Google doesn't have to have any custom code. After checking this in I'll
work on bulletproofing the undo stack
* WebCore.xcodeproj/project.pbxproj:
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method.
(WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not
just the last paragraph. Added code to support an input string with '\n's.
* editing/CompositeEditCommand.h:
* editing/Editor.cpp:
(WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand.
* editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here.
(WebCore::RemoveFormatCommand::RemoveFormatCommand):
(WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists.
* editing/RemoveFormatCommand.h: Added.
(WebCore::RemoveFormatCommand::editingAction):
2007-11-28 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046
Test: fast/table/empty-auto-column-zero-divide.html
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::fullRecalc):
(WebCore::AutoTableLayout::calcEffectiveWidth):
(WebCore::AutoTableLayout::layout): When distributing the remaining
width among columns, skip those whose effective (rather than
specified) width is auto and contain only empty cells.
2007-11-28 Peter Kasting <zerodpx@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16169
GIF decoder needs to set hasAlpha() correctly on subsequent frames.
This also removes the workaround for this problem in
ImageSourceCairo.cpp.
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::frameHasAlphaAtIndex):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::initFrameBuffer):
2007-11-28 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler and Adam Roben.
- <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenu::enabled): Changed to return true.
(WebCore::autosaveKey): Added. Returns a preferences key for the
autosave name by prefixing it with "com.apple.WebKit.searchField:".
(WebCore::SearchPopupMenu::saveRecentSearches): Implemented.
(WebCore::SearchPopupMenu::loadRecentSearches): Implemented.
2007-11-28 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=15689
[GTK] Background of loading images is always black
frameHasAlphaAtIndex() exists only to allow optimization for cases we
are certain the image can be blitted rather than composited.
Thus we need to be conservative, returning false only when we are
absolutely certain there is no need for composited copying, and true
otherwise.
CG doesn't even bother with this optimization at all and always
returns true.
Patch includes a workaround for
http://bugs.webkit.org/show_bug.cgi?id=16169
GIF ImageDecoder hasAlpha() return value incorrect
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::frameHasAlphaAtIndex):
2007-11-27 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Install the JavaScriptCore headers as part of the GTK+ port.
* WebCore.pro:
2007-11-27 Beth Dakin <bdakin@apple.com>
Reviewed by Oliver.
Fix for <rdar://problem/5616052> SVGs with width or height of 100%
hang when used as a background-image (16164)
* platform/graphics/svg/SVGImage.cpp:
(WebCore::SVGImage::size): Use valueAsPercentage() for percents
instead of valueInSpecifiedUnits(). valueInSpecifiedUnits()
returns, for example, 50 for 50%, so multiplying percentages by the
default size of 300 x 150 led to ridiculously huge dimensions for
SVG images, and the subsequent hang.
2007-11-27 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Adam.
Set haveRegisteredWindowClass when we register the window class.
* plugins/win/PluginViewWin.cpp:
(WebCore::registerPluginView):
2007-11-27 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam Weinig.
Bug 16165: Dragging the inspector toolbar should move the window
http://bugs.webkit.org/show_bug.cgi?id=16165
* page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code.
* page/inspector/inspector.css: Only make the toolbar transparent in detached mode.
* page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add
toolbar drag functions that move the window.
2007-11-27 Antti Koivisto <antti@apple.com>
Reviewed by Mitz.
Small changes to make RenderSlider a bit more generic so it can be used in video controls.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events.
* rendering/RenderSlider.cpp:
(WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events.
(WebCore::RenderSlider::setStyle):
(WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset.
(WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events.
* rendering/RenderSlider.h:
2007-11-27 Antti Koivisto <antti@apple.com>
Reviewed by Darin.
- Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles
generally exist when asked for so the optimization does not do much. This reverses the continuing
growth of the _pseudoBits bitfield in RenderStyle.
- Add some pseudo elements for media controls
* css/CSSSelector.cpp:
(WebCore::CSSSelector::extractPseudoType):
* css/CSSSelector.h:
(WebCore::CSSSelector::):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchRulesForList):
(WebCore::CSSStyleSelector::checkOneSelector):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::getPseudoStyle):
* rendering/RenderStyle.cpp:
(WebCore::pseudoBit):
(WebCore::RenderStyle::hasPseudoStyle):
(WebCore::RenderStyle::setHasPseudoStyle):
* rendering/RenderStyle.h:
(WebCore::RenderStyle::):
2007-11-27 Timothy Hatcher <timothy@apple.com>
Reviewed by Kevin McCullough.
Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
http://bugs.webkit.org/show_bug.cgi?id=16161
Removed the "Adjust the window rect to be in the coordinate space of
the screen rect" step which was always adding (0,22) to the window
position (on the main screen). Instead, account for screen X and Y
in the bottom and right constrain step.
Added more test cases to: fast/dom/Window/window-resize.html
* bindings/js/kjs_window.cpp:
(KJS::adjustWindowRect):
2007-11-27 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
* page/inspector/inspector.css: Make the text in the Network
panel legend more readable.
2007-11-27 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
Don't call setNeedsReapplyStylesInAllFrames if the
authorAndUserStylesEnabled setting didn't change.
* page/Settings.cpp:
(WebCore::Settings::setAuthorAndUserStylesEnabled):
2007-11-27 Alp Toker <alp@atoker.com>
Fix potential broken build due to a missing DEPENDPATH.
* WebCore.pro:
2007-11-26 Timothy Hatcher <timothy@apple.com>
Reviewed by Dave Hyatt.
<rdar://problem/5569233> Add the ability to disable author and user CSS styles
* WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter.
(WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before
matching user and author rules.
(WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
(WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
* css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
* dom/Document.cpp:
(WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector.
(WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if
Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
* page/Settings.cpp:
(WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true.
(WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames
when the setting changes.
* page/Settings.h: Add m_authorAndUserStylesEnabled.
(WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.
2007-11-27 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Based on changes by Mike Emmel.
CURL HTTP backend local file fixes:
Set a MIME type for local files based on the file extension.
Remove any HTTP query part sent to a local file.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::startJob):
2007-11-26 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe
Allow setting the default storage quota per database origin
* WebCore.base.exp:
* page/Settings.cpp:
(WebCore::Settings::setDefaultDatabaseOriginQuota):
(WebCore::Settings::defaultDatabaseOriginQuota):
* page/Settings.h:
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::DatabaseTracker):
(WebCore::DatabaseTracker::setDefaultOriginQuota):
(WebCore::DatabaseTracker::defaultOriginQuota):
* storage/DatabaseTracker.h:
2007-11-26 Peter Kasting <zerodpx@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=15974
GIF decoding should respect frames' specified disposal methods.
* platform/image-decoders/ImageDecoder.h:
(WebCore::RGBA32Buffer::):
(WebCore::RGBA32Buffer::RGBA32Buffer):
(WebCore::RGBA32Buffer::disposalMethod):
(WebCore::RGBA32Buffer::setDisposalMethod):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::frameBufferAtIndex):
(WebCore::GIFImageDecoder::initFrameBuffer):
(WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::frameComplete):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::read):
* platform/image-decoders/gif/GIFImageReader.h:
(GIFFrameReader::GIFFrameReader):
2007-11-26 Adam Roben <aroben@apple.com>
Add a Color(CGColorRef) constructor
Reviewed by Darin.
* platform/graphics/Color.h:
* platform/graphics/cg/ColorCG.cpp:
(WebCore::Color::Color): Added.
2007-11-26 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Update to last change. Moved addPendingSheet call to within nil check for m_cachedSheet.
* page/Frame.cpp:
(WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
2007-11-26 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:]
* page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil.
(WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
(WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
2007-11-26 Mark Rowe <mrowe@apple.com>
GCC 4.2 build fix.
* xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF.
2007-11-26 Feng Qian <ian.eng.webkit@gmail.com>
Reviewed and touched up by Sam Weinig.
Fix for http://bugs.webkit.org/show_bug.cgi?id=16073
Test: http/tests/security/xss-DENIED-invalid-domain-change.html
* dom/Document.cpp:
(WebCore::Document::setDomain): Don't set the securityOrigin policy unless
the set succeeds. Adds some early returns as well.
2007-11-26 Steve Falkenburg <sfalken@apple.com>
Build fix.
* WebCore.vcproj/WebCore.make:
* WebCore.vcproj/migrate-idls.sh:
2007-11-26 Sam Weinig <sam@webkit.org>
Fix potential null-dereference.
Reviewed by Adam Roben.
* page/FrameTree.cpp:
(WebCore::FrameTree::isDescendantOf):
2007-11-26 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
Fix for <rdar://problem/5592988>
- Enforce tighter restrictions on what frames in other domains
can be navigated.
Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html
http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html
* bindings/js/kjs_window.cpp:
(KJS::Window::put):
(KJS::Location::put):
(KJS::LocationProtoFuncReplace::callAsFunction):
(KJS::LocationProtoFuncAssign::callAsFunction):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
* loader/FrameLoader.h:
* page/FrameTree.cpp:
(WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not
in the same page.
2007-11-26 Steve Falkenburg <sfalken@apple.com>
Build fix.
* WebCore.vcproj/migrate-idls.sh:
2007-11-26 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
Test: fast/dynamic/float-withdrawal-2.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren): When a float may have
been withdrawn from a child, mark all descendants if necessary and not
just the child.
2007-11-26 Steve Falkenburg <sfalken@apple.com>
Build fix.
* WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make.
* WebCore.vcproj/MigrateIDLAndScripts.make: Removed.
* WebCore.vcproj/migrate-idls.sh:
2007-11-26 Brady Eidson <beidson@apple.com>
Reviewed by Anders (and typo lovingly found by Adam)
Change Databases to be stored in a per-origin directory hierarchy - this will make
storage quotas much easier to enforce
* platform/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':'
(WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'.
'_' still works due to not being allowed in domain names, but also is a valid filename character '
on all filesystems we care about
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize
databases by origin
2007-11-26 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
http://bugs.webkit.org/show_bug.cgi?id=16137
On Leopard the toolbar background will be transparent, to allow the
window background to show through the transparent WebView. The
search results divs needed to move inside the "main" div, so they
would be clipped and not show where the toolbar is.
* page/InspectorController.cpp:
(WebCore::platform): Return a string for which platform we are.
(WebCore::InspectorController::windowScriptObjectAvailable):
Define the platform function on the JavaScript class.
* page/inspector/Panel.js: Add panels to the panels div.
* page/inspector/inspector.css: On the Leopard platform make
the toolbar background transparent so the window background shows.
* page/inspector/inspector.html: Add a panels div and move search
result divs inside the main div.
* page/inspector/inspector.js: Tweak the resize code to acount for
the search results divs moving inside the main div.
2007-11-25 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewed by Maciej Stachowiak.
Remove the unneeded CFNETWORK #ifdefs.
* loader/NetscapePlugInStreamLoader.h:
2007-11-24 Laszlo Gombos <laszlo.gombos@gmail.com>
Reviewed by Sam Weinig.
Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define.
* dom/XMLTokenizer.cpp:
* dom/XMLTokenizer.h:
* platform/DeprecatedString.h:
* platform/PlatformString.h:
2007-11-25 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
- fix off-center error images
Covered by many pixel tests with missing images
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint): Account for the 1 pixel outline when
positioning the error image.
2007-11-25 Kevin Ollivier <kevino@theolliviers.com>
wx build fix. Fix filename case for case-sensitive filesystems.
* WebCoreSources.bkl:
2007-11-22 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Adam Roben.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=15564
Fix problems with hidden glyphs. They were taken into account for quite
some operations (hit testing, length calulcations etc..) except painting.
Especially fixes boundaries of <textPath> (see using Web Inspector) if
text-anchor isn't equal to 'start'.
Added testcase:
svg/text/textPathBoundsBug.svg
Fixed testcase: (all showed text selection problems on text paths)
svg/batik/text/textGlyphOrientationHorizontal.svg
svg/batik/text/textOnPath.svg
svg/batik/text/textOnPath3.svg
svg/batik/text/verticalTextOnPath.svg
svg/text/text-align-04-b.svg
svg/W3C-SVG-1.1/text-align-04-b.svg
* rendering/SVGCharacterLayoutInfo.cpp:
(WebCore::SVGChar::isHidden):
* rendering/SVGCharacterLayoutInfo.h:
(WebCore::SVGCharOnPath::SVGCharOnPath):
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
(WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
* rendering/SVGRootInlineBox.cpp:
(WebCore::topLeftPositionOfCharacterRange):
(WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
(WebCore::cummulatedWidthOrHeightOfTextChunk):
(WebCore::applyTextAnchorToTextChunk):
(WebCore::applyTextLengthCorrectionToTextChunk):
(WebCore::SVGRootInlineBox::layoutInlineBoxes):
(WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
(WebCore::SVGRootInlineBox::buildTextChunks):
2007-11-25 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=15919
XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end
Test: fast/xsl/extra-lf-at-end.html
* xml/XSLTProcessor.cpp:
(WebCore::writeToVector): Changed to use Vector to avoid slow String::apend().
(WebCore::saveResultToString): Remove trailing line feed if present.
2007-11-24 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
http://bugs.webkit.org/show_bug.cgi?id=13705
Don't buffer the entire stream contents in memory in the ResourceLoader.
* loader/mac/NetscapePlugInStreamLoaderMac.mm:
(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
(WebCore::NetscapePlugInStreamLoader::didFinishLoading):
* loader/mac/WebPlugInStreamLoaderDelegate.h:
2007-11-23 Adam Roben <aroben@apple.com>
Get rid of WebCoreSystemInterface on Windows
The one function defined in that file is now in WebKitSystemInterface.
Reviewed by Tim.
* WebCore.vcproj/WebCore.vcproj: Removed
WebCoreSystemInterface.{cpp,h}.
* platform/graphics/cg/ImageCG.cpp: Made #include of
WebCoreSystemInterface.h Mac-only.
* platform/win/GraphicsContextWin.cpp: Ditto.
* platform/win/WebCoreSystemInterface.cpp: Removed.
* platform/win/WebCoreSystemInterface.h: Removed.
2007-11-24 Adam Roben <aroben@apple.com>
Replace uses of %@ with %s in the inspector
Rubberstamped by Tim.
* English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s.
* page/inspector/DatabasePanel.js: Ditto.
* page/inspector/StylesSidebarPane.js: Ditto.
* page/inspector/inspector.js: Ditto.
* page/inspector/utilities.js:
(String.vsprintf): Removed @ as a format specifier.
2007-11-24 Adam Roben <aroben@apple.com>
Windows build fix
Turn off the change made in r27984 on Windows for now.
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::transformToString):
* xml/XSLTUnicodeSort.cpp:
2007-11-24 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
Bug 16121: Web Inspector needs helper functions that pass a 'this' object to
addEventListener and setTimeout
http://bugs.webkit.org/show_bug.cgi?id=16121
Add Function.prototype.bind. This helper will return a wrapper function
that will call the original function with the supplied arguments
and using the supplied 'this' object.
* page/inspector/Database.js: Remove a use of setTimeout by
inheriting some common functions from Resource.
* page/inspector/DatabasePanel.js: Use the new bind function.
* page/inspector/ConsolePanel.js: Ditto.
* page/inspector/DocumentPanel.js: Ditto.
* page/inspector/NetworkPanel.js: Ditto.
* page/inspector/PropertiesSection.js: Ditto.
* page/inspector/Resource.js: Ditto.
* page/inspector/SidebarPane.js: Ditto.
* page/inspector/inspector.html: Moved Database.js after Resource.js,
now that Database.js uses it.
* page/inspector/inspector.js: Use the new bind function. Also
removed a setTimeout used for the localized strings code. There is
now a load event listener added to the localized strings script
element that will call WebInspector.loaded.
* page/inspector/utilities.js: Add Function.prototype.bind.
2007-11-24 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads
http://bugs.webkit.org/show_bug.cgi?id=16112
In the places where we use offsetWidth and offsetHeight before
the stylesheet loads there is now a check. If the body's
offsetWidth is not greater than zero, then set a timeout
to do the updates requiring the stylesheet later.
The three places this happened:
- DOM tree selection highlight would show up at the wrong height
when using Inspect Element to open the inspector.
- DOM tree breadcrumbs would not collapse when using Inspect Element
to open the inspector.
- Network Timeline divider lines would not show when opening directly
into the timeline.
* page/inspector/DocumentPanel.js: Check if the stylesheet loaded.
* page/inspector/NetworkPanel.js: Ditto.
* page/inspector/inspector.html: Include the stylesheet before
any scripts, this will help get it loaded sooner.
2007-11-24 Kevin Ollivier <kevino@theolliviers.com>
Add wx implementation for pathGetFilename
Reviewed by David D. Kilzer.
* html/HTMLFormElement.cpp:
(WebCore::pathGetFilename):
2007-11-23 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
Bug 16110: Clicking inside the resource headers in the network timeline collapses them
http://bugs.webkit.org/show_bug.cgi?id=16110
Toggle the resource headers only if the click happens on the
resource row, not within the headers area.
* WebCore.xcodeproj/project.pbxproj:
* page/inspector/NetworkPanel.js:
2007-11-23 Kevin Ollivier <kevino@theolliviers.com>
Win build fixes. CURL needs winsock, so don't disable it, and
include pthreads.h to get the threadsafe *_r functions.
Reviewed by Adam Roben.
* config.h:
* loader/FTPDirectoryDocument.cpp:
* loader/FTPDirectoryParser.cpp:
2007-11-23 Kevin Ollivier <kevino@theolliviers.com>
wx build fix. Move wx settings to project build settings,
remove some old settings that were masking a build problem,
and fix include ordering to ensure proper config.h and
unicode/utf8.h headers are used.
* webcore-base.bkl:
* webcore-wx.bkl:
2007-11-23 Simon Hausmann <hausmann@webkit.org>
Reviewed by George Staikos <staikos@kde.org>.
Another build fix specific to trunk (instead of the stable branch) to fix make clean (which the buildbots call).
* WebCore.pro:
2007-11-23 Alexey Proskuryakov <ap@webkit.org>
Not reviewed, trivial leak fix.
Fix xsltUnicodeSortFunction() memory leaks.
* xml/XSLTUnicodeSort.cpp:
(WebCore::xsltUnicodeSortFunction):
2007-11-23 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
<rdar://problem/5539306> REGRESSION: redirect fails when subframe's document is opened but
not closed (affects digg.com)
Tests: fast/loader/meta-refresh-vs-open.html
fast/loader/redirect-with-open-subframe-2.html
fast/loader/redirect-with-open-subframe.html
http/tests/loading/onload-vs-immediate-refresh.pl
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::scheduleRedirection): Only check whether the load is complete for
HTTP redirects - JavaScript-initiated ones are effective immediately.
2007-11-23 Dan Bernstein <mitz@apple.com>
Reviewed by Alexey Proskuryakov.
- apply matrix transforms on the correct side of the transformation
matrix (not on the side where the vector is multiplied).
Test: fast/transforms/matrix-02.html
* rendering/RenderStyle.h:
(WebCore::MatrixTransformOperation::apply):
2007-11-23 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16077
<rdar://problem/5609785> XSLT processor <xsl:sort> algorithm is incompatible with other
browser implementations
Test: fast/xsl/sort-unicode.xml
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::transformToString): Set a custom sort function.
* xml/XSLTUnicodeSort.cpp: Added.
(init_xsltTransformError):
(xsltTransformError):
(WebCore::xsltUnicodeSortFunction):
* xml/XSLTUnicodeSort.h: Added.
ICU-based implementation of xsl:sort, using an example from libxslt distribution.
Only minimal coding style fixes to ease synchronization with upstream in the future.
* icu/unicode/ucol.h: Added.
* icu/unicode/uset.h: Added.
Taken from ICU 3.2
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
Added XSLTUnicodeSort.cpp.
2007-11-22 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=14977
Hixie's DOM Core performance test shows insert >10x slower than append
Each invocation of Element.childNodes[n] was creating and registering a new ChildNodeList,
which persisted and listened to notifications until GC.
A fix is to avoid registering child node lists for notifications - they don't need them, as
they share a common cache in Node.
* dom/Node.cpp:
(WebCore::Node::registerNodeList):
(WebCore::Node::unregisterNodeList):
(WebCore::Node::notifyLocalNodeListsAttributeChanged):
(WebCore::Node::notifyLocalNodeListsChildrenChanged):
* dom/NodeList.h:
(WebCore::NodeList::needsNotifications):
2007-11-22 Dan Bernstein <mitz@apple.com>
Reviewed by Antti Koivisto.
- fix http://bugs.webkit.org/show_bug.cgi?id=15811
WebKit plug-ins can re-enter WebKit under attach()
<rdar://problem/5577978>
Defer plug-in loading until after attach and recalcStyle using the
post-attach callback mechanism. Netscape plug-ins are still loaded only
after layout.
* dom/ContainerNode.cpp:
Made NodeCallbackQueue elements retain the Node because callbacks might
delete nodes that are in the callback queue.
(WebCore::ContainerNode::suspendPostAttachCallbacks): Added. Needed to
prevent post-attach callbacks from being dispatched under recalcStyle().
(WebCore::ContainerNode::resumePostAttachCallbacks): Ditto.
(WebCore::ContainerNode::dispatchPostAttachCallbacks): Factored out from
attach().
(WebCore::ContainerNode::attach):
* dom/ContainerNode.h:
* dom/Document.cpp:
(WebCore::Document::recalcStyle): Added calls to
suspendPostAttachCallbacks() and resumePostAttachCallbacks().
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::HTMLEmbedElement):
(WebCore::HTMLEmbedElement::attach): Changed to queue the widget update
for post-attach.
(WebCore::HTMLEmbedElement::updateWidget): Added. Called by the
post-attach callback.
* html/HTMLEmbedElement.h: Added an m_needWidgetUpdate member needed to
prevent a double update if another plug-in's post-attach updateWidget()
triggers a layout which updates the widget before this plug-in's
post-attach callback is invoked.
(WebCore::HTMLEmbedElement::setNeedWidgetUpdate): Added a setter for
m_needWidgetUpdate.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::attach): Changed to queue the widget update
for post-attach.
(WebCore::HTMLObjectElement::updateWidget): Added. Called by the
post-attach callback.
* html/HTMLObjectElement.h:
(WebCore::HTMLObjectElement::setNeedWidgetUpdate): Added a setter for
m_needWidgetUpdate.
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::updateWidgetCallback): Added.
* html/HTMLPlugInElement.h:
(WebCore::HTMLPlugInElement::updateWidget):
* rendering/RenderPartObject.cpp:
(WebCore::RenderPartObject::updateWidget): Added calls to
setNeedWidgetUpdate(false) so that if this method is called from
FrameView::layout() during post-attach dispatch of another plug-in,
it will not be called again when this plug-in's post-attach callback
is dispatched.
* rendering/RenderPartObject.h:
(WebCore::RenderPartObject::updateWidget) Renamed argument to match
the method definition.
2007-11-22 Timothy Hatcher <timothy@apple.com>
Reviewed by Dan Bernstein.
Fix the Element.hasStyleClass and Element.removeStyleClass helpers
to not find and replace substrings, but whole class names at the
beginning or end of the string or surrounded by whitespace.
* page/inspector/utilities.js:
2007-11-22 Timothy Hatcher <timothy@apple.com>
Revert part of my r27935 change that made the Tip balloons
animate with CSS transitions. The balloon was only opacity 0,
so it would cause its row to highlight when hovering over
another row.
* page/inspector/NetworkPanel.js:
* page/inspector/inspector.css:
2007-11-22 Dan Bernstein <mitz@apple.com>
Reviewed by Maciej Stachowiak.
- fix http://bugs.webkit.org/show_bug.cgi?id=15943
-webkit-transform matrix does not work
Test: fast/transforms/matrix-01.html
Parse all six matrix entries as numbers.
* css/CSSParser.cpp:
(WebCore::TransformOperationInfo::TransformOperationInfo):
(WebCore::CSSParser::parseTransform):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderStyle.cpp:
(WebCore::MatrixTransformOperation::blend):
* rendering/RenderStyle.h:
(WebCore::MatrixTransformOperation::MatrixTransformOperation):
(WebCore::MatrixTransformOperation::apply):
2007-11-22 Laszlo Gombos <laszlo.gombos@gmail.com>
Reviewed by Alp Toker.
Fix some compilation warnings. Do not reference undefined (platform) specific type (WebCore::CachedFont::m_fontData)
* loader/CachedFont.cpp:
(WebCore::CachedFont::~CachedFont):
(WebCore::CachedFont::allReferencesRemoved):
2007-11-22 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
GTK+ drawing fix.
Add a check to avoid crashing when the GraphicsContext is not
associated with a GdkEventExpose. This was noticed when adding
printing support but might be triggered in other situations too.
* platform/gtk/WidgetGtk.cpp:
(WebCore::Widget::paint):
2007-11-22 Julien Chaffraix <julien.chaffraix@gmail.com>
Reviewed by Alexey.
Bug 15530: XMLHttpRequest should not support certain methods
Test: http/tests/xmlhttprequest/xmlhttprequest-forbidden-methods-exception.html
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::open):
2007-11-22 Simon Hausmann <hausmann@kde.org>
Reviewed by George.
For the build inside Qt include qbase.pri and don't duplicate what qbase.pri otherwise does (install targets, etc.)
* WebCore.pro:
2007-11-22 Simon Hausmann <hausmann@kde.org>
Reviewed by George.
Don't set OBJECTS_DIR when building inside Qt
* WebCore.pro:
2007-11-22 Simon Hausmann <hausmann@kde.org>
Reviewed by George.
Use ../generated as path for the generated sources for builds inside Qt
* WebCore.pro:
2007-11-22 Simon Hausmann <hausmann@kde.org>
Reviewed by George.
Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable
* WebCore.pro:
2007-11-22 Simon Hausmann <hausmann@kde.org>
Reviewed by George.
Centralize the setup for all the extra compilers in a addExtraCompiler function.
This allows adding a "generated_files" target that builds all generated files using "make generated_files".
For the build inside Qt we do not generate actual rules for the extra compilers but instead
do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
* WebCore.pro:
2007-11-21 Timothy Hatcher <timothy@apple.com>
Reviewed by Eric Seidel.
Show Fonts as Yellow in the network timeline.
* page/inspector/NetworkPanel.js:
* page/inspector/inspector.css:
2007-11-21 Dan Bernstein <mitz@apple.com>
Reviewed by Eric Seidel.
- fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034)
Test: fast/repaint/subtree-root-skipped.html
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout
root to 0.
(WebCore::FrameView::layoutRoot): Changed to return a RenderObject
instead of a Node.
(WebCore::FrameView::layout): Changed for layout root being a renderer
rather than a DOM node. Also replaced clearing the repaint rects
set with asserting that it is empty if this is the top-level call to
layout(). If it is not, the set may contain rects from enclosing
layout() and those should not be removed.
(WebCore::FrameView::scheduleRelayout): Changed for layout root being
a renderer rather than a DOM node.
(WebCore::isObjectAncestorContainerOf): Added this helper function that
tests whether one object will be marked by calling
markContainingBlocksForLayout() on the other.
(WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout
root being a renderer rather than a DOM node. Changed the check if new
and current layout roots are on the same path from the root to use
the subgraph of the render tree defined by container()hood instead of
the DOM tree and parenthood.
* page/FrameView.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcWidth): Changed for layout root being a
renderer rather than a DOM node.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::~RenderObject): Added an assertion that the
object being deleted is not currently the layout root.
(WebCore::RenderObject::scheduleRelayout): Changed for layout root being
a renderer rather than a DOM node.
2007-11-21 Mark Rowe <mrowe@apple.com>
Reviewed by Eric.
Fix WebCore to build without warnings under GCC 4.2.
* Configurations/Base.xcconfig:
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::deleteRule):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::locateSharedStyle):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::allowNestedRedundantTag):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::fillInlineSelectionGaps):
(WebCore::RenderBlock::fillBlockSelectionGaps):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::stackingContext):
(WebCore::RenderLayer::enclosingPositionedAncestor):
(WebCore::RenderLayer::transparentAncestor):
* rendering/RenderStyle.cpp:
(WebCore::BackgroundLayer::fillUnsetProperties):
(WebCore::Transition::fillUnsetProperties):
* rendering/RenderText.cpp:
(WebCore::RenderText::containsOnlyWhitespace):
* rendering/bidi.cpp:
(WebCore::RenderBlock::determineStartPosition):
2007-11-21 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=16071
Curl backend handles EINTR incorrectly
Defer timers during select() to avoid interruption by timer signals.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
2007-11-21 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
Update format strings to use format specifiers that match the argument types.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::writeToDatabase):
* platform/mac/TextCodecMac.cpp:
(WebCore::TextCodecMac::decode):
* storage/Database.cpp:
(WebCore::Database::deliverAllPendingCallbacks):
2007-11-21 Xan Lopez <xan@gnome.org>
Reviewed by Alp Toker.
Clarify scroll event processing with a comment.
* platform/gtk/PlatformScrollBarGtk.cpp:
(gtkScrollEventCallback):
2007-11-21 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben.
Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes
http://bugs.webkit.org/show_bug.cgi?id=16085
Changes include:
- Refactor the drawing code as nested functions instead of global functions.
- Compute the segment percentages only once per call to drawSummaryGraph.
- Account for percentages that rounded down to total less-than 100%.
- Draw the pill shadow better using the canvas shadow drawing properties.
- Removes a couple canvas context saves and restores.
* page/inspector/NetworkPanel.js:
2007-11-21 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=16056
Unicode not being interpreted correctly in Web Inspector source view
Cannot be tested automatically.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::encoding):
* loader/CachedCSSStyleSheet.h:
* loader/CachedResource.h:
(WebCore::CachedResource::encoding):
* loader/CachedScript.cpp:
(WebCore::CachedScript::encoding):
* loader/CachedScript.h:
* loader/CachedXBLDocument.cpp:
(WebCore::CachedXBLDocument::encoding):
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::encoding):
* loader/CachedXSLStyleSheet.h:
Teach textual CachedResources to report their encodings.
* page/InspectorController.cpp:
(WebCore::addSourceToFrame):
(WebCore::updateResourceResponse):
Use the actual encoding - the network layer has little idea about it.
2007-11-20 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej Stachowiak.
Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities)
http://bugs.webkit.org/show_bug.cgi?id=16076
XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being
parsed (once for text before the entity, once for the entity itself). This triggered O(n^2) copying
of the CharacterData's string due to resizing. We now prevent this happening by buffering all the
content for a given Text node in the XMLTokenizer before sending it out to the node in a single go.
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::characters): Append the characters to the buffer.
(WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended.
(WebCore::endDocumentHandler):
(WebCore::XMLTokenizer::enterText):
(WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node.
(WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler.
(WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure
that the buffer gets flushed to the node.
* dom/XMLTokenizer.h:
2007-11-20 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
Animate the status area and tip balloons in the Web Inspector
with CSS animations.
* page/inspector/NetworkPanel.js:
* page/inspector/inspector.css:
* page/inspector/inspector.js:
2007-11-20 Kevin Ollivier <kevino@theolliviers.com>
wx build fix for Windows. Don't use WebCore/move-js-headers.sh as
it indiscriminately copies any headers inside JavaScriptCore,
which includes Tiger ICU headers.
* webcore-base.bkl:
Remove references to the WebCore/include dir generated by
move-js-headers.sh, and also get headers from JavaScriptCore
directly rather than from WebCore/ForwardingHeaders.
2007-11-20 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Avoid pointlessly mallocing and freeing this transform matrix.
* platform/gtk/FontPlatformDataGtk.cpp:
(WebCore::FontPlatformData::FontPlatformData):
2007-11-20 Naiem Shaik <naiem.shaik@gmail.com>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=15763
[GTK] Enter key does not take to the link highlighted.
Add missing keycode cases.
* platform/gtk/KeyEventGtk.cpp:
(WebCore::keyIdentifierForGdkKeyCode):
(WebCore::windowsKeyCodeForKeyEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2007-11-20 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Fix http://bugs.webkit.org/show_bug.cgi?id=16074
Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
not result in an id being set.
* editing/JSEditor.cpp: Don't set the id attribute if value is empty.
2007-11-20 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
- fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar
* platform/win/PlatformScrollBar.h:
* platform/win/PlatformScrollBarSafari.cpp:
Added the "hit inset" constants (representing how far the track eats
into the button).
(WebCore::PlatformScrollbar::paint): Changed to paint the buttons and
the thumb only if they should be showing.
(WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the
arrows should be drawn.
(WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb
should be drawn.
(WebCore::PlatformScrollbar::forwardButtonRect):
(WebCore::PlatformScrollbar::trackRect): Changed to return the entire
bounds of the scrollbar if the scrollbar has no buttons.
(WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled
track along the entire scrollbar if it has not buttons.
(WebCore::PlatformScrollbar::hitTest): Changed to hit test only the
parts that the scrollbar has in its current dimensions.
2007-11-20 Mark Rowe <mrowe@apple.com>
Reviewed by Alp Toker.
* config.h: Change #if to #ifdef to silence warnings on non-Apple platforms.
2007-11-20 Simon Hausmann <hausmann@kde.org>
Reviewed by Adam Treat <treat@kde.org>.
Remove static linkage of QtWebKit against the ICO image format plugin.
Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
* WebCore.pro:
* platform/graphics/qt/ImageDecoderQt.cpp:
2007-11-20 David D. Kilzer <ddkilzer@webkit.org>
no-svg build broken after r27278
<http://bugs.webkit.org/show_bug.cgi?id=16061>
Reviewed by Eric.
* bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h
and DOMHTMLObjectElementPrivate.h for no-svg build.
2007-11-20 Adam Treat <treat@kde.org>
Reviewed by Simon.
* Don't use so much heap memory.
* platform/graphics/qt/ImageDecoderQt.cpp:
* platform/graphics/qt/ImageDecoderQt.h:
* platform/graphics/qt/ImageSourceQt.cpp:
(WebCore::ImageSource::createFrameAtIndex):
2007-11-20 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
Fix text break interators.
The break iterators where trying to be smart about the input
string and caching their results. Unfortunately a pointer/string length
comparison is not good enough in all cases (since some input is stack based
temp strings). Removed the caching but at the same time started to use a more
efficient constructor of QTextBoundaryFinder that doesn't need to malloc for
most strings.
Fixes two test cases that test "text-transform: capitalize".
* platform/qt/TextBreakIteratorQt.cpp:
(WebCore::wordBreakIterator):
(WebCore::characterBreakIterator):
(WebCore::lineBreakIterator):
(WebCore::sentenceBreakIterator):
2007-11-20 Adam Treat <treat@kde.org>
Reviewed by George.
* Make gif animations work for instance.
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::reset):
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::frameCount):
(WebCore::ImageDecoderQt::repetitionCount):
* platform/graphics/qt/ImageDecoderQt.h:
2007-11-20 Adam Treat <treat@kde.org>
* Build in release mode
* platform/NotImplemented.h:
2007-11-20 Adam Treat <treat@kde.org>
Reviewed by Simon and George.
* Be quiet and allow suppression of NotImplemented calls at runtime.
* platform/NotImplemented.h:
2007-11-19 Doug Turner <dougt@meer.net>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=16054
Crash when GlyphPage::fill is called with more than 256 bytes of data
http://bugs.webkit.org/show_bug.cgi?id=14446
[GDK] Crash on http://www.wikipedia.org/
setGlyphDataForIndex() uses a fixed array of size 256 which we can't
exceed. We need to return failure if the buffer has Unicode
supplementary characters for now.
This strategy matches the Win port, which also doesn't support this
case yet.
Add an assertion so nobody makes this mistake again.
* platform/GlyphPageTreeNode.h:
(WebCore::GlyphPage::setGlyphDataForIndex):
* platform/gtk/GlyphPageTreeNodeGtk.cpp:
(WebCore::GlyphPage::fill):
2007-11-19 Doug Turner <dougt@meer.net>
Reviewed by Timothy Hatcher.
http://bugs.webkit.org/show_bug.cgi?id=16050
sqlite3_prepare16_v2 build bustage.
Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
to fix build bustage.
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare):
2007-11-19 Mark Rowe <mrowe@apple.com>
Build fix. Don't over-qualify the constructor name.
* storage/DatabaseDetails.h:
2007-11-19 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
Stub out the WebCore parts of the WebKit API
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* storage/DatabaseDetails.h: Added. Simple container for vitals on a specific database
(WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::isValid):
(WebCore::DatabaseDetails::name):
(WebCore::DatabaseDetails::version):
(WebCore::DatabaseDetails::displayName):
(WebCore::DatabaseDetails::expectedUsage):
(WebCore::DatabaseDetails::currentUsage):
* storage/DatabaseTracker.cpp: Added various methods for API usage
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
(WebCore::DatabaseTracker::usageForOrigin):
(WebCore::DatabaseTracker::quotaForOrigin):
(WebCore::DatabaseTracker::setQuota):
* storage/DatabaseTracker.h:
2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
wx port build fix.
* platform/graphics/wx/AffineTransformWx.cpp:
(WebCore::AffineTransform::operator== ):
m_transform is only available when using wxGraphicsContext.
2007-11-19 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
GTK+ drawing fixes.
Add a check to avoid crashing when the GraphicsContext is not
associated with a GdkDrawable. This was noticed when adding printing
support but might be triggered in other situations too.
Do not render themes when painting is disabled. This is an
optimisation for cases where GraphicsContext is used to calculate page
dimensions etc. without actually rendering.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::gdkDrawable):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::paintMozWidget):
2007-11-13 Rahul Abrol <ra5ul@comcast.net>
Reviewed by Tim Hatcher.
http://bugs.webkit.org/show_bug.cgi?id=15977
Resizing images preference now toggles default image state.
* loader/ImageDocument.cpp:
(WebCore::ImageDocument::ImageDocument):
(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageDocument::imageChanged):
2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
Update wx port build sources with recent changes, update
wx FontPlatformData to be a class (MSVC7 gets confused
otherwise...) and implement its hash() method.
Reviewed by Adam.
* WebCoreSources.bkl:
* platform/wx/FontPlatformData.h:
(WebCore::FontPlatformData::hash):
2007-11-19 Julien Chaffraix <julien.chaffraix@gmail.com>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=12194
Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they
are not available should raise an exception
Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequest::getValueProperty):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::getResponseText):
(WebCore::XMLHttpRequest::getResponseXML):
* xml/XMLHttpRequest.h:
2007-11-19 Peter Kasting <zerodpx@gmail.com>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=15971
The GIF decoder should not fail decoding if the caller asks it to
decode again when no new data has arrived since the last call.
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::read):
2007-11-18 Brady Eidson <beidson@apple.com>
Reviewed by Eric
Fix a crash hashing a default SecurityOriginData object
* storage/DatabaseTracker.cpp:
(WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
StringImpls - don't try to hash those!
2007-11-18 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam Weinig.
Bug 16043: Remove InspectorController.log now that console.log works
http://bugs.webkit.org/show_bug.cgi?id=16043
Remove the last uses of InspectorController.log. Once use was no longer needed,
checking an erro case that can't happen anymore. The other case now uses console.error.
* page/InspectorController.cpp: Remove the log function.
(WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
InspectorController script class.
* page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
* page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
2007-11-18 Timothy Hatcher <timothy@apple.com>
Reviewed by Brady.
Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
http://bugs.webkit.org/show_bug.cgi?id=16041
* page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
and transaction(). Refactored some code for the success and error callbacks to use.
2007-11-18 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
<rdar://problem/5546393> Whitespace handling doesn't match HTML5.
HTML5 definition is the same as MSIE's, with the exception that the latter strips null
characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
Test: fast/parser/html-whitespace.html
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseSpecial):
(WebCore::HTMLTokenizer::parseTag):
Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
check for whitespace almost everywhere.
2007-11-17 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
<rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
http://bugs.webkit.org/show_bug.cgi?id=16033
Update for changes in Interpreter method signatures.
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::ScriptInterpreter):
* bindings/js/kjs_window.cpp:
(KJS::Window::clear):
2007-11-17 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
Bug 13470: i18n: The Web Inspector is not localizable
http://bugs.webkit.org/show_bug.cgi?id=13470
Add support for localization to the Web Inspector. Clients need to
implement localizedStringsURL() to return the URL of the
InspectorLocalizedStrings.js that best matches the user's language.
* English.lproj: Added.
* English.lproj/InspectorLocalizedStrings.js: Added.
* WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
* page/InspectorClient.h: Add localizedStringsURL.
* page/InspectorController.cpp: Add localizedStringsURL that calls
the client. Also added a version exposed to JavaScript.
* page/InspectorController.h: Add localizedStringsURL.
* page/inspector/ConsolePanel.js: Call WebInspector.UIString
for user visible strings.
* page/inspector/DatabasePanel.js: Ditto.
* page/inspector/DocumentPanel.js: Ditto.
* page/inspector/ImagePanel.js: Ditto.
* page/inspector/MetricsSidebarPane.js: Ditto.
* page/inspector/NetworkPanel.js: Ditto.
* page/inspector/Panel.js: Ditto.
* page/inspector/PropertiesSidebarPane.js: Ditto.
* page/inspector/Resource.js: Ditto.
* page/inspector/ResourceCategory.js: Ditto.
* page/inspector/SourcePanel.js: Ditto.
* page/inspector/StylesSidebarPane.js: Ditto.
* page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
* page/inspector/inspector.html: Remove some user visible strings.
* page/inspector/inspector.js: Added WebInspector.UIString and call
WebInspector.UIString for user visible strings. Some code needed to be
moved to WebInspector.loaded to use UIString after the localized strings
get loaded.
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
(WebCore::SVGEmptyInspectorClient::createPage): Ditto.
(WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
(WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
(WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
2007-11-17 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
String.vsprintf so it can be used later for the localization function.
This version only supports argument reordering, precision for floats, and these
format characters: d, f, s and @. Any unsupported format characters are logged
and substituted like strings.
* page/inspector/utilities.js:
2007-11-17 Alexey Proskuryakov <ap@webkit.org>
Windows build fix.
* editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
2007-11-17 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15969
Eliminate Editor::deleteRange()
No change in functionality.
* editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
* editing/Editor.cpp:
(WebCore::Editor::deleteWithDirection):
(WebCore::Editor::cut):
(WebCore::Editor::performDelete):
* editing/Editor.h:
Moved relevant Editor::deleteRange() functionality to its callers.
Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
in my opinion.
* editing/mac/EditorMac.mm:
(WebCore::initializeKillRingIfNeeded):
(WebCore::Editor::addToKillRing):
(WebCore::Editor::yank):
(WebCore::Editor::yankAndSelect):
(WebCore::Editor::setMark):
(WebCore::unionDOMRanges):
(WebCore::Editor::deleteToMark):
(WebCore::Editor::selectToMark):
(WebCore::Editor::swapWithMark):
Pushed kill ring handling down from WebCore.
* page/mac/WebCoreFrameBridge.h:
* page/mac/WebCoreFrameBridge.mm:
Removed setMarkDOMRange (the corresponding getter is still needed).
* WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
Export the new kill ring functions.
2007-11-16 Ryan Leavengood <leavengood@gmail.com>
Reviewed by David Kilzer.
Build fix: the needed headers for POSIX file functions were not
included.
* platform/posix/FileSystemPOSIX.cpp:
2007-11-16 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
REGRESSION: Incomplete repaint of CSS image substitution
Test: fast/repaint/clip-with-layout-delta.html
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState): Account for layout delta when
pushing additional clip.
2007-11-16 Antti Koivisto <antti@apple.com>
Reviewed by Adele.
Seeking related fixes, updates to match the latest specification
- rename loopCount of HTMLMediaElement to playCount
- add explicit seeking attribute to HTMLMediaElement to get semantics right
- implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement
instead of MoviePrivateQTKit
- fix broken behavior when seeking past end of the media, add tests
- replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
- use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
HTMLMediaElement not depend on synchronous callbacks
- do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
Tests: http/tests/media/video-seekable-stall.html
media/video-seeking.html
media/video-seek-past-end-paused.html
media/video-seek-past-end-playing.html
* html/HTMLAttributeNames.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::movieNetworkStateChanged):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::seek):
(WebCore::HTMLMediaElement::seeking):
(WebCore::HTMLMediaElement::currentTime):
(WebCore::HTMLMediaElement::ended):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::pause):
(WebCore::HTMLMediaElement::playCount):
(WebCore::HTMLMediaElement::setPlayCount):
(WebCore::HTMLMediaElement::checkIfSeekNeeded):
(WebCore::HTMLMediaElement::movieTimeChanged):
(WebCore::HTMLMediaElement::endedPlayback):
(WebCore::HTMLMediaElement::updateMovie):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:
* platform/graphics/Movie.cpp:
(WebCore::Movie::timeChanged):
* platform/graphics/Movie.h:
(WebCore::MovieClient::movieTimeChanged):
* platform/graphics/mac/MoviePrivateQTKit.h:
* platform/graphics/mac/MoviePrivateQTKit.mm:
(WebCore::MoviePrivate::MoviePrivate):
(WebCore::MoviePrivate::load):
(WebCore::MoviePrivate::play):
(WebCore::MoviePrivate::pause):
(WebCore::MoviePrivate::currentTime):
(WebCore::MoviePrivate::seek):
(WebCore::MoviePrivate::doSeek):
(WebCore::MoviePrivate::cancelSeek):
(WebCore::MoviePrivate::seekTimerFired):
(WebCore::MoviePrivate::startCuePointTimerIfNeeded):
(WebCore::MoviePrivate::paused):
(WebCore::MoviePrivate::updateStates):
(WebCore::MoviePrivate::timeChanged):
(WebCore::MoviePrivate::didEnd):
2007-11-16 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
<rdar://problem/5603832>
XMLHttpRequest readyState 3 & responseText buffer issues.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::makeFinalRequest):
Add new parameter which controls whether content sniffing should be turned off.
(WebCore::ResourceHandle::loadResourceSynchronously):
Always content sniff sync loads.
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
any properties set on the CFURLRequest.
2007-11-16 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Ollie.
<rdar://problem/5605175> Crash closing or leaving window with ViewPoint
Media player plugin
ViewPoint plugin requires that we pass a valid NPSavedData* to
NPP_Destroy.
* plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
NPP_Destroy. If the plugin allocates data, discard it
2007-11-16 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Build WebCore as a sub-framework of WebKit in all configurations.
* Configurations/WebCore.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
2007-11-16 Doug Turner <dougt@meer.net>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=16018
build bustage when building on debian 4.0
Fix build bustage on GTK+ with older versions of Pango.
Don't cache the return value since the docs say it can change.
* platform/gtk/Language.cpp:
(WebCore::defaultLanguage):
2007-11-16 Brady Eidson <beidson@apple.com>
Build fix
* platform/SecurityOriginData.h:
(WebCore::operator!=): Whoops!
2007-11-16 Brady Eidson <beidson@apple.com>
Reviewed by Sam
Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* WebCore.vcproj/WebCore.vcproj
* WebCore.pro
* platform/SecurityOriginData.cpp: Added.
(WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
since that form is what will be stored in the Databases.db on disk
(WebCore::SecurityOriginData::stringIdentifier):
* platform/SecurityOriginData.h:
(WebCore::SecurityOriginData::protocol):
(WebCore::SecurityOriginData::host):
(WebCore::SecurityOriginData::port):
* storage/DatabaseTracker.cpp:
(WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for
a SecurityOriginData object
(WebCore::SecurityOriginDataHash::equal):
(WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
(WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::populateOrigins):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::addDatabase):
* storage/DatabaseTracker.h:
2007-11-16 Alexey Proskuryakov <ap@webkit.org>
Windows build fix.
* WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
2007-11-16 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
Implement all SVGTextContentElement DOM methods.
This is the last missing SVG text feature. SVG fonts is next.
Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
* ksvg2/svg/SVGTextContentElement.cpp:
(WebCore::cummulatedCharacterRangeLength):
(WebCore::SVGInlineTextBoxQueryWalker::):
(WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
(WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
(WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
(WebCore::SVGInlineTextBoxQueryWalker::longResult):
(WebCore::SVGInlineTextBoxQueryWalker::floatResult):
(WebCore::SVGInlineTextBoxQueryWalker::pointResult):
(WebCore::SVGInlineTextBoxQueryWalker::rectResult):
(WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
(WebCore::findInlineTextBoxInTextChunks):
(WebCore::rootInlineBoxForTextContentElement):
(WebCore::executeTextQuery):
(WebCore::SVGTextContentElement::getNumberOfChars):
(WebCore::SVGTextContentElement::getComputedTextLength):
(WebCore::SVGTextContentElement::getSubStringLength):
(WebCore::SVGTextContentElement::getStartPositionOfChar):
(WebCore::SVGTextContentElement::getEndPositionOfChar):
(WebCore::SVGTextContentElement::getExtentOfChar):
(WebCore::SVGTextContentElement::getRotationOfChar):
(WebCore::SVGTextContentElement::getCharNumAtPosition):
(WebCore::SVGTextContentElement::selectSubString):
* ksvg2/svg/SVGTextContentElement.h:
* rendering/SVGInlineTextBox.h:
2007-11-15 Adele Peterson <adele@apple.com>
Reviewed by Oliver.
Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
Test: fast/forms/menulist-no-renderer-onmousedown.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer.
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
2007-11-15 Antti Koivisto <antti@apple.com>
Reviewed by Adele.
Fix <rdar://problem/5601598>
The movie tag should do initialization on need and not during startup.
Initialize Movie MIME type hash on demand
* platform/MIMETypeRegistry.cpp:
(WebCore::initialiseSupportedMovieMIMETypes):
(WebCore::initialiseMIMETypeRegistry):
(WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
(WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
2007-11-15 Mark Rowe <mrowe@apple.com>
Build fix for Qt on Windows.
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis):
2007-11-15 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
Bug 14761: Web Inspector leaks JS objects and DOM nodes
http://bugs.webkit.org/show_bug.cgi?id=14761
* page/InspectorController.cpp:
(WebCore::InspectorController::~InspectorController):
Change the tear down order so that inspectorDestroyed() is called before
InspectorController private data is set to Zero. The inspectorDestroyed()
call ends up closing the WebView and triggering InspectorController::close()
which unprotects m_scriptObject. This didn't happen when the private data
was cleared before calling inspectorDestroyed().
2007-11-15 Mark Rowe <mrowe@apple.com>
Gtk build fix.
* WebCore.pro:
2007-11-15 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15989
XPath queries with predicates incorrectly retains the current node across unions
Test: fast/xpath/union-context-node.xhtml
* xml/XPathPath.cpp:
(WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
* xml/XPathStep.cpp:
(WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
2007-11-15 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15988
REGRESSION: XPath preceding-axis query misses nested elements
Test: fast/xpath/preceding-axis.xhtml
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
2007-11-15 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe and Sam.
This corrects a couple of issues in the Web Inspector where selected search results
would not have the right text color when the window is inactive or the results are focused.
* page/inspector/inspector.css:
2007-11-15 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam.
Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
http://bugs.webkit.org/show_bug.cgi?id=16007
Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is
20 pixels, and the default is 10 pixels.
* page/inspector/ResourceCategory.js:
* page/inspector/treeoutline.js:
2007-11-15 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
Pass a VoidCallback to Database::transaction and Database::changeVersion.
This is not yet hooked up to the database machinery.
* WebCore.vcproj/WebCore.vcproj:
* bindings/js/JSDatabaseCustom.cpp:
(WebCore::JSDatabase::changeVersion):
(WebCore::JSDatabase::transaction):
* storage/Database.cpp:
(WebCore::Database::changeVersion):
(WebCore::Database::transaction):
* storage/Database.h:
2007-11-15 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
http://bugs.webkit.org/show_bug.cgi?id=16005
Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
crumb will expose as many hidden crumbs as possible to the user. Also crumbs
that have ID attributes will compact to the ID over the tag name.
* page/inspector/DocumentPanel.js:
2007-11-15 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
Make the VoidCallback DOM interface behave more like our other DOM interfaces.
* bindings/js/JSCustomVoidCallback.h: Added.
* bindings/js/JSCustomVoidCallback.cpp: Added.
(WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
(WebCore::JSCustomVoidCallback::handleEvent):
VoidCallback implementation that wraps a JS object.
(WebCore::toVoidCallback):
New method that creates a VoidCallback implementation given a JS object.
* bindings/scripts/CodeGeneratorJS.pm:
Specify that VoidCallback can fail conversion and add a custom conversion function.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::movieCuePointReached):
Call handleEvent on the callback.
(WebCore::HTMLMediaElement::removeCuePoint):
Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
on overriding VoidCallback equality.
* html/VoidCallback.cpp: Removed.
* html/VoidCallback.h:
(WebCore::VoidCallback::VoidCallback):
(WebCore::VoidCallback::~VoidCallback):
Make this an abstract class with a pure virtual handleEvent method.
2007-11-15 Adam Roben <aroben@apple.com>
Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
There were two things broken here:
- WebView now requires a WM_CHAR message to be sent before it will
create a keyboard event with a charCode, but we were only sending
a WM_KEYDOWN event.
- The popup menu was not updating its focused index when the
<select> element's selectedIndex changed.
Reviewed by Adele.
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::updateFromElement): Update the focused index from
the client's selected index.
(WebCore::PopupWndProc): When we receive a WM_CHAR message for a
printable character, manufacture a WM_KEYDOWN message for it and post
both that and the current WM_CHAR message to the WebView.
2007-11-15 Brady Eidson <beidson@apple.com>
Build fix
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
2007-11-15 Brady Eidson <beidson@apple.com>
Reviewed by John and Sam
Stubbing out everything required for a WebKit API for databases
Biggest change in WebCore is that we passed around SecurityOriginData as the representation
of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
that has a different purpose besides just hanging on to the data)
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* platform/SecurityOrigin.cpp:
* platform/SecurityOrigin.h:
* platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3
pieces of data in the SecurityOrigin tuple
(WebCore::SecurityOriginData::SecurityOriginData):
(WebCore::SecurityOriginData::protocol):
(WebCore::SecurityOriginData::host):
(WebCore::SecurityOriginData::port):
(WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
colon separated
* storage/Database.cpp:
(WebCore::Database::Database): Use SecurityOriginData instead
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
* storage/DatabaseTracker.h:
* storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit
(WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
NP_ASFILEONLY streams should not buffer data in m_deliveryData.
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::didReceiveData):
2007-11-15 Justin Garcia <justin.garcia@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
A textarea that contained the selection was removed but the selection wasn't cleared,
and we'd crash in code that assumed a valid, in-document selection.
* editing/SelectionController.cpp:
(WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
shadowAncestorNode of the node that contains the position, not just if the node being removed
contains that shadowAncestorNode.
2007-11-15 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Maciej.
Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
(WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
2007-11-15 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
<rdar://problem/5562470>
openDatabase does not work when the version string is empty
If the string is empty, pass a real empty string to sqlite3_bind_text16.
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::bindText):
2007-11-15 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
(WebCore::IconDatabase::removePageURLFromSQLDatabase):
(WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
(WebCore::IconDatabase::addIconURLToSQLDatabase):
(WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
(WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare):
* platform/sql/SQLiteStatement.h:
* storage/Database.cpp:
(WebCore::setTextValueInDatabase):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::addDatabase):
2007-11-14 Brady Eidson <beidson@apple.com>
Rubberstamped by Sam
* platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
2007-11-14 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Justin Garcia.
http://bugs.webkit.org/show_bug.cgi?id=15781
REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
a marked range that covers half of a composed character sequence)
Test: platform/mac/editing/input/devanagari-ligature.html
This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
However, this is not entirely new for them, as Roman accents are typed in a similar manner.
In the future, we probably want to make commands work with ranges (or Positions explicitly).
* editing/Editor.cpp:
(WebCore::Editor::selectComposition): Force selection to composition range.
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
2007-11-14 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
side image map and <a> tag is not working properly (15522)
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block
and inline children rather than just block children. This matches
Firefox.
2007-11-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by Alexey Proskuryakov.
<rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
Removed an irrelevant FIXME.
(WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
inside that block, which could lead to a crash. If that happens, there's no content in the block to move,
so just remove the block and return.
Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
its own placeholder insertion when necessary.
(WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
because it handles preserving m_needPlaceholder when it calls moveParagraphs.
2007-11-14 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Bug 14380: Long DOM ancestry breadcrumb lists get cut off
http://bugs.webkit.org/show_bug.cgi?id=14380
The breadcumbs will now be compacted and collapsed if there isn't enough room
to show everything. The collapsing algorithm always affects the crumbs that
are farthest away from the selected or hovered crumb first.
* page/inspector/DocumentPanel.js:
* page/inspector/inspector.css:
2007-11-14 Anders Carlsson <andersca@apple.com>
Use the correct include path.
* platform/Cursor.h:
* plugins/win/PluginPackageWin.h:
* plugins/win/PluginStreamWin.h:
2007-11-13 Brady Eidson <beidson@apple.com>
Reviewed by Adam
http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the
SQLTransactionCallback fails
(WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
and make the commit/rollback decision accordingly
2007-11-13 Oliver Hunt <oliver@apple.com>
Reviewed by Anders.
<rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
When drawing directly to PDF CG may delay the use of the gradient function until outside our
standard drawing path, which in turn could let us invalidate the caches before they were used.
To work around this we now store the cached stops in a RefCounted object, so that we can ensure
that cache exists as long as required.
* platform/graphics/svg/SVGPaintServerGradient.cpp:
(WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
* platform/graphics/svg/SVGPaintServerGradient.h:
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::cgGradientCallback):
(WebCore::CGShadingRefForLinearGradient):
(WebCore::CGShadingRefForRadialGradient):
(WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2007-11-13 Anders Carlsson <andersca@apple.com>
Fix Windows build.
* platform/Cursor.h:
* plugins/win/PluginPackageWin.h:
* plugins/win/PluginStreamWin.h:
2007-11-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders Carlsson.
Renamed Shared to RefCounted.
* ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
* ForwardingHeaders/wtf/Shared.h: Removed.
* bindings/js/JSSVGPODTypeWrapper.h:
* css/CSSFontFace.h:
* css/CSSRuleList.h:
* css/Counter.h:
* css/Pair.h:
* css/Rect.h:
* css/StyleBase.h:
* css/StyleSheetList.h:
* dom/Attribute.h:
* dom/Clipboard.h:
* dom/DOMImplementation.h:
* dom/Event.h:
* dom/EventListener.h:
* dom/NamedNodeMap.h:
* dom/NodeFilter.h:
* dom/NodeFilterCondition.h:
* dom/NodeList.h:
* dom/QualifiedName.h:
* dom/Range.h:
* dom/RangeException.h:
* dom/RegisteredEventListener.h:
* dom/Traversal.h:
* editing/EditCommand.h:
* history/BackForwardList.h:
* history/CachedPage.h:
* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
* history/HistoryItem.h:
* html/CanvasGradient.h:
* html/CanvasPattern.h:
* html/CanvasRenderingContext2D.h:
* html/CanvasStyle.h:
* html/HTMLCollection.h:
* html/MediaError.h:
* html/TimeRanges.h:
* html/VoidCallback.h:
* ksvg2/css/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::SVGRenderStyle):
* ksvg2/css/SVGRenderStyle.h:
* ksvg2/css/SVGRenderStyleDefs.cpp:
(StyleFillData::StyleFillData):
(StyleStrokeData::StyleStrokeData):
(StyleStopData::StyleStopData):
(StyleTextData::StyleTextData):
(StyleClipData::StyleClipData):
(StyleMaskData::StyleMaskData):
(StyleMarkerData::StyleMarkerData):
(StyleMiscData::StyleMiscData):
* ksvg2/css/SVGRenderStyleDefs.h:
* ksvg2/svg/SVGAngle.cpp:
(WebCore::SVGAngle::SVGAngle):
* ksvg2/svg/SVGAngle.h:
* ksvg2/svg/SVGAnimatedTemplate.h:
* ksvg2/svg/SVGElementInstanceList.h:
* ksvg2/svg/SVGException.h:
* ksvg2/svg/SVGList.h:
* ksvg2/svg/SVGPathSeg.h:
* ksvg2/svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
* ksvg2/svg/SVGPreserveAspectRatio.h:
* ksvg2/svg/SVGRenderingIntent.h:
* ksvg2/svg/SVGTransform.h:
* ksvg2/svg/SVGUnitTypes.h:
* loader/DocumentLoader.h:
* loader/FormState.h:
* loader/ResourceLoader.h:
* loader/TextResourceDecoder.h:
* loader/icon/IconRecord.h:
* page/BarInfo.h:
* page/Console.h:
* page/DOMSelection.h:
* page/DOMWindow.h:
* page/Frame.h:
* page/History.h:
* page/InspectorController.cpp:
* page/Plugin.h:
* page/Screen.h:
* platform/ArrayImpl.h:
* platform/CString.h:
* platform/Cursor.h:
* platform/DeprecatedValueListImpl.cpp:
(WebCore::DeprecatedValueListImpl::Private::Private):
* platform/FileChooser.h:
* platform/FontFallbackList.h:
* platform/FontFamily.cpp:
(WebCore::FontFamily::FontFamily):
* platform/FontFamily.h:
* platform/FontSelector.h:
* platform/GlyphPageTreeNode.h:
* platform/PopupMenu.h:
* platform/RegularExpression.cpp:
* platform/ScrollBar.h:
* platform/SharedBuffer.h:
* platform/StringImpl.h:
* platform/graphics/Icon.h:
* platform/graphics/svg/SVGResource.h:
* platform/network/FormData.cpp:
(WebCore::FormData::FormData):
* platform/network/FormData.h:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* rendering/RenderStyle.cpp:
(WebCore::StyleSurroundData::StyleSurroundData):
(WebCore::StyleBoxData::StyleBoxData):
(WebCore::StyleVisualData::StyleVisualData):
(WebCore::StyleBackgroundData::StyleBackgroundData):
(WebCore::StyleMarqueeData::StyleMarqueeData):
(WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
(WebCore::StyleMultiColData::StyleMultiColData):
(WebCore::StyleTransformData::StyleTransformData):
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleInheritedData::StyleInheritedData):
* rendering/RenderStyle.h:
* rendering/SVGCharacterLayoutInfo.h:
(WebCore::SVGCharOnPath::SVGCharOnPath):
* storage/SQLResultSetRowList.h:
* xml/DOMParser.h:
* xml/XMLHttpRequest.h:
* xml/XMLSerializer.h:
* xml/XPathEvaluator.h:
* xml/XPathExpression.h:
* xml/XPathNSResolver.h:
* xml/XPathResult.h:
* xml/XPathValue.h:
* xml/XSLTProcessor.h:
2007-11-13 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe
Remove errantly added files, and fix the idl (for reference's sake)
* storage/JSCustomSQLStatementCallback.h: Removed.
* storage/JSCustomSQLStatementErrorCallback.h: Removed.
* storage/JSCustomSQLTransactionCallback.h: Removed.
* storage/JSCustomSQLTransactionErrorCallback.h: Removed.
* storage/SQLStatementCallback.idl:
2007-11-13 Adam Roben <aroben@apple.com>
Fix a bug and improve upon Brady's fix
Reviewed by Anders.
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql): Made the code a little
clearer and more correct.
* loader/icon/IconDatabase.cpp: Put parentheses around the expansion
of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
comparison it meant to.
2007-11-13 Sam Weinig <sam@webkit.org>
Fix Qt and Gtk builds.
* WebCore.pro: Remove non-generated idl files.
2007-11-13 Mark Rowe <mrowe@apple.com>
Remove removed file from the project.
* WebCore.pro:
2007-11-13 Brady Eidson <beidson@apple.com>
Release build fix
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
2007-11-13 Adam Roben <aroben@apple.com>
Add WindowMessageBroadcaster
This class is used to listen in on messages sent to HWNDs. Multiple
WindowMessageListeners can be notified about messages sent to a single
HWND, and one WindowMessageListener can listen to messages from
multiple HWNDs.
Reviewed by Ada.
* WebCore.vcproj/WebCore.vcproj: Added new files to project.
* platform/win/WindowMessageBroadcaster.cpp: Added.
(WebCore::instancesMap): Static helper.
(WebCore::WindowMessageBroadcaster::addListener): Registers a listener
for a particular HWND.
(WebCore::WindowMessageBroadcaster::removeListener): Removes a
listener for a particular HWND.
(WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
(WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
(WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
from the instancesMap, removes all of its listeners, unsubclasses the
window, and deletes the broadcaster.
(WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
the window (which means that SubclassedWndProc won't be called again
for this window).
(WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
the listeners about every message sent to the HWND
* platform/win/WindowMessageBroadcaster.h: Added.
(WebCore::WindowMessageBroadcaster::listeners):
(WebCore::WindowMessageBroadcaster::originalWndProc):
* platform/win/WindowMessageListener.h: Added.
2007-11-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Moved Shared.h into wtf so it could be used in more places. Retained
TreeShared, but moved it to its own file, TreeShared.h.
* ForwardingHeaders/wtf/Shared.h: Added.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGPODTypeWrapper.h:
* css/CSSFontFace.h:
* css/CSSRuleList.h:
* css/Counter.h:
* css/Pair.h:
* css/Rect.h:
* css/StyleBase.h:
* css/StyleSheetList.h:
* dom/Clipboard.h:
* dom/DOMImplementation.h:
* dom/Event.h:
* dom/EventListener.h:
* dom/NamedNodeMap.h:
* dom/NodeFilterCondition.h:
* dom/NodeList.h:
* dom/Range.h:
* dom/RangeException.h:
* dom/RegisteredEventListener.h:
* dom/Traversal.h:
* history/BackForwardList.h:
* history/CachedPage.h:
* history/HistoryItem.h:
* html/CanvasGradient.h:
* html/CanvasPattern.h:
* html/HTMLCollection.h:
* html/MediaError.h:
* html/TimeRanges.h:
* html/VoidCallback.h:
* ksvg2/css/SVGRenderStyleDefs.h:
* ksvg2/svg/SVGAnimatedTemplate.h:
* ksvg2/svg/SVGElementInstanceList.h:
* ksvg2/svg/SVGList.h:
* ksvg2/svg/SVGPathSeg.h:
* ksvg2/svg/SVGPreserveAspectRatio.h:
* ksvg2/svg/SVGRenderingIntent.h:
* ksvg2/svg/SVGTransform.h:
* ksvg2/svg/SVGUnitTypes.h:
* loader/DocumentLoader.h:
* loader/FormState.h:
* loader/ResourceLoader.h:
* loader/TextResourceDecoder.h:
* loader/icon/IconRecord.h:
* page/BarInfo.h:
* page/Console.h:
* page/DOMSelection.h:
* page/DOMWindow.h:
* page/History.h:
* page/InspectorController.cpp:
* page/Plugin.h:
* page/Screen.h:
* platform/ArrayImpl.h:
* platform/CString.h:
* platform/DeprecatedValueListImpl.cpp:
* platform/FontFallbackList.h:
* platform/FontFamily.h:
* platform/FontSelector.h:
* platform/GlyphPageTreeNode.h:
* platform/PopupMenu.h:
* platform/RegularExpression.cpp:
* platform/ScrollBar.h:
* platform/Shared.h: Removed.
* platform/SharedBuffer.h:
* platform/StringImpl.h:
* platform/graphics/Icon.h:
* platform/graphics/svg/SVGResource.h:
* platform/network/FormData.h:
* platform/network/ResourceHandleClient.h:
* rendering/RenderStyle.h:
* rendering/SVGCharacterLayoutInfo.h:
* storage/SQLResultSetRowList.h:
* xml/DOMParser.h:
* xml/XMLSerializer.h:
* xml/XPathEvaluator.h:
* xml/XPathExpression.h:
* xml/XPathNSResolver.h:
* xml/XPathResult.h:
2007-11-13 Brady Eidson <beidson@apple.com>
JS bindings by Anders, reviewed by Brady
WebCore changes by Brady, reviewed by Anders and Tim
Adapt to the new iteration of the HTML5 client-side storage spec.
Based largely on implementation feedback we generated in landing our first version of this API and also
on the input of others in the community, the database spec went through a large overhaul that addresses
many concerns. Amongst other changes/improvements:
- SQLTransaction object is added and all transactions are explicit. In addition, since the API manages
transactions explicitly, transaction-related language in SQL statements is disallowed
- executeSql() is now on a transaction object instead of the database object.
- Database.changeVersion() now takes place within the context of a transaction. Therefore the version
change can be atomic along with the statements that modify the DB schema
Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
as a chain of events on the SQLTransaction object where processing is handed off between being processed
asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of
methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDatabaseCustom.cpp:
(WebCore::JSDatabase::changeVersion): Adapt to the new API
(WebCore::JSDatabase::transaction): Added
* bindings/js/JSSQLTransactionCustom.cpp: Added.
(WebCore::JSSQLTransaction::executeSql): Added
* page/DOMWindow.cpp:
(WebCore::DOMWindow::openDatabase): Add the new arguments
* page/DOMWindow.h:
* page/DOMWindow.idl:
* page/inspector/DatabasePanel.js: Use the new API
* storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces
changing the version of the database
(WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
(WebCore::ChangeVersionWrapper::performPreflight):
(WebCore::ChangeVersionWrapper::performPostflight):
* storage/ChangeVersionWrapper.h: Added.
(WebCore::ChangeVersionWrapper::sqlError):
* storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
happen solely on the background thread - most of these changes result from that change
(WebCore::Database::Database): Removed an obsolete FIXME
(WebCore::Database::openAndVerifyVersion):
(WebCore::Database::getVersionFromDatabase):
(WebCore::Database::setVersionInDatabase):
(WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
(WebCore::Database::changeVersion): Changed for the new API from JS
(WebCore::Database::transaction): Added, for the new API from JS
(WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
(WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
(WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
(WebCore::Database::performGetTableNames):
(WebCore::Database::deliverAllPendingCallbacks):
(WebCore::Database::deliverPendingCallback):
(WebCore::Database::setExpectedVersion):
* storage/Database.h:
* storage/Database.idl:
* storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
to replace the m_synchronous flag
(WebCore::DatabaseTask::performTask):
(WebCore::DatabaseTask::lockForSynchronousScheduling):
(WebCore::DatabaseTask::waitForSynchronousCompletion):
(WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
* storage/DatabaseTask.h:
* storage/SQLError.h: New API object
* storage/SQLResultSet.cpp:
(WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
* storage/SQLResultSet.h:
* storage/SQLResultSet.idl:
* storage/SQLStatement.cpp: Added.
(WebCore::SQLStatement::SQLStatement):
(WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
(WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
of an actual version vs. expected version mismatch
(WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
* storage/SQLStatement.h: Added.
(WebCore::SQLStatement::hasStatementCallback):
(WebCore::SQLStatement::hasStatementErrorCallback):
(WebCore::SQLStatement::sqlError): Get the error for this statement, if any
* storage/SQLTransaction.cpp: Added.
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
(WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
(WebCore::SQLTransaction::performNextStep): Call the method for the next step
(WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
(WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight
using the SQLTransactionWrapper, if any
(WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
(WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread
and make runStatements() the next step
(WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction
(WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
(WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
(WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
(WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
(WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
(WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
transaction after it error'ed out
* storage/SQLTransaction.h:
(WebCore::SQLTransactionWrapper::~SQLTransactionWrapper):
(WebCore::SQLTransaction::database):
* storage/SQLTransaction.idl:
The following were made obsolete by the new version of the API:
* bindings/js/JSCustomSQLCallback.cpp: Removed.
* bindings/js/JSCustomSQLCallback.h: Removed.
* bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
* bindings/js/JSCustomVersionChangeCallback.h: Removed.
* storage/DatabaseCallback.cpp: Removed.
* storage/DatabaseCallback.h: Removed.
* storage/SQLCallback.h: Removed.
* storage/SQLCallback.idl: Removed.
* storage/VersionChangeCallback.h: Removed.
* storage/VersionChangeCallback.idl: Removed.
2007-11-13 Dan Bernstein <mitz@apple.com>
Reviewed by Beth Dakin.
- fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
* css/html4.css: Added a 'cursor: auto' rule for links.
* manual-tests/link-cursor-auto.html: Added.
2007-11-13 Dan Bernstein <mitz@apple.com>
Reviewed by Beth Dakin.
- fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
The root cause for the crash is that when a non-HTML view enters the
frame, the frame's document pointer keeps pointing at the last HTML-type
document it contained. This patch does not address the root cause, but
makes changes to account for that condition.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedMainResourceError): Do not change the
frame's current document's page cache state here.
(WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
current document is in fact the history item being invalidated, then
set its page cache state here.
2007-11-12 Antti Koivisto <antti@apple.com>
Reviewed by Adele.
Fix that 'timeupdate' and 'waiting' events were never dispatched.
Add explicit m_paused attribute instead of trying to derive paused state from
underlying media. Call updatePlayState() to start/stop media playback
when any attribute that affects active playback state changes. This matches
specification text.
Test: http/tests/media/video-play-stall.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::paused):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::pause):
(WebCore::HTMLMediaElement::checkIfSeekNeeded):
(WebCore::HTMLMediaElement::movieDidEnd):
(WebCore::HTMLMediaElement::updatePlayState):
* html/HTMLMediaElement.h:
2007-11-13 John Sullivan <sullivan@apple.com>
Reviewed by Darin.
removed recently-added PreferredType concept; we found a better way to do what
ths was accomplishing
* bridge/WindowFeatures.h:
(WebCore::WindowFeatures::WindowFeatures):
removed definition of PreferredType
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
removed use of PreferredType
2007-11-12 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15954
Move DOM Selection operations out of SelectionController
No change in functionality.
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelectedRange):
* editing/SelectionController.h:
* page/DOMSelection.cpp:
(WebCore::DOMSelection::anchorNode):
(WebCore::DOMSelection::baseNode):
(WebCore::DOMSelection::anchorOffset):
(WebCore::DOMSelection::baseOffset):
(WebCore::DOMSelection::focusNode):
(WebCore::DOMSelection::extentNode):
(WebCore::DOMSelection::focusOffset):
(WebCore::DOMSelection::extentOffset):
(WebCore::DOMSelection::isCollapsed):
(WebCore::DOMSelection::type):
(WebCore::DOMSelection::rangeCount):
(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::collapseToEnd):
(WebCore::DOMSelection::collapseToStart):
(WebCore::DOMSelection::empty):
(WebCore::DOMSelection::setBaseAndExtent):
(WebCore::DOMSelection::setPosition):
(WebCore::DOMSelection::modify):
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::removeAllRanges):
(WebCore::DOMSelection::addRange):
(WebCore::DOMSelection::deleteFromDocument):
(WebCore::DOMSelection::containsNode):
(WebCore::DOMSelection::selectAllChildren):
(WebCore::DOMSelection::toString):
* page/DOMSelection.h:
Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
to return its result directly instead of via an ExceptionCode that no caller wanted.
* editing/Editor.cpp:
(WebCore::Editor::deleteRange):
(WebCore::Editor::removeFormattingAndStyle):
(WebCore::Editor::selectComposition):
(WebCore::Editor::setComposition):
* html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
Adapted for SelectionController::setSelectedRange() now returning a bool.
SelectionController::toString() is no longer avasilable, use plainText() explicitly.
* WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
2007-11-12 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- <http://bugs.webkit.org/show_bug.cgi?id=15890>
Most of www.aol.com still redraws unnecessarily when headline/photo section changes
Test: fast/repaint/invisible-objects.html
Avoid repainting invisible blocks if they are enclosed in a layer that
contains no visible objects.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteClippedOverflowRect):
2007-11-12 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
Prevent selecting a word in the breadcrumb or the styles section when double
clicking on a DOM node in the outline tree.
* page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
with a detail of 2 or higher comes in. This prevents the selection.
* page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
2007-11-12 Oliver Hunt <oliver@apple.com>
Reviewed by John S.
<rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
EventHandler needs to reset these fields when a drag terminates, otherwise
EventHandler is left in an inconsistent state when a drag is initiated on a
page with multiple frames.
* page/EventHandler.cpp:
(WebCore::EventHandler::cancelDragAndDrop):
(WebCore::EventHandler::performDragAndDrop):
(WebCore::EventHandler::clearDragState):
* page/EventHandler.h:
2007-11-12 Oliver Hunt <oliver@apple.com>
Reviewed by Darin and Antti.
Return behaviour for 0 sized pattern back to what it was prior to r27704
This change in behaviour broke two layout tests in DRT, so correcting it
corrects existing tests.
* platform/graphics/cg/ImageBufferCG.cpp:
2007-11-12 Timothy Hatcher <timothy@apple.com>
Reviewed by John.
<rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
If the SharedBuffer is null insert an empty NSData instead of nil.
2007-11-12 Darin Adler <darin@apple.com>
Reviewed by Tim.
- http://bugs.webkit.org/show_bug.cgi?id=15947
speed up page loading a bit by inlining
* loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
Factored out the slow case of isScheduledLocationChangePending into this.
* loader/FrameLoader.h:
(WebCore::FrameLoader::isScheduledLocationChangePending): Added an
inline check of the far and away most common case, where m_scheduledRedirection
is 0; the rest is in the isLocationChange function.
2007-11-12 George Staikos <staikos@kde.org>
Reviewed by Tim.
Extract the text match marker highlight color into RenderTheme instead
of the hardcoded yellow.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::platformTextSearchHighlightColor):
* rendering/RenderTheme.h:
2007-11-12 Mark Rowe <mrowe@apple.com>
Fix deadlock on launch on the Mac.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
2007-11-12 Justin Haygood <jhaygood@reaktix.com>
Reviewed by Brady.
http://bugs.webkit.org/show_bug.cgi?id=15955
Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::open):
(WebCore::IconDatabase::close):
* loader/icon/IconDatabase.h:
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::close):
* platform/sql/SQLiteDatabase.h:
2007-11-12 Adam Roben <aroben@apple.com>
Windows build fix
* config.h: Touch because VS apparently can't figure out which files
depend on ResourceResponse.h.
* WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
project and remove old ResourceResponse files.
2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15334
Split ResourceResponse into platform specific files
* WebCore.base.exp:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/network/ResourceResponse.cpp: Removed.
* platform/network/ResourceResponse.h: Removed.
* platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
(WebCore::ResourceResponseBase::asResourceResponse):
(WebCore::ResourceResponseBase::isHTTP):
(WebCore::ResourceResponseBase::url):
(WebCore::ResourceResponseBase::setUrl):
(WebCore::ResourceResponseBase::mimeType):
(WebCore::ResourceResponseBase::setMimeType):
(WebCore::ResourceResponseBase::expectedContentLength):
(WebCore::ResourceResponseBase::setExpectedContentLength):
(WebCore::ResourceResponseBase::textEncodingName):
(WebCore::ResourceResponseBase::setTextEncodingName):
(WebCore::ResourceResponseBase::suggestedFilename):
(WebCore::ResourceResponseBase::setSuggestedFilename):
(WebCore::ResourceResponseBase::httpStatusCode):
(WebCore::ResourceResponseBase::setHTTPStatusCode):
(WebCore::ResourceResponseBase::httpStatusText):
(WebCore::ResourceResponseBase::setHTTPStatusText):
(WebCore::ResourceResponseBase::httpHeaderField):
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::httpHeaderFields):
(WebCore::ResourceResponseBase::isAttachment):
(WebCore::ResourceResponseBase::setExpirationDate):
(WebCore::ResourceResponseBase::expirationDate):
(WebCore::ResourceResponseBase::setLastModifiedDate):
(WebCore::ResourceResponseBase::lastModifiedDate):
(WebCore::ResourceResponseBase::updateResourceResponse):
* platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
(WebCore::ResourceResponseBase::ResourceResponseBase):
* platform/network/cf/ResourceResponse.h: Added.
(WebCore::ResourceResponse::ResourceResponse):
* platform/network/curl/ResourceResponse.h: Added.
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::doUpdateResourceResponse):
* platform/network/mac/ResourceResponse.h: Added.
(WebCore::ResourceResponse::ResourceResponse):
* platform/network/qt/ResourceResponse.h: Added.
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::doUpdateResourceResponse):
2007-11-11 Justin Haygood <jhaygood@reaktix.com>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15939
Adds a currentThread API for use by SQLiteDatabase, etc.
* platform/Threading.h:
* platform/ThreadingNone.cpp:
(WebCore::currentThread):
* platform/gtk/ThreadingGtk.cpp:
(WebCore::identifierByGthreadHandle):
(WebCore::):
* platform/pthreads/ThreadingPthreads.cpp:
(WebCore::identifierByPthreadHandle):
(WebCore::currentThread):
2007-11-11 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
- fix http://bugs.webkit.org/show_bug.cgi?id=15942
REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
Test: editing/selection/cleared-by-relayout.html
* editing/Selection.cpp:
(WebCore::Selection::toRange): Check if the selection has been cleared
by updating layout.
2007-11-11 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
- fix line numbers that were off since my recent patch
* platform/SegmentedString.h:
(WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
and rename it to m_doNotExcludeLineNumbers.
(WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
(WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
(WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
(WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
the regression, but keep the speediness. I accidentally had removed a ! here.
* platform/SegmentedString.cpp:
(WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
2007-11-11 Oliver Hunt <oliver@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
malformed SVG file in WebCore::ImageBuffer::create. Add protection
against a potential overflow.
* platform/graphics/cg/ImageBufferCG.cpp:
2007-11-11 Antti Koivisto <antti@apple.com>
Reviewed by Darin.
Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
* bindings/js/kjs_binding.cpp:
(KJS::setDOMException):
* dom/Attr.cpp:
(WebCore::Attr::setPrefix):
* dom/Document.cpp:
(WebCore::Document::createElement):
* dom/Element.cpp:
(WebCore::Element::setPrefix):
* dom/Range.cpp:
(WebCore::Range::setStart):
(WebCore::Range::setEnd):
(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):
(WebCore::Range::compareBoundaryPoints):
(WebCore::Range::deleteContents):
(WebCore::Range::processContents):
(WebCore::Range::extractContents):
(WebCore::Range::insertNode):
(WebCore::Range::setStartAfter):
(WebCore::Range::setEndBefore):
(WebCore::Range::setEndAfter):
(WebCore::Range::selectNode):
(WebCore::Range::surroundContents):
(WebCore::Range::setStartBefore):
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createPattern):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::pause):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):
(WebCore::HTMLSelectElement::setOption):
* xml/XPathEvaluator.cpp:
(WebCore::XPathEvaluator::evaluate):
2007-11-11 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- http://bugs.webkit.org/show_bug.cgi?id=15945
speed up GraphicsContextCG typical case by skipping roundToDevicePixels
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
longer know if the transform is identity or not.
(WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
CGContextSave/RestoreGState.
(WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
longer know if the transform is identity or not.
(WebCore::GraphicsContext::endTransparencyLayer): Ditto.
(WebCore::GraphicsContext::scale): Ditto.
(WebCore::GraphicsContext::rotate): Ditto.
(WebCore::GraphicsContext::translate): Ditto.
(WebCore::GraphicsContext::concatCTM): Ditto.
(WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
is known to be identity, and record that fact when we discover it otherwise.
* platform/graphics/cg/GraphicsContextPlatformPrivate.h:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
2007-11-11 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- http://bugs.webkit.org/show_bug.cgi?id=15944
streamline SegmentedString to speed up parsing
I measured a speed-up of the page load test while developing this patch. I don't
have a precise figure, though.
* html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
lineno to m_lineNumber.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
since we don't want to update a line number.
(WebCore::HTMLTokenizer::parseSpecial): Ditto.
(WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
instead of lineNumberPtr() since the advance function now takes a reference.
(WebCore::HTMLTokenizer::parseServer): Ditto.
(WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
(WebCore::HTMLTokenizer::parseText): Ditto.
(WebCore::HTMLTokenizer::parseEntity): Ditto.
(WebCore::HTMLTokenizer::parseTag): Ditto.
(WebCore::HTMLTokenizer::write): Ditto.
* loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
* loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
Don't pass 0 to the advance function.
* platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
the most common case, and pushed less common cases into a separate function
that is not inlined. Also got rid of a branch by separating the case with a
line number from the case without one.
* platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
Added. The aforementioned less common cases are here.
2007-11-11 Antti Koivisto <antti@apple.com>
Forgot to do this review change (and test HTTP commit).
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::play):
2007-11-11 Antti Koivisto <antti@apple.com>
Reviewed by Darin.
- Update play() and pause() to match current HTML5 draft
- send events asynchronously
- add timeupdate event to pause
- rethrow load() exception, not others
- Use list for async events to get ordering right
Tests: media/video-pause-empty-events.html
media/video-play-empty-events.html
media/video-play-pause-events.html
media/video-play-pause-exception.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::dispatchEventAsync):
(WebCore::HTMLMediaElement::asyncEventTimerFired):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::pause):
* html/HTMLMediaElement.h:
2007-11-11 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
Add (basic) support for dominant-baseline / alignment-baseline text properties.
Note: there are no official testcases, and no-one implemented it before. Only ASV3
supported dominant-baseline, but not correct it seems.
* rendering/SVGRootInlineBox.cpp:
(WebCore::dominantBaselineToShift):
(WebCore::alignmentBaselineToShift):
(WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2007-11-11 Adam Roben <aroben@apple.com>
Add wrappers around CoCreateInstance to COMPtr
I followed the example of the Query constructor and query method by
adding a Create constructor and create method.
Reviewed by Darin.
* platform/win/COMPtr.h:
(COMPtr::COMPtr): Added a new constructor that calls
CoCreateInstance.
(COMPtr::create): Added.
(COMPtr::createInstance): Added.
2007-11-11 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15896
More editing cleanup
No functionality changes.
* dom/Node.h: Moved several editing-related methods elsewhere.
* dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
to highlight that it is a match to offsetInCharacters(), and much different from other
offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
offsetInCharacters() before calling this.
* dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
* dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
Updated for above renamings.
* dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
* dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
* dom/Position.h:
* dom/Position.cpp:
(WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
(WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
(WebCore::Position::previous): Adapted to the above move.
(WebCore::Position::next): Ditto.
(WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
and BR elements are covered by editingIgnoresContent().
(WebCore::Position::downstream): Ditto.
(WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
(WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
* dom/PositionIterator.h: Added a comment describing this class from the original check-in.
* dom/PositionIterator.cpp:
(WebCore::PositionIterator::increment): Updated for the above moves.
(WebCore::PositionIterator::decrement): Ditto.
* dom/ProcessingInstruction.h:
* dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
* dom/Range.cpp:
(WebCore::Range::selectNodeContents):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::applyInlineStyle):
(WebCore::maxRangeOffset):
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
(WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
(WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
(WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::positionOutsideTabSpan):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::insertTab):
* editing/visible_units.cpp:
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
Updated for the above moves.
* editing/Editor.cpp:
(WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
* editing/TextIterator.cpp:
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
(WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
* editing/htmlediting.h:
* editing/htmlediting.cpp:
(WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
child nodes, other than via DOM manipulation, which is not specific to BRs.
(WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
(WebCore::maxDeepOffset): Ditto.
(WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
(WebCore::caretMaxOffset): Ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
will take care of adjusting the offset.
* page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
* rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
Changed some runtime checks that seemingly cannot fail into assertions.
2007-11-11 Darin Adler <darin@apple.com>
Reviewed by Sam.
- updated for JSRegExp function changes
* platform/RegularExpression.cpp:
(WebCore::RegularExpression::Private::compile):
(WebCore::RegularExpression::match):
2007-11-10 Mark Rowe <mrowe@apple.com>
Qt Linux build fix.
* platform/UnicodeRange.h:
2007-11-10 Mark Rowe <mrowe@apple.com>
Qt Windows build fix.
* platform/UnicodeRange.h:
2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
* WebCore.pro: Add platform/UnicodeRange.cpp to build
* WebCore.xcodeproj/project.pbxproj: Dito.
* rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
(WebCore::SVGChar::characterTransform):
* rendering/SVGCharacterLayoutInfo.h: New variables.
(WebCore::SVGCharOnPath::SVGCharOnPath):
(WebCore::SVGChar::SVGChar):
* rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
(WebCore::glyphOrientationToAngle):
(WebCore::glyphOrientationIsMultiplyOf180Degrees):
(WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
(WebCore::cummulatedHeightOfInlineBoxCharacterRange):
(WebCore::cummulatedWidthOrHeightOfTextChunk):
(WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2007-11-10 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam Weinig.
* page/inspector/StylesSidebarPane.js: Fix the wording of a comment
and switch over to use getUniqueProperties in another place.
2007-11-10 John Sullivan <sullivan@apple.com>
Reviewed by Sam Weinig
Rest of fix for 5394877
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
private browsing mode either.
2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fix function name difference - header said 'unicodeRangeForCharacter', actually
implemented function is 'findCharUnicodeRange'. They are not compiled yet.
* platform/UnicodeRange.h:
2007-11-10 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
No test because context menu events cannot be tested in DumpRenderTree.
* page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
If the click occurred in an active link, selects the entire link
element. Otherwise selects the closest word.
(WebCore::EventHandler::sendContextMenuEvent): Call
selectClosestWordOrLinkFromMouseEvent().
* page/EventHandler.h:
2007-11-10 John Sullivan <sullivan@apple.com>
Reviewed by Tim Hatcher
- fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
2007-11-10 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15922
Implement more of Mozilla Selection API
Tests: editing/selection/containsNode.html
editing/selection/deleteFromDocument.html
editing/selection/extend.html
editing/selection/selectAllChildren.html
* editing/SelectionController.cpp:
(WebCore::SelectionController::deleteFromDocument):
(WebCore::SelectionController::containsNode):
(WebCore::SelectionController::selectAllChildren):
(WebCore::SelectionController::extend):
* editing/SelectionController.h:
Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
Removed a comment mentioning removeRange(), as this method makes no sense without multiple
selection range support.
* page/DOMSelection.cpp:
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::deleteFromDocument):
(WebCore::DOMSelection::containsNode):
(WebCore::DOMSelection::selectAllChildren):
* page/DOMSelection.h:
* page/DOMSelection.idl:
Exposed the new methods.
2007-11-10 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15892
DOM Range operations are not implemented for ProcessingInstruction nodes
Test: fast/dom/Range/range-processing-instructions.html
* dom/Range.cpp:
(WebCore::Range::processContents): Implemented ProcessingInstruction cases.
(WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
to use ProcessingInstruction.data.
2007-11-09 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
http://bugs.webkit.org/show_bug.cgi?id=12054
- Add support code for routing copy events to the focused element.
- Implement copying the currently selected DOM node. The node
and it's subtree is copied to the clipboard. If the node has no
outerHTML, the nodeValue is copied (text nodes, etc.)
- Implement copy for the resource sidebar. The URL is copied for the
currently selected resource.
* page/inspector/DocumentPanel.js:
* page/inspector/inspector.js:
2007-11-09 Antti Koivisto <antti@apple.com>
Reviewed by Adele.
Fix occasional blank video with poster attribute.
* ChangeLog:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::didRestoreFromCache):
Just calling updateFromElement() does the right thing for both poster image and video.
2007-11-04 Sam Weinig <sam@webkit.org>
Reviewed by Adam Roben.
<rdar://problem/5435940>
The COM bindings for the DOM should be autogenerated like the other DOM bindings
Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
is being introduced in this patch and to insure that no conflicts arise, a temporary
prefix of "GEN_" has been used for all the new classes.
The build architecture for these bindings differs slightly from the other autogenerated
bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
is done for the Objective-C bindigs currently), the IDLs and generation scripts are
migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
This commit includes:
- Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
and ref-counting.
- Generating all of the Core DOM and most of HTML and CSS
- Generating Event, EventTarget, and EventListener
* WebCore.vcproj/MigrateIDLAndScripts.make: Added.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/migrate-idls.sh: Added.
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorCOM.pm: Added.
* dom/EventListener.h: Make the isWindowEvent parameter default to false
to allow autogeneration based on the IDL.
2007-11-09 Tristan O'Tierney <tristan@apple.com>
Reviewed by Timothy Hatcher.
This patch is for the WebKit side of <rdar://problem/5591115>.
We need a way to tell context menu navigations, such as "Open in New Window"
to override any sort of browser preference for tab based navigation.
* bridge/WindowFeatures.h:
(WebCore::WindowFeatures::WindowFeatures):
Added a new struct member var, preferredType
and an accompanying enum type PreferredType
to send a window type recommendation up to the Chrome.
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
Set the window features to recommend a new Window for
"Open in New Window" context menu action.
2007-11-08 Adam Roben <aroben@apple.com>
Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
We now match the behavior of Firefox and IE, which is to always just
send a click event to the focused button when the Enter key is pressed
(previously we were submitting forms directly in some cases).
Reviewed by Adele.
Test: fast/forms/enter-clicks-buttons.html
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
fancy when Enter is pressed on a <button type=button> -- just send a
click event like we do for other button types.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
the same way we treat type=submit and type=reset: just send a click
event when Enter is pressed.
2007-11-09 Dan Bernstein <mitz@apple.com>
Reviewed by Antti Koivisto.
- fix a bug in invisible layer culling: dynamically changing a
descendant of an invisible layer to be visible did not work
Test: fast/layers/layer-content-visibility-change.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
make sure that our stacking context rebuilds its z-order lists to
include us.
2007-11-09 David Hyatt <hyatt@apple.com>
Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
args can be lengths or numbers or percents.
Reviewed by Beth
* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
(WebCore::TransformOperationInfo::TransformOperationInfo):
(WebCore::CSSParser::parseTransform):
* rendering/RenderStyle.h:
(WebCore::MatrixTransformOperation::apply):
2007-11-09 Beth Dakin <bdakin@apple.com>
Reviewed by Oliver.
Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
math leads to crazy problems
Transform matrices accept the first four parameters as CSS lengths.
CSS lengths get mapped into WebCore::Lengths as percents by
WebCore::convertToLength(). Percent lengths cannot call value(). It
does not yield a correct result and it asserts on Debug builds.
* rendering/RenderStyle.h:
(WebCore::MatrixTransformOperation::apply): Instead of calling
value() on the lengths, call calcValue. This fixes the assert and
the bad rendering.
2007-11-09 Simon Hausmann <hausmann@kde.org>
Reviewed by nobody, build/link fix for Qt/Windows.
userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
define it twice.
* platform/qt/TemporaryLinkStubs.cpp:
2007-11-09 Simon Hausmann <hausmann@kde.org>
Reviewed by Holger.
Fix ContextMenu allocation in the Qt port.
Store all items and submenus value based in ContextMenu and ContextMenuItem.
That fixes the crashes when the context menu was populated with sub-menus because
of the use of temporary ContextMenu objects like this:
ContextMenu subMenu(...);
subMenu.appendItem(...);
subMenu.appendItem(...);
subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
* platform/PlatformMenuDescription.h:
* platform/qt/ContextMenuItemQt.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::platformSubMenu):
* platform/qt/ContextMenuQt.cpp:
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::itemCount):
2007-11-09 Peter Kasting <zerodpx@gmail.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=15909
Malformed GIFs should not result in memory corruption.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
2007-11-08 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam Weinig.
Some Web Inspector CSS editing changes.
- Only delete the property if all the text is delete or the new user input correctly parses.
This prevents deleting the existing property if the new text is invalid.
- Intercept the Escape key and cancel editing, not saving any changes.
* page/inspector/StylesSidebarPane.js:
2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
Bakefiles for building WebCore, needed by wx port.
Reviewed by Mark Rowe.
* WebCoreSources.bkl: Added.
* webcore-base.bkl: Added.
* webcore-wx.bkl: Added.
2007-11-08 Justin Haygood <jhaygood@reaktix.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=15905
Fix builds with HTML 5 Storage support disabled.
ENABLE(DATABASE) needs to be added in a few places.
* page/InspectorController.cpp:
* storage/Database.h:
2007-11-08 Steve Falkenburg <sfalken@apple.com>
<rdar://problem/5524082> Allow images to be dragged out directly into other apps
We weren't including CF_HDROP in our image drops. This broke drag of
images out of the browser window directly into other apps (examples
include notepad, mspaint, msword).
Reviewed by Oliver, Ada.
* platform/win/ClipboardWin.cpp:
(WebCore::createGlobalImageFileContent): Removed unused variable.
(WebCore::createGlobalHDropContent): Added
(WebCore::writeFileToDataObject): Write HDROP data if available.
(WebCore::writeImageToDataObject): Write HDROP for dragged images.
(WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
2007-11-08 Xan Lopez <xan@gnome.org>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=15908
Use g_object_ref_sink when available
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenu::show):
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::setGtkAdjustments):
2007-11-08 Dan Bernstein <mitz@apple.com>
Reviewed by Beth Dakin.
- fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
Test: fast/dom/length-attribute-mapping.html
* dom/StyledElement.cpp:
(WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
logic to stop after the first "%" or "*" in the string. This allows for
"100%25" to be mapped to "100%" like it is in Firefox and WinIE.
2007-11-08 Kevin McCullough <kmccullough@apple.com>
- Build fix.
* loader/FrameLoaderClient.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2007-11-08 Kevin McCullough <kmccullough@apple.com>
Reviewed by Sam.
- windowObjectCleared() is no longer const. It needs to setup the
script debugger and cannot be const to do so.
* loader/FrameLoaderClient.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2007-11-08 Adam Roben <aroben@apple.com>
Hopeful Windows build fix
* rendering/RenderObject.cpp: Touch this file to make it recompile.
2007-11-08 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
Convert JavaScript internal function objects to use one class per
function. This avoids a switch statement inside what used to be
the shared function classes and will allow Shark to better analyze
the code.
To make this switch, the value property of the HashEntry was changed
to a union of an intptr_t (which is used to continue handle valueGetters)
and function pointer which points to a static constructor for the
individual new function objects.
SunSpider claims this is a 1.0% speedup.
- On the WebCore side, I updated CodeGeneratorJS.pm to generate the
new classes and hand updated the remain non-generated (groan) classes.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::customGetOwnPropertySlot):
* bindings/js/JSEventTargetNode.cpp:
(WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
(WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
(WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
* bindings/js/JSEventTargetNode.h:
* bindings/js/JSHTMLInputElementBase.cpp:
(WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
(WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
* bindings/js/JSHTMLInputElementBase.h:
(WebCore::JSHTMLInputElementBase::):
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
(KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
* bindings/js/JSXMLHttpRequest.h:
(KJS::JSXMLHttpRequest::impl):
* bindings/js/JSXSLTProcessor.cpp:
(KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
(KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
(KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
(KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
(KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
(KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
(KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
(KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
* bindings/js/JSXSLTProcessor.h:
* bindings/js/kjs_events.cpp:
(WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
(WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
(WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
(WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
* bindings/js/kjs_events.h:
* bindings/js/kjs_navigator.cpp:
(KJS::Plugins::):
(KJS::Navigator::getOwnPropertySlot):
(KJS::Plugins::getOwnPropertySlot):
(KJS::PluginsFunctionRefresh::callAsFunction):
(KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
* bindings/js/kjs_navigator.h:
(KJS::Navigator::):
* bindings/js/kjs_window.cpp:
(KJS::Window::getOwnPropertySlot):
(KJS::Window::put):
(KJS::WindowProtoFuncAToB::callAsFunction):
(KJS::WindowProtoFuncBToA::callAsFunction):
(KJS::WindowProtoFuncOpen::callAsFunction):
(KJS::WindowProtoFuncScrollBy::callAsFunction):
(KJS::WindowProtoFuncScrollTo::callAsFunction):
(KJS::WindowProtoFuncMoveBy::callAsFunction):
(KJS::WindowProtoFuncMoveTo::callAsFunction):
(KJS::WindowProtoFuncResizeBy::callAsFunction):
(KJS::WindowProtoFuncResizeTo::callAsFunction):
(KJS::WindowProtoFuncSetTimeout::callAsFunction):
(KJS::WindowProtoFuncClearTimeout::callAsFunction):
(KJS::WindowProtoFuncSetInterval::callAsFunction):
(KJS::WindowProtoFuncAddEventListener::callAsFunction):
(KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
(KJS::WindowProtoFuncShowModalDialog::callAsFunction):
(KJS::WindowProtoFuncNotImplemented::callAsFunction):
(KJS::Location::getOwnPropertySlot):
(KJS::Location::put):
(KJS::LocationProtoFuncReplace::callAsFunction):
(KJS::LocationProtoFuncReload::callAsFunction):
(KJS::LocationProtoFuncAssign::callAsFunction):
(KJS::LocationProtoFuncToString::callAsFunction):
* bindings/js/kjs_window.h:
(KJS::Window::):
* bindings/scripts/CodeGeneratorJS.pm:
2007-11-08 Mark Rowe <mrowe@apple.com>
Fix the Gtk, Qt and Wx builds.
* platform/gtk/TemporaryLinkStubs.cpp:
* platform/qt/TemporaryLinkStubs.cpp:
* platform/wx/TemporaryLinkStubs.cpp:
2007-11-08 Mark Rowe <mrowe@apple.com>
Not reviewed. Fix two instances of includes using the wrong case in the filename.
* platform/graphics/mac/MoviePrivateQTKit.mm:
* platform/wx/MimeTypeRegistryWx.cpp:
2007-11-08 Darin Adler <darin@apple.com>
Reviewed by Adam.
- fix <rdar://problem/5552943> accesskey does not focus <button> elements
Test: fast/forms/access-key.html
* html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
Added a call to focus.
2007-11-07 Darin Adler <darin@apple.com>
Reviewed by Steve.
- cut down on notImplemented() functions on Windows
* bridge/AXObjectCache.h: Put #if around the accessibility
global.
* bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
Moved here from TemporaryLinkStubs.
* dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
using the ResourceResponse that's now available from the DocumentLoader.
* editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
the Editor instead of the obsolete one on the Frame.
* loader/DocumentLoader.h: Removed getResponseModifiedHeader.
* loader/FrameLoader.h: Removed overrideMediaType.
* loader/gtk/DocumentLoaderGtk.cpp: Removed.
* loader/mac/DocumentLoaderMac.mm: Removed.
* loader/qt/DocumentLoaderQt.cpp: Removed.
* page/Frame.cpp: Removed transpose.
* page/Frame.h: Ditto.
* page/FrameView.h: Removed updateBorder.
* page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
* page/mac/FrameMac.mm: Ditto.
* page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
overrideMediaType.
* page/qt/FrameQt.cpp: Removed issueTransposeCommand.
* platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
* platform/qt/TemporaryLinkStubs.cpp: Ditto.
* platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
* platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
issueTransposeCommand, and overrideMediaType.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
(WebCore::ResourceHandle::willLoadFromCache): Ditto.
* platform/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
* platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
* platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
* platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
* WebCore.pro: Updated for removed files.
* WebCore.xcodeproj/project.pbxproj: Updated for removed file.
2007-11-08 Mark Rowe <mrowe@apple.com>
Build fix for case-sensitive file systems. Fix case of file names
in #include's.
* html/HTMLMediaElement.cpp:
* platform/graphics/Movie.cpp:
2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Lars Knoll <lars@trolltech.com>.
Remove some warnings about not implemented methods.
* ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
specific to the NS API and won't be implemented on Qt.
* ResourceHandle::bufferedData can not be reached as we return false in
ResourceHandle::supportsBufferedData.
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::supportsBufferedData):
2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Lars Knoll <lars@trolltech.com>.
Cleanup checking for the request method.
* Check the request method only in QWebNetworkManager::add.
* Currently HEAD, GET, POST are allowed and for everything else
QWebNetworkManager::add returns false.
* Returning false is compatible with ResourceHandle::start and it
can be used in ResourceHandle::loadResourceSynchronously to generate
a ResourceError
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):
2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Lars Knoll <lars@trolltech.com>.
Implement WebCore::callOnMainThread
Implemented using a global QObject, that is moved to the main thread
and then sending a custom event to it.
Picked a number below QEvent::User but above any other documented value.
* platform/qt/ThreadingQt.cpp:
(WebCore::PerformFunctionEvent::PerformFunctionEvent):
(WebCore::MainThreadInvoker::MainThreadInvoker):
(WebCore::MainThreadInvoker::event):
(WebCore::callOnMainThread):
2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Lars Knoll <lars@trolltech.com>.
Avoid problems with calling QPainter::begin() on an already active paintdevice
* Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
* If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
used by the ScrollView on a layout triggered by QWebPage::paintEvent.
* platform/qt/WidgetQt.cpp:
(WebCore::Widget::invalidateRect):
2007-11-08 Eric Seidel <eric@webkit.org>
No review.
* ksvg2/svg/SVGPathElement.h: remove old comment
2007-11-07 Antti Koivisto <antti@apple.com>
Reviewed by Ollie.
Ensure video renderer has correct size if video has already been loaded
when it is constructed.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::RenderVideo):
2007-11-07 Antti Koivisto <antti@apple.com>
Reviewed by Ollie.
Ensure video is visible when it should be.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::updateMovie):
2007-11-07 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
Layers and listboxes are two kinds of ScrollBarClient that can be
removed while the scrollbar is tracking the mouse. The scrollbar is not
destroyed until later, and meanwhile it can try to call the client,
which results in a crash.
* manual-tests/stale-scrollbar-client-crash.html: Added.
* platform/ScrollBar.h:
(WebCore::Scrollbar::setClient): Added.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::~RenderListBox): Ditto.
2007-11-07 Adam Roben <aroben@apple.com>
Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
Reviewed by Sam.
No test possible.
* platform/win/SharedBufferWin.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
empty path, because _wfopen_s will crash if we pass it a null pointer.
2007-11-07 David Kilzer <ddkilzer@apple.com>
WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
<http://bugs.webkit.org/show_bug.cgi?id=14893>
<rdar://problem/5380295>
Reviewed by Darin.
Tests: fast/css/device-aspect-ratio.html
fast/css/max-device-aspect-ratio.html
fast/css/min-device-aspect-ratio.html
* css/MediaQueryEvaluator.cpp:
(WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
(WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix
the bug.
2007-11-07 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15887
REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
Test: fast/css/display-none-inline-style-change-crash.html
* dom/Element.cpp:
(WebCore::Element::recalcStyle): Fixed the crash by null-checking
the current style and removed other checks that are not strictly
necessary.
2007-11-07 Brady Eidson <beidson@apple.com>
Rubberstamped by Sam
Remove FrameLoaderClient methods from SVG that were pruned awhile ago
* platform/graphics/svg/SVGImageEmptyClients.h:
2007-11-07 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix a bug where CSS rules with :hover in the ancestor chain stopped
working after changing the inline style declaration of the ancestor
Test: fast/css/affected-by-hover-after-style-change.html
* dom/Element.cpp:
(WebCore::Element::recalcStyle): If we are not forcing style
recalculation for all descendants, preserve any "affected by
{hover|active|drag} bits that we may have acquired from them.
Also renamed _style to currentStyle.
2007-11-06 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Bug 11920: Web Inspector should have Firebug-like CSS editing
http://bugs.webkit.org/show_bug.cgi?id=11920
* css/CSSComputedStyleDeclaration.h:
(WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
this was true, but computed style has no concept of implicit. So false makes more sense
and makes the code simpler in the inspector. This function was added for the inspector,
so this isn't a compatibility change.
* page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
* page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
style editing.
* page/inspector/inspector.css: Style changes for propery editing and focus correctness.
* page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
trying to call a function based on the element's id. Call focused and blurred on the focused
element when currentFocusElement is changed. Use the new listItemElement getter instead of
the private property.
* page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
to allow generation of the title using the DOM element. Add listItemElement and
childrenListElement getters.
* page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
* page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
* page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
instead of the private properties.
2007-11-07 Simon Hausmann <hausmann@kde.org>
Reviewed by Alexey Proskuryakov.
Coding style fix, don't use inline explicitly.
* bridge/WindowFeatures.h:
2007-11-07 Simon Hausmann <hausmann@kde.org>
Reviewed by Maciej.
For safety provide a default constructor for WindowFeatures().
ContextMenuController.cpp: createNewWindow as well as QWebPage need to
create a default initialized WindowFeatures object on the fly.
* bridge/WindowFeatures.h:
(WebCore::WindowFeatures::WindowFeatures):
2007-11-07 Simon Hausmann <shausman@trolltech.com>
Reviewed by Lars.
Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.
* WebCore.pro:
2007-11-07 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
* platform/graphics/qt/ImageQt.cpp:
(loadResourcePixmap):
2007-11-07 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
* platform/graphics/qt/ImageQt.cpp:
(loadResourcePixmap):
2007-11-07 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
in ContextMenu::populate().
For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
out of it. That menu is currently not functional anymore though.
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
(WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
* platform/PlatformMenuDescription.h:
* platform/qt/ContextMenuItemQt.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setType):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::setEnabled):
* platform/qt/ContextMenuQt.cpp:
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::itemCount):
(WebCore::ContextMenu::insertItem):
(WebCore::ContextMenu::setPlatformDescription):
(WebCore::ContextMenu::platformDescription):
2007-11-07 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
on it.
* platform/qt/ContextMenuQt.cpp:
2007-11-07 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
* platform/PlatformMouseEvent.h:
* platform/qt/PlatformMouseEventQt.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
2007-11-07 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
don't put nbsp's into the plan text paste
Fix both ClipboardQt and PasteboardQt to replace
nbsp's with spaces before putting the text onto the
native clipboard. This is consistent with Mac and Win
and fixes at least editing/pasteboard/4076267-3.html
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::writeRange):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeSelection):
2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Lars Knoll <lars@trolltech.com>.
Implement Pasteboard::writeImage()
* Pasteboard is now fully implemented. Copying of Images into the Clipboard
is now supported.
* As with URLs we only copy into the Clipboard (and not additionally to the
Selection)
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeImage):
2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Lars Knoll <lars@trolltech.com>.
Apple CodingStyle fixes
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::documentFragment):
2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Lars Knoll <lars@trolltech.com>.
Implement Pasteboard::writeURL()
* The URL currently gets written as text/plain and text/uri-list.
The win and mac port have some more types which we currently do
not support. When supporting them we can use the 'titleString'
as well.
* As with writeSelection we only copy into the Clipboard. We could
consider copying into the Selection as well.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeURL):
2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
Reviewed by Lars Knoll <lars@trolltech.com>.
Kill whitespace
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::documentFragment):
2007-11-07 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
Use the correct function calls to convert a selection to
HTML or plain text.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::setData):
(WebCore::ClipboardQt::writeRange):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeSelection):
2007-11-07 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
Some more clipboard fixes.
We have to set things immediately on the QClipBoard if the
Clipboard object is not for dragging.
This is due to the fact that the Clipboard object might be
rather long lived if accessed through javascript (it'll only
get deleted by JS garbage collection). We have to transfer
the data over to the QClipboard before that to make things work.
Fixes editing/execCommand/copy-without-selection.html
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::ClipboardQt):
(WebCore::ClipboardQt::~ClipboardQt):
(WebCore::ClipboardQt::clearData):
(WebCore::ClipboardQt::clearAllData):
(WebCore::ClipboardQt::getData):
(WebCore::ClipboardQt::setData):
(WebCore::ClipboardQt::declareAndWriteDragImage):
(WebCore::ClipboardQt::writeURL):
(WebCore::ClipboardQt::writeRange):
2007-11-07 Simon Hausmann <hausmann@kde.org>
Reviewed by Mark.
Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
not supported due to implicit forks, use IPC::Open2 instead.
* bindings/scripts/IDLParser.pm:
2007-11-07 Dan Bernstein <mitz@apple.com>
Reviewed by Brady Eidson.
- fix http://bugs.webkit.org/show_bug.cgi?id=15877
REGRESSION: r27486 caused a layout regression at my bank's website
Test: fast/block/float/overhanging-after-height-decrease-offsets.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
2007-11-06 Beth Dakin <bdakin@apple.com>
Reviewed by Sam.
<rdar://problem/5575812> REGRESSION:When using absolute positioning
with overflow:auto div, WebKit seems to add an additional 15px
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockWidthForPositioned): We need to
subtract off the vertical scrollbar width too.
2007-11-06 Justin Garcia <justin.garcia@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
<rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
* editing/markup.cpp:
(WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
that encloses the input context, unless that block is the body, which shouldn't
be cloned. In that case, use regular divs, as we did before r27369.
2007-11-06 Christian Dywan <christian@twotoasts.de>
Reviewed by Darin.
Fix http://bugs.webkit.org/show_bug.cgi?id=15828
Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
* WebCore.pro: Use sane default install paths for the gtk port.
2007-11-06 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5576619>
REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
both of the other deletion commands, call typingAddedToOpenCommand(), which takes
the command's endingSelection and sets it as selection.
2007-11-06 Dan Bernstein <mitz@apple.com>
Reviewed by Antti Koivisto and Dave Hyatt.
- fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
Test: fast/block/float/overhanging-after-height-decrease.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock): If after calculating the height
it turns out that there are overhanging floats that were not overhanging
before, rescan children with overhanging floats and add them.
(WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
returns the lowest float bottom of any of the children.
(WebCore::RenderBlock::addOverhangingFloats): Changed to return the
lowest float bottom.
* rendering/RenderBlock.h:
2007-11-06 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Switched all uses of HTMLImageLoader to use OwnPtrs.
* html/HTMLInputElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::init):
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::setInputType):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::attach):
* html/HTMLObjectElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::HTMLObjectElement):
(WebCore::HTMLObjectElement::~HTMLObjectElement):
(WebCore::HTMLObjectElement::parseMappedAttribute):
(WebCore::HTMLObjectElement::attach):
* html/HTMLVideoElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::HTMLVideoElement):
(WebCore::HTMLVideoElement::attach):
(WebCore::HTMLVideoElement::detach):
(WebCore::HTMLVideoElement::parseMappedAttribute):
2007-11-06 Antti Koivisto <antti@apple.com>
Reviewed by Darin.
Trigger media load on on src attribute changes as specified in new HTML5 draft.
Tests: media/video-src-change.html
media/video-src-remove.html
media/video-src-set.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged):
* html/HTMLMediaElement.h:
2007-11-06 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix http://bugs.webkit.org/show_bug.cgi?id=15838
Incomplete repaint toggling "How you know this person" on Facebook
Test: fast/repaint/make-children-non-inline.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
is needed because the inline children may be repositioned as they move
into new anonymous blocks, but those blocks have no knowledge of where
their children used to be, so they cannot invalidate those areas.
2007-11-06 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15847
Some editing cleanup
No change in functionality.
* editing/TextIterator.cpp:
(WebCore::plainText):
* editing/TextIterator.h:
Made WebCore::plainText() return String instead of DeprecatedString.
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject textUnderElement]):
(-[WebCoreAXObject value]):
(-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
(-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
(-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
Updated for the above change. There is no need to explicitly convert to NSString now.
* editing/EditCommand.cpp:
(WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
initialized in constructor body, so the work done in initializer list was wasted.
(WebCore::EditCommand::apply): Moved some stars.
(WebCore::EditCommand::unapply): Ditto.
(WebCore::EditCommand::reapply): Ditto.
(WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
removed one of the checks.
* editing/SelectionController.cpp:
(WebCore::SelectionController::toString): plainText() result type now matches what we need here.
* page/mac/WebCoreFrameBridge.h:
* page/mac/WebCoreFrameBridge.mm:
Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
2007-11-05 Mark Rowe <mrowe@apple.com>
Mac build fix.
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::writeHelper):
2007-11-05 Adam Roben <aroben@apple.com>
Don't crash if SafariTheme can't be loaded
PlatformScrollBarSafari and RenderThemeSafari were not checking
whether SafariTheme was successfully loaded. All other uses of
SafariTheme already check this.
Reviewed by Steve.
* platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
couldn't be loaded.
(WebCore::PlatformScrollbar::paintButton):
(WebCore::PlatformScrollbar::paintTrack):
(WebCore::PlatformScrollbar::paintThumb):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::isControlStyled): Always return true if
we couldn't load SafariTheme. This way we should never try to paint
themed controls (and we assert as such in the paint functions).
(WebCore::RenderThemeSafari::paintCheckbox):
(WebCore::RenderThemeSafari::paintRadio):
(WebCore::RenderThemeSafari::paintButton):
(WebCore::RenderThemeSafari::paintTextField):
(WebCore::RenderThemeSafari::paintCapsLockIndicator):
(WebCore::RenderThemeSafari::paintTextArea):
(WebCore::RenderThemeSafari::paintMenuList):
(WebCore::RenderThemeSafari::paintSliderThumb):
(WebCore::RenderThemeSafari::paintSearchField):
(WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
(WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
Adding the rest of wx port's graphics impl.
Rubber-stamped by Maciej Stachowiak.
* platform/graphics/wx/AffineTransformWx.cpp: Added.
* platform/graphics/wx/GraphicsContextWx.cpp: Added.
* platform/graphics/wx/ImageBufferWx.cpp: Added.
* platform/graphics/wx/ImageSourceWx.cpp: Added.
* platform/graphics/wx/ImageWx.cpp: Added.
* platform/graphics/wx/PathWx.cpp: Added.
2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
wx port bug fixes and new files to get platform/wx building on trunk.
Rubber-stamped by Maciej Stachowiak.
* platform/wx/CursorWx.cpp:
* platform/wx/FileSystemWx.cpp: Added.
* platform/wx/FontCacheWx.cpp:
* platform/wx/FontPlatformDataWx.cpp:
* platform/wx/FontWx.cpp:
* platform/wx/KeyboardEventWx.cpp:
* platform/wx/LocalizedStringsWx.cpp: Added.
* platform/wx/LoggingWx.cpp: Added.
* platform/wx/RenderThemeWx.cpp:
* platform/wx/ScrollViewWx.cpp:
* platform/wx/SharedTimerWx.cpp:
* platform/wx/StringWx.cpp:
* platform/wx/ThreadingWx.cpp: Added.
* platform/wx/WidgetWx.cpp:
2007-11-05 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
Fix for <rdar://problem/5579999> Add poster attribute for video element
* html/HTMLAttributeNames.in: Added poster attribute.
* html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
Calls imageSourceAttributeName instead of having special cases for the different kinds of elements.
* dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
* dom/Element.h:
* html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
* html/HTMLObjectElement.h:
* html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
* html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this.
* html/HTMLVideoElement.idl: Added case for poster attribute.
* html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
(WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
(WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
(WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
(WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
(WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
(WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
(WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
(WebCore::HTMLVideoElement::isURLAttribute): Added.
(WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
(WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
2007-11-05 Adam Roben <aroben@apple.com>
Fix <rdar://5563572> SVG image support is turned off
Turned on SVG images for all platforms.
Reviewed by Eric.
* WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage): Removed platform checks for
SVGImage.
2007-11-05 Antti Koivisto <antti@apple.com>
Reviewed by Darin.
QTMovieView can generate callbacks during paint. This can lead to crashes.
Delay callbacks so they get handled after painting is completed. No test case,
I don't know how to reliably reproduce this.
* platform/graphics/mac/MoviePrivateQTKit.mm:
(WebCore::MoviePrivate::MoviePrivate):
(WebCore::MoviePrivate::~MoviePrivate):
(WebCore::MoviePrivate::paint):
(-[WebCoreMovieObserver initWithCallback:WebCore::]):
(-[WebCoreMovieObserver disconnect]):
(-[WebCoreMovieObserver loadStateChanged:]):
(-[WebCoreMovieObserver rateChanged:]):
(-[WebCoreMovieObserver sizeChanged:]):
(-[WebCoreMovieObserver timeChanged:]):
(-[WebCoreMovieObserver volumeChanged:]):
(-[WebCoreMovieObserver didEnd:]):
(-[WebCoreMovieObserver setDelayCallbacks:]):
2007-11-05 Antti Koivisto <antti@apple.com>
Reviewed by Adam.
Add some missing WebCore* prefixes to ObjC classes
* platform/mac/FileChooserMac.mm:
(WebCore::FileChooser::FileChooser):
* platform/mac/SharedBufferMac.mm:
(WebCore::SharedBuffer::createNSData):
(WebCore::SharedBuffer::createCFData):
* platform/mac/SharedTimerMac.cpp:
(WebCore::setSharedTimerFireTime):
2007-11-05 Ada Chan <adachan@apple.com>
<rdar://problem/5579772> Regression: AltGr does not work
We now store the system key event info in PlatforkKeyboardEvent().
Reviewed by Oliver.
* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::isSystemKey):
* platform/win/KeyEventWin.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2007-11-02 Tristan O'Tierney <tristan@apple.com>
Reviewed by Darin Adler.
* WebCore.xcodeproj/project.pbxproj:
Set WindowFeatures.h as a Private header.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow):
Revised to use a single createWindow function instead of
two createWindow functions and one createModalDialog function.
The logic for this is now addressed in WebKit in an effort
to make this easier to follow.
* page/Chrome.cpp:
(WebCore::Chrome::createWindow):
* page/Chrome.h:
* page/ChromeClient.h:
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyChromeClient::createWindow):
Revised to take new additional windowFeatures parameter.
2007-11-04 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
http://bugs.webkit.org/show_bug.cgi?id=15835
Small adaptations to new KJS::List class.
* bindings/js/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
(KJS::ScheduledAction::ScheduledAction):
2007-11-05 Adam Roben <aroben@apple.com>
Allow passing a base class pointer to COMPtr::copyRefTo
Reviewed by Sam.
* platform/win/COMPtr.h:
2007-11-05 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
Test: fast/dom/class-all-whitespace.html
* dom/StyledElement.cpp:
(WebCore::StyledElement::parseMappedAttribute): Check if there is any
non-whitespace character in the class attribute.
2007-11-05 Brady Eidson <beidson@apple.com>
Reviewed by Sam
Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
of the sql storage API
* storage/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::allowTransaction):
* storage/DatabaseAuthorizer.h:
2007-11-05 Mark Rowe <mrowe@apple.com>
Reviewed by Alp Toker.
Have getMIMETypeForExtension return a null string when no MIME type is known
for the extension rather than returning "text/plain". This prevents plugin data
being dumped into object elements when plugins are disabled.
* platform/gtk/MIMETypeRegistryGtk.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2007-11-04 Sam Weinig <sam@webkit.org>
Rubber-stamped by Adam Roben.
Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
clear up ambiguity.
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
* platform/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canAccess):
* platform/SecurityOrigin.h:
2007-11-04 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
http://bugs.webkit.org/show_bug.cgi?id=15834
- Broke up DocumentPanel and added three SidebarPane sub-classes.
- Fixed many Style pane bugs, including:
* Poor handling of duplicate properties in the same rule. Some of this can't be
fixed since we can't only get the "winning" value for duplicate properties.
So we should only show one entry per unique property name.
* Computed style does not show font shorthand sub-properties if 'font' was used.
* Property priority was broken, the wrong properties were crossed out.
* The 'border' shorthand shows null for the shorthand value.
* Shorthands didn't show their priority (e.g. !important).
* HSL and HTML hex colors didn't have preview swatch blocks.
* Code refactoring, making it easier to reuse for console.log later.
* page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
classes in new files.
* page/inspector/MetricsSidebarPane.js: Added.
* page/inspector/Panel.js: Remove an InspectorController.log() call.
* page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
So TreeElements can access properties on their section.
* page/inspector/PropertiesSidebarPane.js: Added.
* page/inspector/SidebarPane.js: Remove the explicit asignment of the
onexpand and oncollapse to null. These were hiding prototypes.
* page/inspector/StylesSidebarPane.js: Added.
* page/inspector/inspector.html: Include the new script files.
* page/inspector/treeoutline.js: If a null representedObject is passed
in just use a empty object.
2007-11-04 David D. Kilzer <ddkilzer@webkit.org>
Fix build when spaces appear in the WebKit source path.
Reviewed by Mark Rowe.
* bindings/scripts/IDLParser.pm: Use safer open() method which lists
arguments individually and prevents the need to work around spaces
in the path.
2007-11-04 Alp Toker <alp@atoker.com>
Reviewed by Alexey Proskuryakov.
Fix a crash when no clipboard text is available
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::plainText):
2007-11-03 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
remove unused PCRE features for speed
* page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
* page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
Use "\d" instead.
* platform/RegularExpression.h: Remove the unused cap function. We can
add it back later if we find we need it.
* platform/RegularExpression.cpp:
(WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
regular expression entry point changes.
(WebCore::RegularExpression::Private::~Private): Ditto.
(WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
This means that regular expressions with metacharactesr like ^ in them
won't work any more with non-whole-string searches, but we don't use
any regular expressions like that.
2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
Update the link stubs to match the current build,
and fix coding style issues.
Reviewed by Mark Rowe.
* platform/wx/TemporaryLinkStubs.cpp:
(loadResourceIntoArray):
(findNextSentenceFromIndex):
(findSentenceBoundary):
(Frame::dashboardRegionsChanged):
(WebCore::historyContains):
(CachedPage::close):
(Editor::showStylesPanel):
(EventHandler::passSubframeEventToSubframe):
(EventHandler::passWheelEventToWidget):
(WebCore::currentTextBreakLocaleID):
2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
Reviewed by Mark Rowe.
* platform/graphics/wx/FloatRectWx.cpp: Added.
* platform/graphics/wx/IntPointWx.cpp: Added.
* platform/graphics/wx/IntRectWx.cpp: Added.
2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
wx <-> WebKit data type conversions for Pen and Color.
Reviewed by Darin Adler.
* platform/graphics/wx: Added.
* platform/graphics/wx/ColorWx.cpp: Added.
* platform/graphics/wx/PenWx.cpp: Added.
2007-11-03 Sam Weinig <sam@webkit.org>
Reviewed by Oliver.
Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
The variable had been kept around for binary compatibility, but since nothing
else is there is no point in continuing to keep it around.
* bindings/js/JSDOMExceptionConstructor.cpp:
(WebCore::):
* bindings/js/JSHTMLInputElementBase.cpp:
(WebCore::):
* bindings/js/JSNamedNodesCollection.cpp:
(WebCore::):
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::):
* bindings/js/JSXSLTProcessor.cpp:
(KJS::):
* bindings/js/kjs_css.cpp:
(WebCore::):
* bindings/js/kjs_events.cpp:
(WebCore::):
* bindings/js/kjs_navigator.cpp:
(KJS::):
* bindings/js/kjs_window.cpp:
(KJS::):
* bindings/scripts/CodeGeneratorJS.pm:
2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
Build fixes to get wx impls. building on trunk.
Reviewed by Mark Rowe.
* platform/wx/DragDataWx.cpp:
(WebCore::DragData::containsFiles):
(WebCore::DragData::asFilenames):
* platform/wx/DragImageWx.cpp:
(WebCore::scaleDragImage):
* platform/wx/MimeTypeRegistryWx.cpp:
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
* platform/wx/MouseEventWx.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/wx/MouseWheelEventWx.cpp:
* platform/wx/PasteboardWx.cpp:
(WebCore::Pasteboard::writeImage):
* platform/wx/WidgetWx.cpp:
(WebCore::Widget::setCursor):
2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
Sort files(...); sections of Xcode project files.
Rubber-stamped by Darin.
* WebCore.xcodeproj/project.pbxproj:
* manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
Coding style fixes for platform/wx files.
Reviewed by Mark Rowe.
* platform/wx/ClipboardWx.cpp:
* platform/wx/GlyphMapWx.cpp:
* platform/wx/ScreenWx.cpp:
2007-11-03 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Implement platform scrollbar static width/height getters
* platform/gtk/PlatformScrollBar.h:
* platform/gtk/PlatformScrollBarGtk.cpp:
(scrollbarSize):
(PlatformScrollbar::horizontalScrollbarHeight):
2007-11-03 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Cast function pointers to gpointer.
* platform/gtk/PlatformScrollBarGtk.cpp:
(PlatformScrollbar::~PlatformScrollbar):
2007-11-03 Alp Toker <alp@atoker.com>
Reviewed by Adam Roben.
RenderThemeGtk implementation based on Mozilla's GTK+ style code
There is still work needed to complete this feature.
* WebCore.pro:
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::theme):
(WebCore::RenderThemeGtk::RenderThemeGtk):
(WebCore::supportsFocus):
(WebCore::RenderThemeGtk::supportsFocusRing):
(WebCore::RenderThemeGtk::controlSupportsTints):
(WebCore::RenderThemeGtk::baselinePosition):
(WebCore::adjustMozStyle):
(WebCore::setMozState):
(WebCore::paintMozWidget):
(WebCore::setButtonPadding):
(WebCore::setToggleSize):
(WebCore::RenderThemeGtk::setCheckboxSize):
(WebCore::RenderThemeGtk::paintCheckbox):
(WebCore::RenderThemeGtk::setRadioSize):
(WebCore::RenderThemeGtk::paintRadio):
(WebCore::RenderThemeGtk::adjustButtonStyle):
(WebCore::RenderThemeGtk::paintButton):
(WebCore::RenderThemeGtk::adjustMenuListStyle):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::adjustTextFieldStyle):
(WebCore::RenderThemeGtk::paintTextField):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::RenderThemeGtk::adjustSearchFieldStyle):
(WebCore::RenderThemeGtk::paintSearchField):
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::caretBlinkFrequency):
(WebCore::RenderThemeGtk::systemFont):
(WebCore::gtkStyleSetCallback):
(WebCore::RenderThemeGtk::gtkContainer):
(WebCore::RenderThemeGtk::gtkEntry):
(WebCore::RenderThemeGtk::gtkTreeView):
* platform/gtk/RenderThemeGtk.h:
* platform/gtk/gtk2drawing.c: Added.
(moz_gtk_enable_style_props):
(ensure_window_widget):
(setup_widget_prototype):
(ensure_button_widget):
(ensure_checkbox_widget):
(ensure_radiobutton_widget):
(ensure_scrollbar_widget):
(ensure_spin_widget):
(ensure_scale_widget):
(ensure_entry_widget):
(ensure_option_menu_widget):
(ensure_arrow_widget):
(ensure_handlebox_widget):
(ensure_toolbar_widget):
(ensure_tooltip_widget):
(ensure_tab_widget):
(ensure_progress_widget):
(ensure_frame_widget):
(ensure_menu_bar_widget):
(ensure_menu_bar_item_widget):
(ensure_menu_popup_widget):
(ensure_menu_item_widget):
(ensure_check_menu_item_widget):
(ConvertGtkState):
(TSOffsetStyleGCArray):
(TSOffsetStyleGCs):
(moz_gtk_button_paint):
(moz_gtk_init):
(moz_gtk_checkbox_get_metrics):
(moz_gtk_radio_get_metrics):
(moz_gtk_checkbox_get_focus):
(moz_gtk_radio_get_focus):
(moz_gtk_button_get_focus):
(moz_gtk_option_menu_get_metrics):
(moz_gtk_toggle_paint):
(calculate_arrow_dimensions):
(moz_gtk_scrollbar_button_paint):
(moz_gtk_scrollbar_trough_paint):
(moz_gtk_scrollbar_thumb_paint):
(moz_gtk_spin_paint):
(moz_gtk_scale_paint):
(moz_gtk_scale_thumb_paint):
(moz_gtk_gripper_paint):
(moz_gtk_entry_paint):
(moz_gtk_option_menu_paint):
(moz_gtk_dropdown_arrow_paint):
(moz_gtk_container_paint):
(moz_gtk_toggle_label_paint):
(moz_gtk_toolbar_paint):
(moz_gtk_tooltip_paint):
(moz_gtk_frame_paint):
(moz_gtk_progressbar_paint):
(moz_gtk_progress_chunk_paint):
(moz_gtk_tab_paint):
(moz_gtk_tabpanels_paint):
(moz_gtk_menu_bar_paint):
(moz_gtk_menu_popup_paint):
(moz_gtk_menu_item_paint):
(moz_gtk_check_menu_item_paint):
(moz_gtk_window_paint):
(moz_gtk_get_widget_border):
(moz_gtk_get_dropdown_arrow_size):
(moz_gtk_get_scalethumb_metrics):
(moz_gtk_get_scrollbar_metrics):
(moz_gtk_widget_paint):
(moz_gtk_get_scrollbar_widget):
(moz_gtk_shutdown):
* platform/gtk/gtkdrawing.h: Added.
2007-11-03 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Do not allow scrollbars to handle wheel events
We bubble the wheel event up so the parent can handle it instead.
* platform/gtk/PlatformScrollBarGtk.cpp:
(gtkScrollEventCallback):
(PlatformScrollbar::PlatformScrollbar):
(PlatformScrollbar::~PlatformScrollbar):
2007-11-03 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Frame scrolling and invalidation fixes
Make upward scroll events have a positive delta to match other ports.
Fix the invalidation rect offset for frames so that scrolling works properly.
Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
Allow tabbing to all widgets and links.
Fix event returns, improving the focus situation and correcting scroll wheel
behavior.
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::tabsToAllControls):
(WebCore::EventHandler::passWheelEventToWidget):
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollViewScrollbar::geometryChanged):
(WebCore::ScrollView::updateContents):
(WebCore::ScrollView::update):
(WebCore::ScrollView::wheelEvent):
(WebCore::ScrollView::updateScrollbars):
* platform/gtk/WheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
LGPL'ed files contain incorrect FSF address
<http://bugs.webkit.org/show_bug.cgi?id=14885>
Reviewed by NOBODY (follow-up fix).
* bindings/js/JSSVGTransformListCustom.cpp:
* ksvg2/svg/SVGException.idl:
* ksvg2/svg/SVGTextPathElement.cpp:
* ksvg2/svg/SVGTextPathElement.h:
* ksvg2/svg/SVGViewSpec.cpp:
* ksvg2/svg/SVGViewSpec.h:
* platform/mac/FontCustomPlatformData.cpp:
* platform/mac/FontCustomPlatformData.h:
* platform/mac/FontPlatformDataMac.mm:
* platform/win/FontCustomPlatformData.cpp:
* platform/win/FontCustomPlatformData.h:
* rendering/RenderSVGRoot.cpp:
* rendering/RenderSVGRoot.h:
* rendering/RenderSVGTextPath.cpp:
* rendering/RenderSVGTextPath.h:
* rendering/RenderSVGTransformableContainer.h:
* rendering/RenderSVGViewportContainer.cpp:
* rendering/RenderSVGViewportContainer.h:
* rendering/SVGCharacterLayoutInfo.cpp:
* rendering/SVGCharacterLayoutInfo.h:
* rendering/SVGRenderSupport.cpp:
* rendering/SVGRenderSupport.h:
2007-11-02 Antti Koivisto <antti@apple.com>
Reviewed by Adam.
Add video width/height DOM and content attributes from latest HTML5 draft.
Test: media/video-width-height.html
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseMappedAttribute):
(WebCore::HTMLVideoElement::width):
(WebCore::HTMLVideoElement::setWidth):
(WebCore::HTMLVideoElement::height):
(WebCore::HTMLVideoElement::setHeight):
* html/HTMLVideoElement.h:
* html/HTMLVideoElement.idl:
2007-11-02 Darin Adler <darin@apple.com>
Reviewed by Maciej.
* DerivedSources.make: Remove a few explicit filenames from some rules by using
make variables a little more.
* WebCore.LP64.exp: Fix typo, grammar.
2007-11-02 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- use the new HashMap::take function where appropriate
* bindings/js/kjs_binding.cpp:
(KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
(KJS::removeWrapper): Ditto.
(KJS::removeWrappers): Ditto.
(KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
(KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
of remove -- in theory ever so slightly less efficient, but I think it's fine.
(KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
(KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
(KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
(KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
* bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
* bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
* page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::~RenderBlock): Ditto.
(WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
* rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
2007-11-02 Antti Koivisto <antti@apple.com>
Reviewed by Darin.
Enable video composition.
* WebCore.base.exp:
* platform/graphics/mac/MoviePrivateQTKit.mm:
(WebCore::MoviePrivate::createQTMovieView):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2007-11-02 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=15806
<rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
Test: fast/forms/remove-radio-button-assert.html
* html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
Added protected function to be used by derived classes that need to do the same sort
of removal from form that's automatically done by the base class in certain circumstances.
* html/HTMLGenericFormElement.h: Added removeFromForm.
* html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
part of this object. By the time we get to the base class's destructor it's too late.
The problem is specific to radio buttons so we don't have to worry about other classes
derived from HTMLGenericFormElement.
2007-11-02 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
<rdar://problem/5510779> crashes in isLoadingMultipartContent
* loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
Instead of asserting the frame loader is non-0, return false if it is 0.
2007-11-02 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
URL and MIME type is omitted
Already covered by existing tests (that had incorrect results).
* loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
failure when both URL and MIME type are empty. The old code would not attempt a load, but
it would indicate success.
* rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
non-helpful early exit for the case where there is no URL and no type. Returning early
prevents the fallback code from running.
2007-11-02 Alp Toker <alp@atoker.com>
Reviewed by Darin.
Include Cairo headers properly
* platform/graphics/AffineTransform.h:
* platform/graphics/ImageBuffer.h:
* platform/graphics/cairo/AffineTransformCairo.cpp:
* platform/gtk/FontPlatformDataGtk.cpp:
2007-11-01 Oliver Hunt <oliver@apple.com>
Reviewed by Alexey.
Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key
* platform/win/KeyEventWin.cpp:
(WebCore::keyIdentifierForWindowsKeyCode):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2007-11-01 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej Stachowiak.
In preparation for making List a simple stack-allocated Vector:
Removed all instances of List copying, assignment, and/or storage.
Layout tests and JS tests pass.
* bindings/js/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction): Stores a Vector of protected
JSValue*'s instead of a List now. Converts to List on the fly when
calling the timer function. This is slightly less efficient, but the
common case is 0-2 arguments, so it's no biggie.
(HTML iBench shows no regression. PLT does not use JS timers.)
(KJS::ScheduledAction::execute): Uses the more efficient and non-copying
List::slice now.
(KJS::ScheduledAction::ScheduledAction): ditto
* bindings/objc/WebScriptObject.mm:
(getListFromNSArray): Takes a List out parameter now, to avoid copying.
2007-11-01 Oliver Hunt <oliver@apple.com>
Reviewed by Geoff.
Correct event behaviour on certain control keys
Make sure we send the correct keyDown and keyUp events for the
control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
uses Windows key codes for the event keyCode.
* WebCore.base.exp:
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
* platform/PlatformKeyboardEvent.h:
* platform/gtk/KeyEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/mac/KeyEventMac.mm:
(WebCore::keyIdentifierForKeyEvent):
(WebCore::WindowsKeyCodeForKeyEvent):
(WebCore::isKeyUpEvent):
(WebCore::textFromEvent):
(WebCore::unmodifiedTextFromEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/win/KeyEventWin.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/wx/KeyEventWin.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2007-11-01 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam.
* page/inspector/inspector.css: Use the white disclosure triangles
when a parent DOM element is sepected.
2007-11-01 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
into a plaintext-only region, since when we build the fragment to insert from
plain text, we don't put any style information on it, so it will automatically
match style with no intervention.
* editing/markup.cpp:
(WebCore::createFragmentFromText): Place paragraphs into clones of the
block being inserted into, instead of default paragraph elements,
so that when inserted content will match the surrounding paragraph style.
This was broken before, but I haven't added a layout test yet because
there currently isn't a way to get only plain text onto the pasteboard
in a layout test.
2007-11-01 Sam Weinig <sam@webkit.org>
Reviewed by Adam Roben.
Add a releaseRef method to COMPtr which matches the behavior
of the method by the same name in PassRefPtr. This is in
preparation of adding autogenerated COM DOM bindings.
* platform/win/COMPtr.h:
(COMPtr::releaseRef):
2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
wx impl. for DragController and EventHandler interfaces.
Reviewed by Adam Roben.
* page/wx: Added.
* page/wx/DragControllerWx.cpp: Added.
(WebCore::DragController::isCopyKeyDown):
(WebCore::DragController::dragOperation):
(WebCore::DragController::maxDragImageSize):
* page/wx/EventHandlerWx.cpp: Added.
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
(WebCore::EventHandler::passMousePressEventToScrollbar):
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::focusDocumentView):
(WebCore::EventHandler::eventActivatedView):
(WebCore::EventHandler::createDraggingClipboard):
2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
Adding files for wx impl. of editing interfaces.
Reviewed by Adam Roben.
* editing/wx: Added.
* editing/wx/EditorWx.cpp: Added.
(WebCore::Editor::newGeneralClipboard):
2007-11-01 Sam Weinig <sam@webkit.org>
Reviewed by Adam Roben.
Make implicit conversions from LPCSTRs and BSTRs to WebCore string
types possible in preparation of adding autogenerated COM DOM bindings.
* platform/AtomicString.cpp:
(WebCore::AtomicString::add):
* platform/AtomicString.h:
(WebCore::AtomicString::AtomicString):
* platform/PlatformString.h:
* platform/win/BString.cpp:
(WebCore::BString::BString):
* platform/win/BString.h:
2007-11-01 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
* platform/sql/SQLiteTransaction.cpp:
(WebCore::SQLiteTransaction::SQLiteTransaction):
(WebCore::SQLiteTransaction::~SQLiteTransaction):
(WebCore::SQLiteTransaction::begin):
(WebCore::SQLiteTransaction::commit):
(WebCore::SQLiteTransaction::rollback):
* platform/sql/SQLiteTransaction.h:
(WebCore::SQLiteTransaction::inProgress):
2007-11-01 Adam Roben <aroben@apple.com>
Remove all duplicate xcopy commands from WebCore's post-build step
Also add the /d option to the copy of platform/sql.
Rubberstamped by Sam.
* WebCore.vcproj/WebCore.vcproj:
2007-11-01 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
Add support for the animation of the -webkit-border-raduis properties.
* page/AnimationController.cpp:
(WebCore::blendFunc): Added for IntSize.
(WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
2007-11-01 Alp Toker <alp@atoker.com>
Reviewed by Mitz Pettel.
Fix an unbalanced save/restore.
* platform/graphics/cg/ImageCG.cpp:
(WebCore::BitmapImage::draw):
2007-11-01 David Hyatt <hyatt@apple.com>
Add support for the animation of the visibility property.
Reviewed by oliver, aroben
* page/AnimationController.cpp:
(WebCore::blendFunc):
(WebCore::ImplicitAnimation::animate):
2007-11-01 Kevin McCullough <kmccullough@apple.com>
Reviewed by Adam.
- Made COMPtr be able to be used by certain other templates,
specifically HashSet.
* platform/win/COMPtr.h:
(WTF::):
2007-11-01 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15015
<rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
Test: fast/repaint/overflow-clip-subtree-layout.html
This patch does not address the bigger issue of doing a full relayout
of inline flows containing floats, but it addresses the problem on
aol.com, where the changes that trigger layout are confined to an
overflow area inside the float.
* page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
layout roots are different but one descends from the other, make (or
keep) the ancestor as the layout root.
* rendering/RenderObject.cpp:
(WebCore::objectIsRelayoutBoundary): Made boxes with overflow
clipping and non-auto width and height relayout boundaries.
2007-11-01 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Mark Rowe.
Fixed line endings that got confused in this file somehow.
* platform/network/ResourceResponse.cpp:
(WebCore::ResourceResponse::isAttachment):
2007-11-01 Peter Kasting <zerodpx@gmail.com>
Reviewed by Dave Hyatt.
http://bugs.webkit.org/show_bug.cgi?id=15778
Malformed GIFs should not result in memory corruption.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::output_row):
(GIFImageReader::read):
2007-10-31 Adam Roben <aroben@apple.com>
Fix a crash when parsing a cubic-bezier function
Reviewed by Hyatt.
Test: fast/css/parse-timing-function-crash.html
* WebCore.vcproj/WebCore.vcproj:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
of the ValueList.
2007-10-31 David Hyatt <hyatt@apple.com>
Fix a merge error from when I applied my patch to ToT. A couple of lines should be part of an if.
* rendering/RenderStyle.cpp:
(WebCore::RenderStyle::adjustTransitions):
2007-10-31 Anders Carlsson <andersca@apple.com>
Reviewed by Sam.
Add new SQL callback interfaces and JS implementations of them.
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCustomSQLStatementCallback.cpp: Added.
(WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
(WebCore::JSCustomSQLStatementCallback::handleEvent):
* bindings/js/JSCustomSQLStatementCallback.h: Added.
* bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
(WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
(WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
* bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
* bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
(WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
(WebCore::JSCustomSQLTransactionCallback::handleEvent):
* bindings/js/JSCustomSQLTransactionCallback.h: Added.
* bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
(WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
(WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
* bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
* storage/JSCustomSQLStatementCallback.h: Added.
* storage/JSCustomSQLStatementErrorCallback.h: Added.
* storage/JSCustomSQLTransactionCallback.h: Added.
* storage/JSCustomSQLTransactionErrorCallback.h: Added.
* storage/SQLStatementCallback.h: Added.
(WebCore::SQLStatementCallback::~SQLStatementCallback):
* storage/SQLStatementCallback.idl: Added.
* storage/SQLStatementErrorCallback.h: Added.
(WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
* storage/SQLStatementErrorCallback.idl: Added.
* storage/SQLTransaction.h: Added.
* storage/SQLTransaction.idl: Added.
* storage/SQLTransactionCallback.h: Added.
(WebCore::SQLTransactionCallback::~SQLTransactionCallback):
* storage/SQLTransactionCallback.idl: Added.
* storage/SQLTransactionErrorCallback.h: Added.
(WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
* storage/SQLTransactionErrorCallback.idl: Added.
2007-10-31 Justin Garcia <justin.garcia@apple.com>
Reviewed by Dave Harrison.
<rdar://problem/5569741> Pasting content with a line break into a list can remove the list
* editing/htmlediting.cpp:
(WebCore::enclosingEmptyListItem): A single list item can contain multiple
paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a
list item, that list item isn't necessarily empty.
2007-10-31 David Hyatt <hyatt@apple.com>
Disable style sharing for animating styles.
Reviewed by mitzpettel
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement):
2007-10-31 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix intermediate length calculation
* rendering/Length.h:
(WebCore::Length::blend):
2007-10-31 Anders Carlsson <andersca@apple.com>
Reviewed by Darin.
Add new SQLError implementation.
* DerivedSources.make:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* storage/SQLError.h: Added.
(WebCore::SQLError::SQLError):
(WebCore::SQLError::code):
(WebCore::SQLError::message):
* storage/SQLError.idl: Added.
2007-10-31 David Hyatt <hyatt@apple.com>
Change the initial value of transition-property to all. Change the initial value of
transition-duration to 0.
Reviewed by antti
* rendering/RenderStyle.h:
(WebCore::RenderStyle::initialTransitionDuration):
(WebCore::RenderStyle::initialTransitionProperty):
2007-10-31 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
The new Color must be marked valid.
* platform/graphics/gtk/ColorGtk.cpp:
2007-10-31 Simon Hausmann <hausmann@kde.org>
Reviewed by Maciej;
Build fix for non-Qt builds.
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::XMLTokenizer):
2007-10-31 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Fix dependency path to header files of the public API of the Qt port.
* WebCore.pro:
2007-10-31 Holger Freyther <zecke@selfish.org>
Reviewed by Simon.
* QXmlStreamNamespaceDeclaration doesn't have the constructor we
want to use for Qt4.3. Reenable the old code path which is likely
to be dead as I have not checked if m_prefixToNamespaceMap is actually
used.
* Guard the entity resolver with the QT_VERSION as well.
* Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::XMLTokenizer):
* dom/XMLTokenizer.h:
2007-10-31 Holger Freyther <zecke@selfish.org>
Reviewed by Lars Knoll <lars@trolltech.com>.
* QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3
* Provide a bad fallback implementation to filter the format list.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::clearData):
2007-10-31 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
add an entitiy resolver to QXmlStream.
Fixes fast/parser/entities-in-attributes.xhtml.
* dom/XMLTokenizer.cpp:
(WebCore::EntityResolver::resolveUndeclaredEntity):
(WebCore::XMLTokenizer::XMLTokenizer):
(WebCore::XMLTokenizer::~XMLTokenizer):
2007-10-31 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
Fixes in the XML tokenizer when using QXmlStream.
Use new functionality of QXmlStream in Qt 4.4 to simplify
the code (but keep the old code for now to still support Qt 4.3).
Add proper support for namespace handling when parsing into
a document fragment.
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::XMLTokenizer):
(WebCore::XMLTokenizer::write):
(WebCore::XMLTokenizer::startElementNs):
(WebCore::):
* dom/XMLTokenizer.h:
2007-10-31 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
add support for dragging images.
* platform/DragImage.h:
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::clearData):
(WebCore::ClipboardQt::setDragImage):
(WebCore::ClipboardQt::setDragImageElement):
(WebCore::ClipboardQt::createDragImage):
(WebCore::getCachedImage):
(WebCore::ClipboardQt::declareAndWriteDragImage):
* platform/qt/ClipboardQt.h:
2007-10-31 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
fix most of the issues I found with Clipboard and DnD.
* editing/qt/EditorQt.cpp:
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::ClipboardQt):
(WebCore::ClipboardQt::~ClipboardQt):
(WebCore::ClipboardQt::clearData):
(WebCore::ClipboardQt::clearAllData):
(WebCore::ClipboardQt::getData):
(WebCore::ClipboardQt::setData):
(WebCore::ClipboardQt::types):
(WebCore::ClipboardQt::setDragImage):
(WebCore::ClipboardQt::setDragImageElement):
(WebCore::ClipboardQt::declareAndWriteDragImage):
(WebCore::ClipboardQt::writeURL):
(WebCore::ClipboardQt::writeRange):
(WebCore::ClipboardQt::hasData):
* platform/qt/ClipboardQt.h:
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::asURL):
2007-10-30 Mark Rowe <mrowe@apple.com>
Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.
* platform/gtk/KeyEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::currentCapsLockState):
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::currentCapsLockState):
2007-10-31 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Anders.
http://bugs.webkit.org/show_bug.cgi?id=15762
XSLStylesheet loads subresources from a wrong URL
Covered by corrected existing tests.
* xml/XSLStyleSheet.cpp:
(WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
the document one.
2007-10-31 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=10818
String::append does 2 full copies instead of 1 (or zero!)
No change in functionality, thus no test.
* platform/String.cpp:
(WebCore::String::append): Rewrote to copy once. Also removed an ancient
FIXME that doesn't seem to make any sense. Note that append() behavior doesn't
match documented String behavior ("modifications to one instance will
also modify all others"), but there are a lot of methods that don't.
2007-10-31 Adam Roben <aroben@apple.com>
Windows build fix
* WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.
2007-10-30 Adam Roben <aroben@apple.com>
Windows build fixes
I'm not completely sure why these const issues weren't caught by GCC,
but MSVC was certainly not happy with them.
* editing/IndentOutdentCommand.cpp:
(WebCore::isIndentBlockquote):
* editing/markup.cpp:
(WebCore::styleFromMatchedRulesAndInlineDecl):
2007-10-30 David Hyatt <hyatt@apple.com>
transition-property was defaulting to all when it should default to none.
It was taking a string type. I figured out how to make it take an ident instead, so you can write:
transition-property: opacity
instead of
transition-property: "opacity"
Transition layers also weren't properly repeating patterns the way they were supposed to. I fixed that.
Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check.
Reviewed by aroben
* css/CSSHelper.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTransitionProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
* page/AnimationController.cpp:
(WebCore::ImplicitAnimation::animate):
* rendering/RenderStyle.cpp:
(WebCore::RenderStyle::adjustTransitions):
* rendering/RenderStyle.h:
(WebCore::RenderStyle::initialTransitionProperty):
2007-10-30 Antti Koivisto <antti@apple.com>
Reviewed by Geoff.
Leak fix
* platform/graphics/mac/MoviePrivateQTKit.mm:
(WebCore::MoviePrivate::getSupportedTypes):
2007-10-30 Dan Bernstein <mitz@apple.com>
Reviewed by Stephanie Lewis.
- fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
* platform/win/FontDataWin.cpp:
(WebCore::FontData::platformInit): Handle the case where the font has no
glyphs on page zero.
2007-10-30 David Hyatt <hyatt@apple.com>
Make sure CSS transforms can be animated using the CSS transition property.
Reviewed by Dan and Antti
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* page/AnimationController.cpp:
(WebCore::blendFunc):
(WebCore::ImplicitAnimation::animate):
* rendering/Length.h:
(WebCore::Length::blend):
* rendering/RenderStyle.cpp:
(WebCore::StyleTransformData::operator==):
(WebCore::TransformOperations::operator==):
(WebCore::blendLengths):
(WebCore::ScaleTransformOperation::blend):
(WebCore::RotateTransformOperation::blend):
(WebCore::SkewTransformOperation::blend):
(WebCore::TranslateTransformOperation::blend):
(WebCore::MatrixTransformOperation::blend):
* rendering/RenderStyle.h:
(WebCore::TransformOperations::operator!=):
(WebCore::TransformOperations::isEmpty):
(WebCore::TransformOperations::size):
(WebCore::TransformOperations::operator[]):
(WebCore::TransformOperations::append):
(WebCore::RenderStyle::transform):
(WebCore::RenderStyle::setTransform):
(WebCore::RenderStyle::initialTransform):
2007-10-30 Antti Koivisto <antti@apple.com>
Another Qt/GTK build fix.
* bindings/js/JSHTMLElementWrapperFactory.cpp:
2007-10-30 Antti Koivisto <antti@apple.com>
Attempt to fix Qt/GTK build.
* WebCore.pro:
2007-10-30 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
We were trying to insert a tab into a br, after the br incorrectly ended up inside
a tab span.
* editing/DeleteButtonController.cpp:
(WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
* editing/DeleteSelectionCommand.cpp:
(WebCore::isTableRow): Ditto.
* editing/IndentOutdentCommand.cpp:
(WebCore::isIndentBlockquote): Ditto.
(WebCore::isListOrIndentBlockquote): Ditto.
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
doApply here.
(WebCore::InsertLineBreakCommand::doApply):
Don't upstream() the insertion position. upstream()ing it will only have an effect
when the insertion position is the first in its paragraph (since we canonicalize
VisiblePositions to the upstream() candidate). In this start of paragraph case,
upstream() can move outside inline elements like tab spans or elements that might
have a different whitespace mode (added two test cases to cover these).
Moved code to decide whether to insert a br or a '\n' to its own method.
Removed special case code for inserting at a position inside a tab span. We instead
adjust the insertion position before insertion if it is inside a tab span and
handle insertion in the appropriate if-block. This fixes a bug where we would
only insert one line break when two were needed (added a testcase).
Removed special case code for inserting before and after tables and horizontal
rules. We handle these insertions in the appropriate if-block.
* editing/InsertLineBreakCommand.h:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
* editing/htmlediting.cpp:
(WebCore::isContentEditable): Ditto.
(WebCore::isBlock): Ditto.
(WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
that takes in a const Node*.
(WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
and not, say, a br.
* editing/htmlediting.h:
* editing/markup.cpp:
(WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
(WebCore::elementHasTextDecorationProperty): Ditto.
2007-10-30 Antti Koivisto <antti@apple.com>
Reviewed by NOBODY.
Add missing files.
* html/VoidCallback.cpp: Added.
(VoidCallback::VoidCallback):
(VoidCallback::~VoidCallback):
(VoidCallback::handleEvent):
(VoidCallback::execute):
(VoidCallback::operator==):
(WebCore::toVoidCallback):
* html/VoidCallback.h: Added.
* html/VoidCallback.idl: Added.
2007-10-30 David Kilzer <ddkilzer@webkit.org>
Generated files missing from WebCore's Xcode project file
<http://bugs.webkit.org/show_bug.cgi?id=15406>
Reviewed by Darin.
Added the following files to the Xcode project file (note that
JSHTMLInputElementBaseTable.cpp is used as a header file):
- DOMCSSStyleSheetPrivate.h
- DOMEventPrivate.h
- DOMHTMLCollectionPrivate.h
- DOMHTMLEmbedElementPrivate.h
- DOMHTMLIFrameElementPrivate.h
- DOMHTMLObjectElementPrivate.h
- DOMHTMLSelectElementPrivate.h
- DOMTextEventInternal.h
- JSHTMLInputElementBaseTable.cpp
* DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
since their generated code was not used.
* WebCore.xcodeproj/project.pbxproj: Added missing header files.
2007-10-29 Antti Koivisto <antti@apple.com>
Rubber stamped by Adele.
Initial media (<video> and <audio>) support from feature branch and
QTKit based platform implementation.
This will need to be updated to match current draft specification.
* Configurations/WebCore.xcconfig:
* DerivedSources.make:
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
(WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
(WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
(WebCore::JSHTMLAudioElementConstructor::construct):
* bindings/js/JSHTMLAudioElementConstructor.h: Added.
* bindings/js/JSHTMLElementWrapperFactory.cpp:
(WebCore::createJSHTMLWrapper):
* bindings/js/kjs_window.cpp:
(KJS::Window::getValueProperty):
* bindings/js/kjs_window.h:
(KJS::Window::):
* bindings/scripts/CodeGeneratorJS.pm:
* dom/Document.cpp:
(WebCore::Document::createEvent):
(WebCore::Document::willSaveToCache):
(WebCore::Document::didRestoreFromCache):
(WebCore::Document::registerForCacheCallbacks):
(WebCore::Document::unregisterForCacheCallbacks):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::setBooleanAttribute):
* dom/Element.h:
(WebCore::Element::willSaveToCache):
* dom/Event.cpp:
(WebCore::Event::isProgressEvent):
* dom/Event.h:
* dom/EventNames.h:
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchProgressEvent):
* dom/EventTargetNode.h:
* dom/ProgressEvent.cpp: Added.
(WebCore::ProgressEvent::ProgressEvent):
(WebCore::ProgressEvent::initProgressEvent):
(WebCore::ProgressEvent::initProgressEventNS):
* dom/ProgressEvent.h: Added.
(WebCore::ProgressEvent::lengthComputable):
(WebCore::ProgressEvent::loaded):
(WebCore::ProgressEvent::total):
(WebCore::ProgressEvent::isProgressEvent):
* dom/ProgressEvent.idl: Added.
* history/CachedPage.cpp:
(WebCore::CachedPage::CachedPage):
* html/HTMLAttributeNames.in:
* html/HTMLAudioElement.cpp: Added.
(WebCore::HTMLAudioElement::HTMLAudioElement):
* html/HTMLAudioElement.h: Added.
(WebCore::HTMLAudioElement::tagPriority):
* html/HTMLAudioElement.idl: Added.
* html/HTMLElement.cpp:
(WebCore::inlineTagList):
* html/HTMLElementFactory.cpp:
(WebCore::audioConstructor):
(WebCore::videoConstructor):
(WebCore::sourceConstructor):
(WebCore::createFunctionMap):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::setInputType):
(WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
(WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
* html/HTMLMediaElement.cpp: Added.
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::checkDTD):
(WebCore::HTMLMediaElement::rendererIsNeeded):
(WebCore::HTMLMediaElement::createRenderer):
(WebCore::HTMLMediaElement::insertedIntoDocument):
(WebCore::HTMLMediaElement::removedFromDocument):
(WebCore::HTMLMediaElement::scheduleLoad):
(WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
(WebCore::HTMLMediaElement::dispatchEventAsync):
(WebCore::HTMLMediaElement::loadTimerFired):
(WebCore::HTMLMediaElement::asyncEventTimerFired):
(WebCore::serializeTimeOffset):
(WebCore::parseTimeOffset):
(WebCore::HTMLMediaElement::getTimeOffsetAttribute):
(WebCore::HTMLMediaElement::setTimeOffsetAttribute):
(WebCore::HTMLMediaElement::error):
(WebCore::HTMLMediaElement::src):
(WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
(WebCore::HTMLMediaElement::currentSrc):
(WebCore::HTMLMediaElement::networkState):
(WebCore::HTMLMediaElement::bufferingRate):
(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::movieNetworkStateChanged):
(WebCore::HTMLMediaElement::movieReadyStateChanged):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::progressEventTimerFired):
(WebCore::HTMLMediaElement::seek):
(WebCore::HTMLMediaElement::readyState):
(WebCore::HTMLMediaElement::seeking):
(WebCore::HTMLMediaElement::currentTime):
(WebCore::HTMLMediaElement::setCurrentTime):
(WebCore::HTMLMediaElement::duration):
(WebCore::HTMLMediaElement::paused):
(WebCore::HTMLMediaElement::defaultPlaybackRate):
(WebCore::HTMLMediaElement::setDefaultPlaybackRate):
(WebCore::HTMLMediaElement::playbackRate):
(WebCore::HTMLMediaElement::setPlaybackRate):
(WebCore::HTMLMediaElement::ended):
(WebCore::HTMLMediaElement::autoplay):
(WebCore::HTMLMediaElement::setAutoplay):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::pause):
(WebCore::HTMLMediaElement::loopCount):
(WebCore::HTMLMediaElement::setLoopCount):
(WebCore::HTMLMediaElement::start):
(WebCore::HTMLMediaElement::setStart):
(WebCore::HTMLMediaElement::end):
(WebCore::HTMLMediaElement::setEnd):
(WebCore::HTMLMediaElement::loopStart):
(WebCore::HTMLMediaElement::setLoopStart):
(WebCore::HTMLMediaElement::loopEnd):
(WebCore::HTMLMediaElement::setLoopEnd):
(WebCore::HTMLMediaElement::currentLoop):
(WebCore::HTMLMediaElement::setCurrentLoop):
(WebCore::HTMLMediaElement::controls):
(WebCore::HTMLMediaElement::setControls):
(WebCore::HTMLMediaElement::volume):
(WebCore::HTMLMediaElement::setVolume):
(WebCore::HTMLMediaElement::muted):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::pickMedia):
(WebCore::HTMLMediaElement::checkIfSeekNeeded):
(WebCore::HTMLMediaElement::movieVolumeChanged):
(WebCore::HTMLMediaElement::movieDidEnd):
(WebCore::HTMLMediaElement::movieCuePointReached):
(WebCore::HTMLMediaElement::addCuePoint):
(WebCore::HTMLMediaElement::removeCuePoint):
(WebCore::HTMLMediaElement::buffered):
(WebCore::HTMLMediaElement::played):
(WebCore::HTMLMediaElement::seekable):
(WebCore::HTMLMediaElement::effectiveStart):
(WebCore::HTMLMediaElement::effectiveEnd):
(WebCore::HTMLMediaElement::effectiveLoopStart):
(WebCore::HTMLMediaElement::effectiveLoopEnd):
(WebCore::HTMLMediaElement::activelyPlaying):
(WebCore::HTMLMediaElement::endedPlayback):
(WebCore::HTMLMediaElement::willSaveToCache):
(WebCore::HTMLMediaElement::didRestoreFromCache):
* html/HTMLMediaElement.h: Added.
(WebCore::HTMLMediaElement::movie):
(WebCore::HTMLMediaElement::isVideo):
(WebCore::HTMLMediaElement::):
(WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
* html/HTMLMediaElement.idl: Added.
* html/HTMLSourceElement.cpp: Added.
(WebCore::HTMLSourceElement::HTMLSourceElement):
(WebCore::HTMLSourceElement::~HTMLSourceElement):
(WebCore::HTMLSourceElement::insertedIntoDocument):
(WebCore::HTMLSourceElement::src):
(WebCore::HTMLSourceElement::setSrc):
(WebCore::HTMLSourceElement::media):
(WebCore::HTMLSourceElement::setMedia):
(WebCore::HTMLSourceElement::type):
(WebCore::HTMLSourceElement::setType):
* html/HTMLSourceElement.h: Added.
(WebCore::HTMLSourceElement::endTagRequirement):
(WebCore::HTMLSourceElement::tagPriority):
* html/HTMLSourceElement.idl: Added.
* html/HTMLTagNames.in:
* html/HTMLVideoElement.cpp: Added.
(WebCore::HTMLVideoElement::HTMLVideoElement):
(WebCore::HTMLVideoElement::videoWidth):
(WebCore::HTMLVideoElement::videoHeight):
* html/HTMLVideoElement.h: Added.
(WebCore::HTMLVideoElement::tagPriority):
(WebCore::HTMLVideoElement::isVideo):
* html/HTMLVideoElement.idl: Added.
* html/MediaError.h: Added.
(WebCore::MediaError::):
(WebCore::MediaError::MediaError):
(WebCore::MediaError::code):
* html/MediaError.idl: Added.
* html/TimeRanges.cpp: Added.
(TimeRanges::TimeRanges):
(TimeRanges::start):
(TimeRanges::end):
(TimeRanges::add):
(TimeRanges::contain):
* html/TimeRanges.h: Added.
(WebCore::TimeRanges::TimeRanges):
(WebCore::TimeRanges::length):
(WebCore::TimeRanges::Range::Range):
* html/TimeRanges.idl: Added.
* page/DOMWindow.idl:
* platform/MIMETypeRegistry.cpp:
(WebCore::initialiseSupportedMovieMIMETypes):
(WebCore::initialiseMIMETypeRegistry):
(WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
(WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
* platform/MIMETypeRegistry.h:
* platform/graphics/Movie.cpp: Added.
(WebCore::Movie::Movie):
(WebCore::Movie::~Movie):
(WebCore::Movie::load):
(WebCore::Movie::cancelLoad):
(WebCore::Movie::play):
(WebCore::Movie::pause):
(WebCore::Movie::duration):
(WebCore::Movie::currentTime):
(WebCore::Movie::seek):
(WebCore::Movie::paused):
(WebCore::Movie::seeking):
(WebCore::Movie::naturalSize):
(WebCore::Movie::hasVideo):
(WebCore::Movie::networkState):
(WebCore::Movie::readyState):
(WebCore::Movie::volume):
(WebCore::Movie::setVolume):
(WebCore::Movie::rate):
(WebCore::Movie::setRate):
(WebCore::Movie::muted):
(WebCore::Movie::setMuted):
(WebCore::Movie::dataRate):
(WebCore::Movie::setEndTime):
(WebCore::Movie::addCuePoint):
(WebCore::Movie::removeCuePoint):
(WebCore::Movie::clearCuePoints):
(WebCore::Movie::maxTimeBuffered):
(WebCore::Movie::maxTimeSeekable):
(WebCore::Movie::bytesLoaded):
(WebCore::Movie::totalBytesKnown):
(WebCore::Movie::totalBytes):
(WebCore::Movie::setRect):
(WebCore::Movie::visible):
(WebCore::Movie::setVisible):
(WebCore::Movie::paint):
(WebCore::Movie::getSupportedTypes):
(WebCore::Movie::networkStateChanged):
(WebCore::Movie::readyStateChanged):
(WebCore::Movie::volumeChanged):
(WebCore::Movie::didEnd):
(WebCore::Movie::cuePointReached):
* platform/graphics/Movie.h: Added.
(WebCore::MovieClient::~MovieClient):
(WebCore::MovieClient::movieNetworkStateChanged):
(WebCore::MovieClient::movieReadyStateChanged):
(WebCore::MovieClient::movieVolumeChanged):
(WebCore::MovieClient::movieDidEnd):
(WebCore::MovieClient::movieCuePointReached):
(WebCore::Movie::parentWidget):
(WebCore::Movie::setParentWidget):
(WebCore::Movie::rect):
(WebCore::Movie::):
* platform/graphics/mac/MoviePrivateQTKit.h: Added.
* platform/graphics/mac/MoviePrivateQTKit.mm: Added.
(WebCore::MoviePrivate::MoviePrivate):
(WebCore::MoviePrivate::~MoviePrivate):
(WebCore::MoviePrivate::createQTMovie):
(WebCore::MoviePrivate::createQTMovieView):
(WebCore::MoviePrivate::createQTTime):
(WebCore::MoviePrivate::load):
(WebCore::MoviePrivate::play):
(WebCore::MoviePrivate::pause):
(WebCore::MoviePrivate::duration):
(WebCore::MoviePrivate::currentTime):
(WebCore::MoviePrivate::seek):
(WebCore::MoviePrivate::setEndTime):
(WebCore::MoviePrivate::addCuePoint):
(WebCore::MoviePrivate::removeCuePoint):
(WebCore::MoviePrivate::clearCuePoints):
(WebCore::MoviePrivate::startCuePointTimerIfNeeded):
(WebCore::MoviePrivate::cancelSeek):
(WebCore::MoviePrivate::seekTimerFired):
(WebCore::MoviePrivate::cuePointTimerFired):
(WebCore::MoviePrivate::paused):
(WebCore::MoviePrivate::seeking):
(WebCore::MoviePrivate::naturalSize):
(WebCore::MoviePrivate::hasVideo):
(WebCore::MoviePrivate::setVolume):
(WebCore::MoviePrivate::setMuted):
(WebCore::MoviePrivate::setRate):
(WebCore::MoviePrivate::dataRate):
(WebCore::MoviePrivate::networkState):
(WebCore::MoviePrivate::readyState):
(WebCore::MoviePrivate::maxTimeBuffered):
(WebCore::MoviePrivate::maxTimeSeekable):
(WebCore::MoviePrivate::maxTimeLoaded):
(WebCore::MoviePrivate::bytesLoaded):
(WebCore::MoviePrivate::totalBytesKnown):
(WebCore::MoviePrivate::totalBytes):
(WebCore::MoviePrivate::cancelLoad):
(WebCore::MoviePrivate::updateStates):
(WebCore::MoviePrivate::loadStateChanged):
(WebCore::MoviePrivate::rateChanged):
(WebCore::MoviePrivate::sizeChanged):
(WebCore::MoviePrivate::timeChanged):
(WebCore::MoviePrivate::volumeChanged):
(WebCore::MoviePrivate::didEnd):
(WebCore::MoviePrivate::setRect):
(WebCore::MoviePrivate::setVisible):
(WebCore::MoviePrivate::paint):
(WebCore::MoviePrivate::getSupportedTypes):
(-[WebCoreMovieObserver loadStateChanged:]):
(-[WebCoreMovieObserver rateChanged:]):
(-[WebCoreMovieObserver sizeChanged:]):
(-[WebCoreMovieObserver timeChanged:]):
(-[WebCoreMovieObserver volumeChanged:]):
(-[WebCoreMovieObserver didEnd:]):
(-[WebCoreMovieObserver setCallback:WebCore::]):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::collectLayers):
* rendering/RenderVideo.cpp: Added.
(WebCore::RenderVideo::RenderVideo):
(WebCore::RenderVideo::~RenderVideo):
(WebCore::RenderVideo::movie):
(WebCore::RenderVideo::videoSizeChanged):
(WebCore::RenderVideo::paint):
(WebCore::RenderVideo::layout):
(WebCore::RenderVideo::updateFromElement):
(WebCore::RenderVideo::updateMovie):
(WebCore::RenderVideo::isWidthSpecified):
(WebCore::RenderVideo::isHeightSpecified):
(WebCore::RenderVideo::calcReplacedWidth):
(WebCore::RenderVideo::calcReplacedHeight):
(WebCore::RenderVideo::calcAspectRatioWidth):
(WebCore::RenderVideo::calcAspectRatioHeight):
(WebCore::RenderVideo::calcPrefWidths):
* rendering/RenderVideo.h: Added.
(WebCore::RenderVideo::renderName):
2007-10-30 Sam Weinig <sam@webkit.org>
Reviewed by Adam Roben.
Add Interface and Class UUIDs to the IDLs in preparation of adding
autogeneration of the COM DOM bindings.
* bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
* css/CSSCharsetRule.idl:
* css/CSSFontFaceRule.idl:
* css/CSSImportRule.idl:
* css/CSSMediaRule.idl:
* css/CSSPageRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSRule.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleRule.idl:
* css/CSSStyleSheet.idl:
* css/CSSUnknownRule.idl:
* css/CSSValue.idl:
* css/CSSValueList.idl:
* css/Counter.idl:
* css/MediaList.idl:
* css/RGBColor.idl:
* css/Rect.idl:
* css/StyleSheet.idl:
* css/StyleSheetList.idl:
* dom/Attr.idl:
* dom/CDATASection.idl:
* dom/CharacterData.idl:
* dom/Comment.idl:
* dom/DOMImplementation.idl:
* dom/Document.idl:
* dom/DocumentFragment.idl:
* dom/DocumentType.idl:
* dom/Element.idl:
* dom/Entity.idl:
* dom/EntityReference.idl:
* dom/Event.idl:
* dom/EventListener.idl:
* dom/EventTarget.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeList.idl:
* dom/Notation.idl:
* dom/ProcessingInstruction.idl:
* dom/Text.idl:
* html/CanvasGradient.idl:
* html/CanvasPattern.idl:
* html/CanvasRenderingContext2D.idl:
* html/HTMLAnchorElement.idl:
* html/HTMLAppletElement.idl:
* html/HTMLAreaElement.idl:
* html/HTMLBRElement.idl:
* html/HTMLBaseElement.idl:
* html/HTMLBaseFontElement.idl:
* html/HTMLBlockquoteElement.idl:
* html/HTMLBodyElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLCollection.idl:
* html/HTMLDListElement.idl:
* html/HTMLDirectoryElement.idl:
* html/HTMLDivElement.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLFontElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLFrameSetElement.idl:
* html/HTMLHRElement.idl:
* html/HTMLHeadElement.idl:
* html/HTMLHeadingElement.idl:
* html/HTMLHtmlElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLImageElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLIsIndexElement.idl:
* html/HTMLLIElement.idl:
* html/HTMLLabelElement.idl:
* html/HTMLLegendElement.idl:
* html/HTMLLinkElement.idl:
* html/HTMLMapElement.idl:
* html/HTMLMarqueeElement.idl:
* html/HTMLMenuElement.idl:
* html/HTMLMetaElement.idl:
* html/HTMLModElement.idl:
* html/HTMLOListElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptGroupElement.idl:
* html/HTMLOptionElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLParagraphElement.idl:
* html/HTMLParamElement.idl:
* html/HTMLPreElement.idl:
* html/HTMLQuoteElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLStyleElement.idl:
* html/HTMLTableCaptionElement.idl:
* html/HTMLTableCellElement.idl:
* html/HTMLTableColElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLTitleElement.idl:
* html/HTMLUListElement.idl:
2007-10-30 Adele Peterson <adele@apple.com>
RS by Darin.
* page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
2007-10-29 Timothy Hatcher <timothy@apple.com>
Reviewed by John Sullivan.
- Allow showing and closing the inspector programatically.
- Add showConsole() and showTimeline() methods.
* WebCore.base.exp: Add exports for WebKit.
* page/InspectorController.cpp:
(WebCore::callSimpleFunction): Renamed from callClearFunction().
(WebCore::unloading): Renamed to close().
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspect): Moved showing code to show().
(WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
(WebCore::InspectorController::show): Code factored out of inspect().
(WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
(WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
(WebCore::InspectorController::close):
(WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction.
(WebCore::InspectorController::clearDatabaseScriptResources): Ditto.
(WebCore::InspectorController::clearScriptConsoleMessages): Ditto.
(WebCore::InspectorController::clearNetworkTimeline): Ditto.
* page/InspectorController.h: Add and rename methods.
* page/inspector/inspector.js: Add showConsole() and showTimeline().
2007-10-30 Adele Peterson <adele@apple.com>
Reviewed by Sam.
Build fix.
* page/AnimationController.cpp: (WebCore::blendFunc):
2007-10-30 Adele Peterson <adele@apple.com>
Reviewed by Darin.
WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
<rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
Test: manual-tests/password-caps-lock.html
* WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.
* page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
* page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
* page/EventHandler.h:
* platform/PlatformKeyboardEvent.h:
* platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
* platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
(WebCore::RenderTextControl::paint): Added. If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background.
(WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state.
(WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field,
and the frame is active, and the element is focused, and the caps lock is on. Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
* rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
* rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.
* rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added. Calls wkDrawCapsLockIndicator.
* rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added. Calls paintThemePart for the CapsLockPart.
* rendering/RenderThemeSafari.h:
2007-10-30 David Hyatt <hyatt@apple.com>
Land support for implicit animation in CSS.
Reviewed by mitz, darin
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTimingFunctionValue):
(WebCore::CSSParser::parseTransitionTimingFunction):
(WebCore::CSSParser::parseTransitionProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::mapTransitionDuration):
(WebCore::CSSStyleSelector::mapTransitionRepeatCount):
(WebCore::CSSStyleSelector::mapTransitionTimingFunction):
(WebCore::CSSStyleSelector::mapTransitionProperty):
* css/CSSTimingFunctionValue.h:
(WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::x1):
(WebCore::CSSTimingFunctionValue::y1):
(WebCore::CSSTimingFunctionValue::x2):
(WebCore::CSSTimingFunctionValue::y2):
* dom/Element.cpp:
(WebCore::Element::styleForRenderer):
(WebCore::Element::createRenderer):
* dom/Node.cpp:
(WebCore::Node::createRendererIfNeeded):
(WebCore::Node::setRenderStyle):
* page/AnimationController.cpp:
(WebCore::CurveData::CurveData):
(WebCore::CurveData::sampleCurveX):
(WebCore::CurveData::sampleCurveY):
(WebCore::CurveData::sampleCurveDerivativeX):
(WebCore::CurveData::solveCurveX):
(WebCore::solveEpsilon):
(WebCore::solveCubicBezierFunction):
(WebCore::ImplicitAnimation::finished):
(WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation):
(WebCore::CompositeImplicitAnimation::hasAnimationForProperty):
(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::~ImplicitAnimation):
(WebCore::ImplicitAnimation::reset):
(WebCore::ImplicitAnimation::progress):
(WebCore::blendFunc):
(WebCore::ImplicitAnimation::animate):
(WebCore::CompositeImplicitAnimation::animate):
(WebCore::CompositeImplicitAnimation::animating):
(WebCore::CompositeImplicitAnimation::reset):
(WebCore::AnimationControllerPrivate::hasImplicitAnimations):
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::get):
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::updateTimer):
(WebCore::AnimationControllerPrivate::timerFired):
(WebCore:::m_data):
(WebCore::AnimationController::~AnimationController):
(WebCore::AnimationController::cancelImplicitAnimations):
(WebCore::AnimationController::updateImplicitAnimations):
(WebCore::AnimationController::suspendAnimations):
(WebCore::AnimationController::resumeAnimations):
* page/AnimationController.h:
* page/Frame.cpp:
(WebCore::FramePrivate::FramePrivate):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::setStyle):
(WebCore::RenderBox::destroy):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setAnimatableStyle):
(WebCore::RenderObject::destroy):
* rendering/RenderObject.h:
* rendering/RenderStyle.h:
(WebCore::TimingFunction::TimingFunction):
(WebCore::TimingFunction::operator==):
(WebCore::TimingFunction::x1):
(WebCore::TimingFunction::y1):
(WebCore::TimingFunction::x2):
(WebCore::TimingFunction::y2):
(WebCore::TimingFunction::type):
(WebCore::Transition::transitionProperty):
(WebCore::Transition::setTransitionProperty):
(WebCore::RenderStyle::initialTransitionProperty):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::destroy):
2007-10-29 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
Fix for <rdar://problem/5399614> anchor tag is not rendered without
text content, works in Firefox with CSS background-image (13237)
This patch allows empty inlines that have box decorations or width
from border/padding/margin to have line boxes.
* rendering/bidi.cpp:
(WebCore::inlineFlowAllowsLineBox): Convenience function that
defines when we allow an inline flow to have a line box.
(WebCore::requiresLineBox): Call inlineFlowAllowsLineBox.
(WebCore::shouldSkipWhitespaceAfterStartObject): New function to
merge some shared code between list markers and empty inline flows
that fall at the beginning of a line.
(WebCore::RenderBlock::findNextLineBreak): Make flows more like
list markers.
One interesting side effect of this bug appeared in our xhtml/svg
tests that generate parser error tags. The tag we generate was
actually an empty inline with box decorations. This patch causes
those inlines to draw now, and the parser errors looked strange. So
I changed it so that the parsererror tag is display:block. This
matches Firefox, and I think was the original intent of the tag
since that causes its red background and border to show up.
* dom/XMLTokenizer.cpp:
(WebCore::createXHTMLParserErrorHeader):
2007-10-29 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix crashing tests fast/frames/inline-object-inside-frameset.html and
fast/forms/form-hides-table.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::destroy):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::destroy):
2007-10-29 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
- fix http://bugs.webkit.org/show_bug.cgi?id=15750
REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
Test: fast/backgrounds/size/zero.html
* platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::drawPattern): Added an ASSERT and an early return
to guard against singular pattern transforms.
* rendering/RenderBox.cpp:
(WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile
size of 1x1.
2007-10-29 Alp Toker <alp@atoker.com>
Reviewed by Maciej.
Add GTK+ convenience conversions for various primitives
* WebCore.pro:
* platform/graphics/Color.h:
* platform/graphics/IntPoint.h:
* platform/graphics/IntRect.h:
* platform/graphics/gtk/ColorGtk.cpp: Added.
(WebCore::Color::Color):
* platform/graphics/gtk/IntPointGtk.cpp: Added.
(WebCore::IntPoint::IntPoint):
(WebCore::IntPoint::operator GdkPoint):
* platform/graphics/gtk/IntRectGtk.cpp: Added.
(WebCore::IntRect::IntRect):
(WebCore::IntRect::operator GdkRectangle):
2007-10-29 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at
http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari
Beta for Mac)
I cannot reproduce this hang, but it is likely due to our not limiting
WM_USER+1 messages or InvalidateRect calls for a plugin with initially-
unknown MIME type. The embed tag on the page is missing a type
attribute, so as fallback, we choose to load the Flash plugin based on
the file extension of "swf." However, we do not record this determined
MIME type, and so our quirks cannot be established.
Changed findPlugin() so that, if it fails to find a plugin for the
given MIME type, it will lookup the MIME type for the file extension -
overwriting its passed MIME type parameter - and search for a plugin
for that MIME type.
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return
if the MIME type is empty
(WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace
pluginForExtension. Returns a String with the MIME type for the file
extension. Also, changed to use case-insensitive compares
(WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin
for the given extension, overwrite the incoming MIME type parameter
with the MIME type for the file extension, and search for a plugin for
that MIME type. Also, changed the way that the extension is determined
(WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String
to findPlugin() so that it can be updated if necessary
* plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non-
const String, removed definition of pluginForExtension, added
definition for MIMETypeForExtension
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackageWin::fetchInfo): Store the MIME type in
lowercase for easier compares
2007-10-29 Andrew Wellington <proton@wiretapped.net>
Not reviewed - build fix
Fix Mac Build.
WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized
in this function
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::parseErrorFunc):
2007-10-29 Alp Toker <alp@atoker.com>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15725
[GTK] WebCore.pro header dependencies are incorrect
Fix header dependencies in the build system
INCLUDEPATH and DEPENDPATH are now up to date.
* WebCore.pro:
2007-10-29 Beth Dakin <bdakin@apple.com>
Build fix.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseTimingFunctionValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::mapTransitionTimingFunction):
2007-10-29 David Hyatt <hyatt@apple.com>
Land the back end for CSS animated property transitions. I am landing this in stages, so the AnimationController
class is deliberately left empty.
Reviewed by darin/aroben
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPropertyNames.in:
* css/CSSTimingFunctionValue.cpp: Added.
(WebCore::CSSTimingFunctionValue::cssText):
* css/CSSTimingFunctionValue.h: Added.
(WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::firstPoint):
(WebCore::CSSTimingFunctionValue::secondPoint):
* css/CSSValueKeywords.in:
* history/CachedPage.cpp:
(WebCore::CachedPage::restore):
* page/AnimationController.cpp: Added.
(WebCore::AnimationController::AnimationController):
(WebCore::AnimationController::~AnimationController):
(WebCore::AnimationController::cancelTransitions):
(WebCore::AnimationController::updateTransitions):
(WebCore::AnimationController::suspendAnimations):
(WebCore::AnimationController::resumeAnimations):
* page/AnimationController.h: Added.
* page/Frame.cpp:
(WebCore::Frame::animationController):
(WebCore::Frame::clearTimers):
* page/Frame.h:
* page/FramePrivate.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::setStyle):
(WebCore::RenderBox::destroy):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::animationController):
* rendering/RenderObject.h:
* rendering/RenderStyle.cpp:
(WebCore::Transition::Transition):
(WebCore::Transition::~Transition):
(WebCore::Transition::operator=):
(WebCore::Transition::operator==):
(WebCore::Transition::fillUnsetProperties):
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
(WebCore::RenderStyle::diff):
(WebCore::RenderStyle::adjustTransitions):
(WebCore::RenderStyle::accessTransitions):
* rendering/RenderStyle.h:
(WebCore::BackgroundLayer::next):
(WebCore::):
(WebCore::TimingFunction::TimingFunction):
(WebCore::TimingFunction::operator==):
(WebCore::Transition::next):
(WebCore::Transition::isTransitionDurationSet):
(WebCore::Transition::isTransitionRepeatCountSet):
(WebCore::Transition::isTransitionTimingFunctionSet):
(WebCore::Transition::isTransitionPropertySet):
(WebCore::Transition::isEmpty):
(WebCore::Transition::clearTransitionDuration):
(WebCore::Transition::clearTransitionRepeatCount):
(WebCore::Transition::clearTransitionTimingFunction):
(WebCore::Transition::clearTransitionProperty):
(WebCore::Transition::transitionDuration):
(WebCore::Transition::transitionRepeatCount):
(WebCore::Transition::transitionTimingFunction):
(WebCore::Transition::transitionProperty):
(WebCore::Transition::setTransitionDuration):
(WebCore::Transition::setTransitionRepeatCount):
(WebCore::Transition::setTransitionTimingFunction):
(WebCore::Transition::setTransitionProperty):
(WebCore::Transition::setNext):
(WebCore::Transition::operator!=):
(WebCore::RenderStyle::transitions):
(WebCore::RenderStyle::clearTransitions):
(WebCore::RenderStyle::inheritTransitions):
(WebCore::RenderStyle::initialTransitionDuration):
(WebCore::RenderStyle::initialTransitionRepeatCount):
(WebCore::RenderStyle::initialTransitionTimingFunction):
(WebCore::RenderStyle::initialTransitionProperty):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::destroy):
2007-10-29 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=6040
XSLT does not report errors to the user
Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet.
Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console
output. Got rid of DeprecatedString in XSLTProcessor.
* dom/Document.cpp:
(WebCore::Document::applyXSLTransform):
* xml/XSLStyleSheet.cpp:
(WebCore::XSLStyleSheet::parseString):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::parseErrorFunc):
(WebCore::docLoaderFunc):
(WebCore::setXSLTLoadCallBack):
(WebCore::writeToString):
(WebCore::saveResultToString):
(WebCore::transformTextStringToXHTMLDocumentString):
(WebCore::xsltParamArrayFromParameterMap):
(WebCore::freeXsltParamArray):
(WebCore::XSLTProcessor::createDocumentFromSource):
(WebCore::createFragmentFromSource):
(WebCore::xsltStylesheetPointer):
(WebCore::xmlDocPtrFromNode):
(WebCore::resultMIMEType):
(WebCore::XSLTProcessor::transformToString):
(WebCore::XSLTProcessor::transformToDocument):
(WebCore::XSLTProcessor::transformToFragment):
* xml/XSLTProcessor.h:
(WebCore::XSLTProcessor::setXSLStylesheet):
(WebCore::XSLTProcessor::importStylesheet):
(WebCore::XSLTProcessor::xslStylesheet):
2007-10-29 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
- fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
Test: fast/repaint/layout-state-only-positioned.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state
before updating scroll info, which possibly repaints us.
2007-10-29 David Kilzer <ddkilzer@webkit.org>
REGRESSION (r17701): Favicons should be viewable as image documents
<http://bugs.webkit.org/show_bug.cgi?id=15640>
Reviewed by Darin.
On Tiger and Leopard, the image/x-icon MIME type is not returned from
CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused
the icon to be downloaded instead being displayed in an image document.
Test: fast/images/favicon-as-image.html
* platform/MIMETypeRegistry.cpp:
(WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to
supportedImageMIMETypes and supportedImageResourceMIMETypes. Also fixed
comment about the image/bmp MIME type since it applies to both Tiger and
Leopard.
2007-10-29 Maciej Stachowiak <mjs@apple.com>
Reviewed by Mark.
- fixed assertion failures detected by the new assertions
* bindings/objc/DOMRGBColor.mm:
(-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc]
because it's not a pointer and shouldn't be in the normal wrapper cache.
* dom/Document.cpp:
(WebCore::Document::addImageMap): Don't access hashmap if name is null.
(WebCore::Document::removeImageMap): ditto
* dom/StyledElement.cpp:
(WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class
when the class attribute is empty.
* platform/TextCodecICU.cpp:
(WebCore::gbkCallbackEscape): Don't look up 0 code points.
2007-10-28 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=10734
Made HTMLOptionElement.index read-only, matching IE and DOM standard.
Test: fast/dom/HTMLOptionElement/set-option-index-text.html
* html/HTMLOptionElement.idl: Marked index as readonly.
* html/HTMLOptionElement.cpp:
* html/HTMLOptionElement.h:
Removed setIndex().
2007-10-28 Eric Seidel <eric@webkit.org>
Reviewed by darin.
Fix leaks on TOT and prevent Path code from logging to console so frequently
* platform/graphics/svg/SVGResourceFilter.h:
(WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData):
(WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData):
* platform/graphics/svg/cg/CgSupport.cpp:
(WebCore::strokeBoundingBox):
* platform/graphics/svg/cg/SVGResourceFilterCg.mm:
* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
2007-10-28 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
Replace uses of isNaN and isInf with isnan and isinf.
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::setLength):
2007-10-28 Maciej Stachowiak <mjs@apple.com>
Reviewed by Mark.
- fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad
http://bugs.webkit.org/show_bug.cgi?id=15731
* bindings/js/kjs_window.cpp:
(KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys.
(KJS::Window::clearTimeout): ditto
* manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible.
2007-10-28 Kevin Ollivier <kevino@theolliviers.com>
wx port defines for graphics and network layers.
Reviewed by Darin Adler.
* platform/graphics/AffineTransform.h:
* platform/graphics/BitmapImage.h:
* platform/graphics/Color.h:
* platform/graphics/FloatRect.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/ImageSource.h:
* platform/graphics/IntPoint.h:
* platform/graphics/IntRect.h:
* platform/graphics/Path.h:
* platform/graphics/Pen.h:
* platform/network/ResourceHandle.h:
2007-10-28 Alp Toker <alp@atoker.com>
Reviewed by Anders Carlsson.
http://bugs.webkit.org/show_bug.cgi?id=14124
[CURL] Support data URLs
Add data URL support (both Base64 and percent-encoded formats).
Inspired by code from the Qt port.
* platform/Base64.cpp:
(WebCore::base64Decode):
* platform/Base64.h:
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::startScheduledJobs):
(WebCore::parseDataUrl):
2007-10-28 Alp Toker <alp@atoker.com>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15701
The curl http backend does not deal properly with redirects
Implement http redirect support.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback):
2007-10-28 Kevin Ollivier <kevino@theolliviers.com>
Define types and accessors needed for wx implementation
of platform classes. Also, turn off DisallowCTypes.h because
disallowed methods appear in wx headers.
Reviewed by Adam Roben.
* config.h:
* platform/ContextMenuItem.h:
* platform/Cursor.h:
* platform/DeprecatedString.h:
* platform/DragData.h:
* platform/DragImage.h:
* platform/FontData.h:
(WebCore::FontData::getWxFont):
* platform/GlyphBuffer.h:
(WebCore::GlyphBuffer::glyphAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::add):
* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::isWxCharEvent):
* platform/PlatformMenuDescription.h:
* platform/PlatformMouseEvent.h:
* platform/PlatformString.h:
* platform/PlatformWheelEvent.h:
* platform/ScrollView.h:
* platform/Widget.h:
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
* platform/image-decoders/gif/GIFImageReader.cpp:
* platform/image-decoders/ico/ICOImageDecoder.cpp:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
* platform/image-decoders/png/PNGImageDecoder.cpp:
* platform/image-decoders/xbm/XBMImageDecoder.cpp:
2007-10-28 Mark Rowe <mrowe@apple.com>
We don't include "config.h" in headers.
* dom/XMLTokenizer.h:
* platform/graphics/svg/SVGResourceFilter.h:
* platform/image-decoders/ImageDecoder.h:
* platform/wx/FontPlatformData.h:
2007-10-28 Darin Adler <darin@apple.com>
* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
We don't include "config.h" in headers. Hope this desn't break
the non-SVG build again.
2007-10-28 Eric Seidel <eric@webkit.org>
Build fix for non-SVG build, no review.
* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm:
2007-10-28 Eric Seidel <eric@webkit.org>
Reviewed by Oliver.
Push SVGResourceFilter platform specific data down into m_platformData
in preparation for implementing a non-mac filter solution.
Also update a very old email address in copyright headers
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FloatPoint3D.cpp:
(WebCore::FloatPoint3D::FloatPoint3D):
* platform/graphics/FloatPoint3D.h:
* platform/graphics/svg/SVGResourceFilter.cpp:
(WebCore::SVGResourceFilter::SVGResourceFilter):
* platform/graphics/svg/SVGResourceFilter.h:
(WebCore::SVGResourceFilter::platformData):
(WebCore::SVGResourceFilter::effects):
* platform/graphics/svg/cg/SVGResourceFilterCg.mm:
(WebCore::SVGResourceFilter::createPlatformData):l
(WebCore::SVGResourceFilter::prepareFilter):
(WebCore::SVGResourceFilter::applyFilter):
* platform/graphics/svg/filters/SVGDistantLightSource.h:
* platform/graphics/svg/filters/SVGFEBlend.cpp:
* platform/graphics/svg/filters/SVGFEBlend.h:
* platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
* platform/graphics/svg/filters/SVGFEColorMatrix.h:
* platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
* platform/graphics/svg/filters/SVGFEComponentTransfer.h:
* platform/graphics/svg/filters/SVGFEComposite.cpp:
* platform/graphics/svg/filters/SVGFEComposite.h:
* platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
* platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
* platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
* platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
* platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
* platform/graphics/svg/filters/SVGFEDisplacementMap.h:
* platform/graphics/svg/filters/SVGFEFlood.cpp:
* platform/graphics/svg/filters/SVGFEFlood.h:
* platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
* platform/graphics/svg/filters/SVGFEGaussianBlur.h:
* platform/graphics/svg/filters/SVGFEImage.cpp:
* platform/graphics/svg/filters/SVGFEImage.h:
* platform/graphics/svg/filters/SVGFEMerge.cpp:
* platform/graphics/svg/filters/SVGFEMerge.h:
* platform/graphics/svg/filters/SVGFEMorphology.cpp:
* platform/graphics/svg/filters/SVGFEMorphology.h:
* platform/graphics/svg/filters/SVGFEOffset.cpp:
* platform/graphics/svg/filters/SVGFEOffset.h:
* platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
* platform/graphics/svg/filters/SVGFESpecularLighting.h:
* platform/graphics/svg/filters/SVGFETile.h:
* platform/graphics/svg/filters/SVGFETurbulence.cpp:
* platform/graphics/svg/filters/SVGFETurbulence.h:
* platform/graphics/svg/filters/SVGFilterEffect.cpp:
* platform/graphics/svg/filters/SVGFilterEffect.h:
* platform/graphics/svg/filters/SVGLightSource.cpp:
* platform/graphics/svg/filters/SVGLightSource.h:
* platform/graphics/svg/filters/SVGPointLightSource.h:
* platform/graphics/svg/filters/SVGSpotLightSource.h:
* platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
(WebCore::SVGFEBlend::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
(WebCore::SVGFEColorMatrix::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
(WebCore::SVGFEComponentTransfer::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
(WebCore::SVGFEComposite::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
(WebCore::SVGFEDiffuseLighting::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
(WebCore::SVGFEDisplacementMap::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
(WebCore::SVGFEFlood::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
* platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
(WebCore::SVGFEImage::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
(WebCore::SVGFEMerge::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
(WebCore::SVGFESpecularLighting::getCIFilter):
* platform/graphics/svg/mac: Added.
* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added.
* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added.
(WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
(WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac):
(WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack):
(WebCore::alphaImageForImage):
(WebCore::SVGResourceFilterPlatformDataMac::imageForName):
(WebCore::SVGResourceFilterPlatformDataMac::setImageForName):
(WebCore::SVGResourceFilterPlatformDataMac::setOutputImage):
(WebCore::SVGResourceFilterPlatformDataMac::inputImage):
2007-10-28 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15217
Plugin complains that xpcom_core.dll missing
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll.
2007-10-28 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Pass the Document's domain to InspectorController:didOpenDatabase. This matches
what the Inspector shows for other resources.
* storage/Database.cpp:
(WebCore::Database::openDatabase):
* dom/Document.h: Remove KURL.h, no longer needed.
2007-10-28 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Bug 15728: Selected Resource background image gradient has banding
http://bugs.webkit.org/show_bug.cgi?id=15728
- Reduced images to 1px wide that are tiled horizontally in CSS.
- Corrected the -webkit-background-size usage to specify auto for the width.
* page/inspector/Images/attachedShadow.png:
* page/inspector/Images/bottomShadow.png:
* page/inspector/Images/darkShadow.png:
* page/inspector/Images/gradient.png:
* page/inspector/Images/gradientHighlight.png:
* page/inspector/Images/gradientHighlightBottom.png:
* page/inspector/Images/sidebarSelection.png:
* page/inspector/Images/sidebarSelectionBlurred.png:
* page/inspector/Images/sidebarSelectionBlurredTall.png:
* page/inspector/Images/sidebarSelectionGray.png:
* page/inspector/Images/sidebarSelectionGrayTall.png:
* page/inspector/Images/sidebarSelectionTall.png:
* page/inspector/inspector.css:
2007-10-27 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline
http://bugs.webkit.org/show_bug.cgi?id=15727
Add one window resize listener and call the new resize function on the currentPanel.
Also call the currentPanel's resize function when resizing the sidebar.
* page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when
the panel is shown and when resizing the DOM sidebar.
* page/inspector/FontPanel.js: Implement resize.
* page/inspector/NetworkPanel.js: Ditto.
* page/inspector/inspector.js: Add a window resize listener.
2007-10-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- update for HashTable changes
* bindings/js/JSSVGPODTypeWrapper.h:
* dom/Document.h:
* dom/QualifiedName.cpp:
* dom/StyledElement.cpp:
* ksvg2/svg/SVGAnimatedTemplate.h:
* platform/FontCache.cpp:
* platform/StringHash.h:
(WTF::):
* platform/TextEncodingRegistry.cpp:
* platform/graphics/IntSizeHash.h:
(WTF::):
* plugins/win/PluginPackageWin.h:
2007-10-28 Alp Toker <alp@atoker.com>
Reviewed by Adam Roben.
http://bugs.webkit.org/show_bug.cgi?id=15646
[GTK] caretBlinkFrequency is hard-coded in Frame.cpp
Abstract caretBlinkFrequency to RenderTheme.
* page/Frame.cpp:
(WebCore::Frame::selectionLayoutChanged):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::caretShouldBlink):
(WebCore::RenderThemeGtk::caretBlinkFrequency):
* platform/gtk/RenderThemeGtk.h:
* rendering/RenderTheme.h:
2007-10-27 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Don't print the line number in the Inspector Console if it is Zero.
* page/inspector/ConsolePanel.js:
2007-10-27 Sam Weinig <sam@webkit.org>
Reviewed by Adam Roben.
Fix http://bugs.webkit.org/show_bug.cgi?id=14953
Implement window.console in WebCore
- Adds a window.console object that has 4 methods (log, info, warn, and error)
that send messages to the Chrome. This moves functionality that was in the
app down into WebCore.
* DerivedSources.make:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorJS.pm: Add extended attribute
to mark attributes as [Replacable] which indicates they can
overridden when set.
* page/Chrome.cpp:
(WebCore::Chrome::addMessageToConsole): Allow all messages to go
up to the ChromeClient.
* page/Console.cpp: Added.
(WebCore::Console::Console):
(WebCore::Console::disconnectFrame):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::warn):
* page/Console.h: Added.
* page/Console.idl: Added.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::console):
* page/DOMWindow.h:
* page/DOMWindow.idl:
2007-10-27 Eric Seidel <eric@webkit.org>
Reviewed by aroben.
Remove legacy createFilterEffect function (causing extra filter tests to fail on windows)
No functional changes, thus no tests.
* ksvg2/svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::filterEffect):
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::filterEffect):
* ksvg2/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::filterEffect):
* ksvg2/svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::filterEffect):
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::filterEffect):
* ksvg2/svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::filterEffect):
* ksvg2/svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::filterEffect):
* ksvg2/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::filterEffect):
* ksvg2/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::filterEffect):
* ksvg2/svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::filterEffect):
* ksvg2/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::filterEffect):
* ksvg2/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::filterEffect):
* ksvg2/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::filterEffect):
* ksvg2/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::filterEffect):
* platform/graphics/svg/SVGResourceFilter.h:
* platform/graphics/svg/cg/SVGResourceFilterCg.cpp:
* platform/graphics/svg/cg/SVGResourceFilterCg.mm:
* platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
2007-10-27 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix a crash when opening Zenoss server history view
<rdar://problem/5530657>
Test: fast/table/colgroup-relative.html
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState): Added a hasLayer() check before
accessing layer().
2007-10-27 Julien <julien.chaffraix@gmail.com>
Reviewed by Alexey.
http://bugs.webkit.org/show_bug.cgi?id=13141
XMLHttpRequest should set readyState to 0 after abort()
Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::abort):
2007-10-27 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix rotated border images by using a temporary subimage containing
only the part we want to tile
Test: fast/borders/border-image-rotate-transform.html
* platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::drawPatternCallback):
(WebCore::Image::drawPattern):
2007-10-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=15722
[GTK] Refactor gtk/RenderThemeGtk and implement a few more methods
Refactor/enhance GTK RenderTheme
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances
(WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported
(WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports
(WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports
(WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton
(WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton
(WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so
(WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs
(WebCore::RenderThemeGtk::adjustTextFieldStyle):
(WebCore::RenderThemeGtk::getThemeData):
* platform/gtk/RenderThemeGtk.h:
(WebCore::RenderThemeGtk::supportsControlTints):
2007-10-27 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15555
XMLHttpRequest does not support charset "x-user-defined", which can
facilitate loading of binary data
Test: http/tests/xmlhttprequest/binary-x-user-defined.html
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/TextCodecUserDefined.cpp: Added.
(WebCore::TextCodecUserDefined::registerEncodingNames):
(WebCore::newStreamingTextDecoderUserDefined):
(WebCore::TextCodecUserDefined::registerCodecs):
(WebCore::TextCodecUserDefined::decode):
(WebCore::encodeComplexUserDefined):
(WebCore::TextCodecUserDefined::encode):
* platform/TextCodecUserDefined.h: Added.
* platform/TextEncodingRegistry.cpp:
(WebCore::buildBaseTextCodecMaps):
2007-10-27 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15467
Setting innerHTML to blank string in application/xhtml+xml mode
throws DOM Exception 7
Test: fast/dom/blank-innerHTML.xhtml
* dom/XMLTokenizer.cpp:
(WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty.
2007-10-26 Sam Weinig <sam@webkit.org>
Enable dragging the left sidebar using the separator.
Reviewed by Anders (unless Mitz says otherwise).
* page/inspector/DocumentPanel.js:
* page/inspector/inspector.css:
* page/inspector/inspector.html:
* page/inspector/inspector.js:
2007-10-26 Sam Weinig <sam@webkit.org>
Fix an off by one error when resizing the Inspector find window.
Reviewed by Hyatt.
* page/inspector/inspector.js:
2007-10-26 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Adam.
Fix fallout from r26072, which leads to all plugin streams for local
resources being cancelled
* loader/win/NetscapePlugInStreamLoaderWin.cpp:
(WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this
is an HTTP response before checking the HTTP response code
2007-10-26 David Hyatt <hyatt@apple.com>
Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly
when only translation changes.
Move the updating of the transform to in between the old repaint and the new repaint.
Reviewed by mitz
fast/repaint/transform-translate.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
2007-10-26 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Darin.
<rdar://5557379> Crash in Silverlight when opening microsoft.com
The crash is within Silverlight, and the latest version of the plugin
does not exhibit this crash, so just avoid loading this version of the
plugin.
* plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and
constants silverlightPluginMinRequiredVersionMSDWORD and
silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from
the version info of Silverlight 1.0.20926.0, which is a version known
not to exhibit this crash
(WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether
this plugin is blacklisted
* plugins/win/PluginDatabaseWin.h:
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion*
(WebCore::PluginPackageWin::getFileVersion):
(WebCore::PluginPackageWin::storeFileVersion): Read version info for
the plugin, and store the file version
(WebCore::PluginPackageWin::fetchInfo): After determining the name,
description, and file version, determine whether this plug-in is
blacklisted. If so, return false so this plug-in isn't loaded
* plugins/win/PluginPackageWin.h:
2007-10-26 Sam Weinig <sam@webkit.org>
Reviewed by Adele Peterson.
Fix for <rdar://problem/5421754>
m_frameName member variable in HTMLPlugInElement unnecessary
- Refactor the willRemove() method down into HTMLFrameOwnerElement now that
we no longer need to use the m_frameName variable.
* html/HTMLFrameElementBase.cpp:
* html/HTMLFrameElementBase.h:
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::willRemove):
* html/HTMLFrameOwnerElement.h:
* html/HTMLPlugInElement.cpp:
* html/HTMLPlugInElement.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::requestObject):
2007-10-26 Adele Peterson <adele@apple.com>
Export _wkDrawCapsLockIndicator.
* WebCore.base.exp:
2007-10-26 Adele Peterson <adele@apple.com>
Reviewed by Oliver.
Adding WebKitSystemInterface support for the caps lock indicator
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2007-10-26 Tristan O'Tierney <tristan@apple.com>
Reviewed by Darin Adler.
<rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/
The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect
but failed to account for bounds checking (instead replaced with bounds clipping). This caused issues
when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of
setting window bounds to NaN before an update occurs.
Test: fast/dom/Window/window-resize-nan.html
* bindings/js/kjs_window.cpp:
(KJS::adjustWindowRect):
Added a new parameter, pendingChanges, which takes pending changes to the window
rect, and if they are valid (not NaN) sets them on window.
(KJS::WindowFunc::callAsFunction):
Adjusted uses of adjustWindowRect to take new update parameter.
2007-10-26 Sam Weinig <sam@webkit.org>
Reviewed by Tim Hatcher.
Fix for http://bugs.webkit.org/show_bug.cgi?id=15175
Cannot copy text of errors from Web Inspector from Console view
* page/inspector/inspector.css: add -webkit-user-select: text for console messages.
2007-10-26 Sam Weinig <sam@webkit.org>
Reviewed by Tim Hatcher.
Fix for http://bugs.webkit.org/show_bug.cgi?id=15446
Web Inspector find window is not resizable
- Adds ability to resize the find window.
- Fixes bug that messed up the find window when resizing the left sidebar.
* page/inspector/inspector.css:
* page/inspector/inspector.html:
* page/inspector/inspector.js:
2007-10-26 Ada Chan <adachan@apple.com>
Update m_current index after we've removed an item:
- if item removed is before m_current, decrement m_current
- if the current item is removed, make sure m_current is within bounds.
Reviewed by Darin.
* history/BackForwardList.cpp:
(WebCore::BackForwardList::removeItem):
2007-10-26 Mark Rowe <mrowe@apple.com>
Debug build fix.
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::~KJSProxy):
2007-10-26 Maciej Stachowiak <mjs@apple.com>
No review, build fix.
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject throwException:]):
(-[WebScriptObject setException:]):
2007-10-26 Maciej Stachowiak <mjs@apple.com>
Rubber Stamped by Mark.
- fix build
* bridge/mac/WebCoreScriptDebugger.mm:
(-[WebCoreScriptCallFrame scopeChain]):
(-[WebCoreScriptCallFrame functionName]):
(-[WebCoreScriptCallFrame evaluateWebScript:]):
2007-10-26 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- update for JavaScriptCore header changes
* bindings/objc/WebScriptObject.mm:
* bridge/mac/WebCoreScriptDebugger.mm:
2007-10-26 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=15693
[GTK] Paging does not work when widget is added to a GtkScrolledWindow
Eliminate MagicGtkScrollConstant in favour of the same calculations as
GtkTextView for step and page increments. This also makes paging work,
as the page increment was previously always 0.
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::updateScrollbars):
2007-10-25 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt and Sam Weinig.
Build fix
* platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::drawPattern):
2007-10-23 Jan Michael Alonzo <jmalonzo@unpluggable.com>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=15656
[GTK] Implement WebCore::Widget::isEnabled/setEnabled
* platform/gtk/WidgetGtk.cpp:
(WebCore::Widget::isEnabled):
(WebCore::Widget::setEnabled): Implemented.
2007-10-25 David Hyatt <hyatt@apple.com>
Fix for bug 15672, background images don't tile properly inside transforms. This patch fixes background
tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms.
Reviewed by aroben and mitz
* WebCore.base.exp:
* platform/graphics/Image.cpp:
(WebCore::Image::setData):
* platform/graphics/cg/ImageCG.cpp:
(WebCore::ImageInfo::ImageInfo):
(WebCore::Image::drawPatternCallback):
(WebCore::Image::drawPattern):
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2007-10-25 Brady Eidson <beidson@apple.com>
Blind build fix attempt
* WebCore.pro:
2007-10-25 Brady Eidson <beidson@apple.com>
Reviewed by Anders and Sam
Bulk rename of platform/sql/SQL* to platform/sql/SQLite*
This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously
tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in
the HTML5 database API which we are adopting.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::iconDatabaseSyncThread):
(WebCore::databaseVersionNumber):
(WebCore::isValidDatabase):
(WebCore::createDatabaseTables):
(WebCore::IconDatabase::performOpenInitialization):
(WebCore::IconDatabase::checkIntegrity):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::writeToDatabase):
(WebCore::IconDatabase::pruneUnretainedIcons):
(WebCore::IconDatabase::checkForDanglingPageURLs):
(WebCore::IconDatabase::imported):
(WebCore::IconDatabase::setImported):
(WebCore::readySQLiteStatement):
(WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
(WebCore::IconDatabase::removePageURLFromSQLDatabase):
(WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
(WebCore::IconDatabase::addIconURLToSQLDatabase):
(WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
(WebCore::IconDatabase::removeIconFromSQLDatabase):
(WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
* loader/icon/IconDatabase.h:
* loader/icon/IconRecord.cpp:
* platform/sql/SQLAuthorizer.cpp: Removed.
* platform/sql/SQLAuthorizer.h: Removed.
* platform/sql/SQLDatabase.cpp: Removed.
* platform/sql/SQLDatabase.h: Removed.
* platform/sql/SQLStatement.cpp: Removed.
* platform/sql/SQLStatement.h: Removed.
* platform/sql/SQLTransaction.cpp: Removed.
* platform/sql/SQLTransaction.h: Removed.
* platform/sql/SQLiteAuthorizer.cpp: Copied from platform/sql/SQLAuthorizer.cpp.
* platform/sql/SQLiteAuthorizer.h: Copied from platform/sql/SQLAuthorizer.h.
(WebCore::SQLiteAuthorizer::~SQLiteAuthorizer):
* platform/sql/SQLiteDatabase.cpp: Copied from platform/sql/SQLDatabase.cpp.
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::~SQLiteDatabase):
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::setFullsync):
(WebCore::SQLiteDatabase::setSynchronous):
(WebCore::SQLiteDatabase::setBusyTimeout):
(WebCore::SQLiteDatabase::setBusyHandler):
(WebCore::SQLiteDatabase::executeCommand):
(WebCore::SQLiteDatabase::returnsAtLeastOneResult):
(WebCore::SQLiteDatabase::tableExists):
(WebCore::SQLiteDatabase::clearAllTables):
(WebCore::SQLiteDatabase::runVacuumCommand):
(WebCore::SQLiteDatabase::lastInsertRowID):
(WebCore::SQLiteDatabase::lastChanges):
(WebCore::SQLiteDatabase::lastError):
(WebCore::SQLiteDatabase::lastErrorMsg):
(WebCore::SQLiteDatabase::authorizerFunction):
(WebCore::SQLiteDatabase::setAuthorizer):
(WebCore::SQLiteDatabase::lock):
(WebCore::SQLiteDatabase::unlock):
* platform/sql/SQLiteDatabase.h: Copied from platform/sql/SQLDatabase.h.
* platform/sql/SQLiteStatement.cpp: Copied from platform/sql/SQLStatement.cpp.
(WebCore::SQLiteStatement::SQLiteStatement):
(WebCore::SQLiteStatement::~SQLiteStatement):
(WebCore::SQLiteStatement::prepare):
* platform/sql/SQLiteStatement.h: Copied from platform/sql/SQLStatement.h.
(WebCore::SQLiteStatement::database):
* platform/sql/SQLiteTransaction.cpp: Copied from platform/sql/SQLTransaction.cpp.
(WebCore::SQLiteTransaction::SQLiteTransaction):
(WebCore::SQLiteTransaction::~SQLiteTransaction):
(WebCore::SQLiteTransaction::begin):
(WebCore::SQLiteTransaction::commit):
(WebCore::SQLiteTransaction::rollback):
* platform/sql/SQLiteTransaction.h: Copied from platform/sql/SQLTransaction.h.
* storage/Database.cpp:
(WebCore::retrieveTextResultFromDatabase):
(WebCore::setTextValueInDatabase):
(WebCore::Database::performExecuteSql):
(WebCore::Database::performGetTableNames):
(WebCore::Database::executeSql):
* storage/Database.h:
* storage/DatabaseAuthorizer.h:
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::populateOrigins):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::addDatabase):
* storage/DatabaseTracker.h:
2007-10-25 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15650
XML attribute nodes are not importable
Tests: fast/dom/import-attribute-node.html
fast/dom/import-document-fragment.html
* dom/Document.cpp:
(WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes.
2007-10-25 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15362
<rdar://problem/5558715> Safari Crashes when opening a JS TreeGrid widget
Test: fast/dynamic/insert-before-table-part-in-continuation.html
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::addChildWithContinuation): If beforeChild's
parent is an anonymous table part, let the table figure out where to
insert the new child.
2007-10-25 Alp Toker <alp@atoker.com>
Reviewed by Brady.
http://bugs.webkit.org/show_bug.cgi?id=15686
GtkLauncher aborts on launch due to uninitialized threading subsystem
Re-enable database support in the GTK+ port, with a fix.
* WebCore.pro:
2007-10-25 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Steve.
<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page
Previous patch erroneously compared a path and a
path-including-filename. This corrects that. It also caches the result
of safariPluginsPath() and uses shell API funcs for determining filename
and parent directory from a full path.
* ChangeLog:
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::safariPluginsPath): Cache return value. Use API functions to
build the path
(WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's
parent directory, not full path
(WebCore::PluginDatabaseWin::pluginForExtension): Same
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
* plugins/win/PluginPackageWin.h:
(WebCore::PluginPackageWin::parentDirectory):
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::didReceiveData):
2007-10-25 Alp Toker <alp@atoker.com>
Unreviewed fix to make the GTK+ port run.
http://bugs.webkit.org/show_bug.cgi?id=15686
GtkLauncher aborts on launch due to uninitialized threading subsystem
Disable database support until #15686 is fixed.
* WebCore.pro:
2007-10-25 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string.
* platform/qt/TextBreakIteratorQt.cpp:
(WebCore::wordBreakIterator):
(WebCore::characterBreakIterator):
(WebCore::lineBreakIterator):
(WebCore::sentenceBreakIterator):
2007-10-25 Holger Freyther <zecke@selfish.org>
Reviewed by Simon Hausmann <hausmann@kde.org>.
* We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
* libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
* This is causing some regressions...
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::XMLTokenizer):
(WebCore::XMLTokenizer::write):
(WebCore::XMLTokenizer::end):
* dom/XMLTokenizer.h:
2007-10-25 Holger Freyther <zecke@selfish.org>
Reviewed by Simon Hausmann <hausmann@kde.org>.
* fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
* Use the error message from Qt. It might or might not be translated.
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::WebCoreSynchronousLoader::didFail):
2007-10-25 Holger Freyther <zecke@selfish.org>
Reviewed by Simon Hausmann <hausmann@kde.org>.
* Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
* This should be thread-safe besides QWebNetworkJob::{ref,deref}
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously):
2007-10-25 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Add support for list box theme colors and styled menu list buttons.
Remove obsolete FIXMEs.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::RenderThemeGtk):
(WebCore::RenderThemeGtk::paintCheckbox):
(WebCore::RenderThemeGtk::paintRadio):
(WebCore::RenderThemeGtk::paintButton):
(WebCore::RenderThemeGtk::adjustMenuListStyle):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::gtkTreeView):
* platform/gtk/RenderThemeGtk.h:
2007-10-25 Eric Seidel <eric@webkit.org>
Reviewed by Geoff.
* bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/
2007-10-24 Eric Seidel <eric@webkit.org>
Reviewed by Maciej.
Make Window subclass from JSGlobalObject (for a .5% win in Sunspider)
http://bugs.webkit.org/show_bug.cgi?id=15681
No test cases necessary, no functional changes.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::ScriptInterpreter):
* bindings/js/kjs_binding.h:
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::initScriptIfNeeded):
* bindings/js/kjs_window.cpp:
(KJS::Window::Window):
* bindings/js/kjs_window.h:
* bindings/objc/WebScriptObject.mm:
(_didExecute):
* bridge/mac/WebCoreScriptDebugger.mm:
2007-10-24 Adam Roben <aroben@apple.com>
Add font database initialization code to WebCore
Reviewed by Ada.
* WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}.
* platform/win/FontDatabase.cpp: Added.
(WebCore::systemFontsDirectory):
(WebCore::fontsPlistPath):
(WebCore::systemHasFontsNewerThanFontsPlist):
(WebCore::readFontPlist):
(WebCore::populateFontDatabaseFromPlist):
(WebCore::populateFontDatabaseFromFileSystem):
(WebCore::writeFontDatabaseToPlist):
(WebCore::populateFontDatabase): This is the only function callable
from outside this file. It populates the font database once, either
from the fonts plist, or from the filesystem (and then saves a new
fonts plist).
* platform/win/FontDatabase.h: Added.
2007-10-24 Justin Garcia <justin.garcia@apple.com>
Reviewed by Darin Adler.
Correcting the fix for:
<rdar://problem/5544856>
REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
Made removal of the previous composition part of the current Undo step in the
case where the new composition is the empty string, too.
* editing/Editor.cpp:
(WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection,
which either has the currently open typing command delete the current selection, or
opens a new typing command (of type DeleteSelection) if one is not already open.
(WebCore::Editor::setComposition): Ditto.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteSelection): Added.
(WebCore::TypingCommand::doApply): Handle DeleteSelection.
(WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection
is called.
(WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
(WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection.
* editing/TypingCommand.h:
2007-10-24 Sam Weinig <sam@webkit.org>
Build fix.
* WebCore.vcproj/WebCore.vcproj:
2007-10-24 Alice Liu <alice.liu@apple.com>
Reviewed by Oliver.
Fix <rdar://5410959> editing/selection/drag-to-contenteditable-iframe.html fails on Windows
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::passMouseMoveEventToSubframe):
Some mouse move events are actually drags, which on mac return early from this function.
Adding the same logic to its Windows equivalent.
2007-10-24 Brady Eidson <beidson@apple.com>
Reviewed by Anders
<rdar://5554130> DatabaseTracker.o has a global initializer
Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable.
Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases
path is set.
* WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build
* storage/Database.cpp:
(WebCore::Database::~Database): Remove bogus assertion
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::DatabaseTracker): Does nothing now! Move this code to openTrackerDatabase
(WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed
(WebCore::DatabaseTracker::databasePath):
(WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor
(WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable
* storage/DatabaseTracker.h:
2007-10-24 David Hyatt <hyatt@apple.com>
Don't try to gap fill transformed selections. Fix the invalidation of selection to use the clip to visible content
code path so that it works with multi-column layouts and transforms.
Reviewed by aroben
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::fillSelectionGaps):
* rendering/RenderView.cpp:
(WebCore::RenderView::setSelection):
2007-10-24 Eric Seidel <eric@webkit.org>
No review, I want to tickle the CIA bot to test changes,
and took this as an opportunity to clean up some old change logs.
* ChangeLog-2005-08-23: update email address
* ChangeLog-2006-12-31: fix spelling mistakes
2007-10-24 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- add "(anonymous)" to the renderName of anonymous table cells, rows and sections
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::renderName):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::renderName):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::renderName):
2007-10-24 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Bug 15476: DOM tree fully expands some elements when arrowing up
http://bugs.webkit.org/show_bug.cgi?id=15476
Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option
is used only for the sidebar and search results.
* page/inspector/inspector.js: Opt-in for the sidebar and search results.
* page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass
this option to traverseNextTreeElement and traversePreviousTreeElement.
2007-10-24 Anders Carlsson <andersca@apple.com>
Reviewed by Geoff and Mitz.
<rdar://problem/5493833>
REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too)
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::markDOMNodesForDocument):
If an image element that is currently loading an image is not in the document,
it should still be marked.
* bindings/js/kjs_html.cpp:
(WebCore::ImageConstructorImp::construct):
Force the document wrapper to be created.
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::haveFiredLoadEvent):
New method which calls down to the image loader.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::HTMLImageLoader):
(WebCore::HTMLImageLoader::~HTMLImageLoader):
(WebCore::HTMLImageLoader::setLoadingImage):
(WebCore::HTMLImageLoader::dispatchLoadEvent):
Remove code that's not needed anymore.
* html/HTMLImageLoader.h:
(WebCore::HTMLImageLoader::haveFiredLoadEvent):
Make this public.
2007-10-23 Adam Roben <aroben@apple.com>
Move Windows safe file creation code into WebCore from WebPreferences
Reviewed by Brady.
* platform/FileSystem.h:
* platform/win/FileSystemWin.cpp:
(WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp.
2007-10-23 Adam Roben <aroben@apple.com>
Add methods to FileSystemWin to get some user profile directories
These directories are used to hold things like preferences, caches,
etc.
Reviewed by Brady.
* platform/FileSystem.h: Added new method declarations for Windows
only.
* platform/win/FileSystemWin.cpp:
(WebCore::bundleName): Added.
(WebCore::storageDirectory): Added.
(WebCore::cachedStorageDirectory): Added.
(WebCore::localUserSpecificStorageDirectory): Added. Returns the
directory where WebKit should store any user-specific data that should
stay local to the current machine (i.e., shouldn't be stored in a
roaming profile).
(WebCore::roamingUserSpecificStorageDirectory): Added. Returns the
directory where WebKit should store any user-specific data that should
move with the user from machine to machine (i.e., should be stored in
a roaming profile).
2007-10-24 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=15659
InlineTextBox does not setStrokeStyle() as needed
GraphicsContextCairo workaround to support a GraphicsContextCG quirk:
Save and restore the StrokeStyle manually.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForText):
2007-10-24 Julien Chaffraix <julien.chaffraix@gmail.com>
Reviewed by Darin.
Patch for http://bugs.webkit.org/show_bug.cgi?id=15356
Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions
- getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification
- Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour)
- Updated XMLHttpRequest::responseMIMEType() to keep its behaviour
Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html
http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html
http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::getAllResponseHeaders):
(WebCore::XMLHttpRequest::getResponseHeader):
(WebCore::XMLHttpRequest::responseMIMEType):
* xml/XMLHttpRequest.h:
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
implement most of DragData.
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::containsColor):
(WebCore::DragData::containsFiles):
(WebCore::DragData::asFilenames):
(WebCore::DragData::containsPlainText):
(WebCore::DragData::asPlainText):
(WebCore::DragData::asColor):
(WebCore::DragData::containsCompatibleContent):
(WebCore::DragData::containsURL):
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
remove a stupid notImplemented() warning and implement PasteBoad::clear().
* platform/qt/PasteboardQt.cpp:
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
implement Pasteboard::documentFragment(), and fix a mem leak.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::documentFragment):
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.
* platform/PlatformKeyboardEvent.h:
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
use the new QTextBoundaryFinder class in Qt.
* platform/qt/TextBoundaries.cpp:
(WebCore::findNextWordFromIndex):
(WebCore::findWordBoundary):
* platform/qt/TextBreakIteratorQt.cpp:
(WebCore::wordBreakIterator):
(WebCore::characterBreakIterator):
(WebCore::lineBreakIterator):
(WebCore::sentenceBreakIterator):
(WebCore::textBreakFirst):
(WebCore::textBreakNext):
(WebCore::textBreakPreceding):
(WebCore::textBreakFollowing):
(WebCore::textBreakCurrent):
(WebCore::isTextBreak):
2007-10-24 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15657
change static hash tables to use powers of two for speed
* bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format.
2007-10-24 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Make the implementation of pathByAppendingComponent use QDir.
* platform/qt/FileSystemQt.cpp:
2007-10-24 David Hyatt <hyatt@apple.com>
Make repainting work with transforms.
Reviewed by John Sullivan
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeAbsoluteRepaintRect):
2007-10-23 Alp Toker <alp@atoker.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=14412
[GDK] Clipboard support
Initial clipboard implementation for the GTK+ port.
* platform/gtk/ClipboardGtk.cpp:
(WebCore::Editor::newGeneralClipboard):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::~Pasteboard):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeImage):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::plainText):
* platform/gtk/TemporaryLinkStubs.cpp:
2007-10-23 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Fixes the Network panel so that it refreshes as needed.
* page/inspector/ConsolePanel.js: Call the base class show() and hide() first.
* page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto.
2007-10-23 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/5544856>
REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
No layout test for now because I'm having trouble getting Undo during a layout
test to only undo the last Undo step, and I want to write a test that fails
without the code change.
* editing/Editor.cpp:
(WebCore::Editor::confirmComposition): When we replace the previous composition,
delete it with a sub-command of the command used to insert the new composition,
instead of with a separate command. No new code was added because insertText
already deletes the current selection.
(WebCore::Editor::setComposition): Ditto.
2007-10-23 Adam Roben <aroben@apple.com>
Fix the behavior of pathByAppendingComponent when path is empty
We now use the Windows Shell API function PathAppendW instead of
rolling our own broken implementation.
Reviewed by Anders.
* platform/win/FileSystemWin.cpp:
(WebCore::pathByAppendingComponent):
2007-10-23 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872
Test: fast/forms/textfield-onchange-deletion.html
* html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.
2007-10-23 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam Weinig.
- Made seperate files for the various classes in ResourcePanel.js.
- Broke up ResourcePanel.js and created seperate panel classes for different resource types.
- Moved View code down to the Panel base-class.
- Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel.
* page/inspector/DatabasePanel.js:
* page/inspector/DocumentPanel.js: Added.
* page/inspector/FontPanel.js: Added.
* page/inspector/ImagePanel.js: Added.
* page/inspector/Panel.js: Added.
* page/inspector/PropertiesSection.js: Added.
* page/inspector/Resource.js:
* page/inspector/ResourcePanel.js:
* page/inspector/SidebarPane.js: Added.
* page/inspector/SourcePanel.js: Added.
* page/inspector/inspector.css:
* page/inspector/inspector.html:
* page/inspector/inspector.js:
2007-10-23 Anders Carlsson <andersca@apple.com>
Correct the version #if check.
* platform/sql/SQLDatabase.cpp:
(WebCore::SQLDatabase::authorizerFunction):
2007-10-23 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page
It is possible to load Mozilla's Java plugin instead of our own, which
can lead to a crash. The fix is to prefer plugins in our own Plugins
directory when searching for a plugin.
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::safariPluginsPath): Return the path to our own Plugins
directory
(WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method
safariPluginsPath()
(WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is
our Plugins path, return this plugin. Otherwise, continue scanning the
list of plugins
(WebCore::PluginDatabaseWin::pluginForExtension): Same
* plugins/win/PluginPackageWin.h:
(WebCore::PluginPackageWin::path): Return this plugin's path
2007-10-23 Jasper Bryant-Greene <m@ni.ac.nz>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15058
Precedence fault in KeyEventGdk causes shift, control, alt etc to work incorrectly
Corrected precendence fault which was causing Shift, Alt, Control and
Meta to behave incorrectly on GTK.
Coding style fix by Alp.
* platform/gtk/KeyEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2007-10-23 Sam Weinig <sam@webkit.org>
Reviewed by Tim Hatcher.
Add resizing of the DOM view right sidebar. This allows us to actually see the values now.
* page/inspector/ResourcePanel.js:
* page/inspector/inspector.css:
* page/inspector/inspector.js:
* page/inspector/utilities.js:
2007-10-23 David Hyatt <hyatt@apple.com>
Get basic hit testing right for transforms.
Reviewed by ollliej
* platform/graphics/AffineTransform.cpp:
(WebCore::AffineTransform::mapPoint):
* platform/graphics/AffineTransform.h:
* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hitTest):
* rendering/RenderObject.h:
2007-10-23 Eric Seidel <eric@webkit.org>
Reviewed by Mark Rowe.
Fix leaks seen on TOT from new font-face code.
* ksvg2/svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing
2007-10-23 Eric Seidel <eric@webkit.org>
Build fix only, no review.
Sacrifice three virgin hours upon the altar of the heathen XCode gods
and pray that our build troubles are finally over. :(
* DerivedSources.make: add DOMSVGException.h
* WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why? Who knows.
2007-10-22 Steve Falkenburg <sfalken@apple.com>
Fix build.
* plugins/win/PluginViewWin.cpp:
2007-10-22 Eric Seidel <eric@webkit.org>
Build fix only, no review.
* WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure.
2007-10-22 Eric Seidel <eric@webkit.org>
Build fix only, no review.
* WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers.
2007-10-22 Eric Seidel <eric@webkit.org>
Reviewed by Maciej.
Fix build by properly exposing SVG font-face dom bindings.
* DerivedSources.make:
* WebCore.vcproj/WebCore.vcproj: add font-face files to build
* WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
* bindings/js/JSSVGElementWrapperFactory.cpp:
* bindings/objc/DOM.mm:
(WebCore::createElementClassMap):
* bindings/objc/DOMSVG.h:
* ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement
2007-10-22 Mark Rowe <mrowe@apple.com>
Gtk build fix.
* WebCore.pro:
2007-10-22 Darin Adler <darin@apple.com>
- a first cut at fixing the Qt and GTK builds
* WebCore.pro: Add new .idl and .cpp files.
* DerivedSources.make: Re-sorted.
2007-10-22 Eric Seidel <eric@webkit.org>
Reviewed by hyatt.
Implement <font-face> and friends for SVG.
http://bugs.webkit.org/show_bug.cgi?id=10652
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGElementWrapperFactory.cpp:
* dom/Document.cpp:
(WebCore::Document::mappedElementSheet):
(WebCore::Document::recalcStyleSelector):
* dom/Document.h:
* ksvg2/scripts/make_names.pl:
* ksvg2/svg/SVGDefinitionSrcElement.cpp: Added.
(WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement):
(WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement):
(WebCore::SVGDefinitionSrcElement::childrenChanged):
* ksvg2/svg/SVGDefinitionSrcElement.h: Added.
* ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
* ksvg2/svg/SVGFontFaceElement.cpp: Added.
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
(WebCore::SVGFontFaceElement::~SVGFontFaceElement):
(WebCore::cssPropertyIdForName):
(WebCore::mapAttributeToCSSProperty):
(WebCore::cssPropertyIdForSVGAttributeName):
(WebCore::SVGFontFaceElement::parseMappedAttribute):
(WebCore::SVGFontFaceElement::rebuildFontFace):
(WebCore::SVGFontFaceElement::childrenChanged):
* ksvg2/svg/SVGFontFaceElement.h: Added.
* ksvg2/svg/SVGFontFaceElement.idl: Added.
* ksvg2/svg/SVGFontFaceFormatElement.cpp: Added.
(WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
(WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement):
(WebCore::SVGFontFaceFormatElement::childrenChanged):
* ksvg2/svg/SVGFontFaceFormatElement.h: Added.
* ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
* ksvg2/svg/SVGFontFaceNameElement.cpp: Added.
(WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
(WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement):
(WebCore::SVGFontFaceNameElement::srcValue):
* ksvg2/svg/SVGFontFaceNameElement.h: Added.
* ksvg2/svg/SVGFontFaceNameElement.idl: Added.
* ksvg2/svg/SVGFontFaceSrcElement.cpp: Added.
(WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
(WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement):
(WebCore::SVGFontFaceSrcElement::srcValue):
(WebCore::SVGFontFaceSrcElement::childrenChanged):
* ksvg2/svg/SVGFontFaceSrcElement.h: Added.
* ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
* ksvg2/svg/SVGFontFaceUriElement.cpp: Added.
(WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
(WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
(WebCore::SVGFontFaceUriElement::srcValue):
(WebCore::SVGFontFaceUriElement::childrenChanged):
* ksvg2/svg/SVGFontFaceUriElement.h: Added.
* ksvg2/svg/SVGFontFaceUriElement.idl: Added.
* ksvg2/svg/svgtags.in:
2007-10-22 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page
We purposefully do not destroy our Java VM when its reference count
reaches 0, but we were unloading our JavaPlugin.dll when its reference
count reached 0, which lost the reference to the VM. This led to our
process trying to create a new VM the next time a page using Java was
loaded, and the JNI spec states that a single process is not allowed to
create more than one VM. The fix is to avoid unloading the Java plugin
via our PluginQuirkDontUnloadPlugin.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::determineQuirks):
2007-10-22 David Hyatt <hyatt@apple.com>
Fix for bug 15624, make transforms work properly with opacity.
Make sure a unitless 0 is allowed as an angle argument to rotation/skew.
Reviewed by Mitz Pettel
fast/transforms/transforms-with-opacity.html
fast/transforms/skew-with-unitless-zero.html
* css/CSSParser.cpp:
(WebCore::CSSParser::validUnit):
* rendering/RenderLayer.cpp:
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::transform):
2007-10-22 Adam Roben <aroben@apple.com>
Windows build fix
* WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
* page/Page.cpp: Touched to force the header files to be copied.
2007-10-22 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Simon.
Move textPath related SVGChar data in it's own structure SVGCharOnPath.
Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.
Saves space for the common case. And allows me to add more data (another float) to support
glyph-orientation-* on textPath later on...
* rendering/SVGCharacterLayoutInfo.cpp:
(WebCore::SVGChar::characterTransform):
* rendering/SVGCharacterLayoutInfo.h:
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
(WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2007-10-22 Alp Toker <alp@atoker.com>
Reviewed by Nikolas Zimmermann.
Implement more GraphicsContextCairo stubs.
Remove a hack "to work around no current point bug" that was breaking
canvas tests.
Fix warnings.
* platform/graphics/cairo/CairoPath.h:
(WebCore::CairoPath::CairoPath):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::strokeRect):
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::isEmpty):
* platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
(WebCore::SVGPaintServerGradient::setup):
* platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
(WebCore::SVGPaintServerSolid::setup):
2007-10-22 Simon Hausmann <hausmann@kde.org>
Reviewed by Nikolas.
Fix compilation from a clean build with the database feature disabled.
JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.
* bindings/js/JSCustomVersionChangeCallback.cpp:
* page/InspectorController.cpp:
2007-10-22 Andrew Wellington <proton@wiretapped.net>
Reviewed by Mark Rowe.
Fix for local database support after r26879
Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
* Configurations/WebCore.xcconfig:
* WebCore.pro:
* WebCore.vcproj/build-generated-files.sh:
2007-10-22 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Disable the Database feature for the qmake build for now.
* WebCore.pro:
2007-10-22 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Make disabling the database feature (ENABLE_DATABASE=0) work by
placing various #ifdefs into the code and making the compilation of
some files optional.
* WebCore.pro:
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::defaultEventHandler):
* dom/Document.h:
* page/DOMWindow.cpp:
* page/DOMWindow.h:
* page/DOMWindow.idl:
* page/InspectorController.cpp:
(WebCore::InspectorController::windowScriptObjectAvailable):
(WebCore::InspectorController::populateScriptResources):
(WebCore::InspectorController::clearDatabaseScriptResources):
(WebCore::InspectorController::didCommitLoad):
* page/InspectorController.h:
2007-10-22 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=15611
[GTK] Text selection behaviour different in Debug and Release builds
http://bugs.webkit.org/show_bug.cgi?id=15578
[GTK] Text editor caret does not blink
Never allow control to reach the end of non-void functions.
Return more sensible values, or in some cases, nulls.
* page/gtk/EventHandlerGtk.cpp:
(WebCore::isKeyboardOptionTab):
(WebCore::EventHandler::tabsToAllControls):
(WebCore::EventHandler::eventActivatedView):
2007-10-22 Holger Freyther <zecke@selfish.org>
Reviewed by Simon Hausmann <hausmann@kde.org>.
Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::WebCoreSynchronousLoader::resourceResponse):
(WebCore::WebCoreSynchronousLoader::resourceError):
(WebCore::WebCoreSynchronousLoader::data):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::waitForCompletion):
(WebCore::ResourceHandle::loadResourceSynchronously):
2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Lars Knoll <lars@trolltech.com>.
Style fix. It is allowed to attempt to delete 0.
* platform/qt/ClipboardQt.cpp:
2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Lars Knoll <lars@trolltech.com>.
Make it actually localizable....
* platform/qt/Localizations.cpp:
(WebCore::submitButtonDefaultLabel):
(WebCore::inputElementAltText):
(WebCore::searchableIndexIntroduction):
(WebCore::fileButtonChooseFileLabel):
(WebCore::fileButtonNoFileSelectedLabel):
(WebCore::contextMenuItemTagOpenLinkInNewWindow):
(WebCore::contextMenuItemTagDownloadLinkToDisk):
(WebCore::contextMenuItemTagCopyLinkToClipboard):
(WebCore::contextMenuItemTagOpenImageInNewWindow):
(WebCore::contextMenuItemTagDownloadImageToDisk):
(WebCore::contextMenuItemTagCopyImageToClipboard):
(WebCore::contextMenuItemTagOpenFrameInNewWindow):
(WebCore::contextMenuItemTagCopy):
(WebCore::contextMenuItemTagGoBack):
(WebCore::contextMenuItemTagGoForward):
(WebCore::contextMenuItemTagStop):
(WebCore::contextMenuItemTagReload):
(WebCore::contextMenuItemTagCut):
(WebCore::contextMenuItemTagPaste):
(WebCore::contextMenuItemTagNoGuessesFound):
(WebCore::contextMenuItemTagIgnoreSpelling):
(WebCore::contextMenuItemTagLearnSpelling):
(WebCore::contextMenuItemTagSearchWeb):
(WebCore::contextMenuItemTagLookUpInDictionary):
(WebCore::contextMenuItemTagOpenLink):
(WebCore::contextMenuItemTagIgnoreGrammar):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckSpelling):
(WebCore::contextMenuItemTagCheckSpellingWhileTyping):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagFontMenu):
(WebCore::contextMenuItemTagBold):
(WebCore::contextMenuItemTagItalic):
(WebCore::contextMenuItemTagUnderline):
(WebCore::contextMenuItemTagOutline):
(WebCore::contextMenuItemTagWritingDirectionMenu):
(WebCore::contextMenuItemTagDefaultDirection):
(WebCore::contextMenuItemTagLeftToRight):
(WebCore::contextMenuItemTagRightToLeft):
(WebCore::contextMenuItemTagInspectElement):
(WebCore::searchMenuNoRecentSearchesText):
(WebCore::searchMenuRecentSearchesText):
2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Lars Knoll <lars@trolltech.com>.
Adjust the code to obey the Coding Style.
* platform/qt/Localizations.cpp:
(WebCore::submitButtonDefaultLabel):
(WebCore::inputElementAltText):
(WebCore::resetButtonDefaultLabel):
(WebCore::defaultLanguage):
(WebCore::searchableIndexIntroduction):
(WebCore::fileButtonChooseFileLabel):
(WebCore::fileButtonNoFileSelectedLabel):
(WebCore::contextMenuItemTagOpenLinkInNewWindow):
(WebCore::contextMenuItemTagDownloadLinkToDisk):
(WebCore::contextMenuItemTagCopyLinkToClipboard):
(WebCore::contextMenuItemTagOpenImageInNewWindow):
(WebCore::contextMenuItemTagDownloadImageToDisk):
(WebCore::contextMenuItemTagCopyImageToClipboard):
(WebCore::contextMenuItemTagOpenFrameInNewWindow):
(WebCore::contextMenuItemTagCopy):
(WebCore::contextMenuItemTagGoBack):
(WebCore::contextMenuItemTagGoForward):
(WebCore::contextMenuItemTagStop):
(WebCore::contextMenuItemTagReload):
(WebCore::contextMenuItemTagCut):
(WebCore::contextMenuItemTagPaste):
(WebCore::contextMenuItemTagNoGuessesFound):
(WebCore::contextMenuItemTagIgnoreSpelling):
(WebCore::contextMenuItemTagLearnSpelling):
(WebCore::contextMenuItemTagSearchWeb):
(WebCore::contextMenuItemTagLookUpInDictionary):
(WebCore::contextMenuItemTagOpenLink):
(WebCore::contextMenuItemTagIgnoreGrammar):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckSpelling):
(WebCore::contextMenuItemTagCheckSpellingWhileTyping):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagFontMenu):
(WebCore::contextMenuItemTagBold):
(WebCore::contextMenuItemTagItalic):
(WebCore::contextMenuItemTagUnderline):
(WebCore::contextMenuItemTagOutline):
(WebCore::contextMenuItemTagWritingDirectionMenu):
(WebCore::contextMenuItemTagDefaultDirection):
(WebCore::contextMenuItemTagLeftToRight):
(WebCore::contextMenuItemTagRightToLeft):
(WebCore::contextMenuItemTagInspectElement):
(WebCore::searchMenuNoRecentSearchesText):
(WebCore::searchMenuRecentSearchesText):
(WebCore::searchMenuClearRecentSearchesText):
(WebCore::AXWebAreaText):
(WebCore::AXLinkText):
(WebCore::AXListMarkerText):
(WebCore::AXImageMapText):
(WebCore::AXHeadingText):
(WebCore::unknownFileSizeText):
2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Lars Knoll <lars@trolltech.com>.
Return a non empty string in more functions.
* platform/qt/Localizations.cpp:
(WebCore::contextMenuItemTagShowSpellingPanel):
2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Lars Knoll <lars@trolltech.com>.
Shrink the TemporaryLinkStubs and move the
Frame::setNeedsReapplyStyles stub to FrameQt.cpp
* page/qt/FrameQt.cpp:
(WebCore::Frame::setNeedsReapplyStyles):
* platform/qt/TemporaryLinkStubs.cpp:
2007-10-22 Holger Freyther <zecke@selfish.org>
Reviewed by Lars Knoll <lars@trolltech.com>.
Implement the WebCore::fileSize function. The
implementation assumes that QFileInfo will cache
the result of the stat so that info.size() and
info.exists() use the same stat result.
* platform/qt/FileSystemQt.cpp:
(WebCore::deleteFile):
* platform/qt/TemporaryLinkStubs.cpp:
2007-10-21 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Use the portable GLib time function.
Use event timestamps rather than the current time where available.
Rename SharedTimerLinux.cpp since it isn't Linux-specific.
* WebCore.pro:
* platform/gtk/MouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/gtk/SystemTimeGtk.cpp: Added.
(WebCore::currentTime):
* platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
* platform/gtk/SharedTimerLinux.cpp: Removed.
2007-10-22 David Hyatt <hyatt@apple.com>
Fix for 15596, regression from my transform changes. Preserve null checks on the clip rects calls for parent(),
since the method is called on orphaned layers. This is not very well understood.
Reviewed by eric
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
2007-10-21 Mark Rowe <mrowe@apple.com>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=15575
Bug 15575: [GTK] Implement threading using GThread
* WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
* loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads.
(WebCore::iconDatabase):
(WebCore::IconDatabase::open):
* platform/Threading.h:
* platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation.
(WebCore::initializeThreading):
(WebCore::threadMapMutex):
(WebCore::threadMap):
(WebCore::establishIdentifierForThread):
(WebCore::threadForIdentifier):
(WebCore::clearThreadForIdentifier):
(WebCore::createThread):
(WebCore::waitForThreadCompletion):
(WebCore::detachThread):
(WebCore::Mutex::Mutex):
(WebCore::Mutex::~Mutex):
(WebCore::Mutex::lock):
(WebCore::Mutex::tryLock):
(WebCore::Mutex::unlock):
(WebCore::ThreadCondition::ThreadCondition):
(WebCore::ThreadCondition::~ThreadCondition):
(WebCore::ThreadCondition::wait):
(WebCore::ThreadCondition::signal):
(WebCore::ThreadCondition::broadcast):
* storage/Database.cpp:
(WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even
if the icon database is compiled out
2007-10-21 Mark Rowe <mrowe@apple.com>
Build fix.
* ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the
implicit conversion warning.
2007-10-21 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Implement spelling and grammar mistake underlining with Pango/Cairo.
This change does not add any actual support for spelling or grammar
checking to any port.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
2007-10-21 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Cairo canvas fixes:
Fix a refcounting issue leading to leaks and crashes on canvas
content.
Delegate memory management of canvas images to Cairo.
Mark unhandled conditions with notImplemented() instead of silently
ignoring them.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
* html/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyStrokeColor):
* html/CanvasStyle.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::createDrawingContext):
(WebCore::HTMLCanvasElement::createPlatformImage):
2007-10-21 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.
The SVG layouting code itself doesn't handle these properties yet,
it's just about recognizing them in the SVG CSS engine.
* ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
* ksvg2/css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* ksvg2/css/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::InheritedFlags::operator==):
(WebCore::SVGRenderStyle::InheritedFlags::operator!=):
(WebCore::SVGRenderStyle::setBitDefaults):
* ksvg2/css/SVGRenderStyleDefs.h:
2007-10-21 Christian Dywan <christian@twotoasts.de>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=15589
Use glib's path separator on gtk
* platform/gtk/FileSystemGtk.cpp:
(WebCore::pathByAppendingComponent):
2007-10-21 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15259
<rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
Test: fast/text/word-space.html
* rendering/RenderBlock.cpp:
(WebCore::stripTrailingSpace): Added word-spacing to the width of the
space being stripped out.
* rendering/RenderText.cpp:
(WebCore::RenderText::trimmedPrefWidths): Changed handling of
leading space. Since Font::width includes leading space width but not
leading word spacing, this method needs to either remove the width of a
space character or add word spacing,
depending on stripFrontSpaces.
(WebCore::RenderText::calcPrefWidths): Corrected the check for adding
trailing word spacing so that it would work in the case where the last
space is ignored.
* rendering/bidi.cpp:
(WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
actually add word spacing to the total width.
2007-10-20 David Hyatt <hyatt@apple.com>
Land support for the transform CSS property. Basic painting now works properly. There are many open issues
that will have to be covered by individual bugs.
Reviewed by olliej
* css/CSSParser.cpp:
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::parseTransform):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateTransform):
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::boundingBox):
* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):
(WebCore::RenderObject::container):
* rendering/RenderStyle.cpp:
(WebCore::RenderStyle::applyTransform):
* rendering/RenderStyle.h:
(WebCore::TransformOperation::isScaleOperation):
(WebCore::TransformOperation::isRotateOperation):
(WebCore::TransformOperation::isSkewOperation):
(WebCore::TransformOperation::isTranslateOperation):
(WebCore::TransformOperation::isMatrixOperation):
(WebCore::ScaleTransformOperation::isScaleOperation):
(WebCore::RotateTransformOperation::isRotateOperation):
(WebCore::SkewTransformOperation::isSkewOperation):
(WebCore::TranslateTransformOperation::isTranslateOperation):
(WebCore::MatrixTransformOperation::isMatrixOperation):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::requiresLayer):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
2007-10-20 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Add basic @font-face to the Web Inspector.
* page/InspectorController.cpp:
(WebCore::InspectorResource::type): Check for CachedResource::FontResource.
* page/inspector/Resource.js: Add support for Font types and font preview in the icon.
* page/inspector/ResourcePanel.js: Show a font preview for font resources.
* page/inspector/inspector.css: Style for the font preview and font icon.
* page/inspector/inspector.js: Add font mime types.
2007-10-20 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Fixes:
- http://bugs.webkit.org/show_bug.cgi?id=14393
Column on the left side of the Web Inspector should have a smaller minimum width for resizing
- http://bugs.webkit.org/show_bug.cgi?id=14394
Left pane of the Web Inspector "shakes" when resizing it to maximum width
* page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
and window.innerWidth - 100 max-width for the sidebar. The change also makes the viewbuttons
move with the sidebar.
2007-10-20 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15208
display:table causes the collapsed text to show at a different position when expanded
Test: fast/table/insert-before-anonymous-ancestors.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
that change was supposed to accomplish has since been done in other
places in the code.
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Dave Hyatt.
Fix http://bugs.webkit.org/show_bug.cgi?id=15584
Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance
* platform/Font.cpp:
(WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
glyph for the character, fall back to the missing glyph data rather than returning an
invalid GlyphData.
2007-10-20 Jasper Bryant-Greene <m@ni.ac.nz>
Reviewed by Maciej.
Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
as suggested by George Wright in #15108 (which this patch will
resolve).
This gives a more sane scrolling behaviour, rather than the
jumping to the end or start of the document as occurred previously.
* platform/gtk/WheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
2007-10-20 Alp Toker <alp@atoker.com>
Reviewed by Eric.
Support text boundary detection.
Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
Split out and implement some TemporaryLinkStubs.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
* platform/gtk/Language.cpp: Added.
(WebCore::defaultLanguage):
* platform/gtk/TemporaryLinkStubs.cpp:
* platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
(WebCore::currentTextBreakLocaleID):
* platform/win/TextBoundariesWin.cpp: Removed.
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
Bug 15574: Web Inspector doesn't work with the new Database feature
The executeSql callback is executed in the security domain of the web page that owns the database,
while the inspector's window object is in the callback functions scope chain. This is leading to a
security violation when the callback attempts to access "document". We can work around this by
ensuring that "document" can be found in the scope chain before the window object.
* page/inspector/DatabasePanel.js:
2007-10-20 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15567
speed up hashing const char* by removing call to strlen
This includes one other fix as well. Both were from a day where I did some
profiling to find hot spots when running the page load test.
* platform/StringImpl.cpp:
(WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
Also change the argument names to not confusingly use m_ prefixes.
(WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
don't have null.
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Alp.
Gtk changes needed to enable HTML 5 client-side database storage.
* WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
* platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Alp.
Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
from the main event loop.
* WebCore.pro:
* platform/gtk/TemporaryLinkStubs.cpp:
* platform/gtk/ThreadingGtk.cpp: Added.
(WebCore::callFunctionOnMainThread):
(WebCore::callOnMainThread):
2007-10-20 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Fix non-functional display="inline" / display="none" for SVG text.
Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
* css/svg.css: Remove "important" flag on text/foreignObject display: block property
* rendering/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::setStyle):
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Alp.
Replace #ifdef'd code with the appropriate use of a forwarding header.
* ForwardingHeaders/kjs/array_instance.h: Added.
* bindings/js/JSDatabaseCustom.cpp:
2007-10-20 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Add support for 'kerning' property in SVG text layout code.
Support all textLength/lengthAdjust modes on normal text & textPaths.
Support letter & word spacing on textPath.
Fix text selection when any spacing (letter/word/kerning) is involved.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
svg/batik/text/textLayout.svg (kerning support)
svg/text/text-spacing-01-b.svg (text selection)
* platform/Font.cpp:
(WebCore::WidthIterator::advance):
* platform/TextStyle.h:
(WebCore::TextStyle::TextStyle):
(WebCore::TextStyle::spacingDisabled):
(WebCore::TextStyle::disableSpacing):
* rendering/SVGCharacterLayoutInfo.cpp:
(WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
(WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle):
(WebCore::SVGCharacterLayoutInfo::setInPathLayout):
(WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
(WebCore::SVGChar::characterTransform):
* rendering/SVGCharacterLayoutInfo.h:
(WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
* rendering/SVGRootInlineBox.cpp:
(WebCore::closeTextChunk):
(WebCore::calculateKerning):
(WebCore::SVGRootInlineBox::placeBoxesHorizontally):
(WebCore::svgTextStyleForInlineTextBox):
(WebCore::calculateTextAnchorShiftForTextChunk):
(WebCore::applyTextAnchorToTextChunk):
(WebCore::calculateTextLengthCorrectionForTextChunk):
(WebCore::applyTextLengthCorrectionToTextChunk):
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::SVGRootInlineBox::buildLayoutInformation):
(WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
(WebCore::SVGRootInlineBox::buildTextChunks):
(WebCore::SVGRootInlineBox::layoutTextChunks):
* rendering/SVGRootInlineBox.h:
2007-10-20 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewd by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15563
Fix conflict with X11 Window type in WebCore
* WebCore/bindings/js/JSDocumentCustom.cpp:
* WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
* WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
* WebCore/bindings/js/kjs_dom.cpp:
* WebCore/bindings/js/kjs_events.cpp:
* WebCore/bindings/js/kjs_proxy.cpp:
* WebCore/history/CachedPage.cpp:
* WebCore/page/Chrome.cpp:
* WebCore/page/Frame.cpp:
2007-10-20 Simon Hausmann <hausmann@kde.org>
Build fix, not reviewed.
Fix the Qt build by adding the two missing FileSystem functions.
* platform/qt/FileSystemQt.cpp:
(WebCore::makeAllDirectories):
(WebCore::pathByAppendingComponent):
2007-10-19 Alp Toker <alp@atoker.com>
Reviewed by Oliver.
GTK+ build fix enabling the new local database storage feature.
There is also a prospective Qt build fix.
* WebCore.pro:
* bindings/js/JSDatabaseCustom.cpp:
* platform/gtk/FileSystemGtk.cpp:
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
2007-10-19 Andrew Wellington <proton@wiretapped.net>
Reviewed by Brady Eidson.
Mac build fix.
* WebCore.xcodeproj/project.pbxproj:
2007-10-19 Alp Toker <alp@atoker.com>
Reviewed by Oliver.
Use platform colors for text selection.
Update the cache when the GTK style is changed.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::gtkStyleSet):
(WebCore::RenderThemeGtk::gtkEntry):
* platform/gtk/RenderThemeGtk.h:
2007-10-19 Adele Peterson <adele@apple.com>
Reviewed by Beth.
Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
Test: fast/forms/menulist-no-overflow.html
* rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.
2007-10-19 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
Move some SQL-related classes to platform/sql.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/icon/SQLDatabase.cpp: Removed.
* loader/icon/SQLDatabase.h: Removed.
* loader/icon/SQLStatement.cpp: Removed.
* loader/icon/SQLStatement.h: Removed.
* loader/icon/SQLTransaction.cpp: Removed.
* loader/icon/SQLTransaction.h: Removed.
* platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
* platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
* platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
* platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
* platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
* platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
2007-10-19 Anders Carlsson <andersca@apple.com>
Reviewed by Adam.
Update to match the latest version of the spec. Now, executeSQL takes an array
of SQL parameters instead of them being passed as arguments.
* bindings/js/JSDatabaseCustom.cpp:
(WebCore::JSDatabase::executeSql):
* page/inspector/DatabasePanel.js:
* storage/Database.idl:
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Tim
Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
* storage/Database.cpp:
(WebCore::Database::performOpenAndVerify):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::DatabaseTracker):
2007-10-19 Anders Carlsson <andersca@apple.com>
Release build fix.
* WebCore.vcproj/WebCore.vcproj:
2007-10-19 Brady Eidson <beidson@apple.com>
Remove stray printfs
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
2007-10-19 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
already been locked, so lock the mutex first.
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThread):
2007-10-19 Brady Eidson <beidson@apple.com>
Better build fix
* loader/icon/SQLDatabase.cpp:
(WebCore::SQLDatabase::authorizerFunction): Definite works by 3.3.13
2007-10-19 Brady Eidson <beidson@apple.com>
Build fix
* loader/icon/SQLDatabase.cpp:
(WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
added to SQLite, but I know they were by 3.4.0
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Windows specific changes, as well as renaming Queue -> Deque
* ForwardingHeaders/wtf/Deque.h: Added.
* ForwardingHeaders/wtf/Queue.h: Removed.
* platform/win/FileSystemWin.cpp:
(WebCore::fileSize):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::pathByAppendingComponent):
(WebCore::fileSystemRepresentation):
(WebCore::makeAllDirectories):
(WebCore::homeDirectoryPath):
* storage/Database.h:
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::documentGoingAway):
(WebCore::DatabaseThread::databaseGoingAway):
(WebCore::DatabaseThread::dispatchNextTaskIdentifier):
(WebCore::DatabaseThread::scheduleTask):
(WebCore::DatabaseThread::scheduleImmediateTask):
* storage/DatabaseThread.h:
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Tim and Anders
Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)
The specification is still in flux but the fundamentals are pretty solid and we can start using and testing
this implementation even while filing bugs to track changes in the spec as it becomes more final
There are some implementation details in this patch that seem unused or useless, but they remain in place
while the spec is in flux and might go one way or another.
* platform/Logging.cpp: Add StorageAPI logging channel
* platform/Logging.h:
* storage/Database.cpp: Added.
(WebCore::Database::databaseInfoTableName):
(WebCore::databaseVersionKey):
(WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
(WebCore::Database::Database):
(WebCore::Database::~Database):
(WebCore::Database::openAndVerifyVersion):
(WebCore::retrieveTextResultFromDatabase):
(WebCore::Database::getVersionFromDatabase):
(WebCore::setTextValueInDatabase):
(WebCore::Database::setVersionInDatabase):
(WebCore::Database::databaseThreadGoingAway): May be removed in the future
(WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
(WebCore::Database::enableAuthorizer):
(WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.
The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
(WebCore::Database::resetAuthorizer):
(WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage
(WebCore::Database::scheduleDatabaseCallback):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::performChangeVersion):
(WebCore::Database::performExecuteSql):
(WebCore::Database::performCloseTransaction):
(WebCore::Database::performGetTableNames):
(WebCore::Database::version): C++ version of the javascript API
(WebCore::Database::changeVersion): Ditto
(WebCore::Database::executeSql): Ditto
(WebCore::Database::closeTransaction): Ditto
(WebCore::Database::tableNames): For internal (WebInspector) use
(WebCore::Database::deliverAllPendingCallbacks):
(WebCore::Database::deliverPendingCallbacks):
* storage/Database.h: Added.
(WebCore::Database::databaseDebugName): For debug logging purposes
* storage/Database.idl: Added.
* storage/DatabaseAuthorizer.cpp: Added.
The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
tracking when effects certain sql statements might have (such as increasing the size of the database)
(WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
(WebCore::DatabaseAuthorizer::reset):
(WebCore::DatabaseAuthorizer::createTable):
(WebCore::DatabaseAuthorizer::createTempTable):
(WebCore::DatabaseAuthorizer::dropTable):
(WebCore::DatabaseAuthorizer::dropTempTable):
(WebCore::DatabaseAuthorizer::allowAlterTable):
(WebCore::DatabaseAuthorizer::createIndex):
(WebCore::DatabaseAuthorizer::createTempIndex):
(WebCore::DatabaseAuthorizer::dropIndex):
(WebCore::DatabaseAuthorizer::dropTempIndex):
(WebCore::DatabaseAuthorizer::createTrigger):
(WebCore::DatabaseAuthorizer::createTempTrigger):
(WebCore::DatabaseAuthorizer::dropTrigger):
(WebCore::DatabaseAuthorizer::dropTempTrigger):
(WebCore::DatabaseAuthorizer::createVTable):
(WebCore::DatabaseAuthorizer::dropVTable):
(WebCore::DatabaseAuthorizer::allowDelete):
(WebCore::DatabaseAuthorizer::allowInsert):
(WebCore::DatabaseAuthorizer::allowUpdate):
(WebCore::DatabaseAuthorizer::allowRead):
(WebCore::DatabaseAuthorizer::allowAnalyze):
(WebCore::DatabaseAuthorizer::allowPragma):
(WebCore::DatabaseAuthorizer::allowAttach):
(WebCore::DatabaseAuthorizer::allowDetach):
(WebCore::DatabaseAuthorizer::allowFunction):
(WebCore::DatabaseAuthorizer::disable):
(WebCore::DatabaseAuthorizer::enable):
(WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
it should be invisible to scripts
* storage/DatabaseAuthorizer.h: Added.
(WebCore::DatabaseAuthorizer::lastActionWasInsert):
(WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
* storage/DatabaseCallback.cpp: Added.
Generic item to queue up for callbacks on the main thread for database activities that take place on
a secondary thread
(WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
(WebCore::DatabaseChangeVersionCallback::performCallback):
(WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
(WebCore::DatabaseExecuteSqlCallback::performCallback):
* storage/DatabaseCallback.h: Added.
(WebCore::DatabaseCallback::~DatabaseCallback):
(WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
(WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
* storage/DatabaseTask.h: Added.
Generic work-item to be queued up on the background database thread
(WebCore::DatabaseTask::isComplete):
(WebCore::DatabaseOpenTask::exceptionCode):
(WebCore::DatabaseOpenTask::openSuccessful):
(WebCore::DatabaseTableNamesTask::tableNames):
* storage/DatabaseTask.cpp: Added.
(WebCore::DatabaseTask::DatabaseTask):
(WebCore::DatabaseTask::~DatabaseTask):
(WebCore::DatabaseTask::performTask):
(WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished
synchronously
(WebCore::DatabaseTask::waitForSynchronousCompletion):
(WebCore::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseOpenTask::doPerformTask):
(WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
(WebCore::DatabaseExecuteSqlTask::doPerformTask):
(WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
(WebCore::DatabaseChangeVersionTask::doPerformTask):
(WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
(WebCore::DatabaseTableNamesTask::doPerformTask):
* storage/DatabaseThread.cpp: Added.
The current design is that each Document will have its own DatabaseThread. This makes scripts on each
individual document more response at the cost of adding more threads and potentially creating concurrency
issues when the same database is open twice from two different documents
(WebCore::DatabaseThread::DatabaseThread):
(WebCore::DatabaseThread::~DatabaseThread):
(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
(WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
(WebCore::DatabaseThread::databaseThreadStart):
(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::dispatchNextTaskIdentifier):
(WebCore::DatabaseThread::scheduleTask):
(WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
the main thread requires a task be performed synchronously
(WebCore::DatabaseThread::wakeWorkThread):
* storage/DatabaseThread.h: Added.
* storage/DatabaseTracker.cpp: Added.
The DatabaseTracker is the master management of all databases. It will keep track of the filename for a given
unique database, keep track of the total disk usage per-origin, and policys per database/origin
(WebCore::DatabaseTracker::setDatabasePath):
(WebCore::DatabaseTracker::databasePath):
(WebCore::DatabaseTracker::tracker):
(WebCore::DatabaseTracker::DatabaseTracker):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::populateOrigins):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::addDatabase):
(WebCore::DatabaseTracker::deleteAllDatabases):
(WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
* storage/DatabaseTracker.h: Added.
* storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
(WebCore::SQLCallback::~SQLCallback):
* storage/SQLCallback.idl: Added.
* storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
(WebCore::SQLResultSet::SQLResultSet):
(WebCore::SQLResultSet::insertId):
(WebCore::SQLResultSet::rowsAffected):
(WebCore::SQLResultSet::errorCode):
(WebCore::SQLResultSet::error):
(WebCore::SQLResultSet::rows):
(WebCore::SQLResultSet::setInsertId):
(WebCore::SQLResultSet::setRowsAffected):
(WebCore::SQLResultSet::setErrorCode):
(WebCore::SQLResultSet::setErrorMessage):
* storage/SQLResultSet.h: Added.
* storage/SQLResultSet.idl: Added.
* storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
(WebCore::SQLResultSetRowList::length):
* storage/SQLResultSetRowList.h: Added.
(WebCore::SQLResultSetRowList::columnNames):
(WebCore::SQLResultSetRowList::values):
(WebCore::SQLResultSetRowList::addColumn):
(WebCore::SQLResultSetRowList::addResult):
* storage/SQLResultSetRowList.idl: Added.
* storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
(WebCore::VersionChangeCallback::~VersionChangeCallback):
* storage/VersionChangeCallback.idl: Added.
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Oliver + Same
Forwarding header for the new wtf/Queue.h
* ForwardingHeaders/wtf/Queue.h: Added.
2007-10-19 Anders Carlsson <beidson@apple.com>
Reviewed by Sam Weinig
Most of the Javascript binding support for the Storage API
* bindings/js/JSCustomSQLCallback.cpp: Added.
(WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
(WebCore::JSCustomSQLCallback::handleEvent):
* bindings/js/JSCustomSQLCallback.h: Added.
Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
handleEvent to a JS function or a JS object with a handleEvent function.
* bindings/js/JSCustomVersionChangeCallback.cpp: Added.
(WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
(WebCore::JSCustomVersionChangeCallback::handleEvent):
* bindings/js/JSCustomVersionChangeCallback.h: Added.
Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
handleEvent to a JS function or a JS object with a handleEvent function.
* bindings/js/JSDatabaseCustom.cpp: Added.
(WebCore::JSDatabase::executeSql):
Custom implementation of executeSql that takes an array of parameters.
(WebCore::JSDatabase::changeVersion):
Custom implementation of changeVersion.
* bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
(WebCore::JSSQLResultSetRowList::item):
Custom method that returns a JS object that corresponds to a given row in the database.
* bindings/scripts/CodeGeneratorJS.pm:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::openDatabase):
* page/DOMWindow.h:
* page/DOMWindow.idl:
Add openDatabase implementation.
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Oliver
Added tons of utility to the FileSystem abstractions, including moving
some stuff over from IconDatabase
* platform/FileSystem.h:
* platform/cf/FileSystemCF.cpp: Added.
(WebCore::fileSystemRepresentation):
* platform/mac/FileSystemMac.mm:
* platform/posix/FileSystemPOSIX.cpp: Added.
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::fileSize):
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
2007-10-19 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben
Preliminary Web Inspector support for the Storage API
(This patch does not include the support artwork)
* page/InspectorController.cpp:
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::setScriptObject):
(WebCore::databaseTableNames): Return the table names for a Database object.
(WebCore::InspectorController::setWindowVisible):
(WebCore::InspectorController::windowScriptObjectAvailable):
(WebCore::InspectorController::populateScriptResources):
(WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
(WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
(WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
(WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
(WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
* page/InspectorController.h:
* page/inspector/Database.js: Added.
* page/inspector/DatabasePanel.js: Added.
* page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
* page/inspector/inspector.css: Add styles for the database panel.
* page/inspector/inspector.html: Include DatabasePanel.js
* page/inspector/inspector.js: Support for adding and removing Database resources.
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher
Added support for Chrome prompts required by the Storage API
* page/Chrome.cpp:
(WebCore::Chrome::runDatabaseSizeLimitPrompt):
* page/Chrome.h:
* page/ChromeClient.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
2007-10-19 Brady Eidson <beidson@apple.com>
Contributions and Review by Anders
Various SQLite tweaks in preparation for the storage API
* loader/icon/SQLDatabase.cpp:
(WebCore::SQLDatabase::~SQLDatabase):
(WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
(WebCore::SQLDatabase::setAuthorizer):
(WebCore::SQLDatabase::lock):
(WebCore::SQLDatabase::unlock):
* loader/icon/SQLDatabase.h:
* loader/icon/SQLStatement.cpp:
(WebCore::SQLStatement::prepare): Switch to prepare16_v2
(WebCore::SQLStatement::bindDouble): Added
(WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
(WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
* loader/icon/SQLStatement.h:
(WebCore::SQLStatement::isPrepared):
* platform/sql/SQLAuthorizer.cpp: Added. Fully virtual interface to implement your own SQLite authorizer
* platform/sql/SQLAuthorizer.h: Added.
(WebCore::SQLAuthorizer::~SQLAuthorizer):
(WebCore::SQLAuthorizer::createTable):
(WebCore::SQLAuthorizer::createTempTable):
(WebCore::SQLAuthorizer::dropTable):
(WebCore::SQLAuthorizer::dropTempTable):
(WebCore::SQLAuthorizer::allowAlterTable):
(WebCore::SQLAuthorizer::createIndex):
(WebCore::SQLAuthorizer::createTempIndex):
(WebCore::SQLAuthorizer::dropIndex):
(WebCore::SQLAuthorizer::dropTempIndex):
(WebCore::SQLAuthorizer::createTrigger):
(WebCore::SQLAuthorizer::createTempTrigger):
(WebCore::SQLAuthorizer::dropTrigger):
(WebCore::SQLAuthorizer::dropTempTrigger):
(WebCore::SQLAuthorizer::createView):
(WebCore::SQLAuthorizer::createTempView):
(WebCore::SQLAuthorizer::dropView):
(WebCore::SQLAuthorizer::dropTempView):
(WebCore::SQLAuthorizer::createVTable):
(WebCore::SQLAuthorizer::dropVTable):
(WebCore::SQLAuthorizer::allowDelete):
(WebCore::SQLAuthorizer::allowInsert):
(WebCore::SQLAuthorizer::allowUpdate):
(WebCore::SQLAuthorizer::allowTransaction):
(WebCore::SQLAuthorizer::allowSelect):
(WebCore::SQLAuthorizer::allowRead):
(WebCore::SQLAuthorizer::allowAttach):
(WebCore::SQLAuthorizer::allowDetach):
(WebCore::SQLAuthorizer::allowReindex):
(WebCore::SQLAuthorizer::allowAnalyze):
(WebCore::SQLAuthorizer::allowFunction):
* platform/sql/SQLValue.cpp: Added. Contains a value for a SQLite database that can be one of a few types.
For now, just a String or a double
(WebCore::SQLValue::SQLValue):
(WebCore::SQLValue::string):
(WebCore::SQLValue::number):
* platform/sql/SQLValue.h: Added.
(WebCore::SQLValue::):
(WebCore::SQLValue::SQLValue):
(WebCore::SQLValue::type):
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
Changed IconDatabase over to use new FileSystem apis
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::open):
2007-10-19 David Hyatt <hyatt@apple.com>
Fix for ebay parser crash.
Reviewed by Beth
fast/invalid/table-residual-style-crash.html added as a test
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2007-10-19 Sam Weinig <sam@webkit.org>
Fix Windows, Qt and GTK builds.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
2007-10-19 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
Encapsulate the same origin check into the new SecurityOrigin class.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::defaultEventHandler):
* dom/Document.h:
(WebCore::Document::securityOrigin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::setOpener):
* loader/FrameLoader.h:
* platform/SecurityOrigin.cpp: Added.
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::clear):
(WebCore::SecurityOrigin::isEmpty):
(WebCore::SecurityOrigin::setForFrame):
(WebCore::SecurityOrigin::setDomainFromDOM):
(WebCore::SecurityOrigin::allowsAccessFrom):
(WebCore::SecurityOrigin::isSecureTransitionTo):
* platform/SecurityOrigin.h: Added.
2007-10-19 Simon Hausmann <hausmann@kde.org>
Fix the Qt/Windows build: Added missing FontSelector.h include.
* platform/qt/FontQt.cpp:
2007-10-19 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.
* platform/Threading.h:
2007-10-19 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Fix the Qt/Windows build, don't use cat but use the perl print trick
instead.
* WebCore.pro:
2007-10-18 Justin Garcia <justin.garcia@apple.com>
Reviewed by Kevin McCullough.
<rdar://problem/5483526>
GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
* editing/TextIterator.cpp:
(WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
between every VisiblePosition. We weren't emitting a space after some tables, because
we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
was emitted.
2007-10-18 Dan Bernstein <mitz@apple.com>
Reviewed by Adam Roben.
- fix <rdar://problem/5313523>
REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::doUpdateResourceResponse): Work around
<rdar://problem/5321972> by testing for the case of a response
with a MIME type of application/octet-stream and a Content-Type header
starting with text/plain and setting the MIME type to text/plain in
that case.
2007-10-18 Mark Rowe <mrowe@apple.com>
Fix the no-SVG build.
* css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
LineCap, LineJoin and WindRule inside #if ENABLE(SVG).
2007-10-18 Darin Adler <darin@apple.com>
Reviewed by Anders.
- some small tweaks to the threading implementation
I had trouble building on Windows. Either the problem went away by itself
or one of these changes fixed it.
* platform/Threading.h: Eliminated the use of friend, and shared a single
declaration for the initializeThreading function.
* platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
Call impl() here.
* platform/win/ThreadingWin.cpp: Got rid of two globals here with static
constructors. Also added a typedef for the type of the function queue.
(WebCore::functionQueueMutex): Added function.
(WebCore::functionQueue): Ditto.
(WebCore::callFunctionsOnMainThread): Use functions instead of using the
globals directly.
(WebCore::callOnMainThread): Ditto.
* css/CSSParser.cpp: Had to touch this file to make things build.
2007-10-18 Adam Roben <aroben@apple.com>
Fix <rdar://5547462> Need to copy Inspector resources in Production builds
I also added an excludes file for the xcopy command to avoid copying
.svn folders.
Reviewed by Geoff.
* WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
resources.
* WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
xcopy.
* WebCore.vcproj/xcopy.excludes: Added.
2007-10-18 Darin Adler <darin@apple.com>
Reviewed by Sam.
- fix http://bugs.webkit.org/show_bug.cgi?id=15541
REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
* page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.
2007-10-18 Nikolas Zimmermann <zimmermann@kde.org>
Build fix. Not reviewed.
Hopefully fix win build by including wtf/MathExtras.h.
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2007-10-18 Dan Bernstein <mitz@apple.com>
Reviewed by Nikolas Zimmermann.
- fix http://bugs.webkit.org/show_bug.cgi?id=15367
Assertion failure inspecting a document including soft hyphen code (0xad)
Test: fast/text/word-break-soft-hyphen.html
* rendering/RenderText.cpp:
(WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as
word boundaries. This fixes the bug and is consistent with the fact that
run rounding does occur at soft hyphens.
2007-10-18 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Anders.
Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"
Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
to avoid excessive mallocs (in the testcase above 1000000x1000000)
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::drawMaskerContent):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::buildPattern):
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::teardown):
(WebCore::SVGPaintServerGradient::setup):
* platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
(WebCore::SVGResourceMasker::applyMask):
* rendering/SVGRenderSupport.cpp:
(WebCore::clampImageBufferSizeToViewport):
* rendering/SVGRenderSupport.h:
2007-10-18 Alexey Proskuryakov <ap@webkit.org>
Windows build fix.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.
2007-10-18 Alexey Proskuryakov <ap@webkit.org>
Release build fix.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2007-10-18 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue()
and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getPositionOffsetValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::init):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValueMappings.h: Added.
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EBorderStyle):
(WebCore::CSSPrimitiveValue::operator CompositeOperator):
(WebCore::CSSPrimitiveValue::operator EAppearance):
(WebCore::CSSPrimitiveValue::operator EBackgroundBox):
(WebCore::CSSPrimitiveValue::operator EBackgroundRepeat):
(WebCore::CSSPrimitiveValue::operator EBoxAlignment):
(WebCore::CSSPrimitiveValue::operator EBoxDirection):
(WebCore::CSSPrimitiveValue::operator EBoxLines):
(WebCore::CSSPrimitiveValue::operator EBoxOrient):
(WebCore::CSSPrimitiveValue::operator ECaptionSide):
(WebCore::CSSPrimitiveValue::operator EClear):
(WebCore::CSSPrimitiveValue::operator ECursor):
(WebCore::CSSPrimitiveValue::operator EDisplay):
(WebCore::CSSPrimitiveValue::operator EEmptyCell):
(WebCore::CSSPrimitiveValue::operator EFloat):
(WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak):
(WebCore::CSSPrimitiveValue::operator EListStylePosition):
(WebCore::CSSPrimitiveValue::operator EListStyleType):
(WebCore::CSSPrimitiveValue::operator EMarginCollapse):
(WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
(WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
(WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor):
(WebCore::CSSPrimitiveValue::operator ENBSPMode):
(WebCore::CSSPrimitiveValue::operator EOverflow):
(WebCore::CSSPrimitiveValue::operator EPageBreak):
(WebCore::CSSPrimitiveValue::operator EPosition):
(WebCore::CSSPrimitiveValue::operator EResize):
(WebCore::CSSPrimitiveValue::operator ETableLayout):
(WebCore::CSSPrimitiveValue::operator ETextAlign):
(WebCore::CSSPrimitiveValue::operator ETextSecurity):
(WebCore::CSSPrimitiveValue::operator ETextTransform):
(WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
(WebCore::CSSPrimitiveValue::operator EUserDrag):
(WebCore::CSSPrimitiveValue::operator EUserModify):
(WebCore::CSSPrimitiveValue::operator EUserSelect):
(WebCore::CSSPrimitiveValue::operator EVisibility):
(WebCore::CSSPrimitiveValue::operator EWhiteSpace):
(WebCore::CSSPrimitiveValue::operator EWordBreak):
(WebCore::CSSPrimitiveValue::operator EWordWrap):
(WebCore::CSSPrimitiveValue::operator LineCap):
(WebCore::CSSPrimitiveValue::operator LineJoin):
(WebCore::CSSPrimitiveValue::operator TextDirection):
(WebCore::CSSPrimitiveValue::operator WindRule):
(WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
(WebCore::CSSPrimitiveValue::operator EColorInterpolation):
(WebCore::CSSPrimitiveValue::operator EColorRendering):
(WebCore::CSSPrimitiveValue::operator EDominantBaseline):
(WebCore::CSSPrimitiveValue::operator EImageRendering):
(WebCore::CSSPrimitiveValue::operator EPointerEvents):
(WebCore::CSSPrimitiveValue::operator EShapeRendering):
(WebCore::CSSPrimitiveValue::operator ETextAnchor):
(WebCore::CSSPrimitiveValue::operator ETextRendering):
(WebCore::CSSPrimitiveValue::operator EWritingMode):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::checkSelector):
(WebCore::CSSStyleSelector::checkOneSelector):
(WebCore::CSSRuleSet::addRulesFromSheet):
(WebCore::convertToLength):
(WebCore::CSSStyleSelector::applyDeclarations):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapBackgroundAttachment):
(WebCore::CSSStyleSelector::mapBackgroundClip):
(WebCore::CSSStyleSelector::mapBackgroundComposite):
(WebCore::CSSStyleSelector::mapBackgroundOrigin):
(WebCore::CSSStyleSelector::mapBackgroundRepeat):
(WebCore::CSSStyleSelector::mapBackgroundXPosition):
(WebCore::CSSStyleSelector::mapBackgroundYPosition):
* ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
* ksvg2/css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
2007-10-18 Eric Seidel <eric@webkit.org>
Reviewed by Maciej.
Fix crashers in SVGViewSpec::parseViewSpec
http://bugs.webkit.org/show_bug.cgi?id=15504
Test is blocked by bug 15503, landed as:
* svg/dom/viewspec-parser.html-disabled
* bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces
* ksvg2/svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::parseViewSpec):
* ksvg2/svg/SVGViewSpec.idl: Added.
2007-10-17 Rob Buis <buis@kde.org>
Reviewed by Darin, Adam, and Maciej.
http://bugs.webkit.org/show_bug.cgi?id=12988
First element (in document order) is not returned when other duplicate ID-ed elements were created first
Reset the element id cache when an id is added and there is a duplicate for that id.
* dom/Document.cpp:
(WebCore::Document::addElementById):
2007-10-17 Mark Rowe <mrowe@apple.com>
Mac build fix.
* Configurations/WebCore.xcconfig: Make it possible to include CoreGraphics header files.
2007-10-17 Adam Roben <aroben@apple.com>
Fix an ASSERT on launch on Windows
Fix dictated to me by Brady.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold
m_syncLock before going into the loop.
2007-10-17 Adam Roben <aroben@apple.com>
Windows build fix
* platform/graphics/AffineTransform.h: Don't #include
ApplicationServices.h.
* platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's
needed now that we're not #including ApplicationServices.h.
2007-10-17 Mark Rowe <mrowe@apple.com>
Gtk build fix. Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent
multiple-definition link errors.
* WebCore.pro:
* platform/Threading.h:
* platform/ThreadingNone.cpp: Added.
(WebCore::createThread):
(WebCore::waitForThreadCompletion):
(WebCore::detachThread):
(WebCore::Mutex::Mutex):
(WebCore::Mutex::~Mutex):
(WebCore::Mutex::lock):
(WebCore::Mutex::tryLock):
(WebCore::Mutex::unlock):
(WebCore::ThreadCondition::ThreadCondition):
2007-10-17 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver.
* WebCore.xcodeproj/project.pbxproj:
* WebCore.vcproj/WebCore.vcproj:
* config.h:
#define USE_PTHREADS on Windows.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::getOrCreateIconRecord):
(WebCore::IconDatabase::getOrCreatePageURLRecord):
Update for mutex changes.
* platform/Threading.h:
(WebCore::):
(WebCore::ThreadSafeShared::ThreadSafeShared):
(WebCore::ThreadSafeShared::ref):
(WebCore::ThreadSafeShared::deref):
(WebCore::ThreadSafeShared::hasOneRef):
(WebCore::ThreadSafeShared::refCount):
(WebCore::ThreadSafeShared::isThreadSafe):
Add a new Shared base class that uses a mutex to manage its refcount.
(WebCore::createThread):
(WebCore::waitForThreadCompletion):
(WebCore::detachThread):
New functions for thread creation.
(WebCore::Mutex::Mutex):
(WebCore::Mutex::~Mutex):
(WebCore::Mutex::lock):
(WebCore::Mutex::tryLock):
(WebCore::Mutex::unlock):
Move the definitions to ThreadingPthreads.cpp
(WebCore::ThreadCondition::ThreadCondition):
(WebCore::ThreadCondition::~ThreadCondition):
(WebCore::ThreadCondition::wait):
(WebCore::ThreadCondition::signal):
(WebCore::ThreadCondition::broadcast):
Move the definitions to ThreadingPthreads.cpp
* platform/pthreads: Added.
* platform/pthreads/ThreadingPthreads.cpp: Added.
Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition.
2007-10-17 David Hyatt <hyatt@apple.com>
Add support for creating a layer when a transform is in effect. Add support to RenderStyle for
handing back a computed AffineTransform.
Reviewed by Mitz Pettel
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::setStyle):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::requiresLayer):
(WebCore::RenderObject::setStyle):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasTransform):
(WebCore::RenderObject::setHasTransform):
* rendering/RenderStyle.cpp:
(WebCore::RenderStyle::applyTransform):
* rendering/RenderStyle.h:
(WebCore::RenderStyle::hasTransform):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::requiresLayer):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::requiresLayer):
2007-10-17 David Hyatt <hyatt@apple.com>
Add support for mapping of the transform CSS property into RenderStyles. Everything is now ready for the front
end to use.
Reviewed by Mitz Pettel
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSTransformValue.h:
(WebCore::CSSTransformValue::type):
(WebCore::CSSTransformValue::values):
* platform/graphics/AffineTransform.cpp:
(WebCore::AffineTransform::skew):
* platform/graphics/AffineTransform.h:
* rendering/RenderStyle.cpp:
(WebCore::StyleTransformData::StyleTransformData):
(WebCore::StyleTransformData::operator==):
(WebCore::StyleTransformData::transformDataEquivalent):
* rendering/RenderStyle.h:
(WebCore::TransformOperation::~TransformOperation):
(WebCore::TransformOperation::operator!=):
(WebCore::TransformOperation::isScaleOperation):
(WebCore::TransformOperation::isRotateOperation):
(WebCore::TransformOperation::isSkewOperation):
(WebCore::TransformOperation::isTranslateOperation):
(WebCore::TransformOperation::isMatrixOperation):
(WebCore::ScaleTransformOperation::ScaleTransformOperation):
(WebCore::ScaleTransformOperation::isScaleOperation):
(WebCore::ScaleTransformOperation::operator==):
(WebCore::ScaleTransformOperation::apply):
(WebCore::RotateTransformOperation::RotateTransformOperation):
(WebCore::RotateTransformOperation::isRotateOperation):
(WebCore::RotateTransformOperation::operator==):
(WebCore::RotateTransformOperation::apply):
(WebCore::SkewTransformOperation::SkewTransformOperation):
(WebCore::SkewTransformOperation::isSkewOperation):
(WebCore::SkewTransformOperation::operator==):
(WebCore::SkewTransformOperation::apply):
(WebCore::TranslateTransformOperation::TranslateTransformOperation):
(WebCore::TranslateTransformOperation::isTranslateOperation):
(WebCore::TranslateTransformOperation::operator==):
(WebCore::TranslateTransformOperation::apply):
(WebCore::MatrixTransformOperation::MatrixTransformOperation):
(WebCore::MatrixTransformOperation::isMatrixOperation):
(WebCore::MatrixTransformOperation::operator==):
(WebCore::MatrixTransformOperation::apply):
(WebCore::StyleTransformData::operator!=):
(WebCore::RenderStyle::transform):
(WebCore::RenderStyle::setTransform):
(WebCore::RenderStyle::initialTransform):
2007-10-17 Adam Roben <aroben@apple.com>
* page/Frame.cpp: I had to touch this file when fixing the Windows
build. Checking it in in case it helps others, too.
2007-10-17 Eric Seidel <eric@webkit.org>
Reviewed by Mark Rowe.
Remove a couple more uses of svg_dynamic_cast.
No functional changes, no tests.
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::buildPattern):
2007-10-17 Mark Rowe <mrowe@apple.com>
Reviewed by Eric and Geoff.
<rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab
http://bugs.webkit.org/show_bug.cgi?id=15191
* loader/DocLoader.cpp:
(WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading.
2007-10-17 Justin Garcia <justin.garcia@apple.com>
Reviewed by Harrison.
<rdar://problem/5481523>
GoogleDocs: Safari hangs when indenting a particular table twice
Fixed by fixing problems with the selection preservation done by IndentOutdentCommand.
It is now more difficult to create selections that cause hangs. Those are covered by:
<rdar://problem/5543472>
* editing/IndentOutdentCommand.cpp:
(WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition
in the document, instead of the first Position.
Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength.
Tell TextIterator::rangeLength that we're doing selection preservation, so that it
will emit characters between all VisiblePositions.
(WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location
passed to rangeFromLocationAndLength were reversed.
Tell rangeFromLocationAndLength that we're doing doing selection preservation, as
above.
* editing/TextIterator.cpp:
(WebCore::CharacterIterator::CharacterIterator):
(WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements
to forSelectionPreservation, to match the name of the boolean inside TextIterator and
to match its meaning after r25522.
(WebCore::TextIterator::rangeFromLocationAndLength): Ditto.
2007-10-16 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=15536
need to cache missing glyph so we're not slow on pages that show missing glyphs
- <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test
(related to font data caching)
* platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value
for fontData rather than for glyph to detect non-cached entries in the glyph data.
* platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
* platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
* platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill):
Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions
to return the proper value for haveGlyphs.
2007-10-16 Mark Rowe <mrowe@apple.com>
Gtk build fix. Replace use of assert with ASSERT_NOT_REACHED.
* platform/gtk/FontCacheGtk.cpp:
(WebCore::FontCache::platformInit):
2007-10-16 Darin Adler <darin@apple.com>
Reviewed by Adam.
- fix http://bugs.webkit.org/show_bug.cgi?id=15534
WebScriptObject.h has some formatting and editorial mistakes
* bindings/objc/WebScriptObject.h: Fix wording and formatting.
2007-10-16 Darin Adler <darin@apple.com>
- try to fix the Qt build
* config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers
that are used in some Qt-specific source files.
2007-10-16 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix http://bugs.webkit.org/show_bug.cgi?id=15525
transpose (control-T) should do the last two characters on a line if at end of line
- remove unused CommandByName class
- move transpose command implementation here from Mac OS X WebKit
* editing/Editor.h:
* editing/Editor.cpp:
(WebCore::execTranspose): Added.
(WebCore::Editor::transpose): Added. This has the transpose implementation from
WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
a special case for the end of a paragraph.
* page/Frame.h: Removed unused command() function member.
* page/FramePrivate.h: Removed unused m_command data member.
* page/Frame.cpp: Ditto.
* page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
* page/mac/WebCoreFrameBridge.mm: Ditto.
* WebCore.pro: Removed CommandByName.h/cpp.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* editing/CommandByName.cpp: Removed.
* editing/CommandByName.h: Removed.
2007-10-16 Darin Adler <darin@apple.com>
Reviewed by Maciej and Geoff (and looked over by Eric).
- http://bugs.webkit.org/show_bug.cgi?id=15519
eliminate use of <ctype.h> for processing ASCII
* ForwardingHeaders/wtf/ASCIICType.h: Added.
* ForwardingHeaders/wtf/DisallowCType.h: Added.
* WebCorePrefix.h: Get rid of inclusion of <ctype.h>.
* config.h: Include DisallowCType.h.
* css/CSSParser.cpp:
(WebCore::ParseString::lower):
* css/CSSPrimitiveValue.cpp:
(WebCore::isCSSTokenizerIdentifier):
* css/CSSStyleDeclaration.cpp:
(WebCore::propertyID):
* html/HTMLSelectElement.cpp:
(WebCore::stripLeadingWhiteSpace):
* html/HTMLTokenizer.cpp:
(WebCore::tagMatch):
* loader/FTPDirectoryParser.cpp:
(WebCore::parseOneFTPLine):
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForHeadCharset):
* platform/DeprecatedCString.cpp:
(WebCore::DeprecatedCString::lower):
(WebCore::DeprecatedCString::upper):
(WebCore::DeprecatedCString::find):
(WebCore::DeprecatedCString::contains):
* platform/DeprecatedString.cpp:
(WebCore::equalCaseInsensitive):
(WebCore::isCharacterAllowedInBase):
(WebCore::DeprecatedString::find):
(WebCore::DeprecatedString::contains):
(WebCore::toIntegralType):
* platform/DeprecatedString.h:
(WebCore::DeprecatedChar::isSpace):
(WebCore::DeprecatedChar::lower):
(WebCore::DeprecatedChar::upper):
* platform/KURL.cpp:
(WebCore::KURL::parse):
* platform/StringImpl.cpp:
(WebCore::isSpace):
(WebCore::StringImpl::containsOnlyWhitespace):
(WebCore::StringImpl::isLower):
(WebCore::StringImpl::lower):
(WebCore::StringImpl::find):
(WebCore::StringImpl::reverseFind):
(WebCore::equalIgnoringCase):
* platform/TextEncodingRegistry.cpp:
(WebCore::TextEncodingNameHash::equal):
(WebCore::TextEncodingNameHash::hash):
(WebCore::atomicCanonicalTextEncodingName):
* platform/mac/KeyEventMac.mm:
(WebCore::keyIdentifierForKeyEvent):
* platform/win/KeyEventWin.cpp:
(WebCore::keyIdentifierForWindowsKeyCode):
* platform/win/PopupMenuWin.cpp:
(WebCore::isASCIIPrintable):
(WebCore::PopupWndProc):
* plugins/win/PluginViewWin.cpp:
(WebCore::capitalizeRFC822HeaderFieldName):
* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
Use ASCIICType.h functions instead of ctype.h ones.
2007-10-16 Mitz Pettel <mitz@webkit.org>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15296
REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue.
Test: fast/block/float/marquee-shrink-to-avoid-floats.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width.
2007-10-16 Beth Dakin <bdakin@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders
Amazon seller page way too small
The font size at Amazon was way too small because the calls to
getComputedStyle and getPropertyValue did not cause the div to
attach because there was a pending stylesheet. The fix is to call
updateLayoutIgnorePendingStylesheets() instead of just
updateLayout().
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2007-10-16 David Hyatt <hyatt@apple.com>
Get transform-origin(x/y) mapped into the front end RenderStyle. Adds a new StyleTransformData struct that
holds transform-origin (and that will also eventually hold the parsed transform operations as well).
Reviewed by Beth
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderStyle.cpp:
(WebCore::StyleTransformData::StyleTransformData):
(WebCore::StyleTransformData::operator==):
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::diff):
* rendering/RenderStyle.h:
(WebCore::StyleTransformData::operator!=):
(WebCore::RenderStyle::transformOriginX):
(WebCore::RenderStyle::transformOriginY):
(WebCore::RenderStyle::setTransformOriginX):
(WebCore::RenderStyle::setTransformOriginY):
(WebCore::RenderStyle::initialTransformOriginX):
(WebCore::RenderStyle::initialTransformOriginY):
2007-10-16 Adele Peterson <adele@apple.com>
Reviewed by Alice.
Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch)
* html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): When switching between types of select elements, call setRecalcListItems
since recalcListItems updates the default selection in different ways for the different controls.
2007-10-16 Alice Liu <alice.liu@apple.com>
rubber-stamped by Darin.
flipping my previous fix around so that mac is special-cased instead of win.
* dom/Document.cpp:
(WebCore::Document::defaultEventHandler):
2007-10-16 David Hyatt <hyatt@apple.com>
Clean up transform parsing. Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more
to simplify the code.
Reviewed by aroben
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTransform):
* css/CSSParser.h:
2007-10-16 Alice Liu <alice.liu@apple.com>
Reviewed by Adele.
fixed <rdar://5085596> Accesskeys don't work
* dom/Document.cpp:
(WebCore::Document::defaultEventHandler):
accesskey modifier is platform-depedent.
2007-10-15 Mark Rowe <mrowe@apple.com>
Reviewed by John.
<rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL
A race condition between icon database import and Safari asking for an icon for the empty URL
was resulting in a PageURLRecord being created for a URL that can never be retained. By enforcing
that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::iconForPageURL):
(WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty.
(WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty.
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Ollie.
Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
over m_deliveryData instead of its data buffer
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
m_deliveryData
(WebCore::PluginStreamWin::deliverData): Fix memmove() call
(WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
* plugins/win/PluginStreamWin.h: Use OwnPtr
2007-10-15 Steve Falkenburg <sfalken@apple.com>
Reviewed by Oliver.
Add missing null check.
* platform/network/cf/AuthenticationCF.cpp:
(WebCore::core):
2007-10-15 Mark Rowe <mrowe@apple.com>
Fix the no-SVG build again. Add new transform CSS properties to the switch statements.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2007-10-15 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- http://bugs.webkit.org/show_bug.cgi?id=15518
Remove the unused attemptFontSubstitution feature and do some
cleanup of glyphDataForCharacter.
* platform/Font.h:
* platform/Font.cpp:
(WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution
and cluster parameters to the glyphDataForCharacter function.
(WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and
attemptFontSubstitution parameter. Removed the isUpper check before calling
toUpper in the small caps code path. Split up the inner loop into separate
copies for non-small-caps and small caps. Broke out the system fallback
page handling so it's not inside the loop. Changed system fallback so it uses
the character and breaks it up into UTF-16 as needed, instead of using a
passed-in "character cluster".
* platform/TextStyle.h:
(WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution.
(WebCore::TextStyle::applyWordRounding): Ditto.
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Ollie.
Remove an operator precedence warning on Windows
* editing/markup.cpp:
(WebCore::escapeContentText): Use (a) | (b)
(WebCore::appendEscapedContent): Use (a) | (b)
2007-10-15 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin.
- <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen
- Now we take the doc into account when resizing.
- Also I found an issue where we would resize to outside the window, because
the resize would be smaller than the window size but the location of the
window would make the resize go off-screen. Now we move the window back into the screen.
* bindings/js/kjs_window.cpp:
(KJS::adjustWindowRect):
(KJS::WindowFunc::callAsFunction):
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
<rdar://5510700> Repro crash loading embedded Windows Media Player
content
Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
will crash if it receives its resource requests out of order, whereas we
were immediately fulfilling untargeted, non-JavaScript requests and
scheduling targeted or JavaScript resource requests. Implement his
suggested fix, which is to schedule PluginRequests for all resource
requests
* plugins/win/PluginViewWin.cpp:
(WebCore::getString):
(WebCore::PluginViewWin::performRequest): If this non-JavaScript request
has no target, create a stream for it
(WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
requests
2007-10-15 Mark Rowe <mrowe@apple.com>
Gtk and Qt build fix. Add new .cpp file to project.
* WebCore.pro:
2007-10-15 John Sullivan <sullivan@apple.com>
* platform/mac/FontDataMac.mm:
D'oh! Added missing #import to fix build
2007-10-15 John Sullivan <sullivan@apple.com>
Reviewed by Geoff
* platform/mac/FontDataMac.mm:
(WebCore::FontData::smallCapsFontData):
replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS
2007-10-15 David Hyatt <hyatt@apple.com>
The CSS WG has been discussing the concept of rotation. In the latest draft specification, two properties
have been introduced: rotation and rotation-point. I believe these properties should be generalized to
allow for arbitrary transformations (e.g., translation, skew, rotate, scale).
This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin.
They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow
for arbitrary affine transforms rather than just rotation.
Reviewed by Beth Dakin
* WebCore.xcodeproj/project.pbxproj:
* WebCore.vcproj/WebCore.vcproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::TransformParseContext:::m_list):
(WebCore::TransformParseContext::list):
(WebCore::TransformParseContext::failed):
(WebCore::TransformParseContext::addValue):
(WebCore::TransformOperationInfo::TransformOperationInfo):
(WebCore::TransformOperationInfo::type):
(WebCore::TransformOperationInfo::argCount):
(WebCore::TransformOperationInfo::unit):
(WebCore::TransformOperationInfo::unknown):
(WebCore::TransformOperationInfo::hasCorrectArgCount):
(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseTransformOrigin):
* css/CSSParser.h:
* css/CSSPropertyNames.in:
* css/CSSTransformValue.cpp: Added.
(WebCore::CSSTransformValue::CSSTransformValue):
(WebCore::CSSTransformValue::~CSSTransformValue):
(WebCore::CSSTransformValue::addValue):
(WebCore::CSSTransformValue::cssText):
* css/CSSTransformValue.h: Added.
(WebCore::CSSTransformValue::):
2007-10-15 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver.
Fix the no-SVG build.
* DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h.
* rendering/RenderObject.cpp:
(WebCore::objectIsRelayoutBoundary):
2007-10-15 Darin Adler <darin@apple.com>
Reviewed by Sam.
- fix http://bugs.webkit.org/show_bug.cgi?id=15520
alert(undefined) should say "undefined" in the alert
Test: fast/dom/Window/alert-undefined.html
* page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt.
It turns out that the default behavior is what the other browsers do (browsers tested: IE 7,
Firefox 2).
2007-10-15 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fix for http://bugs.webkit.org/show_bug.cgi?id=15252
<rdar://problem/5498184> REGRESSION: <select multiple> doesn't scroll to top when old options are removed and new ones are added, leaving listbox empty-looking
* rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0. In general,
we don't want to unnecessarily adjust the scroll offset, but in this case, there won't be an obvious way for the user to adjust the scroller position once it's disabled.
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Maciej.
Return a more appropriate error from NPN_RequestRange, which is
currently unimplemented
* plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE
(NPN_RequestRead):
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Maciej.
Add a missing function pointer to the m_browserFuncs structure
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackageWin::load):
2007-10-15 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Fix the compilation of the Font code in the Qt port by adding the necessary stubs to support downloadable fonts through the @font-face rules.
* WebCore.pro:
* loader/CachedFont.cpp:
* platform/qt/FontCacheQt.cpp: Removed.
* platform/qt/FontCustomPlatformData.cpp: Removed.
* platform/qt/FontCustomPlatformData.h: Removed.
* platform/qt/FontDataQt.cpp: Removed.
* platform/qt/FontPlatformData.h: Removed.
* platform/qt/FontQt.cpp:
* platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
2007-10-15 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Adapt to the latest API changes in the SVG API/Code.
* platform/graphics/svg/qt/RenderPathQt.cpp:
(WebCore::RenderPath::strokeContains):
(WebCore::getPathStroke):
* platform/graphics/svg/qt/SVGPaintServerQt.cpp:
(WebCore::SVGPaintServer::setPenProperties):
* platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
2007-10-14 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Fix bad abstraction in ImageBuffer class.
While the class itself is platform-aware and thus it's location in platform/graphics
is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject.
As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid
implicit platform/ <-> rendering/ dependencies.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::drawMaskerContent):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::buildPattern):
* platform/graphics/ImageBuffer.cpp: Removed.
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::size):
* platform/graphics/svg/SVGImage.cpp:
(WebCore::SVGImage::nativeImageForCurrentFrame):
* rendering/SVGRenderSupport.cpp:
(WebCore::renderSubtreeToImage):
* rendering/SVGRenderSupport.h:
2007-10-14 Peter Kasting <zerodpx@gmail.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=15210
Draw the image outline even for broken images.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
2007-10-14 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Adam.
Add support for MSVC7, and fix cases where PLATFORM(WIN) should
be PLATFORM(WIN_OS) for other ports building on Windows.
* dom/XMLTokenizer.cpp:
* page/FrameTree.cpp:
* platform/StaticConstructors.h:
* platform/String.cpp:
2007-10-14 Maxime Britto <mbritto@pleyo.com>
Reviewed by Mitz.
Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount.
http://bugs.webkit.org/show_bug.cgi?id=15212
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::goBackOrForward):
2007-10-14 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=15181
text-transform: uppercase not working in input (submit, reset, button) elements
<rdar://problem/5474647>
Test: fast/forms/button-text-transform.html
Text transformations require access to the original text. The button's inner
text was an anonymous RenderText, meaning it did not have a node to retrieve
the original text from. The patch fixes this by changing the inner text into a
RenderTextFragment, which stores its own original text.
* rendering/RenderButton.cpp:
(WebCore::RenderButton::setText):
* rendering/RenderButton.h:
2007-10-14 Eric Seidel <eric@webkit.org>
Reviewed by Maciej.
REGRESSION: Javascript bug in getElementsByName
http://bugs.webkit.org/show_bug.cgi?id=15274
Test: fast/dom/getelementbyname-invalidation.html
* dom/NameNodeList.h: remove empty rootNodeChildrenChanged override
2007-10-14 Mitz Pettel <mitz@webkit.org>
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15303
Remove now-redundant code to restore dialog arguments after clear
This patch reverts the kjs_window.* parts of r25576 because following
r25783, window properties, including dialog arguments, are not cleared
when the newly created modal dialog transitions to the document.
* bindings/js/kjs_window.cpp:
(KJS::WindowPrivate::WindowPrivate):
(KJS::createWindow):
(KJS::showModalDialog):
(KJS::Window::clear):
(KJS::WindowFunc::callAsFunction):
(KJS::Window::setReturnValueSlot):
* bindings/js/kjs_window.h:
2007-10-14 Mitz Pettel <mitz@webkit.org>
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15309
<rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild
Test: fast/table/generated-caption.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild): Changed to make sure that the child is
not added into generated after content. Also made adding a child before
a table caption work correctly instead of adding the child after the caption.
2007-10-14 Peter Kasting <zerodpx@gmail.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=15141
Feed GIF reader data from the point in the stream it expects. Also,
mirror the reader's failure state up to the wrapping decoder.
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::read):
2007-10-14 Peter Kasting <zerodpx@gmail.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=15142
Return correct frame count in GIFImageDecoder::frameBufferAtIndex(),
even if more data has arrived since the last decoding pass.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::frameBufferAtIndex):
== Rolled over to ChangeLog-2007-10-14 ==