blob: 6403b2cc002bbb7f903f48e87ddd1bba9a1fa28d [file] [log] [blame]
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 ==